1 / 30

Die Definitionsphase -Objektorientierte Analyse - Das statische Modell

Die Definitionsphase -Objektorientierte Analyse - Das statische Modell. Vorlesungsinhalt. Das statisches Modell in der OOA Objekte und Klassen Assoziation, Aggregation/Komposition Vererbung Klassendiagramm. Das statische Modell. Basiert auf objektorientierten Konzepten

marika
Download Presentation

Die Definitionsphase -Objektorientierte Analyse - Das statische Modell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • 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 • 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 • Objekt • Objekt:Klasse • :Klasse • Attribute • Attributname=Attributwert

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

  8. Attribute • Beschreibung durch • 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 • 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: • 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: • 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-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?

More Related