Model kaskadowy w cyklu życia oprogramowania (SDLC): zalety i wady
⚡ Inteligentne podsumowanie
Model kaskadowy w cyklu życia oprogramowania (SDLC) to sekwencyjne podejście programistyczne, które dzieli projekt na stałe fazy, z których każda kończy się przed rozpoczęciem kolejnej. W tym materiale wyjaśniono jego fazy, kiedy go stosować oraz jego zalety i wady.

Co to jest model wodospadu?
Model wodospadu to model sekwencyjny, który dzieli rozwój oprogramowania na predefiniowane fazy. Każda faza musi zostać ukończona przed rozpoczęciem kolejnej, bez nakładania się faz. Każda faza ma na celu wykonanie określonej czynności w cyklu SDLC. Został on wprowadzony w 1970 roku przez Winstona Royce'a.

Różne fazy modelu wodospadu w inżynierii oprogramowania
Poniżej przedstawiono różne fazy modelu kaskadowego:
| Różne fazy | Czynności wykonywane na każdym etapie |
|---|---|
| Etap zbierania wymagań |
|
| Etapie projektowania | |
| Zbudowana scena | Po etapie projektowania następuje etap tworzenia, który polega jedynie na kodowaniu oprogramowania. |
| Etap testowy | Na tym etapie testujesz oprogramowanie, aby sprawdzić, czy zostało ono stworzone zgodnie ze specyfikacjami podanymi przez klienta. |
| Etap wdrożenia | Wdróż aplikację w odpowiednim środowisku. |
| Etap konserwacji | Gdy system będzie gotowy do użycia, może się okazać, że w przyszłości konieczne będzie wprowadzenie zmian w kodzie zgodnie z życzeniami klienta. |
Kiedy stosować model wodospadu SDLC?
Metodę Waterfall można stosować, 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
Oto popularne zalety modelu Waterfall w Inżynieria oprogramowania, wraz z pewnymi wadami:
| Zalety | Wady |
|---|---|
| Przed rozpoczęciem kolejnej fazy rozwoju każda faza musi zostać ukończona. | Błąd można naprawić tylko w trakcie fazy. |
| Nadaje się do mniejszych projektów, w których wymagania są jasno określone. | Nie jest to pożądane w przypadku złożonych projektów, w których wymagania często się zmieniają. |
| Przed zakończeniem każdego etapu należy wykonać test zapewnienia jakości (weryfikację i walidację). | Okres testowania następuje dość późno w procesie rozwoju. |
| Na każdym etapie cyklu rozwoju oprogramowania tworzona jest szczegółowa dokumentacja. | Dokumentacja pochłania dużą część czasu programistów i testerów. |
| Projekt jest w całości zależny od zespołu projektowego, a interwencja klienta jest minimalna. | Cenne uwagi klienta nie mogą zostać uwzględnione w fazie rozwoju. |
| Wszelkie zmiany w oprogramowaniu wprowadzane są w trakcie procesu rozwoju. | Niewielkie zmiany lub błędy pojawiające się w gotowym oprogramowaniu mogą być przyczyną wielu problemów. |
