- •Тема 7. Оцінювання ефективності іс за окремими характеристиками
- •Оцінка ефективності іс за значенням показників надійності технічного та програмного забезпечення іс
- •7.1.1 Аналiтичнi методи оцiнки технiчної складової
- •7.1.2 Надiйнiсть програмного забезпечення
- •7.1.2.1 Специфiка програмного забезпечення як об'єкту дослiдження надiйностi
- •7.1.2.2 Фактори, якi визначають надiйнiсть програмного забезпечення
- •7.1.2.3 Методи забезпечення надiйностi пз
- •7.1.2.4 Моделювання I оцiнка надiйностi пз
- •Розрахунок одиничних та комплексних показників надійності
- •Очевидно, що для будь-якого моменту часу t справедливе співвідношення:
- •Характерні особливості задач, що розв’язуються в комп’ютерних системах
- •Класифікація задач іс
- •Вплив параметрів задач кс на ефективність обробки економічної інформації
- •Адаптивність кс
- •7.6.1 Оцiнка адаптивної надiйностi системи
- •Ефективність людино-машинної взаємодії в кс
- •7.7.1 Ергономічна складова ефективності кс
- •7.7.2 Шляхи пiдвищення ергономiчної складової ефективності кс
- •7.7.3 Ефективнiсть групової дiяльностi
- •Основні характеристики людини-оператора еом
7.1.2 Надiйнiсть програмного забезпечення
7.1.2.1 Специфiка програмного забезпечення як об'єкту дослiдження надiйностi
Пiд програмним забезпеченням (ПЗ) розумiють сукупнiсть програм i документiв на них для реалiзацiї цiлей i завдань ЕОМ.
Створення програм регламентується комплексом стандартiв ЄСПД, що встановлюють загальнi положення, види програм i програмних документiв, правила розробки, оформлення i обiгу програм i програмної документацiї.
Надiйнiсть програмних засобiв - це їх властивiсть, яка сприяє виконанню заданих функцiй при збереженнi в часi значення встановлених експлуатацiйних показникiв в заданих межах, що вiдповiдають заданим режимам i умовам використання, супроводу i вiдновлення цих засобiв.
Теоретичною основою методiв аналiзу надiйностi програмних засобiв є теорiя надiйностi технiчних систем. Однак, спроби механiчного перенесення основних положень цiєї теорiї стосовно ПЗ виявились неправомiрними внаслiдок ряду специфiчних особливостей цих засобiв. Надiйнiсть ПЗ визначається їх безвiдмовнiстю i вiдновлюванiстю.
Безвiдмовнiсть ПЗ - це властивiсть зберiгати працездатнiсть при їх використаннi в процесi обробки iнформацiї на ЕОМ. Безвiдмовнiсть ПЗ можна оцiнити ймовiрнiстю їх роботи без вiдмов при певних умовах зовнiшнього середовища на протязi заданого перiоду спостережень. Вiдмова - це подiя, яка полягає в порушеннi працездатностi ПЗ. Пiд певними умовами зовнiшнього середовища вважається сукупнiсть вхiдних даних i стан обчислювальної системи. Заданий перiод спостережень вiдповiдає, як правило, необхiдному iнтервалу часу для виконання на ЕОМ розв'язуваної задачi.
Специфiка створення ПЗ полягає в тому, що в процесi їх вiдладки практично неможливо виявити i лiквiдувати всi iснуючi в них помилки. Замаскованi помилки можуть викликати невiрне функцiонування ПЗ при певних спiввiдношеннях вхiдних даних. Тому наявнiсть помилки в ПЗ є головним фактором порушення нормальних умов їх функцiонування. З точки зору технологiї розробки ПЗ помилки можна роздiлити на наступнi типи:
- програмнi, викликанi неправильним записом на мовi програмування i помилками трансляцiї;
- алгоритмiчнi, пов'язанi з неповним формуванням необхiдних умов розв'язку i некоректною постановкою задач;
- системнi, обумовленi вiдхиленням функцiонування ПЗ в обчислювальнiй системi i вiдхиленням характеристик взаємодiючих об'єктiв вiд передбачуваних при проектуваннi.
Безвiдмовнiсть ПЗ i апаратури ЕОМ суттєво i по-рiзному залежить вiд вхiдних даних i часу функцiонування обчислювальної системи. Тип оброблюваних даних, як правило, не впливає на надiйнiсть апаратури. Поряд з цим поява вiдмов ПЗ пов'язана з тим, що в деякi моменти часу на обробку поступають малоймовiрнi i тому непередбаченi сукупностi даних, якi ПЗ не в станi коректно обробити. Внаслiдок такої специфiки природи вiдмов ПЗ оцiнка їх надiйностi при випробуваннях завжди буде вища, нiж при функцiонуваннi в реальних умовах.
Надiйнiсть ПЗ i апаратури ЕОМ визначається в основному двома факторами - надiйнiстю компонент i помилками, допущеними при проектуваннi. Але динамiка виявлення рiзного роду помилок в обидвох випадках суттєво вiдрiзняється. Якщо для апаратури з часом визначаючим стає перший фактор, то для ПЗ навпаки - другий. Безвiдмовнiсть апаратури по сутi залежить вiд часу функцiонування. А залежнiсть надiйностi ПЗ вiд часу тiльки поверхнева. Насправдi частота вiдмов ПЗ визначається тiльки характером вхiдних даних.
Надiйнiсть ПЗ iстотно вiдрiзняється вiд надiйностi апаратних засобiв АЕIС. Вiдмови ПЗ - це, як правило, наслiдки помилок проектування. Якщо помилки виправляють вiдразу пiсля виявлення, то характер iнтенсивностi вiдмов ПЗ вiдповiдає такiй залежностi:
λ(t)│ *
│ *
│ *
│ *
│ *
│ *
│ *
└─────────────────────────────────
t
Iнтенсивнiсть вiдмов ПЗ
Важливою характеристикою надiйностi ПЗ є їх вiдновлюванiсть, яка визначається затратами часу i працi на усунення вiдмови. Вiдмова при функцiонуваннi може проявлятися у виглядi:
- передчасного аварiйного завершення виконання програми;
- недопустимого збiльшення часу виконання програми;
- зациклювання ЕОМ на виконаннi деякої послiдовностi команд програми;
- повної втрати чи незначного спотворення накопичених даних, необхiдних для успiшного виконання розв'язуваних завдань;
- порушення послiдовностi виклику окремих програм, внаслiдок чого вiдбувається пропуск необхiдних програм або непередбачене звернення до програми;
- спотворення окремих елементiв даних (вхiдних, вихiдних, промiжних) в результатi обробки спотвореної початкової iнформацiї та iнш.
В ПЗ з високим рiвнем надiйностi деякi вiдмови (наприклад, зациклювання чи спотворення масивiв даних) можуть бути усуненi програмними методами. Завдання вiдновлення в таких випадках переходить в завдання усунення короткочасних збоїв.
Основною ознакою в класифiкацiї збоїв i вiдмов в ПЗ є тривалiсть вiдновлення. Коли її величина менша певного порогу, спотворення при функцiонуваннi ПЗ слiд вiднести до збоїв, в противному разi спотворення носять характер вiдмов.
Вiдмови i збої за ступенем їх впливу на функцiонування ПЗ дiляться на три групи:
- вiдмови, якi в значнiй мiрi знецiнюють результати попереднього функцiонування ПЗ i рiвносильнi втратам їх працездатностi;
- частковi вiдмови, якi в деякiй мiрi знецiнюють попереднi результати, але характеризуються швидким вiдновленням без тривалої втрати працездатностi;
- збої, якi практично не знецiнюють результати функцiонування ПЗ i не створюють вiдмовних ситуацiй.
Для збiльшення ефективностi процесiв вiдновлення доцiльно передбачити в ПЗ спецiальнi засоби дiагностики кодiв аварiйних завершень, ввести в програми контрольнi точки i забезпечити можливiсть рестарту з цих контрольних точок.
При бiльш високому рiвнi автоматизацiї процесiв вiдновлення ПЗ пiдвищується стiйкiсть їх функцiонування (здатнiсть обмежувати наслiдки власних помилок i несприятливих впливiв зовнiшнього середовища (несправнiсть апаратури, некоректнiсть вхiдних даних, помилки оператора та iнш.) або протистояти їм). Для цього в ПЗ повиннi бути передбаченi засоби, якi б дозволяли:
- проводити систематичний контроль i оперативно виявляти аномалiї процесу функцiонування або стану програм i даних;
- дiагностувати виявленi спотворення;
- виробляти рiшення i вибирати методи i засоби оперативного вiдновлення;
- реалiзувати оперативне вiдновлення нормальної працездатностi;
- реєструвати кожен збой чи вiдмову, що сталися, узагальнювати данi спотворень для виявлення випадкiв, якi потребують доробки програм.
Реалiзацiя таких можливостей здiйснюється за рахунок введення надлишковостi в програми, данi i процес функцiонування ПЗ. Вiдповiдно надлишковiсть ПЗ можна роздiлити на програмну, iнформацiйну i часову.
Програмна надлишковiсть полягає в застосуваннi кiлькох варiантiв ПЗ, якi вiдрiзняються методами розв'язку деякої задачi чи програмною реалiзацiєю одного й того ж методу.
Iнформацiйна надлишковiсть полягає в дублюваннi нагромаджених початкових i промiжних даних. Вона використовується для збереження достовiрностi даних, якi в найбiльшiй мiрi впливають на нормальне функцiонування ПЗ або потребують значного часу для вiдновлення. Для менш важливих даних iнформацiйна надлишковiсть використовується у виглядi завадозахисних кодiв, якi дозволяють тiльки виявити спотворення.
Часова надлишковiсть полягає у видiленнi необхiдних резервiв часу ЕОМ на виконання спецiальних програм, якi забезпечують оперативний контроль стану даних i обчислювального процесу, а також автоматичне вiдновлення ПЗ при виникненнi вiдмовних ситуацiй.
В процесi експлуатацiї ПЗ контроль їх надiйностi може проводитись шляхом трьох видiв контролю: профiлактичного, передпускового i оперативного.
Профiлактичний контроль проводиться перiодично (залежно вiд характеру розв'язуваних завдань) при неробочому станi ПЗ. Вiн полягає в аналiзi даних про зареєстрованi спотворення iнформацiї i обчислювального процесу, зiбраних в процесi функцiонування ПЗ. За ними з застосуванням iмiтацiйних i дiагностичних засобiв встановлюються причини спотворень i робляться спроби їх усунути. У випадку виявлення програмних помилок реєструються умови їх появи. Вся iнформацiя передається групi супроводу. Для проведення профiлактичного контролю готуються спецiальнi тести, набори даних, контрольнi результати та iнш.
Завдання передпускового функцiонального контролю полягає в перевiрцi збережуваностi програм i масивiв даних, необхiдних для початкового пуску обчислювальної системи. Крiм того, перевiряється функцiонування ПЗ на типових початкових даних при рiшеннi деякого набору заздалегiдь пiдготовлених контрольних задач. Коректування програм i даних для усунення виявлених спотворень, яке б привело до вiдхилення ПЗ вiд технiчної документацiї, на даному етапi контролю не допускаються.
Оперативний контроль ПЗ необхiдний в процесi безпосереднього розв'язку задач для максимально швидкого автоматизованого вiдновлення при будь-яких спотвореннях обчислювального процесу i даних. Всi процедури в процесi оперативного контролю проводяться автоматично з допомогою ЕОМ. Методи оперативного контролю можна роздiлити на такi групи:
- контроль стану i збережуваностi програм в рiзних видах пам'ятi ЕОМ;
- контроль динамiки процесу виконання програм, збереження зв'язкiв i взаємодiї мiж компонентами ПЗ при їх функцiонуваннi;
- контроль стану i змiн даних в пам'ятi ЕОМ.
