Спіральна модель
![]() Спіральна модель — генератор моделі процесу керування ризиками для проєктів програмного забезпечення. Заснована на унікальних моделях ризиків даного проєкту, спіральна модель скеровує команду на прийняття елементів однієї чи кількох моделей процесів, як-от інкрементного, водоспадного чи еволюційного прототипування[en]. ІсторіяДану модель було вперше описано Баррі Бомом[en] у його статті 1986 року «Спіральна модель розробки та поліпшення програмного забезпечення»[2]. 1988 року Бом опублікував схожу статтю[3] для більшої аудиторії. Ці статті вводять діаграму, яку було відтворено у численних майбутніх публікаціях про спіральну модель. Ці ранні статті використовували термін «модель процесів» для позначення спіральної моделі поряд з інкрементним, водоспадним, прототипним та іншими підходами. Проте, спіральним моделям притаманна суміш керування ризиками вже наявних особливостей інших моделей процесів:
У пізніших публікаціях Бом описує спіральну модель як «генератор моделі процесів», де вибори, засновані на ризиках проєкту, породжують відповідну модель процесів для проєкту. Таким чином, інкрементна, водоспадна, прототипна та інші моделі процесів є особливими випадками спіральної моделі, що охоплює моделі ризиків даних проєктів. Бом також визначив кількість хибних уявлень, що випливає з надмірних спрощень на початковій діаграмі спіральної моделі. Найнебезпечнішими хибними уявленнями він назвав такі:
Хоч ці хибні уявлення можуть відповідати моделям ризиків окремих проєктів, вони не будуть відповідними для більшості проєктів. У доповіді[4] Національної ради з науково-дослідної роботи дану модель було розширено шляхом включення ризиків, пов'язаних із людським фактором. Для кращого розрізнення їх від «небезпечних спіральних двійників» Бом навів шість характеристик, спільних для всіх автентичних застосувань спіральної моделі[джерело?]. Шість інваріантівАутентичні застосування спіральної моделі керуються циклами, що завжди відображають шість характеристик. Бом проілюстрував кожну з них прикладом «небезпечного спірального двійника», що порушує інваріантність. Одночасне визначення артефактівПослідовне визначення ключових артефактів проєкту часто знижує можливість розробки системи, що відповідає «виграшним умовам» зацікавлених сторін (завданням та обмеженням). Даний інваріант виключає процеси «небезпечного спірального двійника», що використовує послідовність інкрементних водоспадних проходів у налаштуваннях, де основні припущення водоспадної моделі неприпустимі. Бом перелічив наступні з них:
У ситуаціях, коли ці припущення є застосовними, наявний ризик проєкту не визначити вимоги та не виконувати послідовно. Таким чином, водоспадна модель стає випадком спіральної моделі з управлінням ризиками. Виконання чотирьох основних дій на кожному цикліДаний інваріант визначає чотири основні дії, що повинні відбуватися на кожному циклі спіральної моделі:
Цикли проєкту, що випускають або скорочують будь-яку з цих дії, ризикують витрачати зусилля на підходи, неприйнятні для ключових зацікавлених сторін, або ж надто ризиковані. Деякі процеси «небезпечних спіральних двійників» порушують даний інваріант, усуваючи ключових зацікавлених сторін від деяких послідовних фаз або циклів. Наприклад, підтримка й адміністратори системи можуть бути не залучені до визначення та розробки системи. Як наслідок, система може не задовольняти виграшних умов. Ризик визначає рівень зусильДля будь-якої дії над проєктом (як-от аналізу вимог, проєктування, прототипування чи тестування), команда проєкту повинна вирішити, скількох зусиль буде достатньо. В автентичних циклах спірального процесу ці рішення приймаються задля мінімізації загального ризику. Наприклад, виділення додаткового часу на тестування програмного продукту часто знижує ризик відкликання з ринку поганого продукту. Проте, додатковий час тестування може збільшити ризик того, що конкурент раніше вийде на ринок. З точки зору спіральної моделі тестування повинно відбуватися до мінімізації сумарного ризику, і не далі[джерело?]. «Небезпечні спіральні двійники», що порушують даний інваріант, містять еволюційні процеси, які ігнорують ризик заради масштабованості, та інкрементні процеси, які забагато вкладають у технічну архітектуру того, що повинно бути перепроєктовано чи замінено для забезпечення майбутніх інкрементів продукту. Ризик визначає ступінь деталізаціїДля будь-якого артефакту проєкту (як-от специфікації вимог, проєктної документації чи плану тестування), команда проєкту повинна визначити достатній рівень його деталізації. В автентичних циклах спірального процесу таке рішення мінімізує загальний ризик. Розглядаючи специфікацію вимог як приклад, проєкт повинен точно визначати такі функції, в яких ризик зменшено через точну специфікацію (наприклад, інтерфейси між апаратним і програмним забезпеченням чи між підрядниками та субпідрядниками). І навпаки, проєкт не має точно визначати ті функції, які лише збільшують ризик (як-от графічні макети екрану чи поведінка компонентів «з полиці»). Використання опорних точокПочатковий опис спіральної моделі Бома не містив жодних віх проєкту. В подальших уточненнях він представив три опорні точки, які слугують індикаторами прогресу та точками зобов'язання. Дані опорні точки можуть характеризуватися такими ключовими питаннями.
«Небезпечні спіральні двійники», що порушують даний інваріант, містять еволюційні й інкрементні процеси, що виділяють значні ресурси не реалізацію рішення з погано визначеною архітектурою[прояснити]. Три опорні точки легко вписуються в Rational Unified Process (RUP) з LCO-маркуванням границі між фазами RUP Початок і Розробка, LCA-маркуванням — між Розробкою та Конструюванням, та IOC-маркуванням — між Конструюванням та Переходом. Зосередження на системі та її життєвому цикліДаний інваріант висвітлює важливість усієї системи та довгострокові проблеми, що охоплюють увесь її життєвий цикл. Він виключає «небезпечних спіральних двійників», які надто зосереджуються на початковій розробці програмного коду. Ці процеси можуть призвести від опублікованих підходів до об'єктно-орієнтованого чи структурного аналізу та проєктування програмного забезпечення, порівняно як без урахування інших аспектів технологічних потреб проєкту. Примітки
|
Portal di Ensiklopedia Dunia