# Att arbeta med &umbrello;

Det här kapitlet ger en introduktion till &umbrello;s användargränssnitt och berättar allt du måste veta för att börja med modellering. Alla åtgärder i &umbrello; är tillgängliga via menyer och verktygsrader, men &umbrello; använder också i stor utsträckning sammanhangsberoende menyer som visas med höger musknapp. Du kan högerklicka på nästan alla element på &umbrello;s arbetsyta eller i trädvyn för att få en meny med de mest användbara funktionerna som kan tillämpas på just det särskilda elementet som du arbetar med. Vissa användare tycker att detta är lite förvirrande i början (eftersom de är mer vana att arbeta med menyn eller verktygsrader), men när man väl har vant sig att högerklicka, snabbar det upp arbetet en hel del.

## Användargränssnitt

&umbrello;s huvudfönster är uppdelat i tre områden som hjälper till att få en överblick över hela systemet och att komma åt de olika diagrammen snabbt, under arbetet med modellen.

Dessa områden kallas:

- Trädvy

- Arbetsyta

- Dokumentations- och kommandohistorikfönstret

&umbrello;s användargränssnitt
&umbrello;s användargränssnitt

&umbrello;s användargränssnitt

### Trädvy

Trädvyn är oftast placerad längst upp till vänster i fönstret, och visar alla diagram, klasser, aktörer och användningsfall som bygger upp modellen. Trädvyn låter dig få en snabb överblick över elementen som modellen består av. Trädvyn ger också ett snabbt sätt att byta mellan de olika diagrammen i modellen, och att infoga element från modellen i det nuvarande diagrammet.

Om du arbetar med en model som har mer än ett fåtal klasser och diagram, kan trädvyn hjälpa dig att klara av det hela genom att organisera modellen i mappar. Du kan skapa mappar genom att välja lämpligt alternativ i den sammanhangsberoende menyn (högerklicka på en av mapparna i trädvyn) och du kan organisera element genom att flytta dem till lämpliga mappar (drag och släpp).

### Dokumentations- och kommandohistorikfönstret

Dokumentations- och kommandohistorikfönstret är det lilla fönstret placerat längst ner till vänster i &umbrello;, som ger en snabb förhandsgranskning av dokumentationen för objektet som för närvarande är markerat. Dokumentationsfönstret är ganska litet, eftersom det är avsett att ge ett snabbt utdrag ur elementets dokumentation, medan det tar så lite plats som möjligt på skärmen. Om du behöver titta på dokumentationen i mer detalj, kan du alltid öppna elementets egenskaper.

### Arbetsyta

Arbetsytan är huvudfönstret i &umbrello;, och är platsen där alla verkliga åtgärder sker. Man använder arbetsytan för att redigera och visa diagrammen i en modell. Arbetsytan visar diagrammet som för tillfället är aktivt. För närvarande kan bara ett diagram åt gången visas på arbetsytan.

## Skapa, ladda och spara modeller

Det första du behöver göra, för att börja utföra något användbart med &umbrello;, är att skapa en modell att arbeta med. När du startar &umbrello; laddar det alltid den senast använda modellen, eller skapar en ny, tom, modell (beroende på alternativ som du ställer in i inställningsdialogrutan). Det gör det möjligt att börja arbeta direkt.

### Ny modell

Om du vid något tillfälle behöver skapa en ny modell, kan du göra det genom att välja alternativet Ny i menyn Arkiv, eller genom att klicka på ikonen Ny i programverktygsraden. Om du för ögonblicket arbetar med en modell som har ändrats, frågar &umbrello; om dina ändringar ska sparas, innan den nya modellen skapas.

### Spara modell

Du kan spara modellen när som helst, genom att välja alternativet Spara i menyn Arkiv, eller genom att klicka på knappen Spara i programverktygsraden. Om du behöver spara modellen med ett annat namn, kan du använda alternativet Spara som i menyn Arkiv.

Av bekvämlighetsskäl, erbjuder &umbrello; också möjligheten att automatiskt spara arbetet efter en viss tidsperiod. Du kan anpassa om du vill aktivera den här funktionen, samt tidsintervallet, i &umbrello;s inställningar.

### Ladda modell

Du kan välja alternativet Öppna i menyn Arkiv för att ladda en befintlig modell, eller klicka på ikonen Öppna i programverktygsraden. De senast använda modellerna är också tillgängliga i undermenyn Öppna senaste i menyn Arkiv, för att snabba upp åtkomst till de oftast använda modellerna.

&umbrello; kan bara arbeta med en modell åt gången, så om du ber programmet ladda en modell åt dig, och den nuvarande modellen har ändrats sedan du senast sparade den, frågar &umbrello; om ändringarna ska sparas för att förhindra att arbetet går förlorat. Du kan starta två eller flera instanser av &umbrello; när som helst. Du kan också kopiera och klistra in mellan instanser.

## Redigera modeller

I &umbrello; finns det två grundläggande sätt att redigera elementen i modellen.

- Redigera modellelement direkt via trädvyn

- Redigera modellelement direkt via ett diagram

Med användning av den sammanhangsberoende menyn i trädvyn, kan du lägga till, ta bort, och ändra nästan alla element i modellen. Högerklicka på mapparna i trädvyn för att visa alternativ för att skapa olika sorters diagram, samt - beroende på om mappen är en Användningsfallsvy eller en Logisk vy - aktörer, användningsfall, klasser etc.

När du väl har lagt till element i modellen, kan du också redigera dem genom användning av deras egenskapsdialogrutor, som du hittar genom att välja alternativet Egenskaper i den sammanhangsberoende menyn som visas vid ett högerklick på elementen i trädvyn.

Du kan också redigera modellen genom att skapa eller ändra element via diagram. Mer information om hur detta görs, får du i följande avsnitt.

## Lägga till och ta bort diagram

&UML;-modellen består av en uppsättning &UML;-element och samband mellan dem. Man kan dock inte se modellen direkt, utan man använder diagram för att titta på den.

### Skapa diagram

För att skapa ett nytt diagram i modellen, välj helt enkelt diagramtypen du behöver i undermenyn Ny från menyn Diagram, och ge den ett namn. Diagrammet skapas, och görs aktivt, och du ser det omedelbart i trädvyn.

Kom ihåg att &umbrello; i stor utsträckning använder sammanhangsberoende menyer: du kan också högerklicka på en mapp i trädvyn, och välja lämplig diagramtyp i undermenyn Ny från den sammanhangsberoende menyn. Observera att du kan bara skapa användningsfallsdiagram i användningsfallsmappar, och att övriga typer av diagram bara kan skapas i mappar för logiska vyer.

### Ta bort diagram

Skulle du behöva ta bort ett diagram från modellen, kan du göra det genom att göra det aktivt och välja Ta bort i menyn Diagram. Du kan också åstadkomma detta genom att välja Ta bort i den sammanhangsberoende menyn för diagrammet i trädvyn.

Eftersom att ta bort ett diagram är något allvarligt, som kunde orsaka att arbete går förlorat, om det görs av misstag, ber &umbrello; att du bekräftar en borttagningsåtgärd innan diagrammet verkligen tas bort. Så fort ett diagram har tagits bort, och filen har sparats, finns det inget sätt att ångra åtgärden.

### Byta namn på diagram

Om du vill byta namn på ett befintligt diagram, kan du lätt göra det genom att välja alternativet Byt namn i den sammanhangsberoende menyn i trädvyn.

Ett annat sätt att byta namn på ett diagram är via dess egenskapsdialogruta, som du erhåller genom att välja Egenskaper från den sammanhangsberoende menyn, eller genom att dubbelklicka på det i trädvyn.

## Redigera diagram

Medan du arbetar med ett diagram, försöker &umbrello; leda dig rätt genom att tillämpa några enkla regler om vilka element som är giltiga i olika sorters diagram, samt vilka förhållanden som kan finnas mellan dem. Om du är expert på &UML;, kommer du förmodligen inte ens märka det, men det är till hjälp för nybörjare för att skapa diagram som följer standarden.

Så fort du har skapat diagrammen är det dags att börja redigera dem. Observera här (den för nybörjare subtila) skillnaden mellan att redigera ett diagram, och att redigera modellen. Som du redan känner till, är diagram vyer av modellen. Om du till exempel skapar en klass genom att redigera ett klassdiagram, redigerar du i själva verket både diagrammet och modellen. Om du ändrar färg eller andra visningsalternativ för en klass i klassdiagrammet, redigerar du bara diagrammet, men ingenting ändras i modellen.

### Infoga element

En av de första sakerna som du gör när du redigerar ett nytt diagram, är att infoga element i det (klasser, aktörer, användningsfall, etc.). Det finns två grundläggande sätt att göra det:

- Dra befintliga element till modellen från trädvyn

- Skapa nya element i modellen, och samtidigt lägga till dem i diagrammet, genom att använda ett av redigeringsverktygen i arbetsverktygsraden.

För att infoga element som redan finns i modellen, dra dem bara från trädvyn och släpp dem där du vill att de ska vara i diagrammet. Du kan alltid flytta omkring element i diagrammet med markeringsverktyget.

Det andra sättet att lägga till element i diagrammet är att använda arbetsverktygsradens redigeringsverktyg (observera att detta också lägger till elementen i modellen).

Arbetsverktygsraden var normalt placerad längst upp i fönstret. Verktygen som är tillgängliga på den här verktygsraden (knapparna du ser på den) ändras beroende på vilket diagram du arbetar med för ögonblicket. Knappen för verktyget som just nu är valt är aktiverad i verktygsraden. Du kan byta till markeringsverktyget genom att trycka på Esc-tangenten.

När du har valt ett redigeringsverktyg i arbetsverktygsraden (till exempel verktyget för att infoga klasser), ändras muspekaren till ett kors, och du kan infoga element i modellen genom att enkelklicka i diagrammet. Observera att element i &UML; måste ha ett unikt namn. Så om du har en klass i ett diagram som heter KlassA, och sedan använder verktyget för att infoga klasser för att infoga en klass i ett annat diagram, kan du inte också ge den nya klassen namnet KlassA. Om det är meningen att de två ska vara olika element, måste du ge dem unika namn. Om du försöker lägga till samma element i diagrammet, är inte verktyget för att infoga klasser rätt verktyg för detta. Du ska istället dra och släppa klassen från trädvyn.

### Ta bort element

Du kan ta bort vilket element som helst, genom att välja alternativet Ta bort i dess sammanhangsberoende meny.

Återigen är det en stor skillnad mellan att ta bort ett objekt från diagrammet, och att ta bort ett objekt från modellen. Om du tar bort ett objekt inifrån ett diagram, tar du bara bort det från just det diagrammet: elementet är fortfarande en del av modellen och om det finns andra diagram som använder samma element, råkar de inte ut för någon ändring. Å andra sidan, om du tar bort elementet i trädvyn, tar du i själva verket bort elementet från modellen. Eftersom elementet inte längre existerar i modellen, tas det också automatiskt bort från alla diagram det visas i.

### Redigera element

Du kan redigera de flesta &UML;-element i modellen och diagram genom att öppna dess egenskapsdialogruta och välja lämpliga alternativ. För att redigera egenskaperna hos ett objekt, välj Egenskaper i dess sammanhangsberoende meny (högerklicka). Varje element har en dialogruta som består av flera sidor där du kan anpassa alternativen som har med det elementet att göra. För vissa element, som aktörer, kan du bara ange ett fåtal alternativ, som objektnamn och dokumentation, medan för andra element, som klasser, kan du redigera dess attribut och operationer, välja vad du vill visa i diagram (hela operationssignaturen eller bara operationsnamn, etc.) och till och med färgerna du vill använda för linjer och ifyllnad av klassens representation i ett diagram.

För &UML;-element kan du också öppna egenskapsdialogrutan genom att dubbelklicka på det, om du använder markeringsverktyget (pilen).

Observera att du också kan välja alternativet egenskaper i den sammanhangsberoende menyn för elementen i trädvyn. Detta låter dig också redigera egenskaper för diagram, som att ställa in om rutnätet ska visas eller inte.

### Redigera klasser

Även om redigering av egenskaper för alla objekt redan har täckts av föregående avsnitt, förtjänar klasser ett särskilt avsnitt, eftersom de är något mer komplicerade, och har fler alternativ än de flesta andra &UML;-element.

I klassens egenskapsdialogruta kan du ställa in allting, från färgen den använder till operationerna och attributen den har.

#### Allmänna klassinställningar

Sidan med allmänna klassinställningar i egenskapsdialogrutan är självförklarande. Här kan du ändra klassens namn, synlighet, dokumentation, etc. Den här sidan är alltid tillgänglig.

#### Inställningar av klassattribut

På sidan för inställningar av attribut, kan du lägga till, redigera eller ta bort attribut (variabler) för klassen. Du kan flytta attribut upp och ner i listan genom att trycka på piltangenterna längs kanten. Den här sidan är alltid tillgänglig.

#### Inställningar av klassoperationer

På liknande sätt som för inställningar av klassattribut, kan du lägga till, redigera eller ta bort operationer för klassen på sidan för inställningar av klassoperationer. När du lägger till eller redigerar en klassoperation, skriver du in grundläggande data i dialogrutan Operationsegenskaper. Om du vill lägga till parametrar till operationerna, måste du klicka på knappen Ny parameter, som visar dialogrutan Parameteregenskaper. Den här sidan är alltid tillgänglig.

#### Klassmallsinställningar

Den här sidan låter dig lägga till klassmallar som är ospecificerade klasser eller datatyper. I Java 1.5 kommer de att kallas Generics.

#### Sidan för klassassociationer

Sidan Klassassociationer visar alla klassens associationer i det nuvarande diagrammet. Ett dubbelklick på en association visar dess egenskaper, och beroende på typ av association, kan du ändra vissa parametrar här som att ställa in mångfald och rollnamn. Om associationen inte tillåter att sådana alternativ ändras, är dialogrutan för associationsegenskaper bara läsbar, och du kan endast ändra dokumentationen som hör ihop med associationen.

Den här sidan är bara tillgänglig om du öppnar klassegenskaperna inne i ett diagram. Om du väljer klassegenskaper från den sammanhangsberoende menyn i trädvyn, är den här sidan inte tillgänglig.

#### Sidan för klassvisning

På sidan Visningsalternativ, kan du ställa in vad som ska visas i diagrammet. En klass kan visas som bara en rektangel med klassnamnet i (användbart om du har många klasser i diagrammet, eller för tillfället inte är intresserad av detaljerna för varje klass), eller så fullständiga att paket, stereotyper, attribut och operationer visas med fullständig signatur och synlighet.

Beroende på mängden information som du vill se, kan du välja motsvarande alternativ på sidan. Ändringarna du gör här gäller bara visningsalternativen för diagrammet. Det betyder att dölja klassens operationer bara gör att de inte visas i diagrammet, men operationerna är forfarande där som en del av modellen. Det här alternativet är bara tillgängligt om du väljer klassegenskaperna inne i ett diagram. Om du öppnar klassegenskaper från trädvyn, saknas den här sidan, eftersom sådana visningsegenskaper inte är vettiga i detta fall.

#### Sidan för klasstil

På sidan Komponentstil kan du anpassa färgerna som du vill ha för linjer och ifyllnad av komponenten. Det här alternativet är naturligtvis bara vettigt för klasser som visas i diagram, och saknas om du öppnar klassens egenskapsdialogruta i trädvyn.

### Associationer

Associationer relaterar två &UML;-objekt med varandra. Normalt definieras associationer mellan två klasser, men vissa typer av associationer kan också finnas mellan användningsfall och aktörer.

För att skapa en association, välj lämpligt verktyg i arbetsverktygsraden (generell association, generalisering, aggregering, etc.), och enkelklicka på det första elementet som ingår i associationen. Enkelklicka sedan på det andra elementet som ingår. Observera att detta är två klick, ett på vart och ett av elementen som ingår i associationen. Det är inte att dra från ett objekt till ett annat.

Om du försöker använda associationer på ett sätt som inte tillåts av &UML;-specifikationen, vägrar Umbrello skapa associationen och du får ett felmeddelande. Det skulle inträffa, om till exempel en generalisering finns från klass A till klass B, och du därefter försöker skapa en ny generalisering från klass B till klass A.

Ett högerklick på en association visar en sammanhangsberoende meny med åtgärder som du kan genomföra med den. Om du behöver ta bort en association, välj helt enkelt alternativet Ta bort i den sammanhangsberoende menyn. Du kan också välja alternativet Egenskaper, och beroende på associationens typ, redigera attribut som roller och mångfald.

#### Ankringspunkter

Associationer ritas normalt som en rak linje som förbinder de två objekten i diagrammet.

Du kan lägga till ankringspunkter för att forma en association genom att dubbelklicka någonstans längs associationslinjen. Då infogas en ankringspunkt (som visas som en blå punkt där associationslinjen är markerad), som du kan flytta omkring för att ge associationen sin form.

Om du behöver ta bort en ankringspunkt, dubbelklicka på den igen för att ta bort den.

Observera att det enda sättet att redigera en associations egenskaper är via den sammanhangsberoende menyn. Om du försöker att dubbelklicka på den som med andra &UML;-objekt, infogas bara en ankringspunkt.

### Anteckningar, text och rutor

Anteckningar, textrader och rutor är element som kan finnas i alla sorters diagram, och har inget verkligt semantiskt värde, men är mycket hjälpsamma för att lägga till extra kommentarer eller förklaringar, som kan göra diagrammet lättare att förstå.

För att lägga till en anteckning eller textrad, välj motsvarande verktyg i arbetsverktygsraden, och enkelklicka på diagrammet där du vill placera kommentaren. Du kan redigera texten genom att öppna elementet via dess sammanhangsberoende meny, eller för anteckningar, också genom att dubbelklicka på dem.

#### Ankare

Ankare används för att länka ihop anteckningar och ett annat &UML;-element. Normalt använder du till exempel en anteckning för att förklara eller ge en kommentar om en klass eller en viss association, och i så fall kan du använda ankaret för att klargöra att anteckningen hör till just det elementet.

Använd ankarverktyget i arbetsverktygsraden, för att lägga till ett ankare mellan en anteckning och ett annat &UML;-element. Först måste du klicka på anteckningen, och sedan klicka på &UML;-elementet som du vill att anteckningen ska länkas till.