51062

МОДЕЛИРОВАНИЕ ОЦЕНКИ НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Лабораторная работа

Информатика, кибернетика и программирование

Классическая теория надежности технических систем использовала метод расчленения сложных объектов на элементы расчета. При этом надежность элементов рассчитывалась, в основном, с помощью справочников, в которых приводились значения интенсивностей отказов элементов. Затем оценивалась надежность объекта и принимались меры по ее повышению.

Русский

2014-02-04

956.59 KB

6 чел.

Эмпирическое исследование ПО

ст. гр. ПЗАС-08-2

Швец Дмитрий

Лабораторная работа №4

МОДЕЛИРОВАНИЕ ОЦЕНКИ НАДЕЖНОСТИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Краткие теоретические сведения.

В настоящее время основными факторами, определяющими ненадежность программного обеспечения считаются человеческий фактор, ошибки данных, программные ошибки, отказы техники. Используются аналитические, статистические методы оценивания и методы моделирования. Несомненно это очень важно и дает определенные положительные результаты для повышения надежности программного обеспечения.

Но если мы хотим защитить от ошибок программного обеспечения дорогостоящие объекты гражданского и военного назначения, необходимо уделять больше внимания аспекту точности вычислений из-за неопределенности величин их компонентов.

Классическая теория надежности технических систем использовала метод расчленения сложных объектов на элементы расчета. При этом надежность элементов рассчитывалась, в основном, с помощью справочников, в которых приводились значения интенсивностей отказов элементов. Затем оценивалась надежность объекта и принимались меры по ее повышению.

Для обеспечения надежности функционирования сложных программных комплексов необходимо идти по подобному пути:

1.Определять основные простейшие операторы, из которых составляются программы.

2.Более ответственно и скурпулезно изучать точность представления различных величин операторов.

3.Исследовать точностные характеристики операторов при полученных распределениях величин.

4.Интенсивнее развивать модели исследования точностных свойств элементарных операторов.

5.Составлять справочники по результатам исследования операторов, в которых приводить инженерные рекомендации по практическому оцениванию точности операторов.

6.Разрабатывать точностные модели сложных программ на основе интегрирования элементарных операторов. Для этого можно использовать разработанные графоаналитические методы и методы моделирования.

7. При построении сложных программ из отдельных операторов необходимо производить весьма тщательное согласование выходов операторов со входами последующих операторов, а именно, областей их задания. Невыполнение этого является источником дополнительных ошибок и потерь информации.

Содержание п.7 хорошо напоминает о том, как важно согласовывать в многокаскадном электронном усилителе один каскад по выходу со входом следующего каскада. Невыполнение этого требования в граничных областях каскадов приводит к неработоспособности усилителя в казалось бы заранее предусмотренной области изменения параметров усилителя. В программах этот эффект менее очевиден, поэтому не всегда учитывается при их отладке.

Осуществление предложенного подхода к оцениванию и повышению надежности функционирования программного обеспечения требует существенных затрат различного вида. Но его осуществление необходимо. Это обусловлено конечной точностью вычислений в современных и перспективных компьютерах и другими факторами, из которых наиболее весомым является лавинообразный рост сложности перспективных программ. Другого пути нет, пока не будут созданы компьютеры с избыточностью, позволяющей организовать оперативный контроль и принятие решений в условиях влияния помех различного вида, адаптирующиеся по точности в процессе вычислений. Возврат к классической теории ошибок и дальнейшее ее развитие весьма необходимы в интересах информатики и информатизации общества. Такой путь может стать источником новых конструктивных решений как в элементной базе, архитектуре вычислительных средств, так и в программном обеспечении. Он также может стимулировать развитие новых методов численной математики.

Листинг:

procedure TForm1.Button1Click(Sender: TObject);

var s:string;

   newmode:TTreenode;

begin

if Edit1.Text=''

then s:='******'

 else s:=Edit1.Text;

Newmode:=TreeView1.items.add(treeview1.Selected,s);

if CheckBox1.Checked

 then

  begin

    P[ii]:=StrToFloat(Edit2.Text);

    Memo1.Lines.Add('№ блока: '+IntToStr(ii)+'    '+'P= '+Edit2.Text+'   '+s);

  end

   else P[ii]:=1;

    inc(ii);

inc(addcounter);

end;

procedure TForm1.Button2Click(Sender: TObject);

var s:string;

   newmode:TTreenode;

begin

if Edit1.Text=''

then s:='******'

 else s:=Edit1.Text;

Newmode:=TreeView1.items.addchild(treeview1.Selected,s);

if CheckBox1.Checked

 then

  begin

    P[ii]:=StrToFloat(Edit2.Text);

    Memo1.Lines.Add('№ блока: '+IntToStr(ii)+'    '+'P= '+Edit2.Text+'   '+s);

  end

   else P[ii]:=1;

    inc(ii);

if treeview1.Selected<>nil then

 begin

   inc(addchildcounter);

   inc(addcounter);

 end

 else

 begin

   inc(addcounter);

 end;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

if treeview1.Selected<>nil then

  Treeview1.Items.Delete(Treeview1.selected);

end;

procedure TForm1.Button4Click(Sender: TObject);

var s:string;

begin

s:='';

if not inputquery('Название','Переименовать на',s) then exit;

treeview1.Selected.Text:=s;

end;

procedure TForm1.FormCreate(Sender: TObject);

var i:byte;

begin

ii:=0;

addcounter:=1;

addchildcounter:=1;

treeview1.MultiSelect:=true;

for i:=0 to 2 do

P[i]:=0.9;

P[3]:=1;

P[4]:=0.9;

P[5]:=0.9;

P[6]:=1;

P[7]:=0.9;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

var i,j,k:byte;

   a:array[1..20] of real;

   b:array[1..20] of byte;

   kudalovo:boolean;

   s:real;

begin

kudalovo:=false;

for i:=1 to 20 do begin a[i]:=1; b[i]:=0; end;

for i:=0 to treeview1.SelectionCount-1 do

 begin

   if i=0 then a[i+1]:=a[i+1]*strtofloat(treeview1.Selections[0].Text);

   for j:=1 to treeview1.SelectionCount-1 do

     begin

       kudalovo:=false;

       if treeview1.Selections[i].Parent=treeview1.Selections[j].Parent then

         begin

           for k:=1 to 20 do

           if i<>0 then

           if j=b[k] then kudalovo:=true;

           if kudalovo=false then

           a[i+1]:=a[i+1]*strtofloat(treeview1.Selections[j].Text);

           b[j]:=j;

         end;

     end;

 end;

s:=1;

for i:=1 to 20 do

 begin

   if a[i]<>1 then

   s:=s*(1-a[i]);

 end;

s:=1-s;

treeview1.Selections[0].Text:=floattostr(s);

for i:=treeview1.SelectionCount-1 downto 1  do

treeview1.Selections[i].Delete;

end;

procedure TForm1.Edit3Change(Sender: TObject);

begin

Edit2.Text:=FloatToStr(StrToInt(Edit3.Text)/10);

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

if not (key in ['0'..'9',#8,#45,#13])

then key:=#0

 else

  if Edit2.Text<>''

   then Edit3.Text:=FloatToStr(StrToFloat(Edit2.Text)*10);

end;

procedure TForm1.CheckBox1Click(Sender: TObject);

begin

if CheckBox1.Checked = false

then

 begin

  Edit2.Enabled:=false;

  UpDown1.Enabled:=false;

 end

  else

   begin

    Edit2.Enabled:=true;

    UpDown1.Enabled:=true;

   end;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

TreeView1.Items.Clear;

end;

Скриншоты:

     


 

А также другие работы, которые могут Вас заинтересовать

52852. eMule. Полное описание 231.5 KB
  Своей целью я поставил написать наиболее полное руководство по программе eMule при этом не вдаваясь в технические подробности с одной стороны и с другой стороны объясняя не только назначение отдельных кнопочек но и рассказывая про принципы работы как самого eMule так и функционирования сети в частности. Почему именно eMule а не чтото другое Здесь есть целый ряд причин. Самое главное: eMule это наиболее функциональный P2Pклиент к тому же его использует подавляющее большинство пользователей. Вот статистика собранная моим Мулом за 18...
52853. Збереження електроенергії у побуті 49 KB
  Мета: Поширити уявлення дітей про способи добування електроенергії. В домі дід мороз живе І продукти зберігає А щоб свіжими були Зіпсуватись не могли Їх у холоді тримає Холодильник Коментарі вчителя щодо збереження електроенергії. Своєчасно розморожувати щоб менше споживав електроенергії.
52854. Енергозбереження - працюємо разом 115.5 KB
  Мета: Навчати оцінювати запаси енергетичних ресурсів формувати переконаність у можливості раціонального використання природних ресурсів; навчати оцінювати побутові втрати енергії; підвести до висновку про можливість раціонального використання енергії; переконати учнів у необхідності пошуків засобів збереження енергії. Наші споживання в електроенергії змінюються в часі : доба тиждень рік. Доба Наші споживання в енергії змінюються на протязі доби частково від того в яких умовах ми живемо і частково від нашої роботи мал.1 З малюнок 1...
52855. Енергозбереження – почнемо з себе 83.5 KB
  Розширення індивідуального екологічного простору розвиток емпатії до природних об'єктів; Форма заняття: заняття студії Заняття розраховане на учнів 910 класу Обладнання: таблиці з зображенням будови атмосфери компютер підключений до мережі Інтернет свічка лампа розжарювання лампа енергозберігаюча лампа 20 21 Вт; лампа розжарювання 100 Вт; настільна лампа зі стандартним цоколем; кімнатний термометр; годинник кольорові стікери з зображенням пір року. Мета етапу сфокусувати увагу учнів на проблемі й викликати інтерес до...
52856. Енергосистема України. Споживання електроенергії. Енергозбереження 158 KB
  Споживання електроенергії. Мета: показати утворення енергосистеми України поєднання великих електростанцій і ліній електропередач; формувати вміння і навички встановлення відповідності у секторних діаграмах на основі аналізу статистичної інформації розширювати уміння усвідомлення власної значущості та можливості впливати на загальну енергозалежність країни; сформувати вміння аналізувати зміни частки різних видів електростанцій у загальному обсязі виробництва електроенергії в Україні. Символічним є те...
52857. Вулиця, на якiй я живу 30 KB
  My name is Semen. I live with my family in a big town. I live in Rivna street. My street is long. There are many green trees and flowers in our street. You can see many big houses and new shops in our street. My school is in our street too. In Rivna street you can always see many trams,buses and cars. In our street there are many men,women and children. My street is clean and nice. I like it very much
52858. About myself. My Biographical time-line 48 KB
  Мета уроку:систематизація пройденого лексико–граматичного матеріалу; формування комунікативних навичок усного мовлення; формування навичок аудіювання через прослуховування тексту з метою виділення ключової інформації; - biography to be born ballet primary school secondary school university to cheer to clap
52859. Освіта в Англії 192 KB
  Great Britain does not have a written constitution, so there are no constitutional provisions for education. The system of education is determined by the National Education Acts. It has many different faces, but one goal. Its aim is to realize the potential of all, for the good of the individual and the country. It embraces two educational purposes: first it gives a general education to all children, and second, it selects the most able and gives them more advanced education.