Modellierung komplexer Realität mit Objekten Vorgehen orientiert an Vorstellung Modell: Entwicklung in mehreren Schritten - iterativ und mit situationsangepassten Verbesserungen - inkrementell
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
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
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 UML Arbeitsumgebung auf Basis von Rational Rose
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
Evolution der Unified Modelling Language: UML 2000 Unified Process Herbst 1998 UML 1.3 Von 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
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 CASE VIEW
Klassen: Attribute und Methoden
Beziehungen: Diagrammtypen der UML Sichten werden über Diagramme graphisch beschrieben Die wichtigsten Diagramme Use Case-Diagramm Klassendiagramm Paketdiagramm Komponenten-Diagramm Weitere Diagramme sind z.B. Interaktionsdiagramm (Sequenzdiagramm, Kollaborationsdiagramm) Zustandsdiagramm Deployment-Diagramm
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
Elemente eines Use Case-Diagramms 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
Beispiel für ein Use Case-Diagramm Die Anwendung Gebäudeberechnung enthält Berechnungen nach En 832 und VDI 2067. Sie wurde um eine Berechnung der RLT Anlage erweitert
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.
Elemente eines Klassendiagramms 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 Aggregation: Klasse A beinhaltet die Klasse B
Beispiel für ein Klassendiagramm Die Klasse Gebäude beinhaltet eine geheizte thermische Zone Diese erbt von der Klasse thermische Zone Die Klasse thermische Zone steht zur Klasse Hülle in der Beziehung umgeben und beinhaltend Randbedingungen der Klasse Umgebung Die Klasse äußere Hülle erbt Eigenschaften der Klasse Hülle und beinhaltet Randbedingungen der Klasse Umgebung
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
Elemente eines Paketdiagramms Abhängigkeit: Paket A hängt vom Paket B ab
Beispiel für ein Paketdiagramm Das Paket Gebäudesimulation hängt ab vom Paket Beschreibung Das Paket Anlagensimulation hängt ab von den Paketen Beschreibung und Gebäudesimulation
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.
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
Elemente eines Komponentendiagramms Interface (Schnittstelle) Die Komponente A realisiert das Interface A Die Komponente A hängt vom Interface der Komponente B ab.
Beispiel für ein Komponentendiagramm
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
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