Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція 2.docx
Скачиваний:
5
Добавлен:
23.11.2019
Размер:
588.97 Кб
Скачать

Однократний прохід Класичний життєвий цикл

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

Системний аналіз визначає роль кожного елемента в комп'ютерній системі, взаємодію елементів один з одним. Оскільки ПЗ є лише частиною більшої системи, то аналіз починається з визначення вимог до всіх системних елементів і призначення підмножини цих вимог програмному «елементу». Необхідність системного підходу проявляється, коли формується інтерфейс ПЗ із іншими елементами (апаратурою, людьми, базами даних). На цьому ж етапі починається вирішення задачі планування проекту ПЗ. Підчас планування проекту визначаються об'єм проектних робіт та їх ризик, необхідні трудозатрати, формуються робочі задачі та план-графік робіт.

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

Рис. 2.1. Класичний життєвий цикл розробки ПЗ

Суть проектування полягає у створенні представлень:

  • архітектури ПЗ;

  • модульної структури ПЗ;

  • алгоритмічної структури ПЗ;

  • структури даних;

  • вхідного й вихідного інтерфейсу (вхідних і вихідних форм даних).

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

Кодування полягає в переведенні результатів проектування в текст на мові програмування.

Тестування — виконання програми для виявлення дефектів у функціях, логіці та формі реалізації програмного продукту.

Супроводження — це внесення змін в ПЗ, що експлуатується. Цілі змін:

  • виправлення помилок;

  • адаптація до змін зовнішнього для ПЗ середовища;

  • удосконалення ПЗ за вимогою замовника.

Супровід ПЗ полягає в повторному застосуванні кожного з попередніх кроків (етапів) життєвого циклу до існуючої програми, проте не в розробці нової.

Як і будь-яка інженерна схема, класичний життєвий цикл має переваги і недоліки.

Переваги класичного життєвого циклу: дає план і часовий графік по всім етапам проекту, впорядковує хід конструювання.

Недоліки класичного життєвого циклу:

1) реальні проекти часто вимагають відхилення від стандартної послідовності кроків;

2) цикл базується на точному формулюванні вихідних вимог до ПЗ (реально на початку проекту вимоги замовника визначені лише частково);

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

Макетування

Достатньо часто замовник не може сформулювати докладні вимоги по вводу, обробці або виводу даних для майбутнього програмного продукту. З іншого боку, розробник може сумніватися в пристосовуваності продукту під операційну систему, формі діалогу з користувачем або в ефективності реалізованого алгоритму. У цих випадках доцільно використовувати макетування.

Основна мета макетування - зняти невизначеності у вимогах замовника.

Макетування (прототипування) - це процес створення моделі необхідного програмного продукту. Модель може приймати одну з трьох форм:

1) паперовий макет або макет на основі ПК (зображує чи малює людино-машинний діалог);

2) працюючий макет (виконує деяку частину необхідних функцій);

3) існуюча програма (характеристики якої потім повинні бути поліпшені).

Як показано на рис. 2.2, макетування ґрунтується на багаторазовому повторенні ітерацій, в яких беруть участь замовник та розробник.

Рис. 2.2. Макетування

Послідовність дій при макетуванні представлена ​​на рис. 2.3. Макетування починається зі збору й уточнення вимог до створюваного ПЗ Розробник і замовник зустрічаються і визначають всі цілі ПЗ, встановлюють, які вимоги відомі, а які належить довизначити.

Потім виконується швидке проектування. У ньому увага зосереджується на тих характеристиках ПЗ, які повинні бути видимі користувачеві. Швидке проектування приводить до побудови макета. Макет оцінюється замовником і використовується для уточнення вимог до ПЗ. Ітерації повторюються до тих пір, поки макет не виявить всі вимоги замовника і, тим самим, не дасть можливість розробнику зрозуміти, що повинно бути зроблено.

Перевага макетування: забезпечує визначення повних вимог до ПЗ.

Недоліки макетування:

 замовник може прийняти макет за продукт;

 розробник може прийняти макет за продукт.

Коли замовник бачить працюючу версію ПЗ, він забуває, що в гонитві за працюючим варіантом залишені невирішеними питання якості та зручності супроводу ПЗ. Коли замовнику кажуть, що продукт повинен бути перебудований, він починає обурюватися і вимагати, щоб макет «в три прийоми» був перетворений на робочий продукт. Дуже часто це негативно позначається на управлінні розробкою ПЗ.

Рис. 2.3. Послідовність дій при макетуванні

З іншого боку, для швидкого отримання працюючого макета розробник часто йде на певні компроміси. Можуть використовуватися не самі підходящі мову програмування або операційна система. Для простої демонстрації можливостей може застосовуватися неефективний алгоритм. Через деякий час розробник забуває про причини, за якими ці засоби не підходять. В результаті далеко не ідеальний обраний варіант інтегрується в систему.