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
|