thumb|Fazy modelu kaskadowego Model kaskadowy () – 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)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.

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

Krytyka i praktyka stosowania Według zwolenników metodologi zwinnych 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.

Modyfikacje W ramach modelu kaskadowego wypracowano wiele jego modyfikacji. Przykładem może być tu firma IBM i jej model MITP (z ang. ), 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ówSzyjewski, Zdzisław, „Zarządzanie projektami informatycznymi: metodyka tworzenia systemów informatycznych”, Agencja Wydawnicza Placet, 2001.

Zobacz też model przyrostowy model prototypowy model spiralny programowanie zwinne

Przypisy

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".

Kategoria:Procesy tworzenia oprogramowania