- Историја
- Стварање
- Алтернатива моделу водопада
- Карактеристике спиралног модела
- Контрола ризика
- Опис спирале
- Општи
- Флексибилан
- Метамодел
- Фазе
- Одредите циљеве, алтернативе и ограничења
- Процена ризика
- Развој и тестирање
- Планирање следећег циклуса
- Пример
- Предност
- Цикличка структура
- Управљање ризиком
- Учешће купаца и повратне информације
- Идеално за велике пројекте
- Недостаци
- Скупо
- Прилично сложен
- Управљање временом
- Много корака
- Референце
Спирала Модел је архетип процеса развоја апликација. Заснован је на хипотези да је развој софтвера итеративни циклус који се понавља све док се не постигну утврђени циљеви. Има способност да се носи са великим бројем ризика који се могу појавити приликом развоја било ког софтвера.
То је један од најважнијих модела за подршку управљању ризиком. Као што му име каже, овај модел је приказан у облику спирале, где су различите фазе модела распоређене у различитим циклусима. Број циклуса у моделу није фиксиран и може варирати од пројекта до пројекта.
Анализа, евалуација, планирање и развој. Извор развоја софтвера Спирални извор: Беао цоммонс.викимедиа.орг
Историја
Стварање
Спирални модел дефинисао је амерички математичар и професор софтверског инжењерства Барри Боехм. Након што је 1986. представио свој концепт за развој сложених апликација, свој је модел 1988. објавио у свеобухватнијем оквиру у свом чланку "Спирални модел развоја и унапређења софтвера".
Део ове публикације из 1988. графички је приказао спирални модел, који на свеобухватан начин приказује како процес развоја софтвера спирално изгледа и подржан циклусима.
Боехм је познат по бројним доприносима софтверском инжењерингу, као што су конструктивни трошковни модел (ЦОЦОМО), спирални модел софтверског процеса, Г-теорија (вин-вин) приступ одређивању и управљању захтевима. софтвера.
Алтернатива моделу водопада
У својој публикацији Боехм је описао спирални модел као могућу алтернативу претходно утврђеном моделу водопада, који је уједно послужио као основа за његову праксу.
Спирални модел није први који је расправљао о цикличком развоју, али био је први модел који је објаснио зашто је итерација важна. Као што је првобитно планирано, он је био усмерен на велике, сложене пројекте чија се понављања обично крећу од 6 месеци до 2 године.
Овај модел не претпоставља да су задаци за развој софтвера дизајнирани линеарно, за разлику од модела водопада, већ их доживљава као итеративне задатке.
Овај циклички модел утицао је на моделно засновану архитектуру софтверског инжењерства (МБАСЕ) и екстремно програмирање.
Карактеристике спиралног модела
Контрола ризика
Оно што овај модел значајно разликује од других модела софтверских процеса јесте то што он изричито препознаје ризике. Стога увелике смањује неуспјех великих софтверских пројеката тако што опетовано процјењује ризике и провјерава производ у развоју сваки пут.
Овај рачунарски модел садржи компоненте готово свих других модела животног циклуса софтвера, као што су модел водопада, модел прототипирања, итеративни модел, еволуцијски модел итд.
Због тога је способан да поднесе готово сваку врсту ризика који други модели углавном не подносе. Међутим, због толико компоненти, овај је модел много сложенији од осталих модела развоја софтвера.
Опис спирале
Сваки заокрет спирале представља комплетан циклус кроз који увек пролазе четири квадранта, који представљају четири степена модела.
Како се величина спирале повећава, тако се повећава и напредак. Стога се фазе не изводе само једном, већ неколико пута, спирално.
Иако се овим цикличним понављањем пројекат полако приближава утврђеним циљевима, ризик од неуспеха развојног процеса је увелико минимизиран.
Општи
Четири фазе спроводе само основне циљеве циклуса, али не морају да се манифестују у сваком циклусу.
Поредак сваког циклуса такође није строго одређен. Стога се модел може у било ком тренутку комбиновати са другим моделима.
Флексибилан
Прилично је флексибилан, јер одвојено проводи дефинисање циљева, анализу ризика, процесе развоја и планирања за сваку фазу пројекта.
Метамодел
Сматра се метамодилом, јер укључује остале моделе. На пример, ако је спирала један циклус, представљала би модел водопада, јер укључује постепени приступ овог класичног модела.
Такође користи приступ моделу за израду прототипа, јер на почетку сваког циклуса саставља прототип за управљање ризиком.
Даље, компатибилан је с еволуцијским моделом, јер се итерације спирале могу сматрати еволуцијским нивоима, преко којих се гради коначни систем.
Фазе
Одредите циљеве, алтернативе и ограничења
Системски захтеви су дефинисани што је могуће детаљније, укључујући перформансе, хардверско / софтверско сучеље, кључне показатеље успеха итд. и који циљеви треба да буду повезани са тренутним развојним циклусом су размотрени.
Поред тога, испитују се различите алтернативе за његову примену, као што су изградња у односу на куповина, поновна употреба постојећих компоненти или издавање ресурса итд
Исто тако, одређују се ограничења попут трошкова, распореда и интерфејса, потрошње времена итд.
Процена ризика
Све предложене алтернативе се процењују. Циљеви и ограничења служе као одредница за одабир најбољег рјешења.
Поред тога, идентификовани су и ризици који могу да омете успех пројекта, попут недостатка искуства, нових технологија, уског распореда, лоших процеса, итд., Применом најпрофитабилнијих стратегија са најнижим ризиком.
Коначно, користе се методе попут прототипирања, симулација, аналитичких модела и анкетирања корисника.
Развој и тестирање
Сав потребан развој врши се коришћењем технологије и одабраног решења. Са сваком итерацијом креира се боља верзија апликације.
Стварни код се пише и тестира неколико пута док се не постигне жељени резултат који ће тада послужити као основа за будуће кораке развоја.
Планирање следећег циклуса
По завршетку једног циклуса започиње планирање следећег. Ово планирање би могло бити наставак пројекта обично ако се оствари циљ циклуса, узимајући у обзир дефиницију следећег циља.
Могло би се наћи и друга решења, ако се претходна фаза развоја показала неисправном. Постојећу стратегију може заменити једна од претходно дефинисаних алтернатива или нова. Са овим би започео нови покушај достизања заданог циља.
Пример
Војска Сједињених Држава усвојила је спирални модел за развој и надоградњу програма модернизације система за борбу против будућности (СЦФ).
Званично лансирана 2003. године, СЦФ су замишљени да опреми трупе возилима повезаним у стварном времену с изванредно брзом и флексибилном мрежом ратишта.
Пројекат је био подељен у четири развојне спирале од по две године. Спирала 1 требало је да почне у 2008. години и испоручује прототипове на употребу и процену.
Након довршетка спирале 1, спирала 2 требала је почети 2010. године. Коначни развој производа требао је бити испоручен у 2015. години.
У августу 2005. Боеинг је најавио завршетак прве главне прекретнице пројекта, а то је био функционални ремонт система. Међународна корпорација Боеинг и Сциенце Апплицатионс била су ко-вође пројекта.
Међутим, за октобар 2005. Пентагон је препоручио одлагање пројекта због великог утицаја на трошкове рата у Ираку и помоћи урагана Катрина.
Пројекат је отказан 2009. године након што су се појавила смањења буџета, а да нису могли доказати предности спиралног модела у овој мисији
Предност
Цикличка структура
Због ове врсте структуре, проблеми између дизајна и техничких захтева софтвера се прећутно уклањају захваљујући периодичним проверама.
Управљање ризиком
Ризици се анализирају у свакој фази производа прије него што се настави. То помаже у превазилажењу или ублажавању потенцијалних ризика.
Сви запослени имају користи од великог значаја анализе ризика у овом моделу, што може представљати њихову највећу предност у односу на остале моделе процеса.
Редовна процена ризика је корисна када се користе нова техничка окружења, која су углавном повезана са одређеним потенцијалом ризика због непостојања емпиријских вредности.
Учешће купаца и повратне информације
Купци су укључени у сваку фазу пројекта, до завршетка пројекта. Стога се могу прикупити различите повратне информације како би се побољшала следећа верзија пројекта.
Такође, повратне информације могу се добити у било којем тренутку због напретка у облику спирале. Стога се купци и корисници могу од почетка интегрирати у развојни процес.
Идеално за велике пројекте
Посебно је популаран и познат за велике и сложене пројекте, где је контрола буџета приоритет за клијенте и програмере. Имате максималну контролу над трошковима, ресурсима и квалитетом софтверског пројекта.
Недостаци
Скупо
То може бити прилично скупо, јер захтева висок ниво стручности за анализу ризика. Поред тога, пројектима је потребно много времена да се развију, што може повећати режијске трошкове.
Прилично сложен
Потребно је веома активно и сложено претходно управљање пројектом, где се сваки циклус непрекидно и пажљиво контролише и документује.
Упоредно је сложенији од осталих модела, јер постоји много циклуса, који сваки пролазе кроз различите фазе, чиме се повећава напор у процесу документације.
Познавање анализе и управљања ризиком, које често није доступно, је од суштинског значаја.
Управљање временом
Временом је тешко управљати јер је број циклуса непознат. Поред тога, процес развоја може се одгодити у било којем тренутку ако се морају донијети важне одлуке унутар једног циклуса или додатним радњама приликом планирања следећег циклуса.
Много корака
Предузимање многих корака у развоју софтвера није увек повољно због чињенице да, упркос свестраности тестирања, незавршени делови програма могу достићи готов систем.
Као посљедица тога, увек постоји опасност да ће било која концептуална грешка или недоследност утицати на крајњи производ.
Референце
- Вицтор Фонт Јр (2019). Спирални модел. Врхунски водич за СДЛЦ. Преузето са: ултиматесдлц.цом.
- Ионос (2019). Спирални модел: модел процеса развоја софтвера вођен ризиком. Преузето са: ионос.цом.
- Тецхуз (2018). Шта је спирални модел? Једноставно објашњење животног циклуса развоја софтверског софтвера (СДЛЦ). Преузето са: тецхуз.цом.
- Испитивање на једном месту (2020). Спирални модел. Преузето са: онестоптестинг.цом.
- Геекс за Геекс (2020). Софтверски инжењеринг - спирални модел. Преузето са: геексфоргеекс.орг.
- Цханду (2019). Спирални модел у софтверском инжењерингу. Преузето са: медиум.цом.