RUP (Rational Unified Process) jest motodyką zakładającą iteracyjny proces tworzenia oprogramowania i opartą na narzędziach IBM Rational
Metodyka RUP wprowadza reguły oraz dobra praktyki dla wszystkich faz wytwarzania oprogramowania. Metodyka ta określa zasady postępowania, które powinno zostać dostosowane uwzględniając wszelkie aspekty konkretnego projektu (w szczególności również aspekty technologiczne).
Strukturę RUP przedstawiona jest na poniższym rysunku:
RUP jest procesem iteracyjnym. W każdej iteracji wytwarzany jest fragment systemu, który jest udostępniany klientowi. Pozwala to na uzyskanie szybkiej informacji zwrotnej i upewnieniu się, że zespół realizujący projekt dobrze zrozumiał wymagania i oczekiwania klienta. Szybkie wykrycie ewentualnych problemów lub nieporozumień, pozwala szybko wprowadzić odpowiednie modyfikacje.
RUP oparty został o zbiór sześciu najlepszych praktyk.
Iteracyjne podejście do tworzenia oprogramowania pozwala na jego dostosowanie do zmieniających się wymagań oraz pozwala na utrzymywanie spójnego kształtu całości kodu
Zarządzanie wymaganiami ma na celu trafne identyfikowanie wymagań oraz potrzeb użytkownika.
Głównym celem budowy systemu w oparciu o komponenty jest zagwarantowanie rozszerzalności, możliwośći ponownego użycia oraz skalowalności. Wiele istniejących technologii wspiera podejście komponentowe: CORBA, JEE, OSGi
RUP używa notacji UML i dokładnie określa, które modele są wymagane. Model graficzny pozwala na uproszczone uchwycenie bardziej skomplikowanego projektu.
Zgodnie z RUP każdy członek zespołu jest odpowiedzialny za jakość w ciągu całego procesu tworzenia oprogramowania.
RUP określa metody śledzenia, rejestrowania oraz kontroli zmian.