Модел на водопад в SDLC: Предимства и недостатъци
⚡ Умно обобщение
Моделът „Капацитет“ в SDLC е подход за последователно разработване, който разделя проекта на фиксирани фази, всяка от които завършва преди началото на следващата. Този ресурс обяснява неговите фази, кога да го използвате, както и неговите предимства и недостатъци.
Какво представлява моделът на водопада?
Модел на водопад е последователен модел, който разделя разработката на софтуер на предварително дефинирани фази. Всяка фаза трябва да бъде завършена, преди да може да започне следващата, без припокриване между фазите. Всяка фаза е проектирана да изпълнява специфична дейност по време на SDLC (Security Law Concept - Разработка на софтуер). Въведен е през 1970 г. от Уинстън Ройс.

Различни фази на водопадния модел в софтуерното инженерство
Следват различните фази на модела на водопада:
| Различни фази | Дейности, извършвани във всеки етап |
|---|---|
| Етап на събиране на изискване |
|
| Етап на проектиране | |
| Изградена сцена | След етапа на проектиране идва етапът на изграждане, който не е нищо друго освен кодиране на софтуера. |
| Етап на тестване | В тази фаза тествате софтуера, за да проверите дали е изграден съгласно спецификациите, дадени от клиента. |
| Етап на внедряване | Разгръщане на приложението в съответната среда. |
| Етап на поддръжка | След като системата ви е готова за употреба, по-късно може да се наложи да направите промени в кода според заявките на клиента. |
Кога да използвам SDLC Waterfall Model?
Методологията „Водопад“ може да се използва, когато:
- Изискванията не се променят често
- Приложението не е сложно и голямо
- Проектът е кратък
- Изискването е ясно
- Средата е стабилна
- Използваните технологии и инструменти не са динамични и са стабилни
- Ресурсите са налични и обучени
Предимства и недостатъци на модела на водопада
Ето популярните предимства на модела „Водопад“ в Софтуерно инженерство, заедно с някои недостатъци:
| Предимства | Недостатъци |
|---|---|
| Преди следващата фаза на развитие, всяка фаза трябва да бъде завършена. | Грешка може да бъде поправена само по време на фазата. |
| Подходящ за по-малки проекти, където изискванията са добре дефинирани. | Не е желателно за сложен проект, където изискванията се променят често. |
| Преди завършване на всеки етап трябва да се извърши тест за осигуряване на качеството (верификация и валидиране). | Периодът на тестване идва доста късно в процеса на разработка. |
| На всеки етап от цикъла на разработка на софтуера се изготвя подробна документация. | Документацията отнема много от времето на разработчиците и тестерите. |
| Проектът е изцяло зависим от екипа на проекта, с минимална намеса на клиента. | Ценната обратна връзка от клиента не може да бъде включена по време на текущата фаза на разработка. |
| Всякакви промени в софтуера се правят по време на процеса на разработка. | Малки промени или грешки, които възникват в завършения софтуер, могат да причинят много проблеми. |

