UML From weblog http://dsnippert.wordpress.com Naam: Dennis Snippert
Inhoudsopgave 1. Wat is Uml?... 3 2. UML diagrammen... 4 3. Uitleg diagrammen... 5 3.1. Usecase diagram:... 5 3.2. Class diagram:... 5 3.3. Sequence diagram:... 5 3.4. Activity diagram:... 5 3.5. Object diagram... 5 3.6. Colaboration diagram... 5 3.7. Statechart diagram... 6 3.8. Component diagram... 6 3.9. Deployment diagram... 6 Pagina 2 van 6
1. Wat is Uml? Uml(Unified Modeling Language) is een modeleertaal. Dit niet te verwarren met bijvoorbeeld een Software engineering methode zoals RUP(Rational Unified Process), Extreme programming(xp), waterval model enzovoort. Modeleren is het een eenvoudigere voorstelling maken van de realiteit. Het modeleren in UML gebeurt aan de hand van grafische weergaven. UML is een volwaardig communicatie middel doordat UML gedefinieerde regels heeft. UML heeft een aantal gedefinieerde diagrammen. In dit artikel zullen deze diagrammen nog verder beschreven worden. Pagina 3 van 6
2. UML diagrammen Uml heeft zoals gezegd een aantal diagrammen gedefinieerd met elk een apart doeleinde. Voor elke situatie is het weer verschillend welk diagram de beste weergave geeft voor het jou gestelde probleem. Ga altijd eerst goed na wat je wilt modeleren en wat het doel is. Stel zeker eerst vast of het wel nut heeft om een dergelijk diagram voor een dergelijk probleem te maken. Het is misschien wel mooi voor een opdrachtgever dat je een document oplevert dat zo groot is en vol staat met de meest exotische diagrammen maar dit heeft waarschijnlijk uiteindelijk geen meerwaarde voor het project. Het is dus van belang dat je een bepaalde selectie maakt van diagrammen die nuttig zijn voor het project en die dus begrijpelijk zijn voor andere mensen waaraan je dit wilt tonen en die dit moeten gebruiken. Persoonlijk heb ik in mijn ontwerpervaring gebruik gemaakt van de volgende diagrammen: Usecases, classdiagram, sequence diagram en activity diagram. Met deze kon ik de meeste projecten/opdrachten wel goed modeleren zodat dit verduidelijking gaf. Pagina 4 van 6
3. Uitleg diagrammen Ik zal hier proberen zo goed mogelijk uit te leggen wat de doelen zijn van verschillende diagrammen die in UML gedefinieerd zijn. 3.1. Usecase diagram: Een usecase diagram toont hoe het systeem/applicatie gebruikt kan worden. Deze diagrammen worden voornamelijk gebruikt bij de requirements, analyse en testen van een systeem/applicatie.het kan bijvoorbeeld weergeven wat een gebruiker(actor) allemaal met het systeem/applicatie moet kunnen. In mijn ervaring is het vooral handig om hier schematisch de functionaliteit van de applicatie in weer te geven voor de requirements en duidelijk te krijgen wat de opdrachtgever allemaal wil. Ook bij het opstellen van testen kan hierna terug gekeken worden. 3.2. Class diagram: Een class diagram geeft de verzameling klassen weer die in het systeem komen met al hun relaties. Dit is vooral handig als referentiepunt bij de implementatie. Het hele systeem kan in 1 diagram weer gegeven worden zodat je bij het programmeren altijd kunt zien/aanwijzen waar je bezig bent. Een classdiagram wordt veelal gebruikt bij implementatie en ontwerp. 3.3. Sequence diagram: Een sequence diagram geeft de interacties aan tussen verschillende objecten bij een specifieke functionaliteit. Het diagram toont de volgorde waarin de interactie plaats vindt weer en is vooral handig om wanneer in een groep wordt gewerkt moeilijke functionaliteiten door te spreken alvorens het geprogrammeerd wordt. Dit kan namelijk van invloed zijn hoe er geprogrammeerd gaat worden en welke voor en nadelen aan een bepaalde beslissing zitten kunnen hierin naar voren komen. Sequence diagrammen worden vooral gebruikt in de ontwerp en implementatie fase. 3.4. Activity diagram: Een activity diagram toont de verschillende toestanden waarin een systeem zich kan bevinden. Ook geeft het aan hoe de overgangen tussen de toestanden verlopen. In veel gevallen geeft het ook de condities aan waaraan het moet voldoen om naar een bepaalde toestand te gaan. Activity diagrams worden veelal gebruikt in analyse, ontwerp, implementatie en testfase. 3.5. Object diagram Object diagram toont de verzameling objecten van een applicatie en hun onderlinge relaties. Het geeft een statisch beeld weer van de applicatie wanneer deze draait. Een object diagram wordt veelal gebruikt in implementatie, test en debugging fase. 3.6. Colaboration diagram Een collaboration diagram is bijna hetzelfde als een sequence diagram, alleen ligt hier de nadruk op de structurele organisatie van objecten. Pagina 5 van 6
3.7. Statechart diagram Een statechart diagram toont alle toestanden waarin een object zich kan bevinden. Het geeft ook een beschrijving van de overgangen tussen verschillende staten, events en activiteiten. Een statechartdiagram wordt veelal gebruikt in implementatie en test fase. 3.8. Component diagram Een component diagram toont de verdeling van het gehele systeem in componenten en hun onderlinge relaties. Een componentdiagram wordt vooral gebruikt in de ontwerp en implementatie fase. 3.9. Deployment diagram Een deploymentdiagram geeft aan hoe de bepaalde hardware componenten in een bepaalde systeem configuratie worden gebruikt. Een deploymentdiagram wordt veelal gebruikt in de requirements en deployment fase. Pagina 6 van 6