Objektorientierte Modellierung (Foliensatz 4&5) Flashcards
(23 cards)
Wozu dient die objektorientierte Modellierung?
Dient dem Verständnis eines Systems auf der Grundlage von Objekten, die ein bestimmtes Verhalten aufweisen und miteinander agieren.
Welche Aufgaben hat die objektorientierte Modellierung?
• Zusammenfassung gleichartiger Objekte werden zu Klassen
(Objekttypen)
• Modellierung der Beziehungen zwischen den Klassen und
• Modellierung von Objekten und deren Interaktionen
• Objekt besitzt Identität, Zustand, Verhalten
Was ist das Ziel der objektorientierten Modellierung?
Eine durchgängige Verwendung kompatibler Modellierungsmethoden auf verschiedenen Betrachtungsebenen anzuwenden:
- objektorientierte Analyse
- objektorientierte Desgin
- objektorientierte Programmierung
Stellt Zusammenhang zwischen Modellen im Problemraum (Analyse) und Lösungsraum (Implementierung) dar.
Was ist UML?
• UML ist eine Sprache, um ein Anwendungssystem oder
dessen Bestandteile zu spezifizieren, visualisieren,
entwerfen und dokumentieren.
• UML dient weiterhin zur Modellierung fachlicher Aspekte
und kann teilweise auch außerhalb der
Anwendungsentwicklung eingesetzt werden.
• Die UML hat einen universellen Anspruch
• Die UML ist ein weit verbreiteter Industriestandard der OMG
(Object Management Group)
Was ist das Meta-Modell der UML?
• Die UML gliedert sich in verschiedene
Modellierungstechniken (Diagramme).
• Alle UML-Diagramme werden in einer einheitlichen Meta-
Sprache, der Meta Object Facility (MOF) definiert.
• Die gleichen Sprachkonstrukte werden in verschiedenen
Diagrammen auf dieselbe Weise abgebildet.
• Für den Datenaustausch und die Verarbeitung von UML-
Modellen gibt es ein Metadatenaustauschformat: XMI (XML
Metadata Interchange)
Was sind die Ebenen des UML Four-Layer Metamodel Archtecture
M3: Meta Meta-Modellebene (Notation für Meta Modelle)
M2: Meta-Modellebene (Sprache zur Modellierung von Modellierungssprachen)
M1: Modellebene (Modellierungssprachen für bestimmte Anwendungsdomänen)
M0: Objektebene (Objekte)
Wozu dienen Komponentendiagramme?
Architektur von Softwaresystemen
Wozu dienen Verteilungsdiagramme?
Darstellung der Verteilung der verschiedenen Komponenten auf unterschiedliche Ressourcen
Wozu dienen Use-Case Diagramme?
Bennenen der Aufgaben/Anwendungsfälle eines Anwendungssystems
Wozu dienen Aktivitätsdiagramme?
Beschreiben von Aktivitäten, Funktionen oder Prozessen
Wozu dienen Interaktionsdiagramme?
Beschreibung des Nachrichtenaustauschs zwischen Objekten
Wozu dienen Zustandsautomaten/Statecharts?
Beschreiben der Zustände und Zustandsänderungen in einem System
Was kann ein UML-Klassendiagramm enthalten?
- Klassifikation (Bildung von Klassen)
- Generalisierung/Spezialisierung (Vererbung)
- Assoziation (Beziehung zwischen Objekten)
- Aggregation (Objekte Bestandteil eines anderen Objektes)
- Komposition (existientielle Abhängigkeit)
Wann werden Use Case Diagramme verwendet?
- Planung und Anforderungsanalyse der Softwareentwicklung
- System aus Sicht des Benutzers beschreiben, nicht des Entwicklers
- beschreibt einen Teil des Systemverhaltens
- ist eine Zusammenfassung von Aktionen und Systeminteraktionen
- beschreiben die Beziehungen zwischen den Akteuren und Use Cases und zwischen den Use Cases untereinander
- Akteure beschreiben eine Rolle, die ein Benutzer bei einer Interaktion mit einem System einnimmt
Welche grundlegende grafische Elemente hat ein Use Case Diagramm?
-Anwendungsfall
-Akteur (Strichmännchen)
-Beziehungen Aktuer und Anwendungsfall, ungerichtet (passiv) oder gerichtet (aktiv)
-Beziehungen zwischen Anwendungsfällen:
A enthält immer B:
include
A—>B
A wird (machmal) durch B erweitert:
extends
A
Was sind die Eigenschaften eines Use Case Diagramm?
- dient nicht zur Beschreibung von Operationen
- spezifizieren nur funktionale Anforderungen
- stellt keine zeitlichen Zusammenhänge dar
- nicht zu viele Use Cases verwenden
- sollte übersichtlich und intuitiv verständlich sein
- Akteur immer im Singular definiert, immer eine Rolle, keine spezielle Person
Wozu dient ein UML Aktivitätsdiagramm?
- Darstellung des Steuerungsflusses von Aktion zu Aktion
- Nebenläufigkeiten und Verzweigungen möglich
- Bestandteile: Aktion, Steuerungsfluss
- Integration der Sichten Organisation und Daten/Objekte möglich
- Anwendung auf verschiedenen Ebenen
Was ist eine Aktivität bei einem UML Aktivitätsdiagramm?
-strukturierte und fortlaufende Ausführung eines Verhaltens
Was sind Aktionen bei einem UML Aktivitätsdiagramm?
- Aktionen können Nachrichten übermitteln oder Zustand des Systems ändern
- Aktionen sind: Durchführen von Aufgaben, Senden eines Signals, Schaffen oder Zerstören eines Objekts
- sind atomar
- Ausführung ganz oder gar nicht
- grafisch: abgerundeter Kasten
Was für Elemente hat ein Aktivitätsdiagramm?
- Aktion
- Kontrollfluss
- Verzweigung (Raute)(1 Eingang, min. 2 Ausgänge)
- Bedingung für Kontrollfluss
- Bedingung, Synchronisation der Kontrolle
- Aufsplitten der Kontrolle(Paralellität)
- 2 Pfeile in eine Aktion, OR Bedingung wird ausgeführt wenn ein Pfeil ankommt
Wozu sind Interaktionsdiagramme?
- Darstellung von Szenarien der Interaktion zwischen Objekten
- Beschreibung der Nachrichten, die zwischen Objekten ausgetauscht werden
- Analyse von Geschäftsprozessen
- Bestandteile: Objekte, Verknüpfungen, Nachrichten
Wozu dienen Sequenzdiagramme?
- Betonung der zeitlichen Abfolge der Nachrichten
- Darstellung als eine Art Tabelle
- Objekte horizontal angeordnet, fallende Wertigkeit nach rechts
- Nachrichten vertikal, oben nach unten ansteigende Zeit
- Nachrichten grafisch als Pfeile von einer Lebenslinie zur anderen
Wozu dienen Kommunikationsdiagramme?
- Betonung der Organisation der Objekte
- Nachrichten an den Verknüpfungen/Pfaden
- Bestandteile: Pfade(Darstellung als Assoziation), Sequenzzahlen(steht am Anfang einer Nachricht, zeitliche Abfolge der Nachrichten)