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

Slides:



Advertisements
Ähnliche Präsentationen
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Advertisements

Objektorientierung Auffassung der Software als eine Sammlung
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Frank Simon, BTU Cottbus: Einführung in UML
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
IT-Projektmanagement
OO Analyse Analyseprozess Erstellen eines Modells
Methodik: Objektorientierte Analyse
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Manfred Thaller, Universität zu Köln Köln 7. Januar 2010
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Sequenzdiagramm.
Objektorientierte Analyse (OOA) Inhaltsübersicht
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Lösungen
Modellierung komplexer Realität mit Objekten
Software-Technik: (fortgeschrittene) Klassendiagramme
UML Unified Modelling Language Dipl. -Inform
Datenmodellierung - Aufbau einer Datenbank -
OO Analyse und Entwurf für Anwender
OO Analyse und Entwurf für Anwender
OO Analyse und Entwurf für Anwender
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Objektorientierte Softwareentwicklung
Visualisierung objektrelationaler Datenbanken
Vorgehensmodelle: Schwergewichtige Modelle
Software Engineering SS 2009
2. Vorlesung Ansätze der Systemanalyse: Strukturierte Analyse (SA)
12. Vorlesung: Aktivitätsdiagramme
10. Vorlesung: Dynamische Konzepte
Unified Modeling Language Repetition / Einführung zu UML
Einführungskurs in die UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
LVA , SS021 Im Mittelpunkt aller Bemühungen steht der Kunde und die Steigerung des Kundennutzens. Deswegen: Wer alles reinlässt kann nicht.
Objektorientierte Analyse
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
Wasserfallmodell und Einzelbegriffe
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Datenbanksysteme für Hörer anderer Fachrichtungen
Informatik und Programmieren 3
Vorlesung Software Engineering I
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Objektorientierte Modellierung mit UML
Die Unified Modeling Language UML
Klassen und Klassenstruktur
Unified Modeling Language UML
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
MDA – Model Driven Architecture
Sichtbarkeit einschränken
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
© Till Hänisch, 2002 BA Heidenheim Objekte und UML "You can model 80 percent of most problems by using about 20 percent of the UML." -- Grady Booch But.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
UML – Unified Modeling Language
Systemanalyse BA Heidenheim 2002.
 Präsentation transkript:

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

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

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

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

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

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

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

Ü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

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

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

Darstellung von Klassen und Objekten „Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte“ (Oesterreich 1998) Klassenattribute und Klassenoperationen

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

Vererbung Oberbegriff-Beziehung (Ist-ein-Beziehung) Eine Subklasse kann über die Attribute und Operationen einer Superklasse verfügen Generalisierung - Spezialisierung

Beispiel Klassendiagramm

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

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“

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

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“

Sequenzdiagramme (Zeitbezogene) Darstellung von beispielhaften Interaktionssequenzen Konzepte Zeitlinie (lifeline) Interaktion: Methodenaufruf / -antwort Beispiel: Auftrag bearbeiten Sz1, „alter“ Kunde bestellt Lagerartikel

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

Werkzeuge Dienen der automatischen Unterstützung von Methoden, Verfahren, Konzepten und Notation Codegenerierung C++ Java ... UML Case Tools Rose Visio Together

Literatur