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

Fazy modelu kaskadowego

Polega on na wykonywaniu podstawowych czynności jako odrębnych faz projektowych, kolejno po sobie. Każda czynność to schodek (kaskady):

  1. Planowanie systemu (w tym specyfikacja wymagań).
  2. Analiza systemu (w tym analiza wymagań i studium wykonalności).
  3. Projekt systemu (poszczególnych struktur itp.).
  4. Implementacja (wytworzenie kodu).
  5. Testowanie (poszczególnych elementów systemu oraz elementów połączonych w całość).
  6. 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 edytuj

  • 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 edytuj

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 edytuj

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ż edytuj

Przypisy edytuj

  1. 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
  2. Ian Sommerville, Inżynieria oprogramowania, Krzysztof Stencel (tłum.), Warszawa: WNT, 2003, s. 44, 46, ISBN 83-204-2795-9, OCLC 749576741.
  3. Szyjewski, Zdzisław, „Zarządzanie projektami informatycznymi: metodyka tworzenia systemów informatycznych”, Agencja Wydawnicza Placet, 2001

Linki zewnętrzne edytuj