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;

Скриншоты:

     


 

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

2718. Азот и фосфор — элементы жизни 26.04 KB
  Азот и фосфор — элементы жизни. Урок-игра Счастливый случай. Химия для гуманитариев Цели.  Обобщить знания учащихся о составе и свойствах соединений азота и фосфора. Развить практические умения определять вещества по качественным реакция...
2719. Антропогенные факторы воздействия на биогеоценозы 64.5 KB
  Антропогенные факторы воздействия на биогеоценозы Цели: Выделить главные факторы влияния человека на окружающую среду. Способствовать развитию речи, навыков самостоятельной работы, коммуникативных способностей учащихся. Способствовать воспитанию у д...
2720. Планеты земной группы. Планеты-гиганты 77 KB
  Астрономия - 11-й класс. Базовый курс. Планеты земной группы; Планеты-гиганты Тема: Планеты земной группы. Урок по методу проектов. Астрономия – 11 класс. Базовый курс. Дать новые знания. Разобрать основные особенности планет земной группы. Дать представление о проектной деятельности и разработать элементарный проект по заданной проблеме.
2721. Атомная энергетика и ее экологические проблемы 35.59 KB
  Атомная энергетика и ее экологические проблемы Цели: На основе многочисленных достоверных фактов анализировать и привести выводы по следующим вопросам: Существует ли опасность мирного атома? Опасна ли атомная энергетика? Загрязнении...
2722. Темперамент личности 161.44 KB
  Бинарный урок по теме: Темперамент личности Одним из факторов активизации познавательной деятельности учащихся является проведение так называемых нетрадиционных уроков по различным предметам. Учащиеся не только узнают новое в каком-то необычном ра...
2723. Через тернии – к звездам 69.62 KB
  Внеклассное мероприятие, посвященное Дню космонавтики. КВН Через тернии – к звездам Пояснительная записка По данному сценарию я дважды проводила внеклассное мероприятие, посвящённое Дню Космонавтики: 12 апреля 2001 года (к 40-летию со дня пол...
2724. Деятельностный подход на уроке астрономии на тему: 58.35 KB
  Деятельностный подход на уроке астрономии на тему: Связь физических характеристик звезд Я считаю предмет астрономии очень важным для изучения в средней школе. Древнейшая наука непостижимым образом связывает воедино все естественнонаучные дисциплин...
2725. Удивительный мир Вселенной 25.78 KB
  Звездный час по теме, Удивительный мир Вселенной Учитель. Ребята, мы проводим занятие, тема которого Удивительный мир Вселенной. Успех его проведения зависит от вас, от вашей активности, дисциплинированности, организованности и самоу...
2726. Календарь исследовательских и творческих работ 43.05 KB
  Календарь исследовательских и творческих работ Проверь в природе- ежедневная системная потребность. Природоведение (естествознание), 5-й класс Не уставай шагать по дороге знаний. Литература  Настольные книги читального зала кабинета биологии....