51062

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

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

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

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

Русский

2014-02-04

956.59 KB

5 чел.

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

ст. гр. ПЗАС-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;

Скриншоты:

     


 

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

84922. Маркетинговое исследование компании Tommy Hilfiger 152.22 KB
  Увеличение количества располагаемого дохода в странах с развивающейся экономикой Острая конкуренция со стороны международных брендов Экономический спад который приведет к сокращению спроса на одежду премиумкласса по цене продуктов Постоянно меняющиеся модные тенденции означает вопросы запасов инвентаризации...
84923. Состав и классификация бухгалтерской (финансовой) отчетности 92.02 KB
  Целью исследования в данной курсовой работе является рассмотрение сущности и классификации бухгалтерской отчетности, и ее составляющих. Для этого необходимо выполнение следующих задач: определить сущность бухгалтерской отчетности и ее значение в деятельности организации...
84925. Поняття про односкладне речення. Види односкладних речень. Способи вираження в них головного члена. Стилістичне використання односкладних речень 131.5 KB
  Організувати групову діяльність студентів у мікрогрупах, спрямовану на самостійне вивчення істотних ознак односкладних речень, їх основних видів, способів вираження в них головного члена; формувати уміння визначати вид односкладних речень, розрізняти їх між собою; розвивати уміння виконувати елементи...
84926. Поняття про речення. Закріплення вивченого про речення в 1-2-му класах 157 KB
  Мета уроку: закріплювати знання учнів про основні ознаки речення; розвивати увагу вміння зіставляти мовні явища; розвивати вміння працювати в групах; виховувати мовленнєву культуру. Узагальнення знань про речення. З чого складається наше мовлення Що виражає речення Як пишуться слова у реченні...
84927. Загальні поняття про дієслово. Зв’язок дієслова з іменником у реченні. Складання речень за малюнками 287 KB
  Мета: розширити і поглибити знання учнів про граматичні ознаки дієслова; формувати вміння розпізнавати дієслова серед інших частин мови; розпізнавати дієслово в реченні тексті; ставить до них запитання; вчити доцільно і правильно вживати дієслова у власних висловлюваннях...
84928. Українська народна колискова пісня «Пішла киця по водицю» 81 KB
  Мета: вивчити та засвоїти слова до теми, ознайомити з українською народною піснею Пішла киця по водицю. Активізувати словниковий запас дітей. Удосконалювати і розвивати орфоепічні вміння; пам’ять, увагу, спостережливість. Виховувати любов до усної народної творчості, співчуття, уміння активно допомагати...
84929. У країні ввічливості. Скажи людині: «Доброго дня» за В. Сухомлинським 70 KB
  Мета: вивчити та засвоїти слова ввічливості; формувати вміння побудови зв’язних висловлювань на матеріалі малюнків та власного життєвого досвіду. Удосконалювати і розвивати орфоепічні вміння; пам’ять, увагу, спостережливість. Виховувати взаємоповагу, взаємодопомогу, ввічливе ставлення до однокласників та старших.
84930. Українська народна казка «Лисичка і Журавель» 1.72 MB
  Активізувати словниковий запас дітей. Удосконалювати і розвивати орфоепічні вміння; пам’ять, увагу, спостережливість, відповідати на запитання українською мовою. Виховувати любов до усної народної творчості, почуття дружби та відповідальності.