ттєвий цикл
Найстаршою парадигмою процесу розробки ПЗ є класичний життєвий цикл (автор Уїнстон Ройс, 1970) Дуже часто класичний життєвий цикл називають каскадної або Водоспадної моделлю, підкреслюючи, що розробка розглядається як послідовність етапів, причому перехід на наступний, ієрархічно нижній етап відбувається тільки після повного завершення робіт на поточному етапі (рис. 1.1).
Охарактеризуємо зміст основних етапів.
Мається на увазі, що розробка починається на системному рівні і проходить через аналіз, проектування, кодування, тестування і супровід. При цьому моделюються дії стандартного інженерного циклу.
Системний аналіз задає роль кожного елемента в комп'ютерній системі, взаємодія елементів один з одним.
Малюнок - 1.1.Классіческій життєвий цикл розробки ПЗ.
Оскільки ПО є лише частиною великої системи, то аналіз починається з визначення вимог до всіх системним елементам і призначення підмножини цих вимог програмному елементу raquo ;. Необхідність системного підходу явно проявляється, коли формується інтерфейс ПЗ з іншими елементами (апаратурою, людьми, базами даних). На цьому ж етапі починається вирішення завдання планування проекту ПЗ. У ході планування проекту визначаються обсяг проектних робіт та їх ризик, необхідні трудовитрати, формуються робочі завдання та план-графік робіт.
Аналіз вимог відноситься до програмного елементу - програмному забезпеченню. Уточнюються і деталізуються його функції, характеристики та інтерфейс.
Проектування полягає у створенні уявлень:
* архітектури ПЗ;
* модульної структури ПО;
* алгоритмічної структури ПО;
* структури даних;
* вхідного і вихідного інтерфейсу (вхідних і вихідних форм даних). Всі визначення документуються в специфікації аналізу. Тут же завершується рішення задачі планування проекту.
Вихідні дані для проектування містяться в специфікації аналізу, тобто в ході проектування виконується трансляція вимог до ПЗ у безліч проектних уявлень. При вирішенні завдань проектування основна увага приділяється якості майбутнього програмного продукту.
Кодування полягає у перекладі результатів проектування в текст на мові програмування.
Тестування - виконання програми для виявлення дефектів у функціях, логіці і формі реалізації програмного продукту.
Супровід - це внесення змін до експлуатоване ПЗ. Мети змін:
* виправлення помилок;
* адаптація до змін зовнішнього для ПО середовища;
* удосконалення ПО за вимогами замовника.
Супровід ПО складається в повторному застосуванні кожного з попередніх кроків (етапів) життєвого циклу до існуючої програмі, але не в розробці нової програми.
Як і будь інженерна схема, класичний життєвий цикл має переваги і недоліки.
Переваги класичного життєвого циклу: дає план і часовий графік по всіх етапах проекту, впорядковує хід конструювання.
Недоліки класичного життєвого циклу:
реальні проекти часто вимагають відхилення від стандартної послідовності кроків;
цикл заснований на точної формулюванні вихідних вимог до ПЗ (реальне початку проекту вимоги замовника визначені лише частково);
результати проекту доступні замовнику тільки в кінці роботи.
Макетування
Досить часто замовник не може сформулювати докладні вимоги по введенню, обробці або висновку даних для майбутнього програмного продукту.
З іншого боку, розробник може сумніватися в приспосабливаемости продукту під операційну систему, формі діалогу з користувачем або в ефективності реалізованого алгоритму. У цих випадках доцільно використовувати макетування.
Основна мета макетування - зняти невизначеності у вимогах замовника.
Макетування (прототипування) - це процес створення моделі необхідного програмного продукту.
Модель може приймати одну з трьох форм:
паперовий макет або макет на основі ПК (зображує або малює человекомашінная діалог);
працюючий макет (виконує деяку частину необхідних функцій);
існуюча програма (характеристики якої потім повинні бути поліпшені).
Як показано на рис. 1.2, макетування грунтується на багаторазовому повторенні ітерацій, в яких беруть участь замовник і розробник.
Малюнок - 1.2 Макетування