Title | SE Notizenteil 5 - Vorlesungsnotizen 5 |
---|---|
Course | Software Engineering |
Institution | Universität Potsdam |
Pages | 4 |
File Size | 176.4 KB |
File Type | |
Total Downloads | 88 |
Total Views | 133 |
Software Engineering I Vorlesungsnotizen und Zusammenfassung...
Analysemodel: Objektorientiertes Paradigma, Identifizieren von fachlichen Konzepten, UML-Klassendiagramme
04 MODELLIERUNG DER ANWENDUNGSDOMÄNE
REPEAT UML USE CASE-DIAGRAMME: Dokumentation der Use Cases zur Beschreibung der Interaktion von System und Systemumgebung.
UML AKTIVITÄTSDIAGRAMME: Dokumentation der Use Cases zur Darstellung von Abläufen in der Anwendungsdomäne.
DEFINITIONS DOMÄNENMODELL/ANALYSEMODELL: S ystem aus Sicht der Anwendungsdomäne. Fachbegriffsbildung und deren Abhängigkeiten. >UML Klassendiagramme (objektorientierte Sicht auf die Anwendungsdomäne)
KLASSEN: Mengen von Objekten, die gleichen Zustände/Nachrichten akzeptieren. bei gleichem Zustand auf die gleiche Weise reagieren und äquivalente Rollen im System spielen. Definieren Datentypen mit Verhalten und sind die Domänen-Abstraktionen. - Klassenbildung ist der Abstraktionsprozess von Objekten.
VERERBUNG: Zweck: Wiederverwendung von Klassen bei Spezialisierungen. Objekte der Unterklasse besitzen alle Attribute und akzeptieren alle Nachrichten, wie Objekte der Oberklasse. Unterklasse erweitert Oberklasse.
POLYMORPHIE: Griechisch und bedeutet Vielgestaltigkeit. z.B. wenn zwei Klassen denselben Methodennamen verwenden, aber die Implementierung der Methoden sich unterscheidet.
META: Benutzen um über etwas anderes zu reden.
ASSOZIATION: Meist durch Verben charakterisiert.
Mit Multiplizitäten:
heißt “beliebige viele + min. 1”. Schreibweise enthält “..*”.
> Welche Rolle spielt die Klasse in Beziehung zu mir?
GENERALISIERUNG: im Sinne der Vererbung
AGGREGATION: spezielle Assoziation. “Besteht aus”-Beziehung. Ersetzt meist den Namen der Assoziation.
KOMPOSITION: spezielle Assoziation. Starke “besteht aus”-Beziehung. Teil kann zu nur einem “Ganzen” gehören.
0..1: Man kann den Teil vom Ganzen separieren. Kann nicht gleichzeitig Teil zweier Autos sein. /teaches student: redundante Information, die auch konzeptionell vorhanden ist
THEORIE WAS BESITZEN OBJEKTE?: -
Verhalten: Reaktionen auf Nachrichten/Botschaften
-
Zustand: Werte seiner Attribute
-
Identität: Objekte sind identifizierbar Objekte werden über Schnittstellen (die Objekt-Interface) spezifiziert (“von außen erklärt”), wobei die Beschreibung des Verhaltens von außen betrachtet wird.
ZIELE VON OO-MODELLIERUNG: -
Identifizierung von Klassen (welche Klassen / Attribute / Nachrichten?)
-
Abhängigkeiten zwischen Klassen ( Generalisierung / Kommunikation)
-
Kommunikation von Objekten (in Prozessen)
-
Änderung der Zustände von Objekten (in Prozessen)
IDENTIFIZIEREN VON KLASSEN: -
Modellierung des Gegenstandsbereichs -
“CIM-Klassen/Analyseklassen” = Domänen Abstraktionen
-
Konzepte der Anwendungsdomäne, die für das zu bildende
Softwaresystem von Bedeutung sind -
Ausgangspunkt für die Entwicklung von DSL bei MDD
Technische Modellierung -
“PIM-Klassen/Entwurfsklassen”
-
“PSM-Klassen/Implementierungsklassen”
IDENTIFIZIEREN VON ANALYSEKLASSEN: -
Suche nach Domänen-Abstraktionen (diese sind Eigenschaften, Fakten, termini des Anwendungsgebietes, die in Bezug zum zu entwickelnden System stehen) -
Typische Klassen: reale Dinge der Domäne, Rollen, Ereignisse, Services (Browser, Verbuchungsservice)
-
-----> Noun-Identification -
Unterstreichen aller Substantive
-
Reduzieren der Liste wenn Kandidaten (spielt der Begriff, der für das System relevant ist - System often als Bestandteil)
WIE HÄNGEN UND WIRKEN OBJEKTE DER DOMÄNE ZUSAMMEN? (BEZIEHUNGEN ZWISCHEN KLASSEN): 1. Assoziation (langfristige, feste Beziehung zwischen zwei Klassen) 2. Abhängigkeit (allgemeine Kopplung - Änderungen in einer Klasse Anbieter können Änderungen in der abhängigen Klasse Klient nach sich ziehen) 3. Generalisierung (Ober-/Unterklassen-Verhältnis im Sinne der V ererbung) WAS IST OBJECT CONSTRAINT LANGUAGE (OCL)?: -
Formulierung weiterer Constraints über UML-Modellelemente mit Vorbedingungen, Nachbedingungen, Klasseninvarianten
WAS IST EINE ASSOZIATIONSKLASSE?: Klasse als Menge von Objekten zur Beschreibung der Beziehung, die durch eine Assoziation repräsentiert wird. ...