Здравей,Цвети,
RoYaL много добре е обяснил/а какво представлява SDLC, но понеже пишеш, че би искала да прочетеш по-подробно, аз реших и да допълня отговора с малко инфо за всяка фаза, с хипервръзки към други въпроси и отговори, които биха ти улеснили процеса на учене. Също така и по някоя дума за това какви модели са водещите, дори само чрез споменаване. Ако искаш можем да направим и отделен въпрос с отговор за самите модели/ методологии (за Agile вече го имаме). Ако има нещо друго, питай :)
Та така, съществуват много на брой и различни подходи на разработване на софтуера и именно те представляват Software Develelopment Life Cycle моделите или на български наречени „ модели на жизнен цикъл на софтуерното разработване“. Примери биха били следните: Waterfall моделът, Incremental (частичният) моделът, Iterative (повтарящият се) модел, RA или Rapid Application model (модел на бързото прилагане), Agile моделът, Spiral (спираловидния) модел, Prototype model (прототипният модел) и др. Всички те следват един жизнен цикъл с цел осигуряване успех в сферата на софтуерния девелъпмънт.
Моделите на софтуерния жизнен цикъл характеризират фазите на софтуерния цикъл и реда, в който тези фази се изпълняват. Всеки етап снабдява следващият го с нужните резултати в жизнения цикъл. Ето ги и тях:
- Събиране на изиксванията и анализ (Requirements gathering and analysis).
- Дизайн (Design).
- Имплементация или кодиране (Implementation or coding).
- Тестване (Testing).
- Прилагане (Deployment).
- Поддръжка (Maintenance).
Започваме ги подред:
1. Събиране на изиксванията и анализ: По времето на този етап бизнес изиксванията се събират. Главно фокусирани върху този етап са заинтересованите страни или т.н. стейкхолдърите и проектните мениджъри (project managers). Срещите с мениджърите, стейкхолдърите и потребителите се правят с цел определяне на изискванията, например :
Кой ще използва системата? Как ще я използват? Каква информация ще трябва да бъде сложена в системата? Какво ще трябва да извежда тя? Това са главните въпроси, на които се намират отговори по времето на тази фаза. След като изикванията са събрани, биват анализирани – да се провери валидността им.
И накрая се изготвя документът за спецификация на изиксванията (requirement specification document), който играе ролята на ръководен принцип за следващия етап от модела.
2.Дизайн: В този етап системния и софтуерния дизайн се изготвят от събирането на изиксванията и анализ (предния етап). Системния дизайн спомага в определянето на хардуерните и системните изиксвания, като също така помага в дефинирането на цялостната системна архитектура. Спецификациите на системният дизайн играят ролята на входяща информация (input) за следващия етап на модела.
По времето на този етап тестърите измислят тестинг стратегията си – мисли се по въпросите какво да се тества и как да се тества.
3.Имплементация или кодиране: При получаването на документите за системния дизайн, работата се разделя на модули/ юнити и истинското кодиране започва. Тъй като фокусът е обърнат към кодирането, това е най-важният етап за разработчиците. Това е най- дългият етап в жизненият цикъл за разработване на софтуер.
4.Тестване: След като е на лице кодът, той бива тестван дали отговаря на изиксванията и така бива определян софтуера дали отговаря на нуждите на потребителите. По време на този етап всички видове функционално тестване като unit testing, integration testing, system testing, acceptance testing се правят, също така и не-функнционалното тестване се прави.
5.Приложение: След успешно тестване продуктът се пуска или deploy-ва на потребителите да го използват.
Веднага щом бъде пуснат се прави beta testing (това е първото нещо, което се прави). Ако има нужда от промени или ако са хванати някакви бъгове, те биват репортвани до инженерния екип. Щом всичко бъде оправено, последния или финалния deployment бива извършен.
6.Поддръжка: Щом приложението/ софтуера е готов и пуснат на пазара шансът от други проблеми го има и ако има бъгове или проблеми, те трябва да бъдат оправени чрез пачове или хотфиксове. Самият процес на поддържане на готовия софтуер се нарича поддръжка.
Това е