Objektorientierte Modellierung (Foliensatz 4&5) Flashcards
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