7.2. Ефективність та надiйнiсть програмного забезпечення ІС

7.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 (рисунок 7.1):

 

Рис. 7.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 спотворення iнформацiї та обчислювального про­цесу, зiбраних в процесi функцiонування ПЗ. За ними з застосуванням iмiтацiйних i дiагностичних засобiв встановлюються причини спотворень i робляться спроби їх усунути. У випадку виявлення програмних помилок реєструються умови їх появи. Вся iнформацiя передається групi супроводу. Для проведення профiлактичного контролю готуються спецiальнi тести, набори даних, контрольнi результати та iнш.

Завдання передпускового функцiонального контролю полягає в пе­ревiрцi збережуваностi програм i масивiв даних, необхiдних для початково­го пуску обчислювальної системи. Крiм того, перевiряється функцiону­вання ПЗ на типових початкових даних при рiшеннi деякого набору зазда­легiдь пiдготовлених контрольних задач. Коректування програм i даних для усунення виявлених спотворень, яке б привело до вiдхилення ПЗ вiд технiчної документацiї, на даному етапi контролю не допускається.

Оперативний контроль ПЗ необхiдний в процесi безпосереднього розв'язку задач для максимально швидкого автоматизованого вiдновлення при будь-яких спотвореннях обчислювального процесу i даних. Всi проце­дури в процесi оперативного контролю проводяться автоматично з допомо­гою ЕОМ. Методи оперативного контролю можна роздiлити на такi групи:

         контроль стану i збережуваностi програм в рiзних видах пам'ятi ЕОМ;

         контроль динамiки процесу виконання програм, збереження зв'язкiві взаємодiї мiж компонентами ПЗ при їх функцiонуваннi;

         контроль стану i змiн даних в пам'ятi ЕОМ.

58

7.2.2.  Фактори, якi визначають надiйнiсть програмного забезпечення

Головну роль у створеннi надiйного ПЗ вiдiграють правильна ор­ганiзацiя i управлiння процесом розробки:

        пiдготовка iнженерного i керiвного персоналу з технологiї викорис­тання обчислювальних машин;

        контроль видачi i змiн програм;

        постiйний зв'язок мiж розробником i замовником ПЗ;

        використання ефективних методiв контролю процесу розробки про­грамної документацiї;

•   впровадження стандартiв, регламентуючих роботи з проектування ПЗ.Важливу роль в пiдвищеннi якостi i надiйностi розроблюваного ПЗ

вiдiграє постiйний контроль у виглядi досить формалiзованих оглядiв проект­ної i програмної документацiї спецiальною групою експертiв, в яку входять: спецiалiсти з проектування i програмування; спецiалiсти з вiдладки i випробо­вувань ПЗ; спецiалiсти з компоновки програм; представники замовника.

Пiдвищенню якостi розробки складних програм сприяють прогресивнi методи структурного програмування i принцип модульностi ПЗ. Модульна побудова програм сприяє використанню з уже створених програмних про­дуктiв добре вiдлагоджених компонентiв в нових розробках. Заборона на прийняття потенцiйно ненадiйних програмних конструкцiй, можливiсть оперативного автономного контролю результатiв функцiонування модуля забезпечують високу ймовiрнiсть усунення помилок на початкових етапах розробки ПЗ.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43  Наверх ↑