Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Lavet af: Paw Petersen 15-12-2003 Design Design Class Diagram (DCD)

Lignende præsentationer


Præsentationer af emnet: "Lavet af: Paw Petersen 15-12-2003 Design Design Class Diagram (DCD)"— Præsentationens transcript:

1 Lavet af: Paw Petersen 15-12-2003 Design Design Class Diagram (DCD)

2 Hvornår laver man Design Class Diagrammer (DCD) ? Når man har lavet interactiondiagrammer fra sine Use – Case realizations, er det muligt at identificere specifikationerne til Software Classes og give dem metoder. Normalt kører DCDs parallelt med interactionsdiagrammerne. Man laver lidt interaction diagrammering og så lidt Design Class og så lidt interaction og udvider DCD.

3 Navn Structure Attributter Behavior (Operations) En Class Opbygning

4 Hvad viser DCD ? Specifikationerne for software klasser i applikationen. Klasser, associeringer og attributter. Metoder. Attribut type information. Navigation.Afhængighed.

5 Forskellen på Domain Model og Design Model Classes RegisterSale date isComplete:Boolean time Register... endSale() enterItem(...) makePayment(...) Sale date isComplete:Boolean time makeLineItem(...) 11 11 Captures Domain Model Design Model

6 Ved at gennemgå sit interactiondiagram, kan man finde de klasser man skal bruge I DCD. Man finder også sine metoder den Vej. Husk ! Det er ikke nødvendigvis alle klasser Der overførers fra Domain Modellen. Ved at gennemgå sit interactiondiagram, kan man finde de klasser man skal bruge I DCD. Man finder også sine metoder den Vej. Husk ! Det er ikke nødvendigvis alle klasser Der overførers fra Domain Modellen. Identificere Software klasser Og illustrer dem.

7 :Register:Sale Sale... makeLineItem(...) 2: makeLineItem(spec, qty)  Tilføj Metode Navne Collaboration Class Angiv metode navne udfra Interactiondiagrammer oversættelse af create messages Beskrivelse af accessing metoder Oversættelse af messages til multiobjekter Sprog-afhængigt syntaks

8 Create og Accessing Metode Create: Bliver omskrevet til at oprette ” new ” funktionen, Efterfulgt af et ” constructor ” call. Accessing Metoder: Her navngives accessor metoderne, såsom get – metoderne og mutator metoderne, såsom set – metoderne.

9 Multiobjekter En message til et multiobjekt bliver oversat som, en message til collection- objektet selv. Denne find(id) metode hører ikke til ProductSpecification.

10 Language – Dependent Syntax Det anbefales at man vedbliver med at bruge UML’s notationsform og venter med at ændre til Java-kode når koden skal genereres

11 Tilføje yderligere type information. Det er op til en selv, hvor meget man vil gøre yderligere ud af at tilføje Type information, men man bør dog tænke på hvem andre der skal læse ens DCD. Følgende tages i betragtning: Hvis den bliver lavet i et CASE TOOL, som automatisk generere kode, bør det alt sammen være med. Hvis den laves for at Softwareudviklere kan læse dem, bør man udelade noget af det som ikke har nogen større betydning.

12 Associeringer og Navigation Der sættes navigationspile på associeringerne. Den normale oversættelse af en associering med navigationspile er attribut visibility, fra sender til modtager. Normalt oversættes det til at, en class har en attribut som referere til en instans i modtager Classen. Associeringer bliver valgt ud fra ” Need to Know ” kriterier. A sends a message to B A creates an instance B A needs to maintain a connection to B

13 Tilføj afhængighedsforhold UML viser med en stiplet linie, når et element har kendskab til et andet element. Dette er nyttigt til at se ikke – attribut visibility imellem classes. D.v.s parameter, global og local visibility.

14 Tilhørsforhold som viser non – attribut visibility. local parameter

15 Notation SampleClass classAttribute +publicAttribute -privateAttribute attributeWithVisibilityUnspecified attribute1:type burgers:List og VeggieBurgers attribute2:type = initial value finalConstantAttribute:int = 5 {frozen} /derivedAttribute classMethod() + > SampleClass(int) methodWithVisibilityUnspecified methodReturnsSomething():Foo abstractMethod() abstractMethod2() { abstract } // alternate +publicMethod() -privateMethod() #protectedMethod() ~packageVisibleMethod() finalMethod() methodWithoutSideEffects() {query} synchronizedMethod() {guarded} method1WithParms(in parm1:String, inout parm2:int) methodWithParmsAndReturn(parm1: String):Foo methodWithParmsButUnspecified(…):Foo methodWithParmsAndReturnBothUnspecified()

16 Sammenspil Use – Case ModelDomain Model Design Model OOP JAVA


Download ppt "Lavet af: Paw Petersen 15-12-2003 Design Design Class Diagram (DCD)"

Lignende præsentationer


Annoncer fra Google