objektorientierte analyse und design mit der unified modelling language (uml)
DESCRIPTION
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML). Sandra Meißl 26.07.2001. Themenübersicht. Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte Modellierung mit UML Geschichte der Unified Modelling Language - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/1.jpg)
Objektorientierte Analyse und Design mit der Unified Modelling Language
(UML)
Sandra Meißl
26.07.2001
![Page 2: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/2.jpg)
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
![Page 3: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/3.jpg)
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
![Page 4: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/4.jpg)
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 OOA-Modell OOD-Modell
Programme in einer OOP (z.B. Java)
![Page 5: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/5.jpg)
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
![Page 6: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/6.jpg)
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
![Page 7: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/7.jpg)
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
![Page 8: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/8.jpg)
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
![Page 9: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/9.jpg)
Ü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
![Page 10: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/10.jpg)
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
![Page 11: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/11.jpg)
Strukturelle Modellierung mit Klassendiagrammen
Klassendiagramme• 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
![Page 12: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/12.jpg)
Darstellung von Klassen und Objekten
„Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte“ (Oesterreich 1998)
Kreis
radius {rad ius > 0}m itte lpunkt: P oin t = (10,10)
anzeigen()entfernen()setP os ition(pos: P oin t)setRadius(neuerRadius)
E inKreis: Kreis
radius = 25m itte lpunkt = (10,10)
Kunde
K unden: set
Nam eA dresse
FindeK unden(Nam e)
K undeH inzufügen()K undeLöschen()
Klassenattribute und Klassenoperationen
![Page 13: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/13.jpg)
Darstellung von Beziehungen zwischen Klassen
Assoziation• Benutzt-Beziehungen zwischen
gleichrangigen Klassen
Unternehmen Mitarbeiterbeschäftigt *1
Aggregation• Teile/Ganzes-Beziehung• Zusammensetzung eines
Objekts aus EinzelteilenUnternehmen Abteilung
besteht aus 1..*1 M itarbetierbesteht aus 1..*1
Komposition• Strenge Form der Aggregation• Teile vom Ganzen sind
existenzabhängig
M itarbeiter Anschrift1..*
![Page 14: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/14.jpg)
Vererbung
• Oberbegriff-Beziehung (Ist-ein-Beziehung)
• Eine Subklasse kann über die Attribute und Operationen einer Superklasse verfügen
• Generalisierung - Spezialisierung
GeometrFigur{abstrakt}
x: in tegery: in tegers ichtbar: boolean
anzeigen()entfernen()setP os ition(neuX ,neuY)
Kreis
radius {rad ius > 0}
setRadius(neuerRadius)
Rechteck
a { a>0 }b { b>0 }
setA (neueA )setB (neueB )
![Page 15: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/15.jpg)
Beispiel Klassendiagramm
![Page 16: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/16.jpg)
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
![Page 17: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/17.jpg)
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“
![Page 18: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/18.jpg)
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
![Page 19: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/19.jpg)
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“
![Page 20: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/20.jpg)
Sequenzdiagramme
• (Zeitbezogene) Darstellung von beispielhaften Interaktionssequenzen• Konzepte
• Zeitlinie (lifeline)• Interaktion: Methodenaufruf / -antwort
Beispiel:
Auftrag bearbeiten Sz1,
„alter“ Kunde bestellt
Lagerartikel
![Page 21: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/21.jpg)
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
DarstellungsKomponente
FunktionaleKomponente
Schnittstelle 1
Schnittstelle 2
SteuerungsKomponente
Schnittstelle 1
ApplikationsserverClient PC
Darstellung
Geschäftsfunktionalität
Steuerung
Datenbankserver
Datenbank11..* 11..*
![Page 22: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/22.jpg)
Werkzeuge
• Dienen der automatischen Unterstützung von Methoden, Verfahren, Konzepten und Notation
• Codegenerierung • C++• Java• ...
• UML Case Tools• Rose• Visio• Together• ...
![Page 23: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)](https://reader033.vdocuments.site/reader033/viewer/2022061607/56813b63550346895da46137/html5/thumbnails/23.jpg)
Literatur
Balzert, Heide Objektorientierung in 7 Tagen Vom UML-Modell zur fertigen Webanwendung Heidelberg; Berlin 2000Balzert, Heide Lehrbuch der Objektmodellierung Analyse und Entwurf Heidelberg 1999Balzert, Helmut Lehrbuch Grundlagen der Informatik Konzepte und Notationen in UML,
Java und C++ Algorithmik undSoftware-Technik Anwendungen
Heidelberg 1999
Burkhard, Rainer UML Unified Modelling Language Objektorientierte Modellierung für die Praxis Bonn 1999Fowler, Martin; Kendall, Scott
UML Konzentriert Die neue Standard- Objektmodellierungssprache anwenden
Bonn 1998
Oesterreich, Bernd Objektorientierte Softwareentwicklung Analyse und Design mit der Unified Modelling Language
München; Wien 1998