OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas...

20
OOAD in UML OOAD in UML Seminar Software-Entwurf B. Sc. Sascha Tönnies

Transcript of OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas...

Page 1: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

OOAD in UMLOOAD in UML

Seminar Software-EntwurfB. Sc. Sascha Tönnies

Page 2: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

2Sascha Tönnies: OOAD in UML

AgendaAgenda

1. Einordnung des Themas im Seminar2. UML „kompakt“3. UML „detailliert“4. Werkzeugunterstützung

Page 3: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

3Sascha Tönnies: OOAD in UML

Einordnung des ThemasEinordnung des Themas

Software-Entwurf

OOP

UML

betrachtete ProgrammiertechnikOO Analyse und Design

wichtiger Bestandteil innerhalb vom Software-Entwurf

Hilfsmittel

Page 4: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

4Sascha Tönnies: OOAD in UML

Geschichte und ZukunftGeschichte und Zukunft

UML 0.9Booch, Rumbaugh, Jacobsen; 1996

UML 1.0UML Partners; 1/1997

UML 1.1UML Partners; 9/1997

UML 1.2UML Partners; 1998

UML 1.3UML Partners; 1999

UML 1.4UML Partners; 2001

UML 1.5UML Partners; 2003

UML 2UML 2 Partners ~10/2004

Einsatzerfahrungen der „Los amigos“

Integration derObject Constraint Language

XML Metadata Interchange

Erfahrungen der Anwender &semantische Präzisierung des Metamodells

Page 5: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

5Sascha Tönnies: OOAD in UML

UML kompaktUML kompakt

• Was ist UML?– Familie grafischer Notationen– ein einziges Metamodell– Hilft bei Beschreibung und Entwicklung von Softwaresystemen

• Notation– Syntax der Modellierungssprache

• Metamodell– „Ein Modell, welches festlegt,

wie ein anderes Modell gebaut wird.“

Page 6: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

6Sascha Tönnies: OOAD in UML

UML kompakt: 13 DiagrammtypenUML kompakt: 13 Diagrammtypen

Neu in UML 2.0

Neu in UML 2.0

Früher:Kollaborationsdiagramm

Page 7: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

7Sascha Tönnies: OOAD in UML

UML kompakt: EntwicklungsprozesseUML kompakt: Entwicklungsprozesse

• Es gibt viele Prozesse– UML für viele Bereiche der Prozesse nützlich

• Einsatzmöglichkeiten– Skizze– Blaupause– Programmiersprache

• Perspektiven– Softwareperspektive– Konzeptionelle Perspektive

Page 8: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

8Sascha Tönnies: OOAD in UML

AgendaAgenda

1. Einordnung des Themas im Seminar2. UML „kompakt“3. UML „detailliert“4. Werkzeugunterstützung

Page 9: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

9Sascha Tönnies: OOAD in UML

UML detailliert am VUML detailliert am V--ModellModell

Anforderungs-definition

Grobentwurf

Feinentwurf

Modulimple-mentierung

Abnahmetests

Systemtests

Integrations-tests

Modultests

Anwendungszenarien

Testfälle

Testfälle

Testfälle

• Anforderungsanalyse– Klassendiagramm (Class)– Anwendungsfälle (Use Cases)– Aktivitätsdiagramm (Activity)– Zustandsdiagramm (Statechart)

Page 10: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

10Sascha Tönnies: OOAD in UML

UML detailliert: KlassendiagrammUML detailliert: KlassendiagrammClass Drache {private boolean sleepy;private boolean hungry;private boolean firing;

public void feed(Animal a) {…

}public boolean sleep() {

return sleepy;}

public boolean makefire() {return true;

}}

Class Pinguin {private boolean sleepy;private boolean hungry;private boolean firing;

public void feed(Animal a) {…

}public boolean sleep() {

return sleepy;}

public boolean dive() {return true;

}}

Page 11: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

11Sascha Tönnies: OOAD in UML

UML detailliert: UML detailliert: UseUse CaseCase

Evolutionssimulator

AkteurSystemgrenze

Systemname

Anwendungsfall

Page 12: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

12Sascha Tönnies: OOAD in UML

UML detailliert: UML detailliert: StatechartStatechart

Auslöser(Trigger)

Bedingung(Guard)

Aktion

Start-zustand

Timetrigger

Page 13: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

13Sascha Tönnies: OOAD in UML

UML detailliert am VUML detailliert am V--ModellModell

• Entwurf– Klassendiagramm– Objektdiagramm– Paketdiagramm– Zustandsdiagramm– Verteilungsdiagramm

Page 14: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

14Sascha Tönnies: OOAD in UML

UML detailliert: KlassendiagrammUML detailliert: Klassendiagramm

Class Drache extends Animal {private boolean firing;

public boolean makefire() {return firing;

}}

Class Pinguin extends Animal {private boolean diving;

public boolean dive() {return diving;

}}

Class Animal {private boolean sleepy;private boolean hungry;

public void feed(Animal a) {…

}public boolean sleep() {

return sleepy;}

}

Page 15: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

15Sascha Tönnies: OOAD in UML

UML detailliert: KlassendiagrammUML detailliert: KlassendiagrammClass Animal {private boolean sleepy;private boolean hungry;

public int feed(Eatable a) {hasEaten++;return a.getCaloriens();

}public boolean sleep() {

return sleepy;}

}

Interface Eatable {public int getCaloriens();

}

Class Fisch implements Eatable {public int getCaloriens() {

return 100;}

}

Page 16: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

16Sascha Tönnies: OOAD in UML

UML detailliert: KlassendiagrammUML detailliert: Klassendiagramm

…….

Page 17: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

17Sascha Tönnies: OOAD in UML

UML detailliert: ObjektdiagrammUML detailliert: Objektdiagramm

Page 18: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

18Sascha Tönnies: OOAD in UML

AgendaAgenda

1. Einordnung des Themas im Seminar2. UML „kompakt“3. UML „detailliert“4. Werkzeugunterstützung

Page 19: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

19Sascha Tönnies: OOAD in UML

WerkzeugunterstWerkzeugunterstüützungtzung

• Noch sehr wenige Werkzeuge für UML 2– MagicDraw (in Anfängen)– Together (in Anfängen)

• Viele für UML 1.4– Rational XDE– ArgoUML (free)– Poseidon– ….

• Unterschiede in der Mächtigkeit der Tools– einige für Skizzen (z.B. Poseidon Comunity Edition)– einige für Blaupausen (z.B. Poseidon, MagicDraw)– CASE Modelling (Together)

Page 20: OOAD in UML - se.uni- · PDF fileSascha Tönnies: OOAD in UML 3 Einordnung des Themas Software-Entwurf OOP UML betrachtete Programmiertechnik OO Analyse und Design wichtiger Bestandteil

20Sascha Tönnies: OOAD in UML

EndeEnde

Danke für die Aufmerksamkeit!