INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE



Like dokumenter
Ansvarsdrevet OO: CRC og UML Sekvensdiagrammer

SPSS Høgskolen i Innlandet

Hvordan slette midlertidige filer i Java kontrollpanel

Digital hjemmeeksamen PPU

Milestone Systems XProtect Smart Client 7.0b BRUKERMANUAL

1 Kodegenerering fra Tau Suiten

Spesifikasjon av Lag emne

Fra krav til objektdesign

Metode for ansvarsdrevet OO. Dagens forelesning. Delegering av ansvar i en trelagsarkitektur

Formål: I denne oppgaven skal du øve deg i å generere og endre GUI prototyper, samt lage database skjema på grunnlag av en UML modell.

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell (ny versjon) Dagens forelesning. Fra krav til objektdesign

Før du starter, del 2

Beskjed fra Skagestein

Endringer etter omlegging til ny AD

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 8

Brukerveiledning - secure.nhh.no og secure.privnett.nhh.no

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

Ny på nett. Operativsystemer

Gjennomføre et møte. MeetAt Datamøte

Utskrift fra Mac OS X (10.6.x) til Safecom med PXL/PCL

Oppgavesett for NVivo 10

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6

Businesscatalyst PAGES

La oss begynne med de aller mest elementære hurtigtastene som fungerer i nesten alle programmer og som det er svært hendig å kunne.

SPSS Høgskolen i Innlandet

Oppgavesett videregående kurs i NVivo 9

Hvordan setteopp en wordpress site med wampserver. Lokal site på din pc.

NY PÅ NETT. Enkel tekstbehandling

Bruk av Domenia Norges AS Webmail

Hvordan å lage og publisere ditt personlige visittkort

>>21 Datamodellering i MySQL Workbench

Gå inn på nedtrekksmenyen View og klikk deretter på Toolbars. Merk av de verktøyene som vises på bilde under.

Viktig informasjon ang. lagringsområder

Oppgaver del 2 Dokumenthåndtering

Velkommen til Pressis.

NY PÅ NETT. Operativsystemer

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 8

Løypelegging ved bruk av

Universitetet i Oslo Institutt for informatikk. Eskild Busch. UML hefte

Begge metodene har som utgangspunkt at du har lagt inn et ortofoto av feltet eller en skannet tegning i Intrasisprosjektet eller ArcMap-fila.

Guide til system for flervalgsprøver

Grunnleggende. Excel

Spesifikasjon av Lag emne. Kursregistrering bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Bruk av kildeavskrifter som er merket med grønn kule

Communicate SymWriter: R1 Lage en tavle

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6

Veiledning for Krets- og gruppesider.

1. NetBeans IDE: Lage en enkel mobilapplikasjon

NB! Endring i undervisningsplanen

Windows XP. Skrivebord

Brukermanual for webmail

Lagring av EndNote stil fra EndNotes hjemmeside når du bruker Mac

Flytte innhold fra Fronter til Canvas

Kom i gang med emedia

Innføring i enkel Macbruk

Det beste fra Windows 10

Oppgavesett for NVivo 10

Hurtigguide. Joint Collaboration AS Drammensveien Oslo Tlf Fax

Gå til Nedlastninger på menylinjen for Visma Skolelisens og velg Visma Lønn versjon 9.5.

38. Utskrift - Master Layout

Veiledning for Infoserver Citrix

Brukerveiledning i Outlook 2010

Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet.

KOMME I GANG 3. Logge på 3. I redigeringsvinduet 4 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 6

Hvordan lage terreng i ArchiCAD (mesh tool):

Løsninger på påloggingsproblemer

Java fra Eclipse til Evalanche

Publisere på nvfnorden.org

Migranorsk språkperm

Vedlikeholde nettstedet i Joomla 2.5 +

4. Dynamisk skjemaer (GUI)

Hvordan legge til kommentarer i PDF dokumenter

ProMed. Brukermanual for installasjon og bruk av mobiltelefon eller SMS og nett for sending av SMS direkte fra. for Windows

Remote Desktop Services

Importere referanser fra databaser

Kjenner du alle funksjonene på tastaturet?

Lingspeak Lingit AS

Kontaktinformasjon i Outlook

1) Sørg for at du fortsatt er i eventredigeringsmodus (klikk F6 på tastaturet, eller velg ikonet med en person fra menylinjen).

EndNote referansehåndteringsprogram. HiVe biblioteket

KOMME I GANG 2. Logge på 2. I redigeringsvinduet 3 OVERSIKT OVER KNAPPENE SOM LIGGER ØVERST I REDIGERINGSVINDUET 5

Generell brukerveiledning for Elevportalen

Administrere innstillinger

Memoz brukerveiledning

Innhold. 1. Botanikk låneapplikasjonsveiledning Innledning

Har du problemer med Zotero i word? Sjekk A-I punktene under

Oppgavesett for NVivo 9

Hei verden Introduksjon Swift PDF

Planlegge og starte et møte. MeetAt Datamøte

BRUK AV TiSferaDesign I RINGETABLÅER MED ELEKTRONISK NAVNELISTE:

Fra krav til objekter. INF1050: Gjennomgang, uke 05

Spesifikasjon av Lag emne. Kursregistrering g bruksmønstermodell. Dagens forelesning. Fra krav til objekter

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen

Idrettskontor. Sluttbrukeropplæring portal

GEOGEBRA (3.0) til R1-kurset

Brukerveiledning for SMS fra Outlook

Ja, men sluttresultatet er ikke like OK. Da må du bruke "snarveisikonmetoden". Se trinnene nedenfor:

Brukermanual - Joomla. Kopiering av materiale fra denne Bonefish manualen for bruk annet sted er ikke tillatt uten avtale 2010 Bonefish.

Metode for ansvarsdrevet OO med UML. Dagens forelesning. Hovedflyt for Meld på kurs. Delegering av ansvar i en trelagsarkitektur

Transkript:

INF 1050 BRUK AV MODELLERINGSVERKTØYET RATIONAL ROSE Datamodeller og andre UML diagrammer kan selvsagt tegnes for hånd, men vi kan også bruke alt fra enkle tegneprogrammer til komplette utviklingsmiljøer. Jo mer utbygd utviklingsmiljøet er, jo mer forstår det av modellen. Godt utbygde utviklingsmiljøer kan både kontrollere hver enkelt delmodell, passe på at ulike delmodeller er i overensstemmelse med hverandre, og generere så vel databasestrukturer som programkode. I INF1050 benytter vi i Rational Rose fra IBM. For informasjon om produktet, se http://www 306.ibm.com/software/awdtools/developer/rose/index.html Rose kan på Windowsmaskinene startes med Rational Rose ikonet på skrivebordet, eller ved å åpne startmenyen, gå inn i All programs og Rational Software og klikke på Rational Rose Enterprise Edition. Dersom du sitter ved en Linuxmaskin, kan du åpne et terminalvindu og logge deg på en Windows clusteret ved å skrive windows. Etter å ha logget deg inn, kan du følge samme prosedyre som over. Rational Rose hjemmefra Dersom du har behov for å jobbe hjemmefra, kan du koble deg til skolens nettverk med VPN og benytte Remote Desktop Connection for å logge deg inn på Windows clusteret windows.ifi.uio.no. Veiledning for bruk av VPN kan du finne her: http://www.usit.uio.no/it/hjemmekontor/vpn/ Remote Desktop Connection er ofte inkludert på Windows maskiner, og finnes på startmenyen All Programs Accessories Communications Remote Desktop Connection. Dersom du ikke har den, kan den lastes ned fra Microsoft: http://www.microsoft.com/windowsxp/downloads/tools/rdclientdl.mspx Mac brukere kan laste ned en versjon for OS X: http://www.microsoft.com/mac/otherproducts/otherproducts.aspx?pid=remotedesktopclient Komme i gang med UML i Rose Når du starter Rose, vil du først få opp en dialog som heter Create New Model, hvor du kan velge mellom forskjellige typer modeller. Trykk Cancel her. Kryss av i Donʹt show this dialog for å slippe å se den ved neste oppstart. Det er to vinduer i Rational Rose. Det venstre er et navigasjonsvindu med et navigasjonstre som til enhver tid holder orden på hva du har definert. Det høyre vinduet er et tegnevindu der du kan tegne UML diagrammer. Det er to måter å modellere et system på. Måte 1: Du kan starte med å definere elementer (aktører, use cases, klasser, osv.) i navigasjons vinduet 1

og deretter dra disse over i diagrammer i tegnevinduet. Måte 2: Du kan begynne å tegne diagrammer direkte i tegnevinduet ved å velge ikoner fra den vertikale ikontoolbaren. Toolbaren vil endre seg avhengig av hva slags diagram du skal tegne, men for klasse diagrammer, ser den ut som i figur 1. (Det kan hende du må strekke litt på Rational Rose vinduet for å få toolbaren til å se ut som den gjør i figur 1.) Dersom du tegner direkte, vil dette føre til at navigasjons treet oppdaterer seg med definisjoner av det du tegner. Men dersom du sletter noe fra figuren, vil ikke dette automatisk slette elementet fra navigasjonstreet (dvs. fra hele modellen), så hvis du ønsker det, må du eksplisitt slette elementet fra navigasjonstreet. Du kan fritt veksle mellom måte 1 og måte 2 underveis. Hands on eksempel: Når du starter Rose, får du default opp et blankt klassediagram i det høyre vinduet i Rational Rose. Men vi skal begynne med use case diagrammer, så høyreklikk på Use Case View i navigasjonsvinduet til venstre og velg Figur 1 New > Use Case Diagram, og gi denne et navn, og dobbeltklikk på denne. Du får nå opp et tomt use case diagram i tegnevinduet. Nå kan du forsøke å tegne use casediagrammet i figur 2: Velg ikonet for Actor (pinnefiguren) i den vertikal menyen, og klikk i use casediagrammet. (Klikk på ikonet i menyen en gang for å velge det klikk så en gang i Sjekk om betalt semesteravgift <<extend>> Person Meld paa kurs <<include>> Sjekk kursstatus Kursadministrator <<include>> Meld av kurs Figur 2 2

diagrammet der du vil ha aktøren.) Skriv inn et navn. Navnet kan redigeres senere ved å dobbeltklikke på aktøren (eller du kan høyreklikke på aktøren og velge Open Specification ) og sette og endre navnet (og en hel masse annet) der. Legg merke til at navigasjonstreet til venstre nå har fått aktøren du nettopp tegnet. Tegn de to andre aktørene. Du kan flytte rundt på figurene i diagrammet. Velg ikonet for Generalization (pilen med 90 graders knekk og hvitt pilhode) fra ikonmenyen og tegn generaliseringrelasjonene. Velg så det ikonet for Use Case (det ovale ikonet) og tegn use casene. Navn settes på liknende måte som for aktørene. Velg ikonet for Unidirectional Association, altså enveis assosiasjon (pilen med 90 graders knekk og vanlig pilhode), og tegn assosiasjoner mellom aktører og use cases. For å få til toveis assosiasjoner, tegn simpelthen en enveis assosiasjon i hver retning. Velg til slutt Dependency or instanciates ikonet (striplet pil), og tegn use case relasjonene. For å presisere relasjonstypen, dobbelklikk på pilene og velg rett Stereotype. Du kan flytte rundt på lablene i diagrammet for å få det til å se penere ut. Du har nå sikkert skjønt at egenskaper ved alle Rose elementer kan settes ved å dobbeltklikke på elementet og fylle inn de relevante feltene i spesifikasjonsvinduet som da kommer opp. Men du kan også dobbeltklikke på det samme elementet i navigasjonstreet med samme effekt. For å slette et element, høyreklikk og velg Delete (i navigasjonstreet) eller Edit > Delete (i diagrammet). For å lagre, gjør File > Save as og lagre Rose filen. Husk å lagre arbeidet underveis, slik at du ikke mister alt dersom noe skulle skje. I INF1050 lærer du å komme fram til klassestrukturen ved å leke deg med objekter av tenkte klasser i sekvensdiagrammer. Derfor skal vi skal snart lage sekvensdiagrammer. For å demonstrere Rose, skal vi imidlertid først lage klassediagrammet i figur 3. Disse klassene er entitetsklasser, og det er ikke urimelig at disse er rimelig sikre og kan defineres med en gang. I navigasjonstreet på venstre side, høyreklikk på Logical View og velg New > Class Diagram, og gi denne et navn, og dobbeltklikk på denne. Du får nå opp et tomt klassediagram i tegnevinduet. Class ikonet er nummer fem ovenfra i figur 1. Det er mange måter å spesifisere attributter og metoder på, men det kjappeste er kanskje å høyreklikke på klassen og velge New Attribute og deretter trykke Enter inntil du har det rette antall attributter i klassen. Tilsvarende for metoder, velg New Operation. Deretter kan klikke vekk fra klassen, dobbeltklikke på klassen, og velge Attributes fanen. Deretter dobbeltklikker du på ett og ett attributt og setter riktig Name, Type og Export Control ( Private ). For metodene, velg så Operations fanen og gjør tilsvarende som du gjorde for attributter ( Export Control skal her være Public ). For å spesifisere argumenter til en metode (operation), velg Kurs antallplasser : Integer antallpaameldt : Integer Semester : String ledigplass() : Boolean meldpaa(studenten : ) +paameldtekurs 0..n +paameldtestudenter er meldt paa 0..n studentid : String navn : String ermeldtpaa(kurset : Kurs) Figur 3 3

Detail når du holder på med metoden. Dobbeltklikk i det tomme Arguments vinduet og velg Insert. Dobbeltklikk på det nye argumentet og sett navn og type. Merk at for at argumentene skal synes i diagrammet etterpå, må du muligens høyreklikke på klassen, velge Options > Show Operation Signature. Legg til assosiasjonen (dvs linjen mellom klassene). Dobbeltklikk på assosiasjonen. Dersom assosiasjonen i seg selv skal ha et navn, for eksempel er meldt paa, skrives dette inn her. Like under kan du se hvilken rolle som er knyttet til hvilken klasse og sette navn på rollene ( paameldtestudenter og paameldtekurs ). Under Role A detail og Role B detail kan du sette multiplisiteten. Nå kan du lage sekvensdiagrammet i figur 4, som er tatt fra forelesningen om modellering av objekter. I navigasjonstreet på venstre side, høyreklikk på Logical View og velg New > Sequence Diagram, og gi denne et navn, og dobbeltklikk på denne. Du får nå opp et tomt sekvens diagram i tegnevinduet. Fra Use Case View i navigasjonstreet, dra aktøren over i sekvensdiagrammet. Fra Logical View i navigasjonstreet, dra deretter en hver av Kurs og over i sekvensdiagrammet. I sekvensdiagrammet har du nå en aktør og to objekter av klassene Kurs og. Dobbeltklikk på objektene og gi dem navnene kurset og studenten. Men nå trenger du de fire andre objektene kantobjekt, meldpaa, UiO og emnet, og først må du definere deres respektive klasser. Høyreklikk på Logical View i navigasjonstreet, og velg New > Class. Gi navn og spesifiser metoder og attributter på liknende måte som du spesifiserte metodene og attributtene til klassene Kurs og i stad. For eksempel ser du at Universitet skal ha metodene : kantobjektet : Kant UiO : Universitet emnet : Emne kurset : Kurs studenten : 1: meldpaakurs(studentid, enmekode, semester) 2: <<create>> meldpaa : MeldPaaKurs 3: meldpaakurs(studentid, emnekode, semester) 4: studenten:=finn(studentid) 5: emnet:=finnemne(emnekode) 6: forutsetteremner( ) 7: kurset:=finnkurs(semester) 8: ledigplass( ) 9: meldpaa(studenten) 10: ermeldtpaa(kurset) Figur 4 4

finn og finnemne, og både Kant og MeldPaaKurs skal ha metode meldpaakurs. MeldPaaKurs skal dessuten ha attributtene studenten, emnet og kurset. Merk at disse klassene kun er delvis spesifiserte, fordi vi foreløpig bare pønsker på hvordan systemet skal fungere. Dra så et objekt av hver av disse nye klassene over i sekvensdiagrammet, og gi dem navn. Nå kan du tegne inn meldingene. Velg Object Message ikonet (vanlig rett pil) og trekk piler som angitt i figur 4. Du kan endre på høydene til de vertikale activation stolpene som dukker opp slik at de angir riktig aktivering av hvert meldingskall. Dobbeltklikk på meldingspila, og velg ønsket melding fra dropdown menyen ved siden av Name feltet. Tilgjengelige meldinger er de du har spesifisert for angjeldende klasse. Du kan sette inn aktual parametre (f. eks. studentid ) istedenfor de formelle parametertypene ( Integer ) om du ønsker, og du kan også angi tilordninger til attributter som en del av metodenavnet som i figur 4. Merk at objektene emnet, kurset og studenten er objekter som blir returnert av metodekallene og som tilordnes attributtene av samme navn i objektet meldpaa. I diagrammet kan du etterpå flytte på lablene og endre font (høyreklikk på lablen og velg Format ). Til slutt, sett en Destruction marker nederst på livslinjen til objektet meldpaa. Hvordan får jeg diagrammene inn i dokumentet mitt? Under Edit menyen finner du valget Copy active diagram. Du kan også trykke Ctrl+C, dersom ingen spesielle elementer i diagrammet er markert. Deretter er det bare å åpne Word, OpenOffice eller lignende og lime inn med Ctrl + V eller Edit Paste. Til slutt: Hvis du lurer på noe mer, spør noen rundt deg, sjekk http://homepages.uel.ac.uk/d.bowden/ eller send epost til gruppelærer. Husk også at det er en hjelpefunksjon tilgjengelig i Rose, via F1 knappen eller Help menyen øverst. Dersom Rational Rose krasjer til stadighet, meld fra til drift@ifi.uio.no. Og finner du feil i, eller forbedringer til dette dokumentet, meld fra til kursledelsen. 5