Rational Unified Process, of RUP, is een flexibele softwareontwikkelingsmethode van Rational, een IBM-divisie. Het dient als een online mentor die richtlijnen, voorbeelden en sjablonen biedt voor alle fasen en aspecten van programmaontwikkeling. De ontwikkeling van een project of software is opgedeeld in vier fasen met in elke fase verschillende activiteiten. RUP wordt als iteratief of repetitief beschouwd omdat de kernactiviteiten van het proces zich gedurende het hele project herhalen. De componenten kunnen worden aangepast en de cyclusfasen kunnen worden herhaald totdat het project of de software aan zijn eisen voldoet, waardoor het wendbaar wordt.
Dimensies van het Rational Unified Process
RUP moet vanuit twee dimensies worden bekeken: tijd en proces.
De tijdsdimensie kent vier fasen:
Aanvangsfase
In deze fase wordt het basisidee of de structuur van het project bepaald. Het team komt regelmatig bijeen om de levensvatbaarheid, geschiktheid en noodzaak te controleren. Het zorgt ervoor dat het budget voldoet aan de verwachte kosten van het project.
Uitwerkingsfase
In deze fase beoordelen ontwikkelaars de softwarearchitectuur en systeemvereisten. Dit omvat het controleren van het projectontwikkelingsplan, het ontwikkelen van de gebruikershandleiding en het maken van prototypes om risico’s aan te pakken.
Bouwfase
Deze fase zorgt voor de constructie van het volledige softwaresysteem, inclusief de componenten en functies. Afgezien van het merendeel van de codering die in deze fase plaatsvindt, zorgt het team ervoor dat kosten en middelen worden beheerst en dat het volledig voltooide softwaresysteem wordt opgeleverd.
Overgangsfase
Het belangrijkste doel van deze fase is de overdracht van het product aan de nieuwe gebruiker. Er ontstaan vrijwel zeker problemen en fouten die moeten worden gewijzigd. De overgangsfase zorgt ervoor dat de overdracht soepel verloopt.
De procesdimensie kent zes fasen:
Bedrijfsmodellering
RUP zorgt ervoor dat de gebruiker en het systeem goed communiceren door een universele taal te creëren en processen aan te bieden. Dit vermindert inefficiëntie op verschillende gebieden.
Eisen
Deze fase beschrijft wat het systeem zou moeten doen en zijn functie, die de gebruiker en ontwikkelaar in de eerste fase hadden moeten afspreken.
Analyse en ontwerp
Analyse en ontwerp dienen als blauwdruk van het proces en laten zien hoe het systeem wordt gerealiseerd. Het zorgt ervoor dat het aan de eisen voldoet en voert al zijn taken uit.
Implementatie
Het doel van deze fase is om het hele systeem te construeren en de componenten ervan te testen en vrij te geven.
Testen
Testen verifieert de juiste integratie van de software en zijn componenten. Het identificeert defecten en problemen en zorgt ervoor dat deze worden opgelost.
Aanvraag
Dit omvat het vrijgeven van een softwaresysteem en het de gebruiker mogelijk maken om zonder storingen met het systeem te werken.
RUP is qua concept vergelijkbaar met Extreme Programming in die zin dat alleen wat nuttig en vereist is, wordt geproduceerd en het ontwikkelingsplan gedurende het hele proces wordt bijgewerkt. Beide methoden zijn bedoeld om een systeem van best practices voor softwareontwikkeling te ontwikkelen.