1 die definitionsphase -objektorientierte analyse - das statische modell
TRANSCRIPT
![Page 1: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/1.jpg)
1
Die Definitionsphase-Objektorientierte Analyse -
Das statische Modell
![Page 2: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/2.jpg)
2
Vorlesungsinhalt
• Das statisches Modell in der OOA
• Objekte und Klassen
• Assoziation, Aggregation/Komposition
• Vererbung
• Klassendiagramm
![Page 3: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/3.jpg)
3
Das statische Modell
• Basiert auf– objektorientierten Konzepten– der semantischen Datenmodellierung (ERM)
• Objektorientierte Konzepte– Objekt/Klasse – Attribute/Operationen vs. Zustand/Verhalten– Assoziation, Aggregation/Komposition– Vererbung
![Page 4: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/4.jpg)
4
Objekt
• Gegenstand der Untersuchung
• individuelles Exemplar von Dingen, Personen, Begriffen
• besitzt einen Zustand und ein Verhalten– Zustand: Attributwerte und Verbindungen zu
anderen Objekten– Verhalten: Reaktion auf Botschaften der
Umwelt
• besitzt eine eigene Identität
![Page 5: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/5.jpg)
5
Klasse
• Menge von Objekten mit – gleichen Eigenschaften (Attributen)– gleichen Beziehungen – gleichem Verhalten (Operationen)
• Schablone zur Erzeugung von Objekten
• In der OOA wird davon ausgegangen, daß eine Klasse eine Objektverwaltung hat– Klassenextension
![Page 6: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/6.jpg)
6
Objekte in der UML
• Namen– Objekt
– Objekt:Klasse
– :Klasse
• Attribute– Attributname=Attributwert
![Page 7: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/7.jpg)
7
Klassen in der UML
• Namen– Stereotype (zur Klassifikation von
Modellelementen)
– Merkmale {Kommaliste Schlüsselwort=Wert}
• Attribute• Operationen
![Page 8: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/8.jpg)
8
Attribute
• Beschreibung durch– Namen
– Typ
– Anfangswert (optional)
– Restriktionen (constraints;optional)
• Klassenattribute• abgeleitete Attribute
![Page 9: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/9.jpg)
9
Attribute in der UML
• Attributname: Typ = Wert• Attributname: Typ• Klassenattribut: Typ• /abgeleitetes Attribut:Typ• { constraints}
• Datentypen in der UML nicht festgelegt
![Page 10: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/10.jpg)
10
Operationen
• Objektoperationen– lesender Zugriff
– schreibender Zugriff
– Berechnungen
– Verwaltung der Verbindung zu anderen Objekten
– Aktivierung von Operationen anderer Klassen
• Konstruktor- und Destruktoroperationen• Klassenoperationen
![Page 11: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/11.jpg)
11
Operationen in der UML
• Operation()• Klassenoperation()• Verwaltungsoperationen sollten nicht im
Klassendiagramm aufgeführt werden– Basisoperationen
– externe Verwaltungsoperationen
![Page 12: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/12.jpg)
12
Assoziationen
• Verbindung zwischen Objekten (!)
• sind in der OOA generell bidirektional
• können Namen haben (bidirektional!)
• verbundene Objekte haben Rollen
• haben eine Kardinalität
![Page 13: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/13.jpg)
13
Restriktionen für Assoziationen
• rein textuell
– {ordered}
• grafisch und textuell
– {or}, {subset}
• OCL (Object Constraint Language)
![Page 14: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/14.jpg)
14
Spezielle Assoziationen
• Qualifizierte Assoziationen
• Abgeleitete Assoziationen
• Reflexive Assoziationen
• n-äre Assoziationen
![Page 15: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/15.jpg)
15
Assoziative Klassen
• Werden eingeführt, wenn Assoziationen Attribute und Verbindungen zu anderen Klassen besitzen
• Werden häufig aufgelöst in eine eigenständige Klasse und n Assoziationen (für n-äre Assoziationen)
![Page 16: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/16.jpg)
16
Aggregation / Komposition
• Whole - Part - Beziehung• Komposition ist die stärkere Form:
– Teile gehören zu einem Zeitpunkt nur zu einem Ganzen– Die Dynamik des Ganzen bestimmt die Dynamik der
Teile– Wird das Ganze gelöscht, so auch die Teile
![Page 17: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/17.jpg)
17
Vererbung
• Generalisierung - Spezialisierung
• Basisklasse (base class) - Abgeleitete Klasse (derived class)
• Jedes Objekt der abgeleiteten Klasse ist ein Objekt der Basisklasse (Is A - Beziehung)
![Page 18: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/18.jpg)
18
Abstrakte Klassen
• Klassen, von denen keine Objekte erzeugt werden können
• In der UML durch kursive Darstellung des Namens und durch das Merkmal {abstract} gekennzeichnet
![Page 19: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/19.jpg)
19
Begriffe
• Einfachvererbung
• Mehrfachvererbung– Konfliktbehandlung notwendig?– eher ein Thema für OOD und OOP
• Diskriminatoren dienen zur Beschreibung des Spezialisierungskriteriums– Partitionierung (vollständig, disjunkt)?
![Page 20: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/20.jpg)
20
Der Weg zum statischen Modell
• Klassen identifizieren• Assoziationen identifizieren• Attribute identifizieren• Vererbungsstrukturen identifizieren• Assoziationen vervollständigen• Attribute spezifizieren• Analysemuster beachten!
![Page 21: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/21.jpg)
21
Checkliste Klasse
• Konstruktiv:– Dokumentenanalyse
– Beschreibung der Geschäftsprozesse
– Beschreibung der Produktdaten im Lasten- und Pflichtenheft
• Analytisch:– Klassenname
– Abstraktionsniveau
– Keine Containerklassen
![Page 22: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/22.jpg)
22
Checkliste Assoziation (1)
• Konstruktiv:
– Zuordnung von Assoziationen zu Kategorien• A ist physische, logische Komponente von B oder einer Liste in B
• A ist Mitglied, organisatorische Einheit von B
• A benutzt B, A kommuniziert mit B, A besitzt B
– Assoziationsnamen
– Rollen
– Restriktionen
![Page 23: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/23.jpg)
23
Checkliste Assoziation (2)
• Analytisch:
– Benennung von Assoziationen und Rollen
– mehrere Assoziationen zwischen Klassen
– abgeleitete Assoziationen
– assoziative Klassen
– 1:1 - Assoziationen
– Assoziation und Vererbung unterscheiden!
![Page 24: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/24.jpg)
24
Checkliste Attribut
• Analytisch:
– Attributname
– komplexes Attribut oder Klasse?
– Zugehörigkeit zu Klasse oder Assoziation
– Schlüsselattribute
– Klassenattribute
– abgeleitete Attribute
![Page 25: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/25.jpg)
25
Checkliste Vererbung
• Konstruktiv:– Ergibt sich durch Generalisierung eine Einfachvererbung?
– Ergibt sich durch Spezialisierung eine Einfachvererbung?
• Analytisch:
– Verständnis des Modells verbessert?
– Liegt eine Is A - Beziehung vor?
– Hierarchiestufen (2-4)
![Page 26: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/26.jpg)
26
Checkliste Kardinalität
• Momentaufnahme oder Historie?• Optionale oder mandatorische Assoziationen?
– Im Zweifelsfall optionale Assoziationen verwenden!
• Feste Werte für Kardinalität?
![Page 27: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/27.jpg)
27
Checkliste Assoziation, Aggregation,Komposition
• Kriterien für Komposition beachten– Zugehörigkeit der Teile zu einem Ganzen
– Lebensdauer der Teile an die des Ganzen gebunden
– Dynamik des Ganzen bestimmt Dynamik der Teile
• Aggregation ist häufig eine Komposition• Im Zweifelsfall Assoziation verwenden!
![Page 28: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/28.jpg)
28
Analysemuster (Analysis Patterns)
• Liste• Exemplartyp• Baugruppe• Stückliste• Koodinator
![Page 29: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/29.jpg)
29
Analysemuster (Analysis Patterns)
• Verschiedene Rollen• Wechselnde Rollen• Historie• Gruppe• Gruppenhistorie
![Page 30: 1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell](https://reader036.vdocuments.site/reader036/viewer/2022062512/55204d6249795902118b75d1/html5/thumbnails/30.jpg)
30
CRC-KartenDas CASE Tool des kleinen Mannes?
• Karteikarten• Oben wird der Klassenname eingetragen (Class)• Links unten werden die Verantwortlichkeiten der
Klassen eingetragen (Responsibilities)• Rechts unten wird die Zusammenarbeit mit anderen
Klassen eingetragen (Collaborations)• Verifikation des Modells an der Pinwand?