>
- попередження помилок;
- самовиявлення помилок;
- самовиправлення помилок;
- забезпечення стійкості до помилок.
Метою підходу попередження помилок - не допустити помилок в готових продуктах, у нашому випадку - в ПС. Проведене розгляд природи помилок при розробці ПС дозволяє для досягнення цієї мети сконцентрувати увагу на наступних питаннях:
- боротьбі зі складністю;
- забезпеченні точності перекладу;
- забезпечення контролю прийнятих рішень;
- подолання бар'єру між користувачем і розробником.
Цей підхід пов'язаний з організацією процесів розробки ПС, тобто з технологією програмування. І хоча, гарантувати відсутність помилок в ПС неможливо, але в рамках цього підходу можна досягнути прийнятного рівня надійності ПС.
Решта три підходи пов'язані з організацією самих продуктів технології, в нашому випадку - програм. Вони враховують можливість помилки в програмах. Самовиявлення помилки в програмі означає, що програма містить засоби виявлення відмови в процесі її виконання. Самовиправлення помилки в програмі означає не тільки виявлення відмови в процесі її виконання, але й виправлення наслідків цієї відмови, для чого в програмі мають бути відповідні засоби. Забезпечення стійкості програми до помилок означає, що в програмі містяться засоби, що дозволяють локалізувати область впливу відмови програми, або зменшити його неприємні наслідки, а іноді запобігти катастрофічним наслідкам відмови. Однак, ці підходи використовуються дуже рідко (може бути, відносно частіше використовується забезпечення стійкості до помилок). Пов'язано це, по-перше, з тим, що багато прості методи, використовувані в техніці в рамках цих підходів, незастосовні в програмуванні,
наприклад, дублювання окремих блоків і пристроїв (виконання двох копій однієї і тієї ж програми завжди буде приводити до однакового ефекту - правильно чи неправильно). А, по-друге, додавання в програму додаткових коштів призводить до її ускладнення (іноді - значному), що в якійсь мірі заважає методам попередження помилок.
3.5 Методи боротьби зі складністю
Відомі два загальних методу боротьби зі складністю систем: перший метод полягає в забезпеченні незалежності компонент системи, а другий використання в системах ієрархічних структур.
Забезпечення незалежності компонент означає розбиття системи на такі частини, між якими повинні залишитися по можливості менше зв'язків. Одним із втілень цього методу є модульне програмування. Використання ієрархічних структур дозволяє локалізувати зв'язки між компонентами, допускаючи їх лише між компонентами, що належать суміжним рівнями ієрархії. Цей метод, по суті, означає розбиття великої системи на підсистеми, що утворюють малу систему. Тут істотно використовується здатність людини до абстрагування.
3.6 Забезпечення точності перекладу
Забезпечення точності перекладу спрямоване на досягнення однозначності інтерпретації документів різними розробниками, а також користувачами ПС. Це вимагає дотримуватися при перекладі певної дисципліни. Весь процес перекладу можна розбити на наступні етапи:
- розуміння завдання;
- складання плану (включаючи цілі та методи рішення);
- виконання плану (перевірка правильності кожного кроку);
- аналіз отриманого рішення.
3.7 Подолання бар'єру між користувачем і розробником
Як забезпечити, щоб ПС виконувала те, що користувачеві розумно очікувати від неї? Для цього необхідно правильно зрозуміти, по-перше, чого хоче користувач, і, по-друге, його рівень підготовки і навколишню обстановку. Тому слід - залучати користувача в процеси прийняття рішень при розробці ПС, - ретельно освоїти особливості його роботи.
3.8 Контроль прийнятих рішень
Обов'язковою кроком у кожному процесі (етапі) розробки ПС повинна бути перевірка правильності прийнятих рішень. Це дозволить виявляти і виправляти помилки на самій ранній стадії після її виникнення, що, по-перше, істотно знижує вартість її виправлення та, по-друге, підвищує ймовірність правильного її усунення.
З урахуванням специфіки розробки ПС необхідно застосовувати скрізь, де це можливо: суміжний контроль; поєднання як статичних, так і динамічних методів контролю.
Суміжний контроль означає, перевірку отриманого документа особами, які не беруть участь в його розробці, з двох сторін: по-перше, з боку автора ви...