
Wat is RUP?
RUP is gebaseerd op risico gedreven software ontwikkeling. RUP kent de volgende vierfundamentele grondbeginselen: (1) beperk de omvang en de complexiteit van het systeem, (2) verbeter het ontwikkelproces, (3) creëer vakbekwame teams en (4) gebruik tools om geautomatiseerd te ontwikkelen. De bedenkers en ontwikkelaars van RUP (Rational Unified Process hebben van best practices de volgende 6 principes afgeleid:
- Ontwikkel software incrementeel/iteratief; gezien de tijd die het kost om grote software-systemen te bouwen, is het niet mogelijk om een heel systeem in één keer te maken. Requirements kunnen veranderen in de loop van het traject door technische beperkingen, veranderende eisen/wensen of een beter begrip van het daadwerkelijke probleem.
- Management van software requirements; heeft te maken met het achterhalen, vastleggen en beheren van de behoeften van de klant. Analyseer het probleem, definieer wat de klant wil, definieer het op te leveren systeem, beheer de randvoorwaarden van het systeem, verfijn de systeemeisen/systeemomschrijvingen en beheer de wijzigende requirements.
- Maak gebruik van op componenten gebaseerde architectuur; systemen met een op componenten gebaseerde architectuur zijn eenvoudig uit te breiden, inzichtelijk, begrijpelijk en bevorderen het hergebruik van bepaalde delen code. Aangezien de systemen steeds groter worden neemt het belang van een goede architectuur toe. RUP is erop gericht de basisarchitectuur in een vroeg stadium te bepalen. U kunt hier meer informatie vinden over 'werken onder architectuur'.
- Maak prototypes; door de gebruiker een grafische voorstelling te geven van het product (prototyping), verkleint de faalkans van het project. Een globale, grafische oplossing voor het probleem is door de gebruiker beter te begrijpen dan pagina's vol broncode. Het is een versimpeling van de complexiteit.
- Test het systeem; vaak mislukken software projecten omdat het testen vaak aan het einde van het project wordt gedaan, soms helemaal niet en soms door andere teams. RUP vangt dit probleem af door het testen in het gehele proces terug te laten komen en daarbij alle belanghebbenden (stakeholders) te betrekken (zowel programmeurs als klanten). RUP gaat ervan uit dat elke belanghebbende verantwoordelijk is voor de kwaliteit gedurende het gehele project.
- Maak gebruik van versiebeheer tijdens de softwareontwikkeling; zoals bij alle andere software-projecten zijn veranderingen in de software onvermijdelijk. RUP beschrijft een aantal methoden om deze veranderingen te beheersen en nauwkeurig te volgen.