Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
37
Добавлен:
29.02.2016
Размер:
37.76 Кб
Скачать

4.4 Забезпечення надійності і підвищення якості програм

Моделювання є лише одним аспектом забезпечення надійності програмних комплексів і має мету - прогнозування числа помилок, що залишаються в системі, на основі використання статичної інформації про процес виявлення і усунення помилок. Не менш важливе значення мають дві інші області забезпечення надійності програмних засобів, безпомилкове проектування і випробування, орієнтовані на забезпечення надійності.

Ймовірно, найкращим способом одержати надійне програмне забезпечення є зведення до мінімуму кількості помилок і їхніх наслідків в ході розробки комплексу програм. Однак не існує перевіреного способу створення надійного програмного забезпечення. Відсутня поки і теоретична основа методики розробки безпомилкових програм. Проте, по загальній думці, існує цілий ряд методів розробки програм і керування цим процесом, які дозволяють створювати надійні програми. До цих методів, звичайно, відноситься структурне програмування і деякі, пов'язані з ним прийоми.

Ідея структурного (модульного) програмування базується на прагненні впорядкувати складні комплекси програм і їхнє проектування. Строге визначення терміна «структурне програмування» не існує. Є кілька визначень структурного (модульного) програмування. Найчастіше воно визначається як програмування без використання операторів GO TO, із застосуванням спадного методу розробки програм і з використанням принципу модульного конструювання програм. Зазначені три прийоми підвищують надійність і зручність обслуговування програмного забезпечення.

Програмування без використання операторів GO TO. Сам по собі оператор безумовного переходу не приводить до помилок. Однак передача керування за допомогою цього оператора може викликати ускладнення логічної схеми програми і зробити її важкочитаємою. Навпаки, виключення операторів GO TO дозволяє одержати більш зрозумілу і зручночитаєму програму. Крім того, програму, що не містить операторів безумовного переходу, легше перевірити.

Спадне програмування. По суті, є два способи складання програм: знизу нагору і зверху донизу. Класичним способом складання більшості програм є рух знизу нагору. При такому підході керівник групи програмістів розглядає проект в цілому, формулює мету системи, а потім визначає елементи, необхідні для системи програмного забезпечення. Задаються засоби сполучення, і окремі частини програми розподіляються між програмістами. Кожний програміст відповідає за перевірку своєї підсистеми або модуля до моменту об'єднання останніх у єдину систему. Інтеграція модулів в систему виконується послідовно по рівнях і поручається самому кваліфікованому з авторів програм, що стикуються. Такий підхід до складання програм аналогічний способу розробки апаратного устаткування.

Більш надійні програмні комплекси дозволяють отримати «спадне» програмування. В цьому випадку керівник групи програмістів не тільки здійснює контроль над роботою, але і бере участь у складанні програм.

Модульне конструювання програм. Звичайно при складанні складної програми її розбивають на окремі модулі так, що кожний з них може використовуватися в багатьох інших. Але при цьому збільшується ймовірність виникнення всякого роду непорозумінь і помилок. Це джерело помилок можна звести до мінімуму, якщо вхід у кожний модуль буде здійснюватися тільки в його початок (зверху), а вихід тільки в його кінець (знизу).

Структурування даних. Невід'ємним компонентом комплексів програм є дані, які надходять на обробку, перетворюються, зберігаються і видаються зовнішнім абонентам. Структурування даних сприяє зменшенню складності комплексу програм і знижує ймовірність появи помилок через неправильне використання. В ряді систем складність масивів даних перевищує логічну складність програм і спричиняє основну масу помилок, що виявляються в процесі налагодження. Тому велике значення при проектуванні програм має строгий опис змінних і простота структурної побудови масивів.

Всю сукупність даних можна розділити на два ієрархічних рівні: прості змінні і масиви. Прості змінні являють собою мінімальний компонент даних, що має ім'я і опис. Масиви утворюються з декількох простих змінних за деякими правилами об'єднання і впорядковування та мають власний опис, структуру та ім'я. Основними символами для опису даних є літери, цифри і обмежувачі. Найбільше часто використовуються наступні типи змінних:

- речовинні, які приймають дійсні позитивні і негативні значення в заданих межах;

- цілі, в заданих інтервалах приймаючі тільки цілі позитивні і негативні чисельні значення;

- булеві, що приймають тільки два значення: "так" або "ні" (істина або неправда);

- двійкові, що представляють собою послідовність біт;

- символьні, що утворюються з послідовності байтових кодів, кожний з яких відповідає деякому символу мови програмування або опису даних.

Із простих змінних за заданими правилами впорядкування утворюються масиви, розміри яких задаються списками граничних пар. Структура масивів і правила впорядкування змінних різні і визначаються наступними факторами:

- типами і структурою простих змінних, а також областю значень, які можуть приймати змінні;

- потужністю масиву - найбільшим числом значень, які можуть приймати змінні, а також обсягом пам'яті, необхідним для зберігання масиву в будь-який момент часу;

- способом заповнення і ущільнення змінних в пам'яті, використовуваної для зберігання масиву;

- методом і частотою заповнення і вибіркового відновлення компонентів масиву і витратами продуктивності ЕОМ, необхідними для звертання до масиву;

- типом реальної пам'яті, використовуваної для зберігання масиву.

Для підвищення надійності комплексів програм доцільно використовувати найпростіші структури масивів. При роботі з масивами найбільші витрати продуктивності ЕОМ пов'язані з пошуком простих змінних або часток масивів, ознаки яких задовольняють деякій умові.

Соседние файлы в папке Лекції