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

Preview:

Citation preview

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)

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

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

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

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.

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

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

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

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.

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

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

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

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“

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

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

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

=

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“

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.

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

Übung

2 Beispiele für Kompositionen

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

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.

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

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ß

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

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

Recommended