ого програмного продукту і не може чітко сформулювати всі вимоги до ПЗ. Вимоги можуть бути взагалі не визначені до початку проекту або можуть змінюватися по ходу його виконання.
проект виконується в умовах обмеженості бюджету. Розробка ведеться невеликими RAD групами в короткі терміни, що забезпечує мінімум трудовитрат і дозволяє вписатися в бюджетні обмеження.
інтерфейс користувача (GUI) є головний фактор. Немає сенсу примушувати користувача малювати картинки. RAD технологія дає можливість продемонструвати інтерфейс в прототипі, причому досить скоро після початку проекту.
проект великий, але піддається поділу на більш дрібні функціональні компоненти. Якщо передбачувана система велика, необхідно, щоб її можна було розбити на дрібні частини, кожна з яких володіє чіткою функціональністю. Вони можуть випускатися послідовно або паралельно (в останньому випадку залучається кілька RAD груп).
ПО не володіє великою обчислювальною складністю.
Життєвий цикл ПЗ за методологією RAD складається з чотирьох фаз:
фаза аналізу і планування вимог;
фаза проектування;
фаза побудови;
фаза впровадження.
На фазі аналізу і планування вимог користувачі системи визначають функції, які вона повинна виконувати, виділяють найбільш пріоритетні з них, потребують опрацювання в першу чергу, описують інформаційні потреби. Визначення вимог виконується в основному силами користувачів під керівництвом фахівців-розробників. Обмежується масштаб проекту, визначаються часові рамки для кожної з наступних фаз. Крім того, визначається сама можливість реалізації даного проекту у встановлених рамках фінансування, на даних апаратних засобах і т.п. Результатом даної фази повинні бути список і пріоритетність функцій майбутньої ІС, попередні функціональні та інформаційні моделі ІС.
На фазі проектування частина користувачів бере участь в технічному проектуванні системи під керівництвом фахівців-розробників. CASE-засоби використовуються для швидкого отримання працюючих прототипів додатків. Користувачі, безпосередньо взаємодіючи з ними, уточнюють і доповнюють вимоги до системи, що не були виявлені на попередній фазі. Більш докладно розглядаються процеси системи. Аналізується і, при необхідності, коригується функціональна модель. Кожен процес розглядається детально. При необхідності для кожного елементарного процесу створюється частковий прототип: екран, діалог, звіт, що усуває неясності або неоднозначності. Визначаються вимоги розмежування доступу до даних. На цій же фазі відбувається визначення набору необхідної документації.
Після детального визначення складу процесів оцінюється кількість функціональних елементів розроблюваної системи і приймається рішення про поділ ІС на підсистеми, піддаються реалізації однією командою розробників за прийнятний для RAD-проектів час - близько 60 - 90 днів. З використанням CASE-засобів проект розподіляється між різними командами (ділиться функціональна модель). Результатом даної фази повинні бути:
загальна інформаційна модель системи;
функціональні моделі системи в цілому і підсистем, що реалізуються окремими командами розробників;
точно визначені за допомогою CASE-засобу інтерфейси між автономно розробляються підсистемами;
побудовані прототипи екранів, звітів, діалогів.
Всі моделі і прототипи повинні бути отримані із застосуванням тих CASE-засобів, які будуть використовуватися в подальшому при побудові системи. Дана вимога викликано тим, що в традиційному підході при передачі інформації про проект з етапу на етап може відбутися фактично неконтрольоване спотворення даних. Застосування єдиної середовища зберігання інформації про проект дозволяє уникнути цієї небезпеки.
На відміну від традиційного підходу, при якому використовувалися специфічні засоби прототипування, не призначені для побудови реальних додатків, а прототипи викидалися після того, як виконували завдання усунення неясностей у проекті, в підході RAD кожен прототип розвивається в частину майбутньої системи. Таким чином, на наступну фазу передається більш повна і корисна інформація.
На фазі побудови виконується безпосередньо сама швидка розробка програми. На даній фазі розробники виробляють итеративное побудову реальної системи на основі отриманих в попередній фазі моделей, а також вимог нефункціонального характеру. Програмний код частково формується за допомогою автоматичних генераторів, які отримують іЩоб отримати інформацію безпосередньо з репозиторію CASE-засобів. Кінцеві користувачі на цій фазі оцінюють одержувані результати і вносят...