UML til kravspecificering UML mini-kompendium - til brug i forbindelse med modellering af kravspecifikationer. Copyright 2006 Teknologisk Institut, IT-Udvikling
Aktivitetsdiagram 2/9 Aktion Aktionsnavn En aktion (delaktivitet), hvor der skal udføres et arbejde. Kontrolflow Knuder Kontrolflowet indikerer overgangen fra en aktion til en anden. Aktivitet start Aktivitet slut Flow slut A A Start og slut connector Bruges til at binde store diagrammer sammen. Beslutning Beslutningsknude. Hver af de udgående kontrolpile kan tilknyttes en betingelse. Kan vises med input, som en note til diamanten.
3/9 Note Bruges til kommentarer. Kan benyttes til alle UML diagramtyper. Synkronisering Objekt Objektnavn JOIN bruges til at vise at fx tre kontrolstrømme samles synkront til én. FORK Bruges til at vise at en kontrolstrøm deles op i fx tre parallelle processer. Bruges til at repræsentere information eller fysiske størrelser. Hændelse (trigger) Send signal Accept signal Tidsudløst trigger Signal beskrevet som objekt.
4/9 Struktureret aktivitet <<struktureret>> Aktivitetsnavn Bruges til at vise delaktiviteter evt. i et selvstændigt diagram. Aktivitet 1 Aktivitet 2 Svømmebaner Område 1 Område 2 Kaldes også aktivitetsopdelinger (partitions). Bruges typisk til opdeling af aktioner efter karakteristika som: rolle, lokation, organisation m.m. Kan underopdeles yderligere til flerdimensionale partitions.
Use case diagram 5/9 Use case Aktør Kommunikationspil Afgrænsning Aktørnavn Systemnavn En beskriver en måde, som den enkelte aktør ønsker at bruge systemet på Interagerer med systemet. Kan være: En person rolle, et andet system, eksternt hardware, en organisation, et firma, en afdeling Modeller at der sker en interaktion mellem en aktør og en. Viser ikke Datastrøm. Pilen kan udelades men bruges til at indikere hvem der initierer kommunikationen Kan bruges til at pakke s i grupper fx hele systemet, delsystemer, efter aktører, efter objekter m.m.
6/9 Inkluderet Use case <<Include>> Inkluderet Include s beskriver funktionalitet, som er fælles for to eller flere s. - - Bruges til at vise fælles funktionalitet (genbrug), eller til at vise en større delarbejdsopgave (nedbrydning). Udvidet (extend) Use case <<Extend>> Udvidet Extend relationen beskriver mulige udvidelser som ikke er en del af det normale forløb -Bruges til at vise funktionalitet der udvider den almindelige måde at udføre den overordnede på. Nedarvet (inherit) Use case Inherit relationen giver mulighed for generalisering/specialisering af s dvs. definere specielle slags af en selvstændig overordnet. Nedarvet
diagram 7/9 Simpel notation + nr: tal {>0} - navn: tekst - fødselsdag: dato - adresse: - telefon: - email: - gift: = nej Kunde Udvidet notation + beregnalder(veddato :dato) + skiftadresse(nyadresse : ) + læsnavn() : tekst + opdaterkontaktinfo(nytelefon :, nyemail : ) Eksempel Attribut 1 Attribut 2... Operation 1 Operation 2... En klasse er - en definition af et begreb - en beskrivelse af de egenskaber, der er fælles for alle objekterne af klassen En attribut er en beskrivende egenskab ved en klasse. For hver attribut kan specificeres: Datatype Synlighed (+, - og #) Startværdi (initial value) Værdimængde (value set) n har defineret operationer, der beskriver de funktioner, man kan udføre på objekter af klassen. For hver operation kan specificeres: synlighed retur datatype lovlige værdier parametre - i parentes adskilt af kommaer. og for hver parameter: type default værdi
8/9 Association En association mellem to (eller flere) klasser definerer, at klassernes objekter kan have links til hinanden. Almindelig association Aggregering En aggregering er en association mellem to klasser, hvor den ene klasse underlagt (fysisk eller logisk) den anden. Objekter af den ene klasse BESTÅR AF/ INDEHOLDER / HAR TILKNYTTET objekter af den anden klasse En komposition er en hård aggregering, hvor objekter af den ene klasse er fysisk underlagt et objekt af den anden klasse. kautionist * Person ansat * Komposition kaution bankkunde ejer > 1..* * * Bankkonto * En association kan specificeres med: Associationsnavn + evt. pil i læseretning Rollenavn rolle et objekt af den ene klasse har i associationen. Navigationspil Normal accesvej Mulitpliciteter - Hvor mange objekter af klasse kan knyttes til et objekt af en anden klasse. Multiplicitet 1 eller 1..1 eller blank Betydning Præcis en Bank 0..1 0..1 * eller 0..* 1..* Nul eller en Nul eller flere En eller flere 1 Eksempel 2..6 To til seks
9/9 Generalisering/ specialisering Superklasse En generaliserings/specialiseringsstruktur kaldes også nedarvninger, og bruges til at modellere semantiske klassificeringer Subklasse Superklassen definerer foreningsmængden af objekter - og de egenskaber der er generelle for alle objekter Konto Subklassen definerer en delmængde og de egenskaber der er specifikke for subklassens objekter Kundekonto Intern konto Egenskaber der nedarves fra en supertil en subklasse: attributter operationer associationer Eksempel