Model kaskadowy
Model kaskadowy (ang. waterfall model) – jeden z kilku rodzajów procesów tworzenia oprogramowania zdefiniowany w inżynierii oprogramowania. Jego nazwa wprowadzona została przez Winstona W. Royce'a w roku 1970, w artykule „Managing the Development of Large Software Systems” (Zarządzanie tworzeniem dużych systemów informatycznych)[1].
Polega on na wykonywaniu podstawowych czynności jako odrębnych faz projektowych, kolejno po sobie. Każda czynność to schodek (kaskady):
- Planowanie systemu (w tym specyfikacja wymagań).
- Analiza systemu (w tym analiza wymagań i studium wykonalności).
- Projekt systemu (poszczególnych struktur itp.).
- Implementacja (wytworzenie kodu).
- Testowanie (poszczególnych elementów systemu oraz elementów połączonych w całość).
- Wdrożenie i pielęgnacja powstałego systemu.
Jeśli któraś z faz zwróci niesatysfakcjonujący produkt cofamy się wykonując kolejne iteracje aż do momentu kiedy otrzymamy satysfakcjonujący produkt na końcu schodków.
Istotne cechy modelu
- Nieelastyczny podział na kolejne rozłączne iteracyjne fazy
- Przejście do następnej fazy możliwe po zakończeniu poprzedniej
- Wysoki koszt iteracji przez powtarzanie wielu czynności
Zastosowanie
Model może być używany wyłącznie w przypadku gdy wymagania są zrozumiałe i przejrzyste, ponieważ każda iteracja jest czasochłonna i wymaga dużych wydatków na ulepszanie. Jednocześnie jest on stosowany w normalnej praktyce inżynierskiej. Podobnie procesy tworzenia oprogramowania bazujące na tym modelu, jak i na modelu ewolucyjnym, są nadal szeroko stosowane, zwłaszcza gdy są elementami składowymi dużych przedsięwzięć inżynierii systemów[2].
Modyfikacje
W ramach modelu kaskadowego wypracowano wiele jego modyfikacji. Przykładem może być tu firma IBM i jej model MITP (z ang. Managing the Implementation of the Total Project), który składa się z czterech głównych faz („Wymagania”, „Ustanowienie projektu”, „Realizacja projektu”, „Ukończenie projektu”) i wynika z doświadczeń firmy w realizacji projektów[3].
Zobacz też
Przypisy
- ↑ Royce, Winston W. „Managing the development of large software systems: concepts and techniques”. W Proceedings of Westcon, IEEE CS Press, 1970 r., str. 328-339
- ↑ Ian Sommerville , Inżynieria oprogramowania, Krzysztof Stencel (tłum.), Warszawa: WNT, 2003, s. 44, 46, ISBN 83-204-2795-9, OCLC 749576741 .
- ↑ Szyjewski, Zdzisław, „Zarządzanie projektami informatycznymi: metodyka tworzenia systemów informatycznych”, Agencja Wydawnicza Placet, 2001
Linki zewnętrzne
- Royce, W.W.: Managing the Development of Large Software Systems. (PDF) Artykuł z 1970 roku, w którym W.W. Royce zaproponował pojęcie "modelu kaskadowego".
Media użyte na tej stronie
Autor: Maciej Jaros (commons: Nux, wiki-pl: Nux), Licencja: CC-BY-SA-3.0
Model kaskadowy