UML-Programmierung Flashcards
VL 7
Objektorientierung
Sieht Dinge der realen Welt, stellt aber nur die relevanten Aspekte dar, speichert Daten bei sich und kapselt sie ein (zum Schutz vor anderen Objekten)
Objekte
Instanzen von Klassen, existieren zur Laufzeit (runtime), Mehrere Objekte können aus einer Klasse erzeugt werden
Encapsulation
Daten werden in einem Objekt gespeichert, sind nur über angebotene Methoden zugänglich
Messages
Eine Nachricht wird an ein Objekt gesendet, um eine Methode aufzurufen
Polymorphism
Wenn eine Nachricht an Objekte unterschiedl. Klassen gesendet wird, geben diese Objekte unterschiedl. Ergebnisse zurück (Methode wird für jedes Objekt anders implementiert), zB. Druckbefehl für 2 verschiedene Dokumente gibt 2 verschiedene Dokumente aus
Enwicklungsprozess der Objektorientierung
OO-Analyse –> OO-Design –> OO-Programmierung –> OO Software
- OO-Analyse: Beschreibung, wie sich eine Software verhalten soll (Beschreibt ein System als eine Gruppe interagierender Objekte, die ein konzeptionelles Modell innerhalb einer Problemdomäne generieren)
- OO-Design: basiert auf Modell der OOA, Implementierungsplan, Weiterentwicklung der Objekttypen, berücksichtigt die gewählten architektonischen, technologischen und ökologischen Einschränkungen, typische Ausgabe ist ein Klassendiagramm
- OO-Programmierung: Konzept der Objekte steht im Mittelpunkt, basiert auf Ergebnissen der OOD, OO-Sprache zB. Java
Unified Modelling Language (UML)
- Modellierungssprache
- Standard der Object Management Group (OMG)
- Standardisierung von verschiedenen objektorientierten Notationen und Methoden in allen Phasen der Softwareentwicklung durch die Verwendung verschiedener Arten von Modellen (daten-, objekt- und prozessorientiert)
UML - Konzept
- Unterstützung von Analyse und Design objektorientierter Softwaresysteme
- Enthält mehrere Ansichten auf ein System
- Jede Ansicht spezifiziert und dokumentiert ein System aus einer anderen Perspektive
- Jede Ansicht wird von einem oder mehreren Diagrammen unterstützt
- UML ist kein Prozessmodell
UML - Struktur
- Grundelemente: Objektorientierte Notationselemente, zusätzliche Elemente zur Beschreibung des modellierten Systems (zB. Aktivitäten, Akteur,…)
- Diagramme: Zusammensetzung von Grundelementen, stellen eine bestimmte Ansicht auf ein System dar
- Komplettes Modell: alle Diagramme und Grundelemente, durch verschiedene Diagrammtypen werden verschiedene Sichten auf das Gesamtmodell dargestellt
UML - Ansichten
- Use-Case-View
- Logical View
- Implementation View
- Process View
- Deployment View
UML - Use-Case-View
- Beschreibt high-level Funktionalitäten eines Systems
- Wird von Stakeholdern, Designern, Entwicklern und Testern verwendet
- Dargestellt durch Anwendungsfalldiagramme
- Dient als Grundlage für andere Ansichten
UML - Logical View
- Beschreibt die zu entwickelnden und zu implementierenden Funktionalitäten sowie die statischen und dynamischen Aspekte eines Systems
- Meist von Designern und Entwicklern verwendet
- Dargestellt durch Klassendiagramme, Objektdiagramme (statische Ansicht), Zustandsdiagramme, Interaktions- und Aktivitätsdiagramme (dynamische Ansicht)
UML - Implementation View
- Beschreibt die Organisation von Softwarekomponenten
- Teilt die logischen Entitäten in tatsächliche Softwarekomponenten auf
- Dargestellt durch Komponentendiagramme
- Meist von Entwicklern verwendet
UML - Process View
- Beschreibt Prozesse in einem System
- Meist von Entwicklern und Testern verwendet
- Dargestellt durch Zustands- Interaktions- und Aktivitätsdiagramme
- Unterstützt Gleichzeitigkeit und Behandlung von asynchronen Ereignissen
UML - Deployment View
- Beschreibt die physische Architektur und die Zuordnung von Komponenten zu Architekturelementen
- Meist von Designern, Entwicklern und Managern verwendet
- Dargestellt durch Paket- Komponenten und Verteilungsdiagramme