Metodyka wodospadu a RUP
Obecnie w branży oprogramowania stosuje się wiele różnych metodologii tworzenia oprogramowania. Metoda wodospadu jest jedną z najwcześniejszych metod tworzenia oprogramowania. Metodologia rozwoju oprogramowania Waterfall to model sekwencyjny, w którym każda faza jest w pełni zakończona i wykonywana w ustalonej kolejności. RUP (Rational Unified Process) to adaptowalna struktura procesowa obejmująca iteracyjne metodologie tworzenia oprogramowania. RUP odnosi się do kilku zarzutów dotyczących rozwoju wodospadu, takich jak sztywność.
Co to jest metodologia wodospadu?
Metodologia wodospadu jest jednym z najwcześniejszych modeli tworzenia oprogramowania. Jak sama nazwa wskazuje, jest to proces sekwencyjny, w którym postęp przebiega przez kilka faz od góry do dołu, analogicznie do wodospadu. Fazy modelu Waterfall obejmują analizę wymagań, projektowanie, rozwój, testowanie i wdrażanie. Analitycy biznesowi (lub sami programiści, jeśli jest to mała organizacja) przeprowadzają fazę analizy, uzyskując system i wymagania biznesowe od klienta projektu. Następnie architekci oprogramowania (lub starsi programiści) tworzą dokumenty projektowe przedstawiające strukturę i komponenty proponowanego systemu. Następnie młodsi programiści wykonują kodowanie za pomocą dokumentów projektowych. Po zakończeniu rozwoju produkt jest przekazywany zespołowi testującemu w celu przeprowadzenia testów i weryfikacji. Ostatecznie produkt jest wdrażany (lub integrowany) u klienta, a projekt zostaje zatwierdzony. Należy tutaj pamiętać, że każda faza jest w pełni zakończona przed przejściem do następnej fazy. Model ten był bezpośrednim wynikiem prostego dostosowania metody rozwoju zorientowanego na sprzęt (występującego w przemyśle wytwórczym i budowlanym), w tamtym czasie nie było formalnego modelu tworzenia oprogramowania.
Co to jest RUP?
RUP belongs to the family of iterative software development methodologies. It was developed by Rational Software Corporation (of IBM) in 2003. It is actually an adaptable process framework (not a single concrete process), that can be customized by the development organization according to their needs. Slightly similar to waterfall, it has fixed phases as inception, elaboration, construction and transition. But unlike waterfall, RUP is an iterative process. The three strategies captured by RUP are a customizable process that guides development, automated tools to expedite the process, and services that help to adopt process and tools faster. These strategies intern captures the six best practices of software engineering (iterative development, managing requirements, component based architecture, visual software models, continuous verification and management of changes).
Jaka jest różnica między Waterfall Methodology a RUP?
Chociaż metodologia Waterfall i RUP mają zdefiniowane stałe fazy, istnieją kluczowe różnice między tymi dwoma modelami. Głównym szacunkiem jest to, że chociaż metodologia Waterfall jest wyraźnie procesem sekwencyjnym z określonymi krokami, w których obecna faza jest zakończona przed przejściem do następnej fazy, RUP jest procesem iteracyjnym. W przeciwieństwie do metodologii kaskadowej, RUP rozwija produkt w kilku etapach na podstawie informacji zwrotnych od akcjonariuszy. Ponieważ każda iteracja RUP tworzy wersję wykonywalną, klienci uzyskują korzyści znacznie wcześniej niż Waterfall. Wreszcie, metodologia Waterfall jest nakazowym konkretnym procesem, podczas gdy RUP jest adaptowalną strukturą procesów oprogramowania.