Вступ до інженерії програмного забезпечення | страница 45
(рис. 5.10). Як видно, CAESE забезпечує вивчення проблем, пов'язаних з програмним забезпеченням на основі емпіричних даних, отриманих шляхом проведення експериментів.
Рис. 5.10 Структура САЕSЕ
Взаємозв'язок прямої і оберненої інженерії у вигляді програмного забезпечення показано на рис. 5.11. Видно, що оберненій інженерії відводиться інформаційна роль, наприклад, для формування депозитарію для інформації про програмне забезпечення.
Рис. 5.11. Обіг програмного забезпечення
На основі взаємодії обох інженерій будується методологія розробки і супроводу програмного забезпечення. Суть її полягає в тому, що з наявного програмного забезпечення застосуванням методів оберненої інженерії будується репозитарій проектних вирішень домена, відтак на основі репозитарію методами прямої інженерії створюються нові застосування.
Розділ 6. ЖИТТЄВИЙ ЦИКЛ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ. МОДЕЛЮВАННЯ
Стандарт ISO/ІЕС 12207:1995 визначає модель життєвого циклу як схему, що відображає процеси, дії і завдання, які залучаються до розробки, експлуатації і супроводу програмного продукту, починаючи з визначення вимог і закінчуючи зняттям з експлуатації.
Головні цілі моделювання життєвого циклу полягають у тому, щоб, абстрагуючись від деталей, визначити склад і порядок виконання фаз, а також критерії переходу від однієї фази до іншої.
Першими моделями життєвого циклу були такі: «кодуй і виправляй (code-and-fix); «крокова» (stage wise); «водоспад» (waterfall).
6.1. Базові моделі
Модель «кодуй і виправляй» містила дві фази (рис. 6.1):
— написання коду;
- встановлення помилок у коді.
Недоліки моделі: після безлічі змін код ставав погано структурований; навіть добре спроектоване програмне забезпечення не відповідало вимогам; супровід коду був дорогим, оскільки код погано пристосований для тестування і модифікації.
Рис. 6.1. Модель «кодуй і виправляй»
Крокова модель була розроблена на основі моделі «кодуй і виправляй» шляхом усунення недоліків, значної деталізації кроків розробки програмного продукту.
Модель, що передбачає послідовне виконання наступних кроків, така (рис. 6.2): планування дій, специфікування дій, кодування, тестування, асемблювання, shakedown, оцінювання розробленої системи. Основні недоліки моделі полягали в тому, що вказані кроки виконувалися у строїти послідовності (був відсутній зворотний зв'язок) і не передбачалося швидке прототипування програм (рис. 6.3). Удосконаленням крокової моделі була каскадна модель, оскільки вона забезпечувала: