Прототипом називають діючий програмний продукт, який реалізовує окремі функції і зовнішні інтерфейси програмного забезпечення, що розробляється [11]
На першій ітерації, як правило, специфікують, проектують, реалізують і тестують інтерфейс користувача. На другій - додають деякий обмежений набір функцій. На подальших етапах цей набір розширюють, нарощуючи можливості даного продукту. Основною гідністю даної схеми є те, що, починаючи з деякої ітерації, на якій забезпечена певна функціональна повнота, продукт можна надавати користувачеві, що дозволяє: • скоротити час до появи перших версій програмного продукту; • зацікавити велику кількість користувачів, забезпечуючи швидке просування наступних версій продукту на ринку; • прискорити формування і уточнення специфікацій за рахунок появи практики використання продукту; • зменшити вірогідність морального старіння системи за час розробки. Основною проблемою використання спіральної схеми є визначення моментів переходу на наступні стадії. Для її вирішення зазвичай обмежують терміни проходження кожної стадії, грунтуючись на експертних оцінках.
Зміна життєвого циклу програмного забезпечення при використанні CASE- технологій. CASE-технології є сукупністю методологій аналізу, проектування, розробки і супроводу складних програмних систем, заснованих як на структурному, так і на об'єктному підходах, які підтримуються комплексом взаємозв'язаних засобів автоматизації. У основі будь-якої CASE-технології лежить парадигма методологія/метод/нотація/засіб [11]. Методологія будується на базі деякого підходу і визначає кроки роботи, їх послідовність, а також правила розподілу і призначення методів. Метод визначає спосіб досягнення тієї або іншої мети - виконання кроку роботи. Нотацією називають систему позначень, що використовується для опису деякого класу моделей. Нотації бувають графічні (надання моделей у вигляді графів, діаграм, таблиць, схем і т.п.) і текстові (описи моделей на формальних і природних мовах). У CASE-технологіях нотації використовують для опису структури проектованої системи, елементів даних, етапів обробки і тому подібне. Засоби - інструментарій для підтримки методів: засоби створення і редагування графічного проекту, організації проекту у вигляді ієрархії рівнів абстракції, а також перевірки відповідності компонентів різних рівнів. Розрізняють: • CASE-засоби аналізу вимог, проектування специфікацій і структури, редагування інтерфейсів (перше покоління CASE-I); • CASE-засоби генерації початкових текстів і реалізації інтегрованого оточення підтримки повного життєвого циклу розробки програмного забезпечення (друге покоління CASE-II). CASE-I в основному включають засоби для підтримки графічних моделей, проектування специфікацій, екранних редакторів і словників даних. CASE-II відрізняється істотно великими можливостями, забезпечуючи: контроль, аналіз і скріплення системної інформації і інформації по управлінню процесом проектування, побудову прототипів і моделей системи, тестування, верифікацію і аналіз програм, що згенерували. Автоматизовуючи трудомісткі операції, сучасні CASE-засоби істотно підвищують продуктивність праці програмістів і покращують якість створюваного програмного забезпечення. Вони: • забезпечують автоматизований контроль сумісності специфікацій проекту; • зменшують час створення прототипу системи; • прискорюють процес проектування і розробки; • автоматизують формування проектної документації для всіх етапів життєвого циклу відповідно до сучасних стандартів; • частково генерують коди програм для різних платформ розробки; • підтримують технології повторного використання компонентів системи; •забезпечують можливість відновлення проектної документації згідно існуючих початкових кодах. Поява CASE-технологій змінила всі етапи життєвого циклу програмного забезпечення, при цьому найбільші зміни стосуються аналізу і проектування, які припускають строгий і наочний опис програмного забезпечення, що розробляється. У табл. 1.1 показано, які якісні зміни процесу розробки програмного забезпечення відбуваються при переході до використання CASE-засобів. Використання CASE-засобів дозволяє істотно понизити трудовитрати на розробку складного програмного забезпечення (табл. 1.2 [32]) в основному за рахунок автоматизації процесів документування і контролю. Проте слід мати на увазі, що сучасні CASE-засоби дорогі, а їх використання вимагає вищої кваліфікації розробників. Отже, їх має сенс використовувати в складних проектах, причому, чим складніше програмне забезпечення, яке розробляють, тим більший виграш від використання CASE-технологій. На сьогоднішній день практично все складне ПЗ розробляється з використанням CASE-засобів. Таблиця 1.1 Порівняння процесів розробки ПЗ
Таблиця 1.2
Порівняння трудовитрат на розробку складного ПЗ з використанням різних способів розробки
|