Page 1
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Modellierung komplexer Realität mit Objekten
Vorgehen orientiert an Vorstellung Modell:Entwicklung in mehreren Schritten - iterativund mit situationsangepassten Verbesserungen - inkrementell
Page 2
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Das sollten Sie heute lernen
Es gibt eine Sprache zur Beschreibung von Objekten und ihren Beziehungen:
Die Unified Modelling Language
Elemente der Unified Modelling Language Graphische Notationen Lesen von UML Diagrammen Umsetzung über Case Tools
Page 3
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Simulation komplexer technischer Anlagen
Teil II: Elemente zum Bau virtueller Anlagenkomponenten
Kapitel 4:Objektorientierte Analyse mit der Unified Modelling Language
Inhalt Teil I
Objektorientierte Analyse mit der Unified Modelling Language Teil II
Beispiel: Wärmebedarf eines Wohngebäudes
Anhang UML Quick Reference Ergänzung: Praktikum
-Analyse und Entwurf mit Rational Rose
am Beispiel Wärmebedarf eines Wohngebäudes
Page 4
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Was ist die UML
UML entstand aus der Zusammenführung von drei Notationen verschiedener Autoren:
Grady Booch
Jim Rumbaugh
Ivar Jacobson
UML ist sehr umfangreich
UML ist seit 1997 von der Object Management Group OMG standardisiert.
UML hat sich am Markt durchgesetzt
Quelle für UML www.rational.com
www.omg.org
UML 1.3
Arbeiten mit der UMLArbeitsumgebung auf Basis von Rational Rose
Page 5
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Methode und Notation
UML stellt zur Verfügung:ein Meta-Modell (grundlegende Modellierungskonzepte, Modellelemente und ihre Semantik)
eine graphische Notation zur Visualisierung des Meta-Modells
Richtlinien (Namenskovenktionen, Anordnung von Symbolen usw.)
UML ist keine Methode, weil sie kein Vorgehensmodell definiert
Dies geschieht erst mit dem Rational Unified Process
UML ist durch Verwendung von Stereotypen erweiterbar
Page 6
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Evolution der Unified Modelling Language: UML
2000 Unified Process
Herbst 1998 UML 1.3Von der OMG als Standard akzeptiert, Dez. 1997
Überarbeiteter Vorschlag an die OMG, Sept.1997 UML 1.1 Drei Bücher
-- User Guide
-- Reference Manual
-- Process Guide
Einreichung an die OMG, Jan. 1997 UML 1. Übergang
Unified Modelling Language Beta Version OOPSLA 1996
WWW - Juni 1996 UML 0.9 Nur WWW-Version
OOPSLA 1995 Unified Method 0.8 Handbücher
Booch 1993 OMT - 2
Andere Methoden Booch 1991 OMT - 1 OOSE
Page 7
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Verschiedene Sichten eines SW-Systems
UML ist für den gesamten Software-Lebenszyklus entwickelt worden
Verschiedene Sichten, die mit UML darstellbar sind:
Spezifikation(Nutzung), Analyse, Entwurf, Implementierung, Betrieb
DESIGN VIEW
PROCESS VIEW
DEPLOYMENT VIEW
COMPONENT VIEW
USE CASEVIEW
Page 8
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Klassen: Attribute und Methoden
Page 9
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Beziehungen: Diagrammtypen der UML
Sichten werden über Diagramme graphisch beschrieben
Die wichtigsten DiagrammeUse Case-Diagramm
Klassendiagramm
Paketdiagramm
Komponenten-Diagramm
Weitere Diagramme sind z.B.Interaktionsdiagramm (Sequenzdiagramm, Kollaborationsdiagramm)
Zustandsdiagramm
Deployment-Diagramm
Page 10
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Use Case-Diagramm
Beschreibt Benutzungsszenarien eines Systems (Anwendungsfälle)
WER (Akteur) tut WAS (Use Case)
Geeignet für:Anforderungsspezifikation
Kommunikation mit dem Auftraggeber
Geschäftsprozessmodellierung
Workflowmodellierung
Page 11
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Elemente eines Use Case-Diagramms
Use Case A Use Case B
Use Case
Use Case A Use Case B
<<include>>
Use Case A Use Case B
<<extend>>
Actor
Anwendungsfall A ist eine Variation vom Anwendungsfall B (Generalisierung)
Akteur
Anwendungsfall
Der Anwendungsfall A ist ein Bestandteil vom Anwendungsfall B
Der Anwendungsfall A erweitert an einer bestimmten Stelle den Anwendungsfall B
Page 12
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Beispiel für ein Use Case-Diagramm
VDI 2067En 832
Plant CalculationUser Building Calculation
<<extend>>
Die Anwendung Gebäudeberechnung enthält Berechnungen nach En 832 und VDI 2067. Sie wurde um eine Berechnung der RLT Anlage erweitert
Page 13
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Klassendiagramm
Zentrales Element der UML und der objektorientierten Softwareentwicklung
Darstellungen von Klassen und Objekten mit Beziehungen, Methoden und Attributen
Viele Details darstellbar, z.B.:spezielle Eigenschaften einer Klasse (abstrakt, interface)
Kardinalitäten der Beziehungen
Navigationsfähigkeit
usw.
Page 14
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Elemente eines Klassendiagramms
Aggregation: Klasse A beinhaltet die Klasse B
Vererbung: Klasse A erbt von der Klasse B
Klasse
Abhängigkeit: Klasse A hängt von der Klasse B in irgendeiner Art und Weise ab
Assoziation: Klassen A und B stehen in einer Beziehung zu einander
Class
- attribute
+ operation()
Class A ClassB
Class A ClassB
Class A ClassB
*11 *
Class A ClassB
*11 *
Page 15
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Beispiel für ein KlassendiagrammCBuilding
+ CalculateHeatingRequirement()+ set_m_pHeatedThermalZone()+ set_m_pUnheatedThermalZone()+ getVolumeOf HeatedZone()+ getSurf aceAreaOf HeatedZone()+ getFloorAreaOf HeatedZone()+ getFootprintAreaOf HeatedZone()+ getGlazingAreaOf HeatedZone()+ remov eUnheatedThermalZones()
CHeatedThermalZone
+ m_dHeatCapacity : double = dHeatCapacity+ m_dFootprintArea : double = dFootprintArea
+ CHeatedThermalZone()+ CalculateHeatingRequirement()- CalculateTransmissionLoss()- CalculateVentilationHeatLoss()- CalculateInternalHeatGains()
1
1
1
+m_pHeatedThermalZone1
HeatedThermalZone
CExternalEnclosure
# m_dOrientation : double = dOrientation# m_dInclination : double = dInclination
+ CExternalEnclosure()+ CalculateTransmissionHeatLoss()
CEnclosure
+ m_dArea : double = dArea+ m_dUValue : double = dUValue
+ CEnclosure()+ CalculateSpecif icTransmissionHeatLoss()+ CalculateTransmissionHeatLoss()+ CalculateSolarHeatGains()
CEnvironment
+ getExternalTemperature()+ getGroundTemperature()+ getSolarIrradiation()
11 1
+m_pEnvironment
1 bound to
CThermalZone
+ m_dVolume : double = dVolume+ m_dArea : double = dArea+ m_dAirchange : double = dAirchange+ m_dPhi : double = dPhi
+ CThermalZone()+ ConnectWall()+ CalculateSpecif icVentilationHeatLoss()+ CalculateSpecif icTransmissionHeatLoss()+ CalculateSolarHeatGains()+ getSurf aceArea()+ getGlazingArea()+ getExternalTemperature()
*
#m_listEnclosures
*surrounded by
1
1
+m_pEnvironment 1
1
bound to
Die Klasse Gebäude beinhaltet eine geheizte thermische ZoneDiese erbt von der Klasse thermische ZoneDie Klasse thermische Zone steht zur Klasse Hülle in der Beziehung umgeben und beinhaltend Randbedingungen der Klasse UmgebungDie Klasse äußere Hülle erbt Eigenschaften der Klasse Hülle und beinhaltet Randbedingungen der Klasse Umgebung
Page 16
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Paketdiagramm
Strukturierung eines Software-Systems in größere Einheiten als Klassen
Vermittelt einen Grobüberblick über ein Software-System
Wichtig für Darstellung von Abhängigkeiten auf höherer Ebene
Page 17
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Elemente eines Paketdiagramms
Paket
Abhängigkeit: Paket A hängt vom Paket B ab
Package
Package A
Package B
Page 18
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Beispiel für ein Paketdiagramm
Building Description
Building Calculation
Plant Calculation
Das Paket Gebäudesimulation hängt ab vom Paket BeschreibungDas Paket Anlagensimulation hängt ab von den Paketen Beschreibung und Gebäudesimulation
Page 19
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Komponenten
Eine Komponente ist ein unabhängiger, austauschbarer Teil eines Softwaresystems, die eine sinnvolle Aufgabe im Kontext einer Softwarearchitektur erledigt.
Eine Komponente ist auch eine standardisierte, wiederverwendbare und im Vorfeld implementierte Einheit, welche benutzt wird, um Konstrukte einer Programmiersprache zu erweitern und Softwareanwendungen zu bauen.
Eine Komponente kann mehrere Klienten haben, kennt aber nicht den Kontext in dem sie benutzt wird.
Page 20
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Komponentendiagramm
UML unterstützt die komponentenbasierte Softwareentwicklung
In der UML werden Implementierungskomponenten („technische Komponenten“) direkt unterstützt als Komponenten in Form von Quellcode Komponenten in Form von Binärcode Komponenten in Form von ausführbaren Code
UML unterstützt die von Microsoft verwendete Lollipop Notation
Page 21
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Elemente eines Komponentendiagramms
Komponente
Interface (Schnittstelle)
Component
Interface
Die Komponente A realisiert das Interface A
Die Komponente A hängt vom Interface der Komponente B ab.
Component A
Interface A
Component A
Component B
Interface B
Page 22
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Beispiel für ein Komponentendiagramm
CalcEn832
ICaculation
IFactoryRenSim.exe
Page 23
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Aufbau von Systemen mit Objekten
Systeme werden dadurch aufgebaut, dass Objekte in Beziehungen treten, von anderen Objekten genutzt werden.Das System wird von Anwendern genutzt. Dies wird über Use Case Diagramme beschrieben.Use Cases werden durch die Verbindung von Packages implementiert.Packages können aus Komponenten aufgebaut werden.Komponenten sind aus Objekten zusammengesetzt.Objekte, Komponenten, und Packages findet man iterativ
Page 24
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse
Diese Fragen sollten Sie jetzt beantworten können
Was ist die UML und was nicht Wie beschreibt die UML Klassen Wichtige Beziehungen zwischen Klassen Was ist ein Use Case Was ist ein Klassendiagramm Wie beschreibt man eine Komponente Wie liest man ein UML Diagramm Zu was sind Case Tools nötig