Redigér diagram

Mens du arbejder med et diagram, forsøger Umbrello UML Modeller at lede dig rette ved at bruge nogle enkle regler om hvilke elementer er gyldige i forskellige slags diagrammer, samt hvilke forhold som kan eksistere mellem dem. Hvis du er ekspert på UML, kommer du formodentlig ikke til endog bemærke dette, men det er til hjælp for nybegyndere for at oprette diagram som følger standarden.

Så snart du har oprettet diagrammerne er det tiden at begynde redigere dem. Bemærk her (den for nybegyndere subtile) forskel mellem at redigere et diagram, og at redigere modellen. Som du allerede ved til, er diagrammer visninger af modellen. Hvis du for eksempel laver en klasse ved at redigere et klassediagram, redigerer du i virkeligheden både diagrammet og modellen. Hvis du ændrer farve eller andre visningspunkter for en klasse i klassediagrammet, redigerer du kun diagrammet, men ingenting ændres i modellen.

Indsæt elementer

En af de første ting du gør når du redigerer et nyt diagram, er at indsætte elementer i det (klasser, aktører, brugstilfælde, osv.). Der er to grundlæggende måder at gøre dette:

  • Træk eksisterede elementer til modellen fra trævisningen

  • Opret nye elementer i modellen, og tilføj dem til diagrammet samtidigt, ved at bruge et af redigeringsværktøjerne i arbejdsværktøjslinjen.

For at indsætte elementer som allerede findes i modellen, trækkes de blot fra trævisningen og slippes der hvor du ønsker at de skal være i diagrammet. Du kan altid flytte element rundt i diagrammet med markeringsværktøjet.

Den anden måde at tilføje elementer til diagrammet er at bruge arbejdsværktøjslinjens redigeringsværktøj (observér at dette også tilføjer elementerne til modellen).

Arbejdsværktøjslinjen var normalt placeret længst til højre for programvinduet, men Umbrello UML Modeller 1.2 har flyttet den længst op i vinduet. Du kan dokke den på den anden side, eller lade den flyde omkring hvis du foretrækker det. Værktøjerne som er tilgængelige på denne værktøjslinjen (knapperne du ser på den) ændres afhængig af hvilket diagram du arbejder med for øjeblikket. Knappen for værktøjet som er valgt lige nu er aktiveret i værktøjslinjen. Du kan skifte til markeringsværktøjet ved at trykke på Esc-tasten.

Når du har valgt et redigeringsværktøj i arbejdsværktøjslinjen (for eksempel værktøjet til at indsætte klasser), ændres musemarkøren til et kryds, og du kan indsætte elementer i modellen ved at enkeltklikke i diagrammet. Bemærk at element i UML skal have et entydigt navn. Så hvis du har en klasse i et diagram som hedder KlassA, og senere bruger værktøjet til at indsætte en klasse i et andet diagram, kan du ikke også give den nye klassen navnet KlassA. Hvis det er meningen at de to skal være forskellige elementer, skal du give dem entydige navne. Hvis du forsøger at tilføje samme element til diagrammet, er værktøjet for at indsætte klasser ikke det rette værktøj til dette. Du skal i stedet trække og slippe klassen fra trævisningen.

Slet elementer

Du kan slette et hvilket som helst element, ved at vælge punktet Slet i dets sammenhængsafhængige menu.

Igen det er stor forskel mellem at fjerne et objekt fra diagrammet, og at fjerne et objekt fra modellen. Hvis du fjerner et objekt indefra et diagram, tager du det kun væk fra dette diagram: elementet er stadigvæk en del af modellen og hvis der er andre diagrammer som bruger samme element, vil de ikke lide nogen ændring. På den anden side, hvis du fjerner elementet i trævisningen, tager du i virkeligheden elementet væk fra modellen. Eftersom elementet ikke længere eksisterer i modellen, tages det også automatisk væk fra alle diagrammer det vises i.

Redigér elementer

Du kan redigere de fleste UML-elementer i model og diagrammer ved at åbne dets egenskabsdialog og vælge passende punkter. For at redigere egenskaberne for et objekt, vælges Egenskaber i dets sammenhængsafhængige menu (højreklik). Hvert element har en dialog som består af flere sider hvor du kan indstille valgmulighederne som har med dette element at gøre. For visse elementer, såsom aktører, kan du kun angive et fåtal muligheder, såsom objektnavn og dokumentation, mens for andre elementer, såsom klasser, kan du redigere dets attribut og operationer, vælge hvad du vil vise i diagrammet (hel operationsunderskriften eller kun operationsnavn, osv.) og til og med farverne du vil bruge for linjer og udfyldningen af klassens repræsentation i et diagram.

For de fleste UML-elementer kan du også åbne egenskabsdialogen ved at dobbeltklikke på det, hvis du bruger markeringsværktøjet (pilen). En undtagelse fra dette er associationer, hvor et dobbeltklik laver et ankerpunkt. For associationer skal du bruge den sammenhængsafhængige menu som vises med højreklik, til at få egenskabsdialogen frem.

Bemærk at du også kan vælge punktet egenskaber i den sammenhængsafhængige menu for elementer i trævisningen. Dette lader dig også redigere egenskaber for diagrammer, såsom at indstille om gitteret skal vises eller ej.

Redigér klasser

Selv om redigering af egenskaber for alle objekter allerede er afdækket i foregående afsnit, fortjener klasser et særligt afsnit, eftersom de er noget mere komplicerede, og har flere valgmuligheder end de fleste andre UML-elementer.

I klassens egenskabsdialog kan du indstille alting, fra farven den bruger til operationerne og attributten den har.

Almene klasseindstillinger

Siden med generelle klasseindstillinger i egenskabsdialogen er selvforklarende. Her kan du ændre klassens navn, synlighed, dokumentation, osv. Denne side er altid tilgængelig.

Indstillinger af klasseattribut

På siden for indstillinger af attribut, kan du tilføje, redigere eller fjerne attributter (variabler) for klassen. Du kan flytte attributter op og ned i listen ved at trykke på piletasterne langs kanten. Denne side er altid tilgængelig.

Indstillinger af klasseoperationer

På lignende måde som for indstillinger af klasseattribut, kan du tilføje, redigere eller fjerne operationer for klassen på siden for indstillinger af klasseoperationer. Når du tilføjer eller redigerer en klasseoperation, indskriver du de grundlæggende data i dialogen Operationsegenskaber. Hvis du vil tilføje parametre til operationerne, skal du klikke på knappen Ny parameter, som viser dialogen Parameteregenskaber. Denne side er altid tilgængelig.

Klasseskabelonsindstillinger

Denne side lader dig tilføje klasseskabeloner som er uspecificerede klasser eller datatyper. I Java 1.5 kommer de til at hedde Generics.

Siden for klasseassociationer

Siden Klasseassociationer viser alle klassens associationer i det nuværende diagram. Et dobbeltklik på en association viser dens egenskaber, og afhængig af type af association, kan du ændre visse parametre her, såsom at indstille mangfoldighed og rollenavn. Hvis associationerne ikke tillader at sådanne punkter ændres, er dialogen for associationsegenskaber kun læsbar, og du kan kun ændre dokumentationen som hører sammen med associationen.

Denne side er kun tilgængelig hvis du åbner klasseegenskaberne inde i et diagram. Hvis du vælger klasseegenskaber fra den sammenhængsafhængige menu i trævisningen, er denne side ikke tilgængelig.

Siden for klassevisning

På siden Visningstilvalg, kan du indstille hvad der skal vises i diagrammet. En klasse kan vises som kun en rektangel med klassenavnet i (nyttigt hvis du har mange klasser i diagrammet, eller for øjeblikket ikke er interesseret i detaljerne for hver klasse), eller så fuldstændige at pakke, stereotyper, attributter og operationer vises med fuldstændig underskrift og synlighed.

Afhængig af mængden af information som du vil se, kan du vælge tilsvarende tilvalg på denne side. Ændringarne du laver her gælder kun visningsvalgmulighederne for diagrammet. Det betyder at skjulen af klassens operationer kun gør at de ikke vises i diagrammet, men operationerne er fortsat der som en del af modellen. Dette er kun tilgængeligt hvis du vælger klasseegenskaberne inde i et diagram. Hvis du åbner klasseegenskaberne fra trævisningen, mangler denne side, eftersom sådanne visningsegenskaber ikke giver mening i dette tilfælde.

Siden for klassefarver

På siden Komponentfarve kan du indstille farverne som du vil have for linjer og udfyldning af kontrollen. Dette giver naturligvis kun mening for klasser som vises i diagrammer, og mangler hvis du åbner klassens egenskabsdialog i trævisningen.

Associationer

Associationer relaterer to UML-objekter til hinanden. Normalt defineres associationer mellem to klasser, men visse typer af associationer kan også findes mellem brugstilfælde og aktører.

For at oprette en association, vælges passende værktøj i arbejdsværktøjslinjen (generel association, generalisering, aggregering, osv.), og enkeltklik på det første element som indgår i associationen. Enkeltklik derefter på det andet element som indgår. Bemærk at dette er to klik, et på hvert af elementerne som indgår i associationen. Det er ikke et træk fra et objekt til et andet.

Hvis du forsøger bruge associationer på en måde som ikke tillades af UML-specifikationen, nægter Umbrello at oprette associationen og du får en fejlmeddelelse. Dette vil indtræffe, hvis for eksempel en generalisering findes fra klasse A til klasse B, og du derefter forsøger at oprette en ny generalisering fra klasse B til klasse A.

Et højreklik på en association viser en sammenhængsafhængig menu med handlinger som du kan anvende på den. Hvis du behøver at slette en association, vælges Fjern i den sammenhængsafhængige menu. Du kan også vælge Egenskaber, og afhængig af associationens type, redigere attributter såsom roller og mangfoldighed.

Ankerpunkter

Associationer tegnes, som standard, som en lige linje der forbinder de to objekter i diagrammet.

Du kan tilføje ankerpunkter til at bøje en association ved at dobbeltklikke et sted langs associationslinjen. Dette indsætter et ankerpunkt (som vises som et blåt punkt hvor associationslinjen er markeret), som du kan flytte omkring for at give associationen sin form.

Hvis du behøver fjerne en ankerpunkt, dobbeltklik på den igen for at fjerne den.

Bemærk at den eneste måde at redigere en associationsegenskab er via den sammenhængsafhængige menu. Hvis du forsøger at dobbeltklikke på den som med andre UML-objekter, indsættes blot et ankerpunkt.

Noter, tekst og felter

Noter, tekstlinjer og felter er elementer som kan findes i alle slags diagrammer, og har ingen virkelig semantisk værdi, men er meget hjælpsomme for at tilføje ekstra kommentarer eller forklaringer, som kan gøre diagrammet lettere at forstå.

For at tilføje en note eller tekstlinje, vælges tilsvarende værktøj i arbejdsværktøjslinjen, og så enkeltklikkes på diagrammet hvor du vil placere kommentaren. Du kan redigere teksten ved at åbne elementet via dets sammenhængsafhængige menu, eller for noter, også ved at dobbeltklikke på dem.

Ankre

Ankre bruges for til at linke noter og et andet UML-element sammen. Normalt bruger du for eksempel en note til at forklare eller give en kommentar om en klasse eller en vis association, og i så tilfælde kan du bruge ankeret til at gøre det klart at noten hører til netop dette element.

Anvend ankerværktøjet i arbejdsværktøjslinjen, for at tilføje et anker mellem en note og et andet UML-element. Først skal du klikke på noten, og derefter klikke på UML-elementet som du vil at noten skal linkes til.