Какво представлява моделът на водопада?
WATERFALL MODEL е последователен модел, който разделя разработването на софтуер на предварително определени фази. Всяка фаза трябва да бъде завършена, преди следващата фаза да може да започне без припокриване между фазите. Всяка фаза е предназначена за извършване на специфична дейност по време на SDLC фазата. Представен е през 1970 г. от Уинстън Ройс.
Различни фази на модела на водопада в софтуерното инженерство
Различни фази | Дейности, изпълнявани на всеки етап |
Изискване Етап на събиране |
- По време на тази фаза от клиента се събират подробни изисквания на софтуерната система, която ще бъде разработена
|
Сцена на проектиране |
- Планирайте езика за програмиране, например Java, PHP, .net
- или база данни като Oracle, MySQL и т.н.
- Или други технически подробности на проекта на високо ниво
|
Изградена сцена |
- След етапа на проектиране се изгражда етап, който не е нищо друго освен кодиране на софтуера
|
Тестов етап |
- На тази фаза тествате софтуера, за да проверите дали е изграден според спецификациите, дадени от клиента.
|
Етап на внедряване |
- Разгърнете приложението в съответната среда
|
Етап на поддръжка |
- След като системата ви е готова за използване, по-късно може да поискате промяна на кода според заявка на клиента
|
Кога да се използва SDLC модел водопад
Модел на водопад може да се използва, когато
- Изискванията не се променят често
- Приложението не е сложно и голямо
- Проектът е кратък
- Изискването е ясно
- Околната среда е стабилна
- Използваните технологии и инструменти не са динамични и са стабилни
- Ресурсите са налични и обучени
Предимства и недостатъци на водопада-модел
Предимства | Недостатъци |
- Преди следващата фаза на развитие, всяка фаза трябва да бъде завършена
|
- Грешката може да бъде отстранена само по време на фазата
|
- Подходящ за по-малки проекти, където изискванията са добре дефинирани
|
- Не е желателно за сложен проект, където изискването се променя често
|
- Те трябва да извършат тест за осигуряване на качеството (Проверка и валидиране), преди да завършат всеки етап
|
- Тестовият период идва доста късно в процеса на развитие
|
- Подробна документация се прави на всяка фаза от цикъла на разработка на софтуера
|
- Документацията заема много време за разработчици и тестери
|
- Проектът е напълно зависим от екипа на проекта с минимална намеса на клиента
|
- Ценните отзиви на клиентите не могат да бъдат включени във фазата на текущо развитие
|
- Всички промени в софтуера се правят по време на процеса на разработване
|
- Малки промени или грешки, които възникват в завършения софтуер, могат да причинят много проблеми
|