Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)

23
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.2001

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 Presentation

Transcript of Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)

Page 1: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)

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)

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)

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)

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)

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)

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)

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)

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)

Ü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)

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)

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)

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)

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)

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)

Beispiel Klassendiagramm

Page 16: Objektorientierte Analyse und Design mit der Unified Modelling Language (UML)

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)

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)

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)

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)

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)

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)

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)

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