sdlc phases
Шта је животни циклус развоја софтвера (СДЛЦ)? Научите СДЛЦ фазе, методологије, процесе и моделе
Животни циклус развоја софтвера (СДЛЦ) је оквир који дефинише кораке који су укључени у развој софтвера у свакој фази. Обухвата детаљан план за изградњу, примену и одржавање софтвера.
СДЛЦ дефинише комплетни циклус развоја, тј. Све задатке који су укључени у планирање, креирање, тестирање и примену софтверског производа.
Шта ћете научити:
- Процес животног циклуса развоја софтвера
- СДЛЦ циклус
- СДЛЦ фазе
- Модели животног циклуса развоја софтвера
- Закључак
Процес животног циклуса развоја софтвера
СДЛЦ је процес који дефинише различите фазе укључене у развој софтвера за испоруку производа високог квалитета. СДЛЦ фазе покривају целокупан животни циклус софтвера, тј. Од почетка до повлачења производа из употребе.
Придржавање СДЛЦ процеса доводи до развоја софтвера на систематичан и дисциплинован начин.
Намена:
Сврха СДЛЦ-а је испорука висококвалитетног производа који одговара захтевима купца.
СДЛЦ је дефинисао своје фазе као прикупљање захтева, дизајнирање, кодирање, тестирање и одржавање. Важно је придржавати се фаза давања производа на систематичан начин.
На пример, Треба развити софтвер и тим је подељен да ради на карактеристикама производа и дозвољено му је да ради како желе. Један од програмера одлучује да прво дизајнира, док други одлучује да прво кодира, а други на делу документације.
То ће довести до неуспеха пројекта због чега је неопходно имати добро знање и разумевање међу члановима тима да би се испоручио очекивани производ.
СДЛЦ циклус
СДЛЦ циклус представља процес развоја софтвера.
Испод је дијаграмски приказ СДЛЦ циклуса:
СДЛЦ фазе
У наставку су дате разне фазе:
- Прикупљање захтева и анализа
- Дизајн
- Имплементација или кодирање
- Тестирање
- Распоређивање
- Одржавање
# 1) Прикупљање и анализа захтева
Током ове фазе, све релевантне информације се прикупљају од купца како би се развио производ према њиховим очекивањима. Све нејасноће морају се решити само у овој фази.
Пословни аналитичар и менаџер пројеката заказали су састанак са купцем како би прикупили све информације попут онога што купац жели да изгради, ко ће бити крајњи корисник, која је сврха производа. Пре израде производа веома је важно његово основно разумевање или знање.
На пример, Купац жели да има апликацију која укључује новчане трансакције. У овом случају, захтев мора бити јасан попут тога какве ће се трансакције обављати, како ће се то радити, у којој валути ће се обављати итд.
Једном када се обави прикупљање захтева, врши се анализа ради провере изводљивости развоја производа. У случају било какве нејасноће, успоставља се позив за даљу дискусију.
Када се захтев јасно разуме, креира се документ СРС (Спецификација захтева за софтвер). Програмери би овај документ требали добро разумети, а купац га такође прегледати ради будуће употребе.
# 2) Дизајн
У овој фази се захтев прикупљен у СРС документу користи као улаз и изведена је софтверска архитектура која се користи за имплементацију развоја система.
# 3) Имплементација или кодирање
Имплементација / кодирање започиње након што програмер добије документ о дизајну. Дизајн софтвера преведен је у изворни код. Све компоненте софтвера су имплементиране у овој фази.
ц ++ претвори карактер у инт
# 4) Тестирање
Тестирање започиње када се кодирање заврши и модули пусте на тестирање. У овој фази, развијени софтвер се темељно тестира и сви пронађени недостаци додељују се програмерима како би их отклонили.
Поновно тестирање, регресијско тестирање се врши до тренутка када је софтвер у складу са очекивањима купца. Тестери упућују СРС документ како би се уверили да је софтвер у складу са стандардима купца.
# 5) Примена
Једном када се производ тестира, он се прво користи у производном окружењу УАТ (тестирање прихватљивости корисника) врши се у зависности од очекивања купца.
У случају УАТ, ствара се реплика производног окружења и купац заједно са програмерима врши тестирање. Ако купац пронађе апликацију како се очекује, купац ће омогућити одјаву за покретање.
# 6) Одржавање
Након примене производа у производном окружењу, програмери ће се побринути за одржавање производа, тј. Ако се појави било какав проблем који треба поправити или ако се ради на побољшању.
Модели животног циклуса развоја софтвера
Модел животног циклуса софтвера је описни приказ циклуса развоја софтвера. СДЛЦ модели могу имати другачији приступ, али основне фазе и активности остају исти за све моделе.
# 1) Модел водопада
Модел водопада је први модел који се користи у СДЛЦ-у. Такође је познат и као линеарни секвенцијални модел.
У овом моделу, исход једне фазе је улаз за следећу фазу. Развој следеће фазе започиње тек када се заврши претходна фаза.
- Прво се врши прикупљање и анализа захтева. Једном када се захтев замрзне, тада може почети само системски дизајн. Овде је креирани СРС документ излаз за фазу Захтева и делује као улаз за дизајн система.
- У архитектури и дизајну софтверског дизајна система креирају се документи који делују као улаз за следећу фазу, тј. Имплементација и кодирање.
- У фази имплементације врши се кодирање, а развијени софтвер је улаз за следећу фазу, тј. Тестирање.
- У фази тестирања, развијени код се темељно испитује како би се открили недостаци у софтверу. Кварови се пријављују у алат за праћење квара и поново се тестирају када се отклоне. Евидентирање грешака, поновно тестирање, тестирање регресије наставља се све док софтвер не буде у функцији.
- У фази примене, развијени код се пребацује у производњу након што му купац додели одјаву.
- Било која питања у производном окружењу решавају програмери који су на одржавању.
Предности модела водопада:
- Модел водопада је једноставан модел који се лако може разумети и у којем се све фазе раде корак по корак.
- Испоруке сваке фазе су добро дефинисане, а то не доводи до сложености и чини пројект лако управљаним.
Мане модела водопада:
- Модел водопада је дуготрајан и не може се користити у краткотрајним пројектима, јер се у овом моделу не може започети нова фаза док се не заврши текућа фаза.
- Модел водопада се не може користити за пројекте који имају неизвесне захтеве или код којих се захтев непрестано мења јер овај модел очекује да захтев буде јасан у самој фази прикупљања и анализе захтева, а свака промена у каснијим фазама довела би до трошкова већих промене би биле потребне у свим фазама.
# 2) Модел у облику слова В
В- Модел познат је и као модел верификације и валидације. У овом моделу верификација и валидација иду руку под руку, тј. Развој и тестирање иду паралелно. В модел и модел водопада су исти, осим што планирање испитивања и тестирање започињу у раној фази В модела.
а) Фаза верификације:
(и) Анализа захтева:
У овој фази се прикупљају и анализирају све потребне информације. Активности верификације укључују преглед захтева.
(ии) Дизајн система:
Када је захтев јасан, систем се дизајнира, тј. Архитектура, компоненте производа креирају и документују у пројектном документу.
(иии) Дизајн на високом нивоу:
Дизајн на високом нивоу дефинише архитектуру / дизајн модула. Дефинише функционалност између два модула.
(ив) Дизајн на ниском нивоу:
Дизајн на ниском нивоу дефинише архитектуру / дизајн појединих компонената.
(в) Кодирање:
Развој кода се врши у овој фази.
б) Фаза валидације:
(и) Јединствено тестирање:
Јединствено тестирање изводи се помоћу јединичних тест случајева који су дизајнирани и ради се у фази пројектовања на ниском нивоу. Јединствено тестирање врши сам програмер. Изводи се на појединачним компонентама што доводи до раног откривања недостатака.
(ии) Интеграционо тестирање:
Интеграционо тестирање се изводи помоћу интеграционих тест случајева у фази високог нивоа дизајна. Интеграционо тестирање је тестирање које се врши на интегрисаним модулима. Изводе га тестери.
(иии) Системско тестирање:
Тестирање система изводи се у фази Пројектовања система. У овој фази тестира се комплетан систем, тј. Тестира се целокупна функционалност система.
(ив) Испитивање прихватљивости:
Испитивање прихватљивости повезано је са фазом анализе захтева и врши се у окружењу купца.
Предности В - модела:
- То је једноставан и лако разумљив модел.
- В-модел приступ је добар за мање пројекте код којих је захтев дефинисан и замрзава се у раној фази.
- То је систематичан и дисциплинован модел који резултира висококвалитетним производом.
Мане В-модела:
- Модел у облику слова В није добар за текуће пројекте.
- Промена захтева у каснијој фази коштала би превисоко.
# 3) Модел прототипа
Модел прототипа је модел у коме је прототип развијен пре стварног софтвера.
Прототипски модели имају ограничене функционалне могућности и неефикасне перформансе у поређењу са стварним софтвером. Лажне функције се користе за стварање прототипова. Ово је драгоцен механизам за разумевање потреба купаца.
Софтверски прототипи су направљени пре стварног софтвера да би добили корисне повратне информације од купца. Повратне информације су примењене и купац поново прегледава прототип ради било какве промене. Овај поступак траје све док купац не прихвати модел.
Једном када се заврши прикупљање захтева, креира се брзи дизајн и гради прототип који се представља купцу на процену.
Повратне информације купаца и усавршени захтев користе се за модификовање прототипа и поново се представљају купцу на процену. Једном када купац одобри прототип, он се користи као услов за изградњу стварног софтвера. Стварни софтвер се израђује користећи приступ модела Ватерфалл.
Предности прототипа модела:
- Прототипни модел смањује трошкове и време израде јер су недостаци откривени много раније.
- Недостајућа карактеристика или функционалност или промена захтева могу се идентификовати у фази процене и могу се применити у пречишћеном прототипу.
- Укључивање купца од почетне фазе смањује сваку забуну у захтевима или разумевању било које функционалности.
Мане прототипа:
- Будући да је купац укључен у сваку фазу, купац може променити захтев крајњег производа што повећава сложеност обима и може повећати време испоруке производа.
# 4) Спирални модел
Спирални модел укључује итеративни и прототипски приступ.
Фазе спиралног модела прате се у итерацијама. Петље у моделу представљају фазу СДЛЦ процеса, тј. Најунутарња петља је прикупљање и анализа захтева која следи планирање, анализу ризика, развој и процену. Следећа петља је Дизајнирање, затим Имплементација и затим тестирање.
Спирални модел има четири фазе:
- Планирање
- Анализа ризика
- Инжењеринг
- Процена
(и) Планирање:
Фаза планирања укључује прикупљање захтева при чему се све потребне информације прикупљају од купца и документују. Документ о спецификацији софтверских захтева креира се за следећу фазу.
(ии) Анализа ризика:
У овој фази се бира најбоље решење за ризике који се укључују и анализа се врши израдом прототипа.
На пример , ризик повезан са приступом подацима из удаљене базе података може бити да стопа приступа подацима буде преспора. Ризик се може решити изградњом прототипа подсистема за приступ подацима.
(иии) Инжењеринг:
Када се изврши анализа ризика, врши се кодирање и тестирање.
(ив) Процена:
Купац процењује развијени систем и планира следећу итерацију.
Предности спиралног модела:
- Анализа ризика се опсежно ради користећи прототипове модела.
- Свако побољшање или промена функционалности може се извршити у следећој итерацији.
Мане спиралног модела:
- Спирални модел је најприкладнији само за велике пројекте.
- Трошак може бити висок јер може потрајати велики број понављања што може довести до крајњег времена за постизање коначног производа.
# 5) Итеративни инкрементални модел
Итеративни инкрементални модел дели производ на мале делове.
На пример , Одлучено је и примењено својство које ће се развити у итерацији. Свака итерација пролази кроз фазе, односно анализу захтева, пројектовање, кодирање и тестирање. У итерацијама није потребно детаљно планирање.
Када се итерација заврши, производ се верификује и испоручује купцу на оцену и повратне информације. Повратне информације купаца примењују се у следећој итерацији заједно са ново доданом функцијом.
Дакле, производ се увећава у погледу карактеристика и када се заврше итерације, коначна верзија садржи све карактеристике производа.
Фазе итеративног и инкременталног модела развоја:
- Почетна фаза
- Фаза разраде
- Фаза изградње
- Прелазна фаза
(и) Почетна фаза:
Почетна фаза укључује захтев и обим пројекта.
(ии) Фаза разраде:
У фази разраде испоручује се радна архитектура производа која покрива ризик идентификован у почетној фази и такође испуњава нефункционалне захтеве.
(иии) Фаза изградње:
У фази изградње, архитектура се попуњава кодом који је спреман за примену и креира се анализом, дизајнирањем, применом и тестирањем функционалних захтева.
(ив) Прелазна фаза:
У фази транзиције, производ се примењује у производном окружењу.
Предности итеративног и инкременталног модела:
- Свака промена захтева може се лако извршити и не би коштала, јер постоји опсег укључивања новог захтева у следећу итерацију.
- Ризик се анализира и идентификује у итерацијама.
- Дефекти се откривају у раној фази.
- Како је производ подељен на мање комаде, лако је управљати производом.
Мане итеративног и инкременталног модела:
- Потпуни захтеви и разумевање производа су потребни да би се постепено распадали и градили.
# 6) Модел Великог праска
Модел Великог праска нема дефинисан процес. Новац и напори се састављају јер улаз и излаз долазе као развијени производ који може бити или не мора бити исти ономе што треба купцу.
Модел Великог праска не захтева пуно планирања и заказивања. Програмер ради анализу захтева и кодирање и развија производ према његовом разумевању. Овај модел се користи само за мале пројекте. Не постоји тим за тестирање и не врши се формално тестирање, а то би могао бити узрок неуспеха пројекта.
Предности модела Великог праска:
- То је врло једноставан модел.
- Потребно је мање планирања и заказивања.
- Програмер има флексибилност за изградњу сопственог софтвера.
Мане модела великог праска:
- Модели Великог праска не могу се користити за велике, текуће и сложене пројекте.
- Висок ризик и неизвесност.
# 7) окретан модел
Агиле Модел је комбинација итеративног и инкременталног модела. Овај модел се више фокусира на флексибилност током развоја производа, а не на захтеве.
У Агиле-у се производ дели на мале инкременталне грађевине. Није развијен као комплетан производ у једном потезу. Свака изградња се увећава у погледу карактеристика. Следећа изградња је изграђена на претходној функционалности.
У агилним итерацијама називају се спринти. Сваки спринт траје 2-4 недеље. На крају сваког спринта, власник производа верификује производ и након његовог одобрења испоручује се купцу.
Повратне информације купаца узимају се ради побољшања, а на његовим предлозима и побољшањима ради се у следећем спринту. Тестирање се врши у сваком спринту како би се смањио ризик од било каквих кварова.
Предности агилног модела:
- Омогућава већу флексибилност да се прилагоди променама.
- Нова функција се може лако додати.
- Задовољство купаца јер се повратне информације и сугестије узимају у свакој фази.
Мане:
- Недостатак документације.
- Агилеу требају искусни и високо квалификовани ресурси.
- Ако купцу није јасно колико тачно жели да производ буде, пројекат би пропао.
Закључак
Поштовање одговарајућег животног циклуса је веома важно за успешан завршетак пројекта. То, пак, олакшава управљање.
Различити модели животног циклуса развоја софтвера имају своје предности и недостатке. Најбољи модел за било који пројекат може се одредити на основу фактора као што су захтев (без обзира да ли је јасан или нејасан), сложеност система, величина пројекта, цена, ограничење вештине итд.
Пример, у случају нејасног захтева, најбоље је користити спирални и окретан модел, јер се потребна промена може лако прилагодити у било којој фази.
Модел водопада је основни модел и сви остали СДЛЦ модели засновани су само на њему.
Надам се да сте стекли неизмерно знање о СДЛЦ-у.
Препоручено читање
- Спирални модел - Шта је СДЛЦ спирални модел?
- Шта је СДЛЦ модел водопада?
- Шта је животни циклус тестирања софтвера (СТЛЦ)?
- Посао за КА помоћника за тестирање софтвера
- 10 НАЈБОЉИХ компанија и услуга за развој софтвера по мери 2021
- Практично тестирање софтвера - нова БЕСПЛАТНА е-књига (преузимање)
- Онсите - Оффсхоре модел пројеката тестирања софтвера (и како то учинити да функционишу за вас)
- Зашто софтвер има грешке?