Co to jest model wodospadu w SDLC? Zalety & Niedogodności

Spisie treści:

Anonim

Co to jest model wodospadu?

WATERFALL MODEL to model sekwencyjny, który dzieli rozwój oprogramowania na predefiniowane fazy. Każda faza musi zostać zakończona, zanim następna faza będzie mogła się rozpocząć, bez nakładania się między fazami. Każda faza jest przeznaczona do wykonywania określonej czynności podczas fazy SDLC. Został wprowadzony w 1970 roku przez Winstona Royce'a.

Różne fazy modelu kaskadowego w inżynierii oprogramowania

Różne fazy Czynności wykonywane na każdym etapie
Etap zbierania wymagań
  • Na tym etapie od klienta zbierane są szczegółowe wymagania systemu oprogramowania, który ma zostać opracowany
Etapie projektowania
  • Zaplanuj język programowania, na przykład Java, PHP, .net
  • lub bazy danych, takie jak Oracle, MySQL itp.
  • Lub inne wysokopoziomowe szczegóły techniczne projektu
Wbudowana scena
  • Po etapie projektowania jest to etap budowy, czyli nic innego jak kodowanie oprogramowania
Etap testowy
  • W tej fazie testujesz oprogramowanie, aby sprawdzić, czy jest zbudowane zgodnie ze specyfikacjami podanymi przez klienta.
Etap wdrażania
  • Wdróż aplikację w odpowiednim środowisku
Etap utrzymania
  • Gdy system będzie gotowy do użycia, możesz później wymagać zmiany kodu zgodnie z życzeniem klienta

Kiedy używać modelu wodospadu SDLC

Model wodospadu może być użyty, gdy
  • Wymagania nie zmieniają się często
  • Aplikacja nie jest skomplikowana i duża
  • Projekt jest krótki
  • Wymagania są jasne
  • Środowisko jest stabilne
  • Zastosowana technologia i narzędzia nie są dynamiczne i są stabilne
  • Zasoby są dostępne i przeszkolone

Zalety i wady modelu wodospadu

Zalety Niedogodności
  • Przed kolejnym etapem rozwoju każdy etap musi zostać zakończony
  • Błąd można naprawić tylko podczas fazy
  • Nadaje się do mniejszych projektów, w których wymagania są dobrze zdefiniowane
  • Nie jest to pożądane w przypadku złożonych projektów, w których wymagania często się zmieniają
  • Powinni przeprowadzić test zapewnienia jakości (weryfikacja i walidacja) przed ukończeniem każdego etapu
  • Okres testowy pojawia się dość późno w procesie rozwojowym
  • Obszerna dokumentacja jest wykonywana na każdym etapie cyklu rozwoju oprogramowania
  • Dokumentacja zajmuje dużo czasu programistom i testerom
  • Projekt jest całkowicie zależny od zespołu projektowego przy minimalnej interwencji klienta
  • Cennych informacji zwrotnych klientów nie można włączyć do trwającej fazy rozwoju
  • Wszelkie zmiany w oprogramowaniu są wprowadzane w trakcie procesu tworzenia
  • Małe zmiany lub błędy, które pojawiają się w gotowym oprogramowaniu, mogą powodować wiele problemów