Präsentation herunterladen
Veröffentlicht von:Hagan Heick Geändert vor über 11 Jahren
1
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)
Sandra Meißl
2
Themenübersicht Objektorientierte Software-Entwicklung
Objektorientierte Analyse und Design OOA OOD Objektorientierte Modellierung mit UML Geschichte der Unified Modelling Language Überblick Anwendungsfalldiagramme Strukturelle Modellierung mit Klassendiagrammen Darstellung von Klassen und Objekten Beziehungen zwischen Klassen Vererbung Beispiel Zusammenfassung Pakete Dynamische Modellierung Aktivitätsdiagramme Sequenzdiagramme Weitere Diagrammtypen Werkzeuge Literatur
3
Objektorientierte Software- Entwicklung
Die Phasen des objektorientierten Software- Entwicklungsprozesses gliedern sich im wesentlichen in: OO- Modellierung OO- Analyse ("Soll- Modell") OO- Design ("Entwurfs- Modell") OO- Implementierung auf der Basis von: OO- Programmiersprachen OO- Datenbanksysteme OO- Testen OO-Wartung
4
Objektorientierte Analyse und Design
Entwicklung von objektorientierten Software-Systemen Ist gekennzeichnet durch dieselben Konzepte während ihrer einzelnen Phasen Kein Strukturbruch zwischen den Phasen dieselbe Notation in Analyse und Design Dadurch wird folgendes erreicht Durchgängigkeit Nachvollziehbarkeit Erweiterbarkeit Wiederverwendbarkeit Wünsche des Auftraggebers Programme in einer OOP (z.B. Java) OOA-Modell OOD-Modell
5
Objektorientierte Analyse (OOA)
Betrachtet werden Objekte, die sich in der realen Welt befinden Diese werden durch Modellbildung und geeignete Abstraktion in Objekte des Objektorientierten Modells überführt Bestimmen des Umfangs Bestimmen der zentralen Domänenbegriffe Festlegen der Detailanforderungen Untersuchen des Objektverhaltens Ergebnistypen OOA Modell Prototyp der Benutzeroberfläche
6
Objektorientiertes Design (OOD)
Realisierung der in der Analyse spezifizierten Anwendung auf einer festgelegten Plattform unter den geforderten technischen Randbedingungen Design der Architektur Design des Systemverhaltens Design der Klassen (Spezifikation aus Sicht der Realisierung) Design der Assoziationen Ergebnistypen OOD Modell
7
Objektorientierte Modellierung mit UML (Unified Modelling Language)
UML: konkrete OO-Modellierungssprache für Analyse und Design „Sprachfamilie“ mit mehreren Diagrammtechniken zur Darstellung von Struktur und Dynamik Quasi Standard in der Objektmodellierung grafische Notation
8
Geschichte der UML 1994 Grady Booch und James Rumbaugh bei Rational Software mit dem Ziel einen Industriestandard für die Objektmodellierung zu entwickeln 1995 Unified Method 0.8 als Vorgänger UML 1995 Ivar Jacobson zu Rational Software 1996 UML 0.91 1997 UML1.1 wird als Standard von der Object Management Group (OMG) verabschiedet
9
Überblick über UML 8 Teilsprachen mit diagrammtechnischen Notationen zur objektorientierten Modellierung Modellierung von strukturellen Aspekten und Dynamik Klassendiagramme Anwendungsfalldiagramme Sequenzdiagramme Kollaborationsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme Komponentendiagramme Verteilungsdiagramme
10
Anwendungsfalldiagramme (Use Case Diagrams)
Use Cases beschreiben die für Nutzer sichtbare Funktionalität des Gesamtsystems strukturieren das Gesamtverhalten des Systems Anwendungsfalldiagramm Beziehung zwischen Akteuren und Anwendungsfällen
11
Strukturelle Modellierung mit Klassendiagrammen
Darstellung struktureller Aspekte enthalten Definition der Eigenschaften und des Verhaltens von Klassen Beziehungen zwischen den Klassen Abstraktionskonzepte: Generalisierung, Aggregation, ... Erstellung während der Analyse Verfeinerung in der Designphase
12
Darstellung von Klassen und Objekten
„Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte“ (Oesterreich 1998) Klassenattribute und Klassenoperationen
13
Darstellung von Beziehungen zwischen Klassen
Assoziation Benutzt-Beziehungen zwischen gleichrangigen Klassen Aggregation Teile/Ganzes-Beziehung Zusammensetzung eines Objekts aus Einzelteilen Komposition Strenge Form der Aggregation Teile vom Ganzen sind existenzabhängig
14
Vererbung Oberbegriff-Beziehung (Ist-ein-Beziehung)
Eine Subklasse kann über die Attribute und Operationen einer Superklasse verfügen Generalisierung - Spezialisierung
15
Beispiel Klassendiagramm
16
Zusammenfassung struktureller Modellierung mit Klassendiagrammen
Grafische Repräsentation des strukturellen Modells durch Klassendiagramme Erstellung in folgenden Schritten Objekte und Klassen identifizieren Attribute identifizieren Assoziationen zwischen Klassen identifizieren und spezifizieren (Aggregation etc.) Modell vereinfachen durch Generalisierung / Spezialisierung
17
Pakete Aufteilung großer Modelle in verwaltbare Teile
Darstellung des Gesamtbilds mit reduzierten Details direkte Unterstützung von Paketen z.B. in Java Nebenbemerkung: Darstellung „elementarer Klassen“
18
Dynamische Modellierung
Beschreibung von Kontrollfluß, Interaktion und Ablauf von Operationen Schritte zur Konstruktion dynamischer Modelle Use Cases mit Hilfe von Aktivitätsdiagrammen verfeinern Szenarien typischer Interaktionssequenzen „durchspielen“ Ereignisse zwischen Objekten identifizieren... ... und ein Sequenzdiagramm für jedes Szenario entwerfen
19
Aktivitätsdiagramme Modellierung von Workflows (objektorientierte Ablaufpläne, ausschließliche Darstellung von Aktivitäten) Konzepte Aktivitäten Verzweigungen (branches) Synchronisation (fork & join) Partitionierung entlang Verantwortlichkeit (swimlanes) Beispiel: Use Case „Auftrag bearbeiten“
20
Sequenzdiagramme (Zeitbezogene) Darstellung von beispielhaften Interaktionssequenzen Konzepte Zeitlinie (lifeline) Interaktion: Methodenaufruf / -antwort Beispiel: Auftrag bearbeiten Sz1, „alter“ Kunde bestellt Lagerartikel
21
Weitere Diagrammtypen
Kollaborationsdiagramm ähnlich Sequenzdiagramm Zusammenarbeit der Objekte steht im Vordergrund Zustands(übergangs)diagramm Zustände, die ein Objekt einnehmen kann Stimuli für Zustandsänderungen Komponentendiagramm Beziehungen zwischen den Komponenten Schnittstellen der Komponenten Verteilungsdiagramm Hardware Architektur Verteilung der Softwarekomponenten auf der Hardware
22
Werkzeuge Dienen der automatischen Unterstützung von Methoden, Verfahren, Konzepten und Notation Codegenerierung C++ Java ... UML Case Tools Rose Visio Together
23
Literatur
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.