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

59. Основні підходи до створення стійкого до відмов програмного забезпечення.

Підходи до створення відмовостійкого програмного забезпечення:

  1. N-варіантне програмування. У відповідності із загальною специфікацією різними командами розробників розробляється кілька версій програмного забезпечення. Ці версії виконуються паралельно на окремих комп'ютерах. Результати їх роботи порівнюються за допомогою системи узгодження, результати якої версії, що не збігаються з двома іншими або не отримані вчасно, відкидаються. Це найбільш часто використовуваний підхід до створення відмовостійкого програмного забезпечення. Він використовується в системах сигналізації на залізницях, в авіаційних системах і в системах захисту реакторів.

  2. Блоки відновлення. У цьому методі кожен програмний компонент містить тест, який перевіряє його роботу. Компонент також має підпрограму, яка повторює обчислення, якщо тест виявив неправильне виконання. Але повторні обчислення виконуються іншим модулем компонента, який навмисно побудований на іншій інтерпретації вимог, що пред'являються до компонента. Таким чином, компонент має кілька модулів (блоків відновлення), що виконують однакові функції, але реалізують різні алгоритми. Оскільки модулі виконуються послідовно, в рамках даного підходу немає необхідності дублювати апаратні засоби.

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

60. Шляхи досягнення відмінностей між різними версіями програмного забезпечення. Досягти відмінності між різними версіями пз можна також такими способами:

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

  1. Включення в специфікацію вимог, щоб для реалізації були використані різні мови програмування. Наприклад, у системі з трьома версіями ПЗ для написання різних версій можна використовувати мови програмування Ada, C і Java.

  2. Використовувати при розробці системи різні інструментальні засоби та середовища розробки.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]