Какво представлява моделът на водопада в SDLC? Предимства и недостатъци

Какво представлява моделът на водопада?

Модел на водопад е последователен модел, който разделя разработката на софтуер на предварително дефинирани фази. Всяка фаза трябва да бъде завършена преди следващата фаза да може да започне без припокриване между фазите. Всяка фаза е предназначена за извършване на специфична дейност по време на SDLC фазата. Представен е през 1970 г. от Уинстън Ройс.

Обяснете модела на водопада в SDLC
Обяснете модела на водопада в SDLC

 

Различни фази на водопадния модел в софтуерното инженерство

Следват различните фази на модела на водопада:

Различни фази Дейности, извършвани във всеки етап
Етап на събиране на изискване
  • По време на тази фаза от клиента се събират подробни изисквания за софтуерната система, която ще бъде разработена
Етап на проектиране
  • Планирайте езика за програмиране, например Java, PHP, .net
  • или като база данни Oracle, MySQLИ др
  • Или други технически подробности на високо ниво на проекта
Изградена сцена След етапа на проектиране се изгражда етап, който не е нищо друго освен кодиране на софтуера
Етап на тестване В тази фаза вие тествате софтуера, за да проверите дали е изграден според спецификациите, дадени от клиента.
Етап на внедряване Разположете приложението в съответната среда
Етап на поддръжка След като системата ви е готова за използване, по-късно може да поискате промяна на кода според заявката на клиента

Кога да използвам SDLC Waterfall Model?

Методологията на водопада може да се използва, когато:

  • Изискванията не се променят често
  • Приложението не е сложно и голямо
  • Проектът е кратък
  • Изискването е ясно
  • Средата е стабилна
  • Използваните технологии и инструменти не са динамични и стабилни
  • Ресурсите са налични и обучени

Предимства и недостатъци на модела на водопада

Ето популярните предимства на модела Waterfall в Софтуерно инженерство с някои недостатъци:

Предимства Недостатъци
Преди следващата фаза на развитие, всяка фаза трябва да бъде завършена Грешка може да бъде коригирана само по време на фазата
Подходящ за по-малки проекти, където изискванията са добре дефинирани Не е желателно за сложен проект, където изискванията се променят често
Те трябва да извършат тест за осигуряване на качеството (проверка и валидиране) преди завършване на всеки етап Периодът на тестване идва доста късно в процеса на развитие
Подробна документация се извършва на всяка фаза от цикъла на разработка на софтуера Документацията отнема много време на разработчици и тестери
Проектът е изцяло зависим от екипа на проекта с минимална намеса на клиента Ценната обратна връзка на клиентите не може да бъде включена в текущата фаза на разработка
Всички промени в софтуера се правят в процеса на разработка Малки промени или грешки, които възникват в завършения софтуер, могат да причинят много проблеми