Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E...

24
Universität Stuttgart Wissensverarbeitung und Numerik Institut für Kernenergeti und Energiesystem Simulation technischer Systeme, WS 01/02 Kap. 4: Analyse Modellierung komplexer Realität mit Objekten Vorgehen orientiert an Vorstellung Modell: Entwicklung in mehreren Schritten und mit situationsangepassten Verbesserungen - inkrementel

Transcript of Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E...

Page 1: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

Klassen: Attribute und Methoden

Page 9: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

Elemente eines Paketdiagramms

Paket

Abhängigkeit: Paket A hängt vom Paket B ab

Package

Package A

Package B

Page 18: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

Beispiel für ein Komponentendiagramm

CalcEn832

ICaculation

IFactoryRenSim.exe

Page 23: Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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 Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Simulation technischer Systeme, WS 01/02Kap. 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

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