- история
- създаване
- Алтернатива на модела на водопада
- Характеристики на спираловидния модел
- Контрол на риска
- Описание на спиралата
- родов
- гъвкав
- метамодел
- Етапи
- Определете цели, алтернативи и ограничения
- Оценка на рисковете
- Разработка и тестване
- Планиране на следващия цикъл
- пример
- предимство
- Циклична структура
- Управление на риска
- Участие на клиенти и обратна връзка
- Идеален за големи проекти
- Недостатъци
- скъп
- Доста сложен
- Управление на времето
- Много стъпки
- Препратки
В спирала модел е архетипния на процеса на разработване на приложение. Тя се основава на хипотезата, че разработката на софтуер е итеративен цикъл, който се повтаря, докато не бъдат постигнати установените цели. Той има способността да се справя с големия брой рискове, които биха могли да възникнат при разработването на всеки софтуер.
Той е един от най-важните модели за подпомагане на управлението на риска. Както подсказва името му, този модел е показан като спираловидна форма, където различните етапи на модела са разпределени в различни цикли. Броят цикли в модела не е фиксиран и може да варира от проект до проект.

Анализ, оценка, планиране и развитие. Източник на софтуер за разработка на софтуер: Beao commons.wikimedia.org
история
създаване
Моделът на спиралата е определен от американския математик и професор по софтуерно инженерство Бари Бум. След като през 1986 г. представи концепцията си за разработването на сложни приложения, той публикува своя модел през 1988 г. в по-обширна рамка в статията си „Спирален модел на развитие и усъвършенстване на софтуера“.
Част от тази публикация от 1988 г. изобразява графично спираловидния модел, показващ изчерпателно начин как изглежда процесът на разработка на софтуер по спирала и се поддържа от цикли.
Boehm е известен с многобройните си приноси в софтуерното инженерство, като конструктивния модел на разходите (COCOMO), спираловидния модел на софтуерния процес, G-Theory (win-win) подход за определяне и управление на изискванията. на софтуера.
Алтернатива на модела на водопада
В своята публикация Боем описа спираловидния модел като възможна алтернатива на установения преди това модел на водопада, който също послужи като основа за неговата практика.
Спираловидният модел не беше първият, който обсъждаше цикличното развитие, но беше първият модел, който обясни защо итерацията е важна. Както първоначално беше планирано, той беше насочен към големи, сложни проекти, чиито повторения обикновено варират от 6 месеца до 2 години.
Този модел не предполага, че задачите за разработка на софтуер са проектирани линейно, за разлика от модела на водопада, а по-скоро ги разглежда като итеративни задачи.
Този цикличен модел повлия на моделната архитектура на софтуерното инженерство (MBASE) и екстремното програмиране.
Характеристики на спираловидния модел
Контрол на риска
Това, което отличава този модел от другите модели на софтуерни процеси е, че той изрично разпознава рисковете. По този начин, тя значително намалява провала на големи софтуерни проекти, като многократно оценява рисковете и проверява всеки път разработвания продукт.
Този компютърен модел съдържа компоненти от почти всеки друг модел на жизнения цикъл на софтуера, като модел на водопада, модел на прототипиране, итеративен модел, еволюционен модел и т.н.
Поради това той е в състояние да се справи с почти всеки вид риск, който другите модели обикновено не се справят. Поради наличието на толкова много компоненти, този модел е много по-сложен от другите модели за разработка на софтуер.
Описание на спиралата
Всеки завъртане на спиралата представлява пълен цикъл, през който винаги преминават четирите квадранта, представляващи четирите етапа на модела.
С увеличаването на размера на спиралата се увеличава и напредъкът. Следователно етапите не се изпълняват само веднъж, а няколко пъти, спирално.
Въпреки че това циклично повторение кара проекта бавно да се приближава към установените цели, рискът от неуспех на процеса на развитие е силно сведен до минимум.
родов
Четирите етапа изпълняват само основните цели на цикъл, но не е необходимо да се проявяват във всеки цикъл.
Редът на всеки цикъл също не е строго определен. Следователно, моделът може да се комбинира по всяко време с други модели.
гъвкав
Той е доста гъвкав, тъй като провежда процесите на определяне на целите, анализ на риска, разработване и планиране отделно за всяка фаза на проекта.
метамодел
Счита се за метамодел, тъй като включва останалите модели. Например, ако спиралата беше един цикъл, тя би представлявала модела на водопада, тъй като включва постепенния подход на този класически модел.
Той също така използва модела на подхода за прототипиране, тъй като в началото на всеки цикъл той съставя прототип за управление на риска.
В допълнение, той е съвместим с еволюционния модел, защото итерациите на спиралата могат да се считат за еволюционни нива, чрез които се изгражда крайната система.
Етапи
Определете цели, алтернативи и ограничения
Системните изисквания са дефинирани възможно най-подробно, включително производителност, хардуер / софтуерен интерфейс, ключови показатели за успех и т.н. и какви цели трябва да бъдат свързани с настоящия цикъл на развитие, се разглеждат.
Освен това се разглеждат различни алтернативи за неговото прилагане, като например build vs. купувайте, използвайте повторно съществуващите компоненти или възлагайте на външни източници и т.н.
По същия начин се определят ограничения като разходи, график и интерфейси, консумация на време и т.н.
Оценка на рисковете
Всички предложени алтернативи се оценяват. Целите и ограниченията служат за определяне на референтите за избор на най-доброто решение.
Освен това се идентифицират рискове, които могат да възпрепятстват успеха на проекта, като липса на опит, нови технологии, строг график, дефицитни процеси и др., Прилагащи най-печелившите стратегии с най-нисък риск.
Накрая се използват методи като прототипиране, симулации, аналитични модели и потребителски проучвания.
Разработка и тестване
Цялата необходима разработка се осъществява, използвайки технологията и избраното решение. С всяка итерация се създава по-добра версия на приложението.
Действителният код се записва и тества няколко пъти, докато се постигне желаният резултат, който след това ще послужи като основа за бъдещи стъпки за развитие.
Планиране на следващия цикъл
След завършване на един цикъл започва планирането на следващия. Това планиране би могло да бъде обикновено да се продължи с проекта, ако се постигне целта на цикъла, като се вземе предвид определянето на следващата цел.
Възможно е също да се намерят други решения, ако предишният етап на развитие се оказа недостатъчен. Съществуващата стратегия може да бъде заменена с една от предварително дефинираните алтернативи или нова. С това ще бъде започнат нов опит за постигане на поставената цел.
пример
Военните на САЩ приеха спираловидния модел за разработване и надграждане на програмата за модернизиране на системите за бъдеща борба (SCF).
Официално стартирани през 2003 г., SCFs са предвидени да екипират войски с превозни средства, свързани в реално време с изключително бърза и гъвкава мрежа от бойни полета.
Проектът беше разделен на четири спирали за развитие от около две години всяка. Спирала 1 трябваше да започне през 2008 г. и ще предостави прототипи за употреба и оценка.
След завършването на спирала 1, спиралата 2 трябваше да започне през 2010 г. Разработването на крайния продукт беше планирано да бъде доставено през 2015 г.
През август 2005 г. Boeing обяви завършването на първия основен момент в проекта, който беше функционалният ремонт на системите. Международна корпорация Boeing и Science Applications бяха ко-лидери на проекта.
Въпреки това, за октомври 2005 г. Пентагонът препоръча да се отложи проекта поради силното въздействие върху разходите от войната в Ирак и помощта от урагана Катрина.
Проектът беше отменен през 2009 г., след като се появиха съкращения на бюджета, без да могат да докажат ползите от спираловидния модел в тази мисия
предимство
Циклична структура
Поради този тип структура проблемите между дизайна и техническите изисквания на софтуера са негласно отстранени, благодарение на периодичните проверки.
Управление на риска
Рисковете се анализират на всеки етап от продукта, преди да се продължи. Това помага за преодоляване или смекчаване на потенциалните рискове.
Всички служители се възползват от голямото значение на анализа на риска в този модел, вероятно представляващ тяхното най-голямо предимство пред останалите модели на процеси.
Редовната оценка на риска е ценна при използване на нови технически среди, които обикновено са свързани с определен потенциален риск поради липсата на емпирични стойности.
Участие на клиенти и обратна връзка
Клиентите участват във всеки етап от проекта, докато проектът не бъде завършен. Поради това могат да бъдат събрани различни отзиви за подобряване на следващата версия на проекта.
Също така, обратна връзка може да бъде получена по всяко време, благодарение на предварителната спирала. По този начин клиентите и потребителите могат да бъдат интегрирани от самото начало в процеса на разработка.
Идеален за големи проекти
Той е особено популярен и известен за големи и сложни проекти, където бюджетният контрол е приоритет за клиентите и разработчиците. Имате максимален контрол върху разходите, ресурсите и качеството на софтуерния проект.
Недостатъци
скъп
Това може да бъде доста скъпо, тъй като изисква високо ниво на експертиза за анализ на риска. Освен това проектите отнемат много време, за да се развият, което може да увеличи разходите.
Доста сложен
Необходимо е много активно и сложно предварително управление на проекта, където всеки цикъл се контролира непрекъснато и внимателно и се документира.
Той е сравнително по-сложен от другите модели, тъй като има много цикли, като всеки преминава през различни етапи, като по този начин увеличава усилията на процеса на документация.
Познаването на анализа и управлението на риска, което често не е на разположение, е от съществено значение.
Управление на времето
Времето е трудно да се управлява, тъй като броят цикли не е известен. Освен това процесът на разработка може да бъде забавен по всяко време, ако трябва да се вземат важни решения в рамките на един цикъл или чрез допълнителни действия при планиране на следващия цикъл.
Много стъпки
Правенето на много стъпки в разработването на софтуер не винаги е благоприятно, тъй като, въпреки гъвкавостта на тестване, незавършените части от програмата могат да достигнат до готовата система.
В резултат на това винаги съществува опасност всяка концептуална грешка или несъответствие да засегне крайния продукт.
Препратки
- Виктор Шрифт-младши (2019). Спираловият модел. Крайното ръководство за SDLC. Взета от: ultimatesdlc.com.
- Ionos (2019). Спирален модел: моделът на процеса на разработване на софтуер, базиран на риска. Взета от: ionos.com.
- Techuz (2018). Какво е спирален модел? Просто обяснение на жизнения цикъл на разработката на спираловиден софтуер (SDLC). Взета от: techuz.com.
- Тестване на едно гише (2020). Спирален модел. Взета от: onestoptesting.com.
- Geeks for Geeks (2020). Софтуерно инженерство - спирален модел. Взета от: geeksforgeeks.org.
- Чанду (2019). Спирален модел в софтуерното инженерство. Взета от: medium.com.
