Засоби розробки програмного забезпечення. Оптимальний порядок вивчення ТОП.
У основі розробки і подальшого застосування програмного забезпечення користувачем лежить поняття життєвого циклу, який, по суті, є моделлю його створення і використання, що відбиває різні стани, починаючи з моменту усвідомлення необхідності появи цього ПО і запячивая моментом його повного виходу із вживання.
Існує декілька моделей життєвого циклу (ЖЦ), кожна з яких визначає різну методологію створення систем, проте усі без виключення моделі ЖЦ включають п'ять етапів і зв'язків між ними з детальним описом дій, моделей і результатів кожного етапу. Приведемо назви і короткий зміст кожного етапу відповідно до ГОСТ 19.102-77.
1. Технічне завдання:
• постановка завдання;
• вибір критеріїв ефективності;
• проведення попередніх науково-дослідних робіт (НДР);
• розробка ТЗ.
2. Ескізний проект:
• структура вхідних і вихідних даних;
• уточнення методів рішення;
• загальний алгоритм;
• розробка документації ескізного проекту.
3. Технічний проект:
• уточнення структури вхідних і вихідних даних;
• розробка алгоритмів;
• форми даних;
• семантика і синтаксис мови;
• структура програми;
• конфігурація технічних засобів;
• план робіт.
4. Робочий проект:
• програмування і відладка;
• розробка документів;
• підготовка і проведення випробувань;
• коригування програми і документів за підсумками випробувань.
5. Впровадження:
• передача програми і документів для супроводу;
• оформлення акту;
• передача до Фонду алгоритмів і програм (ФАП).
Історично в ході розвитку теорії проектування програмного забезпечення і у міру його ускладнення затвердилися чотири основні моделі ЖЦ.
Першою за часом появи і найпоширенішою стала каскадна модель (мал. 2.5).
Мал. 2.5. Каскадна модель життєвого циклу ПО
Каскадна модель характеризується наступними основними особливостями:
• послідовним виконанням тих, що входять до її складу эта-пов;
• закінченням кожного попереднього етапу до початку того, що потім-дме;
• відсутністю тимчасового перекриття етапів (наступний етап не почнеться, поки не завершиться попередній);
• відсутністю (чи певним обмеженням) повернення до попередніх етапів;
наявністю результату тільки у кінці розробки.
Виявлення і усунення помилок в каскадній моделі виробляється тільки на стадії тестування, яка може розтягнутися в часі або взагалі ніколи не завершитися.
Наступною стадією розвитку теорії проектування ПО стала ітераційна модель ЖЦ, або так звана поетапна модель з проміжним контролем (мал. 2.6). Основною її особливістю є наявність зворотних зв'язків між етапами, внаслідок цього з'являється можливість проведення перевірок і коригувань проектованою ІС на кожній стадії розробки. В результаті трудомісткість відладки в порівнянні з каскадною моделлю істотно знижується. Итерационность моделі проявляється в обробці помилок, виявлених проміжним контролем. Якщо на якому-небудь етапі в ході проміжної перевірки виявлена помилка, допущена на більше ранній стадії розробки, необхідно повторити увесь цикл робіт цієї стадії. При цьому аналізуються причини помилки і коригуються у разі потреби початкові дані етапу або його зміст (послідовність дій).
На жаль, в процесі розробки системи можуть змінитися початкові вимоги, і в цьому випадку ітераційна модель може виявитися неефективною.
Третя модель ЖЦ ПО - спіральна (spiral) модель (мал. 2.7) - підтримує ітерації поетапної моделі, але особлива увага приділяється початковим етапам проектування : аналізу вимог, проектуванню специфікацій, попередньому проектуванню і детальному проектуванню. Кожен виток спіралі відповідає поетапній моделі створення фрагмента або версії ПО, уточнюються цілі і вимоги до програмного забезпечення, оцінюється якість розробленого фрагмента або версії і плануються роботи наступної стадії розробки (витка). Таким чином, поглиблюються і конкретизуються усі деталі проектованого ПО, в результаті виходить продукт, який задовольняє усім вимогам замовника.