RATIONAL ROSE
RATIONAL ROSE Met Rational Rose levert IBM dé ontwikkeltool voor UML (Unified Modeling Lagauage), de ontwikkeltaal van nu. Rose kan worden toegepast bij de architectuur-ontwikkeling en het ontwerp van applicaties in een reeks aan code: Java, J2EE, J2ME, J2SE, C, C++, Visual C++, Visual Basic (VB6), voor databaseontwerp, Ada en cross-platform, fully-executable codegeneratie voor J2SE. Rational Rose is een tool voor het ontwerpen van software. Het biedt de mogelijkheid UML schema-technieken te tekenen en met elkaar in verband te brengen. Hierbij worden consistentie-checks uitgevoerd. Hiermee kunnen ontwikkelaars van datamodellen en bedrijfsanalisten hun werk beter op elkaar afstemmen. Doordat ze dezelfde methodologie en notatie gebruiken, kunnen zij software sneller ontwikkelen.
Diagram window Standard toolbar Browser Diagram toolbox Documentation window Onder de default toolbar van Rational Rose staan drie windows. Linksboven bevindt zich de Browser, daaronder de Documentation en de rechterkant bevat de Diagrams. Standaard wordt de Main van de Logical View geopend. De inhoud van de Diagram Toolbar is afhankelijk van het Diagram-type dat geselecteerd is. Met de Browser kun je gemakkelijk switchen tussen de verschillende Views.
Class Diagram (1) Het creëren van een class gaat als volgt: Selecteer in de Browser de package waar je een class aan wilt toevoegen met de rechtermuisknop activeer je een shortcut menu. Kies New » Class. Geef de juiste naam. Zorg dat in het Diagram het juiste Class Diagram staat Sleep deze class naar het Class Diagram. Na dubbelklikken op de weergave van de class, verschijnt de Class Specification, een popup menu waarin eigenschappen van de class kunnen worden ingevuld.
Class Diagram (2) Het creëren van een attribuut van class gaat als volgt: Na dubbelklikken in de class verschijnt de Class Specification. Ga naar het tabblad Attributes. Klikken met de rechtermuisknop geeft een shortcut menu. Kies Insert. Een nieuw attribuut wordt aangemaakt. Het icoontje geeft de zichtbaarheid aan, standaard is dit private . Om de eigenschappen te wijzigen kies je uit hetzelfde shortcut menu Specification. Hier kun je naam, type en dergelijke invullen.
Class Diagram (3) Het creëren van een operatie bij een class: Ga naar de Class Specification. In het tabblad Operations geeft klikken met de rechtermuisknop een shortcut menu. Kies Insert. Een nieuwe operatie wordt aangemaakt. Opmerking : opname staat voor operation name! Het icoontje geeft de zichtbaarheid aan, standaard is dit public. Om de eigenschappen te wijzigen kies je uit hetzelfde shortcut menu Specification. Hier kun je naam, returntype en dergelijke invullen.
Class Diagram (4) Het creëren van een associatie gaat als volgt: Tools » Create » Association, de cursor verandert van vorm klik in de begin-class en vervolgens in de eind-class. Na dubbelklikken verschijnt de Association Specification, een popup menu waarin kan worden ingevuld: de naam van de associatie de rol die een classe speelt in het tabblad Role A Detail Role B Detail de cardinaliteit.
Class Diagram (5) Het creëren van een generalisatie gaat als volgt: Tools » Create » Generalization, de cursor verandert van vorm (in plaats hiervan kan ook het icoontje in de Diagram Toolbar worden gebruikt.) klik in de subclass en vervolgens in de superclass Na dubbelklikken verschijnt de Generalize Specification, een popup menu waarin de naam van de generalisatie kan worden ingevuld.
TUTORIAL Neem deze tutorial ivm Rational Rose door. Probeer de opdrachten bij deel 1 omtrent het class diagram op te lossen. http://www.si.hhs.nl/~martinr/so71/deel00/deel00.html Er zullen enkele cd’s met een trialversie van rational rose tijdens de les worden doorgegeven. Trialversie kan ook worden gedownload op TRIALVERSIE DOWNLOADEN
Use Case Diagram (1) Het creëren van een actor gaat als volgt: Selecteer in de Browser de package waar je een actor aan wilt toevoegen, met de rechtermuisknop activeer je een shortcut menu. Kies New » Actor. Vul de gewenste naam in. Sleep deze actor vanuit de Browser deze actor naar het Diagram. Na dubbelklikken verschijnt de Class Specification, een popup menu waarin de overige eigenschappen van de actor kunnen worden ingevuld. Een actor is een class waarbij de Stereotype gelijk is gesteld aan Actor.
Use Case Diagram (2) Het creëren van een use case gaat als volgt: Selecteer in de Browser de package waar je een use case aan wilt toevoegen, met de rechtermuisknop activeer je een shortcut menu. Kies New » Use Case. Vul de gewenste naam in Wanneer je deze use case door een icon in het Diagram gerepresenteerd wilt zien, sleep je hem daar naar toe (zie figuur 2). Na dubbelklikken verschijnt de Use Case Specification, een popup menu waarin de overige eigenschappen van de use case kunnen worden ingevuld.
Use Case Diagram (3) Het creëren van een associatie gaat als volgt: Analoog als bij class diagram Het creëren van een include/extends gaat als volgt: Tools»Create»Unidirectional association de cursor verandert van vorm klik in de begin-class en vervolgens in de eind-class. Na dubbelklikken verschijnt de Unidirectional Association Specification, een popup menu waarin de naam van de associatie kan worden ingevuld. In het veld Stereotype vul je het type relatie in, zoals hier extends of uses (include).
TUTORIAL Probeer de opdrachten bij deel 2 omtrent use cases uit te voeren. http://www.si.hhs.nl/~martinr/so71/deel02/deel02.html
Toestandsdiagram (1) Het creëren van een State Diagram gaat als volgt: Selecteer in de Browser de class waar een diagram aan wordt toegevoegd. Met de rechtermuisknop wordt een shortcut menu geactiveerd. Kies State Diagram.
Toestandsdiagram (2) Wanneer een State Diagram geactiveerd is, is de inhoud van Tools » Create gewijzigd. Nu zijn hier de elementen te vinden die bij een State Diagram horen. Het creëren van een state gaat als volgt: Tools » Create » State, de cursor verandert van vorm klik in het geopende Diagram. Na dubbelklikken op de state verschijnt de State Specification, een popup menu waarin de naam van de state kan worden ingevuld.
Toestandsdiagram (3) Om de Start State en End State te maken, kies je de desbetreffende omschrijving uit Tools » Create. Het creëren van een activity bij een state : Kies in de State Specification het tabblad Detail. Met de rechtermuisknop wordt een shortcut menu geactiveerd. Kies Insert en vul de naam in. Dubbelklikken levert een Action(activity) Specification. Hierin kun je een naam opgeven voor deze Activity en het moment waarop deze moet worden uitgevoerd.
Toestandsdiagram (4) Het creëren van een state transition gaat als volgt: Tools » Create » State Transition, de cursor verandert van vorm klik in de beginstate en vervolgens in de eindstate. Na dubbelklikken verschijnt de State Transition Specification een popup menu waarin de eigenschappen van de state transition kunnen worden ingevuld. In het tabblad General kan de Event met de Arguments worden opgegeven. Kies in de State Transition Specification het tabblad Detail. Hier kunnen de Condition en Action worden ingevuld.
Toestandsdiagram (5) Een Loop is een transition die van een state naar zichzelf loopt: Tools » Create » Transition to self Probeer de opdrachten bij deel 3 omtrent toestandsdiagrammen uit te voeren. http://www.si.hhs.nl/~martinr/so71/deel03/deel03.html
Sequence Diagram (1) Het creëren van een Sequence Diagram gaat als volgt: Selecteer in de Browser de use case of package waar een diagram aan wordt toegevoegd. Met de rechtermuisknop wordt een shortcut menu geactiveerd. Kies New » Seguence Diagram. Vul de gewenste naam in. Om een een object toe te voegen, sleep je het van de Browser naar het Sequence Diagram. Om een object te verwijderen, selecteer je het en kiest Edit » Delete from Model ofwel Ctrl Del.
Sequence Diagram (2) Het creëren van een message gaat als volgt: Tools » Create » Message, de cursor verandert van vorm klik op de levenslijn van het zendende object en vervolgens op de levenslijn van het ontvangende object, de Message wordt nu gecreëerd. Met de rechtermuisknop klikken levert een shortcut menu. Kies Specification om de Message Specification te activeren. Op het tabblad Detail moet het Synchronization type gekozen worden. Standaard staat dit op Simple. N.B. een synchrone message wordt meestal weergegeven met een gesloten pijl. Rational Rose kent een andere representatie, zoals te zien in figuur 2. In het shortcut menu staan de namen van de operaties die voor dit object beschikbaar zijn. New Operation creëert een nieuwe operatie voor deze class.
Sequence Diagram (3) Sequentie diagrammen en collaboratie diagrammen representeren dezelfde informatie. Rational Rose kent dan ook de mogelijkheid deze in elkaar over te voeren Om ze om te zetten in collaboratie diagrammen open je het sequentie diagram en Browse » Create Collaboration Diagram oftewel F5. Een collaboratie diagram wordt geconstrueerd in dezelfde use case. De elementen in dit diagram behoeven nog wel wat cosmetische verschuivingen.
Opmerking + Tutorial Rational Rose is meer dan een tekenprogramma, het voert ook consistentie checks uit. Report » Show Unresolved Messages Dit levert dan een rapportje met problemen: bvb. de naam van de message komt niet overeen met de voor deze class genoemde operaties. Probeer de opdrachten bij deel 4 omtrent sequence diagrammen uit te voeren. http://www.si.hhs.nl/~martinr/so71/deel04/deel04.html
Automatisch antwoordapparaat Het antwoordapparaat is verbonden met een gewone telefoon. Het apparaat beantwoord een inkomende oproep als de ontvanger niet heeft opgenomen binnen 40 seconden. De machine speelt eerst een opgenomen boodschap af, vervolgens produceert het een biep en vervolgens kan de beller een boodschap achter laten op het apparaat. Het apparaat heeft een geheugen dat tot 30 minuten spraak kan bevatten. Als het geheugen vol is kunnen geen boodschappen opgenomen worden. De gebruiker van de machine kan luisteren naar boodschappen, boodschappen verwijderen en een nieuwe welkomstboodschap opnemen. Oefening : maak het toestandsdiagram voor het antwoordapparaat in Rational Rose
LIFT Maak het class diagram in Rational Rose voor onderstaande lift. De lift die we willen ontwerpen wordt bestuurd door een liftcontroller. Deze zal aanvragen via het bedieningspaneel doorkrijgen. Dit bedieningspaneel bestaat uit een aantal knoppen (1 per verdiep). De knop voor het gelijkvloers is een speciale knop. De knop voor het verdiep dat de gebruiker kiest zal oplichten, indien dit nog niet zo is. Wanneer de lift een bepaald verdiep heeft bereikt zal het lichtje van de knop voor dat verdiep op het paneel uitgaan. Op iedere verdieping zijn bovendien knoppen waarmee een persoon aan kan geven of hij naar boven dan wel naar beneden wil. In de lift is er bovendien een noodrem. Als een lift aankomt op een verdieping waar iemand om een lift gevraagd heeft of op de verdieping die door iemand in de lift gekozen is, dan gaan de deuren automatisch open. Als een lift stilstaat op een verdieping en er onderneemt niemand actie, dan gaan na verloop van tijd de deuren automatisch dicht. Er wordt wel telkens gecontroleerd of er geen obstakel tussen de deuren van de lift zit, alvorens ze gesloten worden.
Oefening : Uitgeverij We gaan een systeem modelleren voor een uitgever van zowel boeken als tijdschriften. Elk boek dat hij publiceert heeft een auteur, een titel, een publicatiedatum en een ISBN nummer (10 cijfers). De auteur van een boek heeft een contract met de uitgever, in dit contract ligt het aantal boeken vast dat hij minimum moet schrijven tijdens een bepaalde periode alsook het percentage van de verkoopsopbrengst dat naar de auteur gaat als vergoeding. Een tijdschrift heeft een ISSN nummer (8 cijfers) en een titel. Van een tijdschrift worden nummers uitgebracht naar gelang de periodiciteit van het tijdschrift (maandelijks, wekelijks, …). Elk nummer heeft een serienummer, een publicatiedatum en meerdere artikels. De auteurs van artikels sturen hun werk spontaan in. De datum waarop een artikel ontvangen is wordt bijgehouden. Dan gaan de redacteurs het artikel editeren en daarna zullen ze beslissen of het aanvaard wordt of niet. De datum van deze beslissing wordt ook bijgehouden. De auteur wordt betaald op basis van de lengte van het (gereviseerde) artikel. MAAK EEN USE CASE VOOR BOEKEN + EEN USE CASE VOOR ARTIKELS IN RATIONAL ROSE (indien tijd over -> class diagram + toestandsdiagram (B/A)
EINDE LES PRETTIG EN GELUKKIG NIEUWJAAR INGESTUURDE OEFENINGEN ZULLEN DEZE WEEK NOG VERBETERD WORDEN TERUGGEZONDEN VOLGENDE LES -> ACTIVITY DIAGRAM