Rational Unified Process (RUP)

Rational Unified Process (RUP) - toolshero

In dit artikel wordt het Rational Unified Process (RUP) praktisch uitgelegd. Na het lezen zal je de basis begrijpen van deze krachtige agile software ontwikkelmethode.

Wat is een Rational Unified Process (RUP)?

Rational Unified Process (RUP) is een agile software ontwikkelmethode waarin de levenscyclus van een project, of ontwikkeling van software, in vier fasen verdeeld is. Gedurende deze fasen vinden verschillende activiteiten plaats: modellering, analyse en ontwerp, implementatie, testen en inzetten.

Het Rational Unified Process (RUP) is iteratief, dat wil zeggen terugkerend, en agile. Iteratief omdat alle kernactiviteiten van het proces gedurende het hele project terugkeren. Het proces is agile omdat verschillende onderdelen aangepast kunnen worden, en fasen van de cyclus kunnen worden herhaald tot de software eisen voldoet en de doelstellingen haalt.

Het proces zoals uitgebeeld op de afbeelding in dit artikel moet bekeken worden vanuit twee dimensies. Als eerste is er de tijdsdimensie over de horizontale as. De tijdsdimensie wordt uitgedrukt in termen van de fases en cyclussen, iteraties en mijlpalen. De verticale as is de procesdimensie. Deze dimensie vertegenwoordigt het statische aspect van het proces en is beschreven in termen van activiteiten, artefacten, werkers en workflow.

Rational Unified Process (RUP) voorbeeld - toolshero

Tijddimensie

Met de tijdsdimensie wordt de dynamische organisatie van het proces over de tijd heen bedoeld. De levenscyclus van de software is onderverdeeld in cycli. Elke cyclus geeft bijvoorbeeld een periode weer waarin aan een nieuwe generatie van een product wordt gewerkt. Het Rational Unified Process (RUP) verdeelt de ontwikkeling in de vier opeenvolgende fasen:

  • Beginfase
  • Uitwerkingsfase
  • Bouwfase
  • Overgangsfase

Elke fase wordt afgesloten met een mijlpaal. Een mijlpaal is een punt in de tijd waarop kritieke beslissingen gemaakt moeten worden. Om die beslissingen te kunnen maken moeten de doelstellingen zijn gehaald. Zo is bijvoorbeeld een mijlpaal uit de eerste twee fasen de voortgang van de usecase. Een usecase is een beschrijving van het gedrag van een systeem, en beschrijft wie wat kan doen met een systeem. Dit is een belangrijk onderdeel in de ontwikkeling van software. Zoals ook in de RUP visualisatie te zien is, begint het testen bijvoorbeeld al in de eerste fase. Normaal gesproken moet een product dan al voltooid zijn. Dat komt omdat er gewerkt wordt met prototypen en testmodellen.

Fase 1: start

Gedurende de eerste fase wordt het basisidee en structuur van het project vastgesteld. Het team vergadert in deze fase geregeld en stelt de noodzaak van het project vast, maar ook de levensvatbaarheid en geschiktheid. Onder levensvatbaarheid en geschiktheid vallen ook de verwachte kosten en de middelen die nodig zijn om het project te voltooien nadat het groene licht is gegeven.

De resultaten na een eerste fase kunnen zijn, afhankelijk van het project:

  • Een visieverklaring
  • Eerste usecase (20% voltooid)
  • Marktonderzoekresultaten
  • Financiële prognose
  • Risicobeoordeling
  • Projectplan
  • Bedrijfs- of verdienmodel
  • Prototypen

De resultaten moeten vervolgens worden beoordeeld aan de hand van enkele criteria:

  • Zijn alle belanghebbenden meegenomen en akkoord?
  • Zijn de vereisten van de ontwikkeling betrouwbaar?
  • Zijn de kosten geloofwaardig? De prioriteiten en risico’s?

Fase 2: uitwerking

Tijdens de uitwerkingsfase van het Rational Unified Process worden de vereisten en benodigde architectuur van het systeem beoordeeld en geanalyseerd. Het project begint hier vorm te krijgen. Het doel van de uitwerkingsfase is om problemen te analyseren en een fundering te leggen voor de toekomstige architectuur. Resultaten van de uitwerkingsfase zijn:

  • Usecase (80% voltooid)
  • Beschrijving uitvoerbare architectuur
  • Ontwikkelingsplan project
  • Prototypen om risico’s aan te pakken
  • Gebruikershandleiding

Criteria voor de resultaten:

  • Is de architectuur stabiel?
  • Worden belangrijkste risico’s aangepakt?
  • Is het ontwikkelingsplan voldoende gedetailleerd en nauwkeurig?
  • Zijn alle belanghebbenden akkoord met het huidige ontwerp?
  • Zijn de uitgaven acceptabel?

Fase 3: constructie

In de constructiefase van het Rational Unified Process (RUP) wordt het softwaresysteem volledig gebouwd. De nadruk ligt op de ontwikkeling van componenten en andere kenmerken van het systeem. Het grootste gedeelte van de codering vindt ook plaats in deze fase. In dit productieproces ligt de nadruk op het beheren van kosten en middelen, en het waarborgen van kwaliteit. Resultaten uit de productiefase zijn:

  • Volledig voltooid softwaresysteem
  • Handleidingen voor de gebruiker

Te beoordelen met:

  • Is het product stabiel en volgroeid om in te zetten?
  • Zijn alle belanghebbenden/gebruikers klaar voor de transitie naar het in gebruik nemen?
  • Zijn alle bestedingen en middelen nog steeds op orde?

Fase 4: overgang

Dit is de vierde fase van het Rational Unified Process (RUP). Het doel van de overgangsfase is om het product over te dragen aan de nieuwe gebruiker. Zodra de gebruiker het systeem in gebruikt neemt treden er vrijwel altijd problemen op die vereisen dat er veranderingen moeten worden aangebracht in het systeem. Het doel is echter om de overgang naar de gebruiker positief en soepel te laten verlopen. Resultaten en activiteiten in de laatste fase:

  • Bétatests
  • Conversie van bestaande databases gebruiker
  • Training nieuwe gebruikers
  • Uitrol product naar marketing en distributie

De inbreng van de nieuwe gebruiker is hier leidend voor de beoordeling.

Procesdimensie

De verschillende fases die gerelateerd zijn aan het ontwikkelen van softwaresystemen is nu duidelijk. Zoals elk ander proces, beschrijft het RUP wie wat doet, waar en wanneer. De wie in dit proces is de werknemer die actief aan het systeem bouwt. Met wat wordt iets concreets bedoelt, een stukje informatie. Deze ‘artefacten’ kunnen veel vormen aannemen, bijvoorbeeld die van een usercase of prototype.

Uit de verschillende fases blijken al de verschillende activiteiten in de ontwikkeling van een systeem. Hieronder worden de kernactiviteiten nog kort toegelicht.

1. Bedrijfsmodelleren

Een van de problemen in het gebruik van technische systemen is dat het systeem en de gebruiker niet goed met elkaar kunnen communiceren. Dat leidt tot inefficiëntie op meerdere gebieden. De input die de ontwikkelaar krijgt van de gebruiker wordt bijvoorbeeld niet goed gebruikt voor de ontwikkeling van de generatie systemen. Rational Unified Process (RUP) lost dit probleem gedeeltelijk op door een universele taal te creëren en processen aan te bieden.

2. Vereisten

Het doel van vereisten is om te beschrijven wat het systeem zou moeten doen en hoe het moet functioneren. Zowel de gebruiker als de ontwikkelaar moet akkoord gaan met de vereisten zoals beschreven in de eerste fase. Alles wordt opgenomen in een visiedocument. Daarnaast wordt er een usecase ontwikkeld.

3. Analyse en design

Het doel van analyse en design is om te laten zien hoe het systeem gerealiseerd wordt in de implementatiefase. Het moet voldoen aan al de eisen, is robuust, en voert alles uit zoals beschreven in de usecase. Dit modelontwerp fungeert als een blauwdruk voor het verdere proces.

4. Implementatie

Implementatie komt terug in heel het Rational Unified Process (RUP), zoals ook elke andere activiteit, maar is ook een van de engineering disciplines uit het model. Het doel van implementatie is om het volledige systeem op te bouwen. Componenten worden hier getest en vrijgegeven.

5. Testen

Het doel van testen is om de juiste integratie van alle componenten en de software te verifiëren. Ook worden defecten in de testfase geïdentificeerd en opgelost. Testen komt niet alleen in de testfase voor. Het Rational Unified Process (RUP) is iteratief, en dus wordt er gedurende het hele project getest.

De testen worden uitgevoerd langs drie dimensies:

  • Betrouwbaarheid
  • Functionaliteit
  • Applicatiebeheer en systeemprestaties

6. Inzetten

Het doel van een systeem inzetten is vanzelfsprekend het met succes uitbrengen van een softwaresysteem, en de gebruiker in staat stellen om te werken met zijn nieuwe systeem. Het omvat veel activiteiten die zijn beschreven in overgangsfase 4, waaronder:

  • Verpakken
  • Verspreiden
  • Installeren
  • Hulp & assistentie
  • Betatests
  • Gegevensmigratie
  • Acceptatie

Daarnaast zijn er nog drie ondersteunende disciplines:

  1. Configuratie en verandermanagement
  2. Project management
  3. Omgeving

Nu is het jouw beurt

Wat denk jij? Herken jij de uitleg over het Rational Unified Process (RUP)? Gebruik jij deze IT-tool, of ga je deze nu gebruiken? Wat is volgens jou nog meer belangrijk bij het ontwerpen van een softwaresysteem? Heb jij tips of opmerkingen?

Deel jouw kennis en ervaring via het commentaar veld onderaan dit artikel.

Als je het artikel handig of praktisch vond voor jouw eigen kennis, deel dit vooral met jouw netwerk aan vrienden en zakenrelaties. Je kunt ons ook vinden op Facebook, LinkedIn, Twitter en Youtube.

Meer informatie

  1. Ambler, S., Nalbone, J., & Vizdos, M. (2005). Enterprise unified process, the: extending the rational unified process. Prentice Hall Press.
  2. Kroll, P., & Kruchten, P. (2003). The rational unified process made easy: a practitioner’s guide to the RUP. Addison-Wesley Professional.
  3. Kruchten, P. (2004). The rational unified process: an introduction. Addison-Wesley Professional.
  4. Manzoni, L. V., & Price, R. T. (2003). Identifying extensions required by RUP (rational unified process) to comply with CMM (capability maturity model) levels 2 and 3. IEEE Transactions on Software engineering, 29(2), 181-192.

Citatie voor dit artikel:
Janse, B. (2019). Rational Unified Process (RUP). Retrieved [insert date] from toolshero: https://www.toolshero.nl/informatie-technologie/rational-unified-process-rup/

Wilt u linken naar dit artikel, dat kan!
<a href=”https://www.toolshero.nl/informatie-technologie/rational-unified-process-rup/”>toolshero: Rational Unified Process (RUP)</a>

Interessant artikel?
Geef je waardering of deel het artikel via social media!

Ben Janse
About the Author

Ben Janse is een young professional en werkzaam als Content Manager bij Toolshero. Daarnaast houdt hij zich binnen zijn studie International Business aan de Hogeschool Rotterdam bezig met het analyseren en ontwikkelen van managementmodellen. Dankzij zijn theoretische en praktische kennis weet hij hoofd- en bijzaken goed te onderscheiden waardoor de essentie van elk artikel goed naar voren komt.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *