Analyse Muster

Werbung
Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung.
9. Analyse Muster
1
Der Unterschied von Analyse und Design Pattern besteht auch in der zeitlichen Abfolge.
Analyse Muster werden in der Analyse Phase zum Definieren des fachlichen Modells
beigezogen.
Design Pattern werden erst in der Design Phase eingesetzt, wenn es darum geht die
Gesamt-Lösung (Architektur) zu entwerfen (bzw. die konkrete Umsetzung zu definieren).
9. Analyse Muster
2
Ein Analyse Muster beschreibt also eine Lösung für eine typische Teilaufgabe bei der
Erstellung eines fachlichen Modells (d.h. in der Analyse Phase).
Entwurfs Muster sind hingegen eher implementierungs-orientierte Muster. Sie geben
Antwort auf die Frage: „Wie realisiere ich diese Klassenbeziehung?“
9. Analyse Muster
3
Analyse Pattern helfen dabei, eine Struktur in die (oft amorphe) Menge von benötigten
Information zu bringen. Design Pattern können dann Hinweise geben, wie das GesamtSystem konkret implementiert werden soll.
9. Analyse Muster
4
Typische Listen Muster kommen vor bei Bestellungen (Bestell-Kopf und die einzelnen
Bestellpositionen), bei Aufträgen (Gesamtauftrag und die einzelnen EinzelAufträge/Aufgaben) oder bei Projekten (Gesamt-Projekt und einzelne Projekt-Schritte).
Alle Listenelemente haben den gleichen Typ (tragen die gleichen Informationen).
Die Listenelemente machen nur als Teil der Liste einen Sinn.
9. Analyse Muster
5
Weitere Listen treten zum Beispiel auf bei Auftrag -> Auftragspositionen -> EinzelAuftrag
9. Analyse Muster
6
Auch bekannt als Item / Item-Description Analyse-Muster (Peter Coad et al.: „Object
Models: Strategies, Patterns, and Applications“, Prentice Hall, 1996 )
Beispiele von Exemplaren sind die Bücher einer Bibliothek, die Autos einer
Autovermietung, die Veranstaltungen einer Schule oder Organisation, die DVDs einer
Videothek… Die Unterscheidung der verschiedenen Exemplare ist dabei nötig, um die
Ausleihe oder die Registrierung an ein konkretes Exemplar/eine konkrete Kopie zu
verknüpfen.
Die Beschreibungsklasse existiert unabhängig von den Exemplaren.
Die Exemplare sind nicht Teil eines Beschreibungsobjekts, daher ist es keine Komposition.
9. Analyse Muster
7
In der Beschreibungsklasse werden alle gemeinsamen Informationen der Exemplare (des
Buches, des Films, des Autos, des Kurses) gesammelt. Die Beschreibungsklasse heisst
daher oft xxxDescription, xxxSpecification oder xxxType.
In der Exemplar-Klasse (Book, Car, Film, Course) sind dann die spezifischen Informationen
dieser speziellen Kopie erfasst (die Identifikations- oder Registrierungsnummer, die
Versions- oder Seriennummer, das Veranstaltungsdatum, …). Üblicherweise hat die
Exemplar-Klasse nur noch wenige Attribute.
Die Ausleihe oder Registrierung ist dann an mit spezifischen Exemplar/einer spezifischen
Kopie verknüpft.
Ein mögliches Objekt-Diagramm zum Bibliothek-Beispiel wäre:
9. Analyse Muster
8
Ein Beispiel wäre ein Flugzeug, welches aus dem Tragwerk, dem Rumpfwerk, dem
Leitwerk, dem Steuerwerk und dem Fahrwerk besteht.
Das Tragwerk besteht aus den Flügeln und den Landeklappen.
Landeklappen bestehen aus Sperrklappen, Querruder, …
9. Analyse Muster
9
9. Analyse Muster
10
Ein Computer besteht aus einem oder mehreren Prozessoren, Schnittstellen, einem
Monitor, einer Tastatur, …, welche selber ebenfalls wieder aus kleineren Teilen
zusammengesetzt sind.
Auch ein Flugzeug besteht aus verschiedenen physischen Teilen. Ein Motor eines Flugzeugs
oder ein Monitor eines Computers könnte aber prinzipiell auch ausgetauscht oder in
einem anderen Flugzeug/Computer eingebaut werden.
9. Analyse Muster
11
Im Gegensatz zur Baugruppe, wo eine strenge Hierarchie herrscht, kann bei einer
Stückliste jedes Teil als Gesamtes oder als Teil eines anderen Teils auftreten.
Ein Flugzeug besteht aus Flugzeugteilen, aber nicht aus einzelnen Flugzeugen.
Jeder Knoten eines Baumes kann hingegen selber wieder Knoten enthalten.
Jeder Teilbaum hat einen Wurzel-Knoten, das heisst, jeder Knoten kann ein Ganzes
repräsentieren.
9. Analyse Muster
12
Ein Directory kann Directories, Links oder Files enthalten. Ein Directory kann in einem
Directory enthalten sein, muss aber nicht.
9. Analyse Muster
13
Ein Komponenten Baum ist ein Spezialfall einer Stückliste, da er aus lauter gleichartigen
Objekten besteht.
9. Analyse Muster
14
Im Gegensatz zum Baugruppen Beispiel leiten hier alle Computerteile von einem Interface
(oder einer abstrakten Klasse) Computer-Component ab. Alle Teile haben damit ähnliches
Verhalten.
Eine Stückliste kann, muss aber nicht aus einheitlichen Teilen (Komponenten)
zusammengesetzt sein.
9. Analyse Muster
15
Ein Koordinator wird eingesetzt, um mehrstellige Assoziationen durch zwei einfache
Assoziationen und eine (Vermittler-)Klasse zu ersetzen.
9. Analyse Muster
16
Im Objekt-Diagramm sehen wir, dass jede Registrierung zu einem Kurs und zu einem
Studenten gehört. Die Note (Rating) gehört dann zu einem konkreten Kursbesuch, kann
also zu der Registration-Klasse assoziiert werden.
9. Analyse Muster
17
Das Rollen Analyse Muster kommt sehr oft im Zusammenhang mit Personen zum Einsatz,
welche zu verschiedenen Zeiten verschiedene Aufgaben wahrnehmen.
9. Analyse Muster
18
Die Anzahl verschiedener Rollen sollte nicht zu gross sein (z.B. weniger als 10), sonst sollte
eine Koordinator-Klasse benutzt werden.
Falls für einzelne der verschiedenen Rollen Zusatzinformationen nötig sind, ist eine Lösung
mit Subtypen zu überlegen -> wechselnde Rollen.
9. Analyse Muster
19
In einer Abteilung kann abwechselnd jemand anders die Leitung übernehmen.
In einem Kurs können die Redner auch Kurs-Teilnehmer sein.
9. Analyse Muster
20
Im Unterschied zum Rollen Analyse Muster haben die Objekte der Wechselnden Rollen
unterschiedliche Eigenschaften (zusätzliche Attribute oder Operationen).
9. Analyse Muster
21
Der gleiche Mitarbeiter kann zu verschiedenen Zeiten verschiedene Rollen (Zustände)
wahrnehmen. In den verschiedenen Rollen haben die Mitarbeiter andere Eigenschaften
und Aufgaben, (Attribute/Operationen).
9. Analyse Muster
22
Beispiele von historisierten Daten:
Die(der) sich mit der Zeit ändernde
- Gehaltsgruppe
- Adresse einer Person
- Gruppenzugehörigkeit
- Arbeitgeber (Lebenslauf)
- Preis einer Ware
für welche der gesamte Datenverlauf gespeichert werden soll.
9. Analyse Muster
23
Im Rollen Analyse Muster wird keine Historie geführt, das heisst, es ist nicht bekannt,
welche Rollen diese Person zu welchem Zeitpunkt eingenommen hat.
Die Historie hingegen speichert die ganze Vorgeschichte.
9. Analyse Muster
24
Die verschiedenen (Teilzeit) Anstellungen können sich prinzipiell zeitlich überlappen. Zu
jedem Zeitraum gibt es mindestens eine Anstellungsart. Jeder Anstellungswechsel führt
zu einem neuen Anstellungs-Objekt.
9. Analyse Muster
25
Im Gegensatz zur Liste können die Objekte einer Gruppe dieser beitreten und diese
Gruppe auch wieder verlassen. Ausserdem kann die Gruppe auch (zum Beispiel am
Anfang) keine Mitglieder haben.
9. Analyse Muster
26
9. Analyse Muster
27
Die Angestellten gehören jeweils zu einer oder mehreren Projekt Gruppen. Dies kann je
nach Zeitpunkt wechseln und muss nicht historisiert werden. Ein Angestellten kann auch
keiner oder mehreren Projekt Gruppen gleichzeitig angehören.
9. Analyse Muster
28
Analog zur Historie wird bei der Gruppenhistorie die ganze Vorgeschichte gespeichert.
9. Analyse Muster
29
9. Analyse Muster
30
Die Angestellten gehören jeweils zu einer oder mehreren Projekt Gruppen. Dies kann je
nach Zeitpunkt wechseln und wird historisiert. Ein Angestellter kann auch keiner oder
mehreren Projekt Gruppen gleichzeitig angehören, oder mehrfach (zu verschiedenen
Zeitpunkten) zur gleichen Gruppe.
9. Analyse Muster
31
Herunterladen