Metodologia wodospadu a RUP
W branży oprogramowania istnieje obecnie wiele różnych metod opracowywania oprogramowania. Metoda rozwoju wodospadu jest jedną z najwcześniejszych metod tworzenia oprogramowania. Metodologia opracowywania oprogramowania Waterfall to model sekwencyjny, w którym każda faza jest wykonywana w całości i realizowana w ustalonej kolejności. RUP (Rational Unified Process) to adaptowalna struktura procesu iteracyjnych metodologii tworzenia oprogramowania. RUP zajmuje się kilkoma krytykami dotyczącymi rozwoju wodospadu, takimi jak sztywność.
Co to jest metodologia wodospadu?
Metodologia Waterfall jest jednym z pierwszych modeli tworzenia oprogramowania. Jak sama nazwa wskazuje, jest to proces sekwencyjny, w którym postęp przepływa przez kilka faz od góry do dołu, analogicznie do wodospadu. Fazy modelu Waterfall to analiza wymagań, projektowanie, rozwój, testowanie i wdrażanie. Analityk biznesowy (lub programiści, jeśli jest to mała organizacja) przeprowadza fazę analizy, uzyskując wymagania systemowe i biznesowe od klienta projektu. Następnie architekci oprogramowania (lub starsi programiści) opracowują dokumenty projektowe przedstawiające strukturę i komponenty proponowanego systemu. Następnie młodsi programiści wykonują kodowanie przy użyciu dokumentów projektowych. Po zakończeniu prac rozwojowych produkt jest przekazywany zespołowi testującemu w celu przetestowania i weryfikacji. Wreszcie, produkt jest wdrażany (lub zintegrowany) na stronie klienta, a projekt zostaje podpisany. Ważną rzeczą do zapamiętania jest to, że każda faza jest w pełni zakończona przed przejściem do następnej fazy. Model ten był bezpośrednim rezultatem prostej adaptacji sprzętowej metody programistycznej (występującej w branży produkcyjnej i budowlanej), w tym czasie nie było formalnego modelu rozwoju oprogramowania.
Co to jest RUP?
RUP należy do rodziny iteracyjnych metodologii tworzenia oprogramowania. Został on opracowany przez Rational Software Corporation (IBM) w 2003 r. Jest to w rzeczywistości dostosowywalna struktura procesów (a nie pojedynczy konkretny proces), którą organizacja programistyczna może dostosować do własnych potrzeb. Nieco podobny do wodospadu, ma ustalone fazy początkowe, opracowania, budowy i przejścia. Ale w przeciwieństwie do wodospadu, RUP jest procesem iteracyjnym. Trzy strategie uchwycone przez RUP to konfigurowalny proces, który kieruje rozwojem, zautomatyzowane narzędzia przyspieszające proces oraz usługi, które pomagają szybciej adoptować proces i narzędzia. Strategie te wychwytują sześć najlepszych praktyk inżynierii oprogramowania (iteracyjny rozwój, zarządzanie wymaganiami, architektura oparta na komponentach, wizualne modele oprogramowania, ciągła weryfikacja i zarządzanie zmianami).
Jaka jest różnica między metodologią wodospadu a RUP?
Chociaż metodologia Waterfall i RUP zdefiniowały stałe fazy, istnieją kluczowe różnice między tymi dwoma modelami. Najważniejsze jest to, że podczas gdy metodologia Waterfall jest wyraźnie sekwencyjnym procesem z ustalonymi etapami, w których bieżąca faza jest zakończona przed przejściem do następnej fazy, RUP jest procesem iteracyjnym. W przeciwieństwie do metodologii kaskadowej, RUP opracowuje produkt w kilku etapach w oparciu o informacje zwrotne od akcjonariuszy. Ponieważ każda iteracja RUP tworzy wersję wykonywalną, klienci mogą uzyskać korzyści znacznie wcześniej niż Waterfall. Wreszcie, metodologia Waterfall jest konkretnym procesem nakazowym, podczas gdy RUP jest elastycznym szkieletem procesów oprogramowania.