="justify">) паперовий макет або макет на основі ПК (зображує або малює людино-машинний діалог);
) працюючий макет (виконує деяку частину необхідних функцій);
) існуюча програма (характеристики якої потім повинні бути поліпшені).
Як показано на рис. 2, макетування грунтується на багаторазовому повторенні ітерацій, в яких беруть участь замовник і розробник.
Рис. 2. Макетування
Послідовність дій при макетуванні представлена ??на рис. 3. Макетування починається зі збору та уточнення вимог до створюваного ПО Розробник і замовник зустрічаються і визначають всі цілі ПЗ, встановлюють, які вимоги відомі, а які належить доопределить.
Потім виконується швидке проектування. У ньому увага зосереджується на тих характеристиках ПЗ, які повинні бути видимі користувачеві.
Швидке проектування призводить до побудови макета.
Макет оцінюється замовником і використовується для уточнення вимог до ПЗ.
Ітерації повторюються до тих пір, поки макет не виявить всі вимоги замовника і, тим самим, не дасть можливість розробнику зрозуміти, що повинно бути зроблено.
Гідність макетування: забезпечує визначення повних вимог до ПЗ.
Недоліки макетування:
- замовник може прийняти макет за продукт;
розробник може прийняти макет за продукт.
Пояснимо суть недоліків. Коли замовник бачить працюючу версію ПЗ, він перестає усвідомлювати, що деталі макета скріплені «жувальною гумкою і дротом»; він забуває, що в гонитві за працюючим варіантом залишені невирішеними питання якості і зручності супроводу ПЗ. Коли замовнику кажуть, що продукт має бути перебудований, він починає обурюватися і вимагати, щоб макет «в три прийоми» був перетворений на робочий продукт. Дуже часто це негативно позначається на управлінні розробкою ПЗ.
Рис. 3. Послідовність дій при макетуванні
З іншого боку, для швидкого отримання працюючого макета розробник часто йде на певні компроміси. Можуть використовуватися не самі підходящі мова програмування або операційна система. Для простої демонстрації можливостей може застосовуватися неефективний алгоритм. Через деякий час розробник забуває про причини, за якими ці кошти не підходять. У результаті далеко не ідеальний обраний варіант інтегрується в систему.
Очевидно, що подолання цих недоліків вимагає боротьби з життєвим спокусою - прийняти бажане за дійсне.
1.3 Стратегії конструювання ПО
Існують 3 стратегії конструювання ПО [+1]:
- одноразовий прохід (водоспадна стратегія) - лінійна послідовність етапів конструювання;
- інкрементна стратегія. На початку процесу визначаються всі користувальницькі й системні вимоги, що залишилася частина конструювання виконується у вигляді послідовності версій. Перша версія реалізує частину запланованих можливостей, наступна версія реалізує додаткові можливості і т.д., поки не буде отримана повна система;
- еволюційна стратегія. Система також будується у вигляді послідовності версій, але на початку процесу визначені не всі вимоги. Вимоги уточнюються в результаті розробки версій.
Характеристики стратегій конструювання ПЗ відповідно до вимог стандарту IEEE/EIA 12207.2 наведено в табл. 1.
Таблиця 1. Характеристики стратегій конструювання
Стратегія конструірованіяВ початку процесу визначені всі вимоги? Безліч циклів конструювання? Проміжне ПЗ розповсюджується? Одноразовий прохід Інкрементна (заплановане поліпшення продукту) ЕволюціоннаяДа Та нетнет Та ДаНет Може бути Так
У термінах загальної стратегії конструювання ПО розрізняють ряд моделей:
. Інкрементна модель є класичним прикладом инкрементной стратегії конструювання. Вона об'єднує елементи послідовної Водоспадної моделі з ітераційної філософією макетування. Кожна лінійна послідовність тут виробляє поставляється інкремент ПЗ. Наприклад, ПЗ для обробки слів в 1-му Інкремент реалізує функції базової обробки файлів, функції редагування та документування; у 2-му Інкремент - складніші можливості редагування та документування; в 3-му Інкремент - перевірку орфографії та граматики; в 4-му Інкремент - можливості компоновки сторінки.
. Модель швидкої розробки додатків (Rapid Application Development) - другий приклад застосування инкрементной стратегії конструювання. RAD-модель забезпечує екстремально короткий цикл р...