Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Die Definitionsphase -Objektorientierte Analyse - Das statische Modell

Ähnliche Präsentationen


Präsentation zum Thema: "Die Definitionsphase -Objektorientierte Analyse - Das statische Modell"—  Präsentation transkript:

1 Die Definitionsphase -Objektorientierte Analyse - Das statische Modell

2 Vorlesungsinhalt Das statisches Modell in der OOA Objekte und Klassen
Assoziation, Aggregation/Komposition Vererbung Klassendiagramm

3 Das statische Modell Basiert auf Objektorientierte Konzepte
objektorientierten Konzepten der semantischen Datenmodellierung (ERM) Objektorientierte Konzepte Objekt/Klasse Attribute/Operationen vs. Zustand/Verhalten Assoziation, Aggregation/Komposition Vererbung

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

5 Klasse Menge von Objekten mit Schablone zur Erzeugung von Objekten
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

6 Objekte in der UML Namen Attribute Objekt Objekt:Klasse :Klasse
Attributname=Attributwert

7 Klassen in der UML Namen Attribute Operationen
Stereotype (zur Klassifikation von Modellelementen) Merkmale {Kommaliste Schlüsselwort=Wert} Attribute Operationen

8 Attribute Beschreibung durch Klassenattribute abgeleitete Attribute
Namen Typ Anfangswert (optional) Restriktionen (constraints;optional) Klassenattribute abgeleitete Attribute

9 Attribute in der UML Attributname: Typ = Wert Attributname: Typ
Klassenattribut: Typ /abgeleitetes Attribut:Typ { constraints} Datentypen in der UML nicht festgelegt

10 Operationen Objektoperationen Konstruktor- und Destruktoroperationen
lesender Zugriff schreibender Zugriff Berechnungen Verwaltung der Verbindung zu anderen Objekten Aktivierung von Operationen anderer Klassen Konstruktor- und Destruktoroperationen Klassenoperationen

11 Operationen in der UML Operation() Klassenoperation()
Verwaltungsoperationen sollten nicht im Klassendiagramm aufgeführt werden Basisoperationen externe Verwaltungsoperationen

12 Assoziationen Verbindung zwischen Objekten (!)
sind in der OOA generell bidirektional können Namen haben (bidirektional!) verbundene Objekte haben Rollen haben eine Kardinalität

13 Restriktionen für Assoziationen
rein textuell {ordered} grafisch und textuell {or}, {subset} OCL (Object Constraint Language)

14 Spezielle Assoziationen
Qualifizierte Assoziationen Abgeleitete Assoziationen Reflexive Assoziationen n-äre Assoziationen

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)

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

17 Vererbung Generalisierung - Spezialisierung
Basisklasse (base class) - Abgeleitete Klasse (derived class) Jedes Objekt der abgeleiteten Klasse ist ein Objekt der Basisklasse (Is A - Beziehung)

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

19 Begriffe Einfachvererbung Mehrfachvererbung
Konfliktbehandlung notwendig? eher ein Thema für OOD und OOP Diskriminatoren dienen zur Beschreibung des Spezialisierungskriteriums Partitionierung (vollständig, disjunkt)?

20 Der Weg zum statischen Modell
Klassen identifizieren Assoziationen identifizieren Attribute identifizieren Vererbungsstrukturen identifizieren Assoziationen vervollständigen Attribute spezifizieren Analysemuster beachten!

21 Checkliste Klasse Konstruktiv: Analytisch: Dokumentenanalyse
Beschreibung der Geschäftsprozesse Beschreibung der Produktdaten im Lasten- und Pflichtenheft Analytisch: Klassenname Abstraktionsniveau Keine Containerklassen

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

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!

24 Checkliste Attribut Analytisch: Attributname
komplexes Attribut oder Klasse? Zugehörigkeit zu Klasse oder Assoziation Schlüsselattribute Klassenattribute abgeleitete Attribute

25 Checkliste Vererbung Konstruktiv: Analytisch:
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)

26 Checkliste Kardinalität
Momentaufnahme oder Historie? Optionale oder mandatorische Assoziationen? Im Zweifelsfall optionale Assoziationen verwenden! Feste Werte für Kardinalität?

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!

28 Analysemuster (Analysis Patterns)
Liste Exemplartyp Baugruppe Stückliste Koodinator

29 Analysemuster (Analysis Patterns)
Verschiedene Rollen Wechselnde Rollen Historie Gruppe Gruppenhistorie

30 CRC-Karten Das 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?


Herunterladen ppt "Die Definitionsphase -Objektorientierte Analyse - Das statische Modell"

Ähnliche Präsentationen


Google-Anzeigen