27
OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Embed Size (px)

Citation preview

Page 1: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

OO Analyse und Entwurf für Anwender

VIII. Beschreibungsmittel der Analyse (Fortsetzung)

Dr. Michael Löwe

Page 2: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

2

Objektorientierte Analyse und Entwurf

Inhalt der Ausbildung

• Kennzeichen objektorientierter Softwareentwicklung (1)

• Projektorganisation (2)

• Architektur (2)

• Objektorientierte Analyse (4)

• Objektorientierter Entwurf (5)

• Realisierung und Test (2)

Page 3: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

3

Objektorientierte Analyse und Entwurf

Lernziele

• Überblick über die Beschreibungsmittel der Analyse• Erlernen von Syntax und Semantik der Notationen• Kenntnisse über Einsatzmöglichkeiten• Kenntnisse über das Zusammenwirken• Selbständiges Arbeiten mit den Beschreibungsmitteln• Kennenlernen der Grenzen der Notationen

Page 4: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

4

Objektorientierte Analyse und Entwurf

Inhalt• Modell der Fachklassen

Beziehungen (Verfeinerung)Generalisierung, Spezialisierung und MehrfachvererbungAbstrakte Klassen und Schnittstellenklassen Parametrische KlassenAggregation und KompositionAbhängigkeitsbeziehungen

• Aktivitätsdiagramme

Page 5: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

5

Objektorientierte Analyse und Entwurf

Struktur der Ergebnisse

Kon

stru

kti

on (

SO

LL

)An

alyse (IST

)

Innere Architektur:Systemkomponenten, Schnittstellen

Innere Architektur:Systemkomponenten, Schnittstellen

Äußere Architektur:Kontext, Schnittstellen, Akteure

Äußere Architektur:Kontext, Schnittstellen, Akteure

Geschäftsvorfällejeder Komponente

Geschäftsvorfällejeder Komponente

Fachlexikon,Modell der Fachklassen

Fachlexikon,Modell der Fachklassen

Szenarien, Aktivitätenfür jeden Geschäftsvorfall

Szenarien, Aktivitätenfür jeden Geschäftsvorfall

Daten und OperationenDaten und OperationenFunktionen und AbläufeFunktionen und Abläufe

Page 6: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

6

Objektorientierte Analyse und Entwurf

Modell der Fachklassen

Definition: Das Modell der Fachklassen ist ein Klassendiagramm. Es beschreibt die Konzepte, Gegenstände, Orte oder Personen aus der realen Welt (bzw. des Geschäftsbereichs) in einem Detaillierungsgrad, wie er vor allem von den Auftraggebern, Fachabteilungen bzw. Managern verstanden werden kann.

Page 7: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

7

Objektorientierte Analyse und Entwurf

Angebot Vertrag

Kunde

AnschriftBankverbindung

11

1

1

1 [0,1]

= =

hat hat

ist Grund für ist Folge von

Versicherungsnehmer

Modell der Fachklassen, Beispiel:Klasse mit

Namen

Beziehungmit Name und Leserichtung

Kardinalität

ZusicherungPostanschrift

Rolle

Page 8: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

8

Objektorientierte Analyse und Entwurf

Modell der Fachklassen enthält...

... keine Attribute ( Fachlexikon, Interaktion),

... keine Operationen ( Interaktion),

... ausschließlich fachliche Klassen,– konkrete Klassen– abstrakte Klassen– Schnittstellen

... die fachlichen Beziehungen,

... Kardinalitäten, Rollen und Zusicherungen

Page 9: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

9

Objektorientierte Analyse und Entwurf

Modellierungskonzepte für (Fach-)Klassen

• (Verfeinerte Spezifikation von) Beziehungen

• Generalisierung und Spezialisierung

• Abstrakte Klassen und Schnittstellenklassen

• Parametrische Klassen

• Aggregation und Komposition

• Abhängigkeitsbeziehungen

Page 10: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

10

Objektorientierte Analyse und Entwurf

Beziehung oder Assoziation

Definition: Eine Assoziation beschreibt als Relation zwischen zwei Klassen die gemeinsame Semantik und Struktur einer Menge von Objektverbindungen.

Page 11: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

11

Objektorientierte Analyse und Entwurf

Syntax und Semantik

Syntax = Klassendiagramm: Person Vertrag

1 *

versicherungsnehmer

Semantik = Mögliche Objektwelten: p1:Person

p2:Person

p3:Person

v1:Vertrag

v2:Vertrag

v3:Vertrag

Page 12: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

12

Objektorientierte Analyse und Entwurf

Assoziation

Rekursive Assoziation:

Mitarbeiter

1

*

führt

berichtet an

manager

sachbearbeiter

Attributierte Assoziation:

Person Vertrag spielt Rolle in

* *

Rolle

Klasse A Klasse BRolle von b für a(Rolle von a für b)

Beziehungsname 1 Beziehungsname 2 [1..5] *

MultiplizitätNormale Assoziation: Richtung

Page 13: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

13

Objektorientierte Analyse und Entwurf

Mehrgliedrige Assoziationen

Zug Platz

Fahrgast

Reservierung* 1..*

1..*

Zug Platz

Fahrgast

* 1..*

1..*

Reservierung* *

*

Person Vertrag spielt Rolle in * *

Rolle

Person Vertrag

* *Rolle

1 1

spielt in

Page 14: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

14

Objektorientierte Analyse und Entwurf

Generalisierung und Spezialisierung

Definition: Generalisierung und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen Strukturierung der Sementik eines Modells. Eine Generalisierung (bzw. Spezialisierung) ist eine taxonomische1 Beziehung zwischen allgemeinen und speziellen Elementen (bzw. umgekehrt), wobei das speziellere weitere Eigenschaften hinzufügt und sich kompatibel zum allgemeinen verhält.

1 Taxonomie: „Einordnung in ein System“

Page 15: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

15

Objektorientierte Analyse und Entwurf

Generalisierung, Beispiel:

Art

Person

Telefonnr.

Faxnr.

email-Adr.

Anschrift

*

*

*

*

hat

hat

hat

h

at

Person

Telefonnr.

Faxnr.

email-Adr.

Anschrift

Komm.-weg*hat

Diskriminator

Page 16: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

16

Objektorientierte Analyse und Entwurf

Elektroauto

Notstromaggregat

{overlapping}

Diskriminatoren und Mehrfachspezialisierung

Maschine

Dampfmaschine

Verbrennungsmaschine

Elektrische MaschineMotor

incomplete

Stationäre Maschine

Bewegliche MaschineMobilitätcomplete

Page 17: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

17

Objektorientierte Analyse und Entwurf

Abstrakte Klassen

Person

Telefonnr.

Faxnr.

email-Adr.

Anschrift

Kommunikationsweg{abstract}

*hat

Vertrag1Versandweg

{abstract}

Versicherungsnehmer

=

Page 18: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

18

Objektorientierte Analyse und Entwurf

Generalisierung und Spezialisierung

Definition: Generalisierung und Spezialisierung sind Abstraktionsprinzipien zur hierarchischen Strukturierung der Sementik eines Modells. Eine Generalisierung (bzw. Spezialisierung) ist eine taxonomische1 Beziehung zwischen allgemeinen und speziellen Elementen (bzw. umgekehrt), wobei das speziellere weitere Eigenschaften hinzufügt und sich kompatibel zum allgemeinen verhält.

1 Taxonomie: „Einordnung in ein System“

Page 19: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

19

Objektorientierte Analyse und Entwurf

Aggregation und Komposition

Definition: Eine Aggregation ist eine Assoziation, deren beteiligte Klassen eine Ganze-Teile-Hierarchie darstellen. Eine Komposition ist eine strenge Form der Aggregation, bei der die Teile vom ganzen existenzabhängig sind.

Page 20: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

20

Objektorientierte Analyse und Entwurf

Aggregation, Beispiel:

Unternehmen Abteilung Mitarbeiterbesteht aus besteht aus

1 1..* 1 1..*

u1

a1 a2 a3

m1 m2 m3

Page 21: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Übung

2 Beispiele für Kompositionen

Page 22: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

22

Objektorientierte Analyse und Entwurf

Aggregation und SpezialisierungGeneralisierung

{abstract}

Kompositum Element

k1

k3

k2 e1

k4

e2

k5

e3e5

e4

[1..*] Kontext1

Page 23: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

23

Objektorientierte Analyse und Entwurf

Aktivitätsdiagramme

Definition: Aktivitätsdiagramme beschreiben die Ablaufmöglichkeiten eines Systems mit Hilfe von Aktivitäten.

Definition: Eine Aktivität ist ein einzelner Schritt in einem Ablauf. Sie stellt einen stabilen Zustand dar, während eine internen Aktion abläuft. Sie hat eine oder mehrere ausgehende Transitionen, die automatisch dem Abschluß der internen Aktion folgen.

Page 24: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

24

Objektorientierte Analyse und Entwurf

Angebotsuchen

Als Vertragübernehmen

FehlendeDaten ergänzen

[Gefunden]

Kundensuchen

Vertragsdatenerfassen

[Gefunden]

Kundendatenaufnehmen

Bankverbindungsuchen&zuordnen

Postanschriftsuchen&zuordnen

Drucken bzw.Verschicken{and}

Formalisierung von Anwendungsfällen, Beispiel:

[Nichtgefunden]

[Nichtgefunden]

Aktivität

Transition

SynchronisationSplitting

EntscheidungAnfang

Ende

Page 25: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

25

Objektorientierte Analyse und Entwurf

Aktivitätsdiagramme

Vor Anwendungsfällen• Geschäftsprozesse• Transition =

Wechsel des Akteurs• Aktivität =

Anwendungsfall• Transition =

Schnittstellenelement

Nach Anwendungsfällen• Verfeinerung eines Falls• Transition =

Kausale Abhängigkeit• Aktivität = Elementarer

(Dialog-) Schritt• Transition =

Kontrollfluß

Page 26: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

26

Objektorientierte Analyse und Entwurf

Pragmatik beim Aktivitätsmodell

• Sicht von außen, Sicht von den Akteuren• Beschreibung des Soll- nicht des Ist-Ablaufs • Nicht zu kleine Aktivitäten• So viel Parallelität wie eben möglich• Nur so viel Sequentialisierung, wie nötig• ca. 10 - 15 Aktivitäten pro Anwendungsfall• sonst Anwendungsfall dekomponieren

Page 27: OO Analyse und Entwurf für Anwender VIII. Beschreibungsmittel der Analyse (Fortsetzung) Dr. Michael Löwe

Sprache der Analyse (cont)

Prof. Dr. Michael Löwe, FHDW, Hannover

27

Objektorientierte Analyse und Entwurf

Zusammenfassung

Kontextdiagramm:System und seine Akteure

Kontextdiagramm:System und seine Akteure

Anwendungsfalldiagramm:Anwendungsfälle und ihre Akteure

Anwendungsfalldiagramm:Anwendungsfälle und ihre Akteure

Anwendungsbeschreibung:Systemfunktionen und ihre Abläufe

Anwendungsbeschreibung:Systemfunktionen und ihre Abläufe

Fachlexikon:Fachbegriffe und -strukturen

Fachlexikon:Fachbegriffe und -strukturen

Fachliches Klassenmodell:Klassen und Beziehungen

Fachliches Klassenmodell:Klassen und Beziehungen

Aktivitätsdiagramme:Aktivitäten und kausale Abhängigkeit

Aktivitätsdiagramme:Aktivitäten und kausale Abhängigkeit

Fachliches Klassenmodell:Attribute und Operationen

Fachliches Klassenmodell:Attribute und Operationen

Interaktionsdiagramme:Realisierung der Aktivitäten durch Interaktion von Objekten

Interaktionsdiagramme:Realisierung der Aktivitäten durch Interaktion von Objekten