Sie sind auf Seite 1von 32

OBJEKTORIENTIERTE

MODELLIERUNG
Teil 1: Einleitung

Vorlesung im Sommersemester 2018


FG System- und Softwareengineering
Dr.-Ing. Ralph Maschotta

05.04.2018
Inhalt
 Organisatorisches
 Motivation
 Unified Modeling Language

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 2


Einleitung
Organisatorisches

 LV Objektorientierte Modellierung
 Vorlesung
 Seminar
 Modellierungsaufgaben
 Anrechenbarkeit:
 5 Leistungspunkte
 Wahlpflicht-Lehrveranstaltung
 Bachelor-Studenten der Informatik
 Bachelor-Studenten der Ingenieurinformatik
 Master-Studenten der Wirtschaftsinformatik

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 3


Einleitung
Organisatorisches

 Voraussetzungen:
 Grundlagen der objektorientierten Programmierung

 Inhalt:
 Grundlagen der Modellierung
 UML 2.5
 Grundlagen Metamodell
 Strukturdiagramme
 Verhaltensdiagramme
 Ergänzende Diagramme

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 4


Einleitung
Organisatorisches

 Ziel:
 Fähigkeit zur Modellierung des Verhaltens und der
Struktur von Systemen mittels UML
 Grundkenntnisse des Metamodells der UML
 Grundlage für LV Model-Driven Architecture (MDA)

 Abgrenzung:
 Spezielles Vorgehensmodell
 Objektorientierte Analyse
 Objektorientiertes Design
 Entwurfsmuster / Architekturmuster / Idiome

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 5


Einleitung
Organisatorisches

 Leistungsnachweis
 Verbindliche Einschreibung zur Prüfung im thoska-System
 Verbindliche Anmeldung bis 05.05.2018
 Abmeldung bis 05.05.2018 möglich
• Abmelden danach = nicht bestanden
• Keine Anmeldung = keine Note!
 Leistungsnachweis:
 Modellierungsaufgaben (40% der Bewertung)
 Klausur ohne Hilfsmittel, 90 Min (60% der Bewertung)
 Bestehen von beiden Teilen notwendig
 Sinnvoll: Abschluss der Modellierung vor Teilnahme an der
Klausur

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 6


Einleitung
Organisatorisches

 Seminar
 Modellierung:
 Im Rahmen des Seminars:
• Bearbeitung der Aufgaben im Team (2 Personen)
• UML-Modellierungsaufgabe
• Erstellung einer Dokumentation
 Ab sofort:
 Festlegung der Teams
 In eine Gruppe bei moodle einschreiben

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 7


Einleitung
Wissensquellen

 Literaturhinweise:
 [1] Chris Rupp, Stefan Queins, Barbara Zengler: UML2 glasklar – Praxiswissen für die
UML-Modellierung, 4. aktualisierte Auflage, 2012, Hanser.
 [2] Object Management Group: Unified Modeling Language, - Version 2.51, 2017,
http://www.omg.org/spec/UML/2.5/.
 [3] Object Management Group, „OMG Specifications,“ 2018. [Online].
Available: http://www.omg.org/spec/.
 [4] Object Management Group: Meta Object Facility (MOF) Core, 2015,
http://www.omg.org/spec/MOF/2.5/.
 [5] T. DeMarco, Structured analysis and system specification, 17. [print.] Hrsg.,
Englewood Cliffs N.J. u.a.: Yourdon Pr, 1979, pp. XIV, 352 S.
 [6] S. B. Bernd Oestereich, Analyse und Design mit UML 2.3, 9. Auflage Hrsg.,
Oldenbourg, 2009.

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 8


Einleitung
Wissensquellen

 Quellennachweis:
 [wordpress10] - Quelle:
http://pjmb.files.wordpress.com/2009/09/projektmanagement.jpg. Available 2010
 [eclipsegmf] - [http://eclipse.org/gmf-tooling/]
 [sophist10] - SOPHIST GmbH: http://www.sophist.de, 2010

 Links:
 [OMG] Object Management Group: http://www.omg.org/
 [OOSE] oose Innovative Informatik GmbH: http://www.oose.de/

 Graphiken:
 Erstellt mit: Visual Paradigm - Academic Partner Program from Visual Paradigm

Ilmenau University of Technology is provided with the use of VP-UML, SDE-EC, SDE-NB, SDE-IJ, SDE-
VS, BPVA, AG, DBVA for educational purpose by the Academic Partner Program from Visual Paradigm.

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 9


Einleitung
Wissensquellen

 UML-Tools
 Visual Paradigm: http://www.visual-paradigm.com/
 Eclipse-Projekte:
 UMLDesigner: http://www.umldesigner.org/
 Papyrus: http://www.eclipse.org/papyrus/
 ObjectiF: http://www.microtool.de/index.html
 Inovator: http://www.mid.de/
 MagicDraw: http://www.magicdraw.com/
 IBM: http://www.ibm.com/software/de/
 Rational
 Rhapsody
 Enterprise Architect: http://www.sparxsystems.com/

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 10


Inhalt
 Organisatorisches
 Motivation
 Unified Modeling Language

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 11


Motivation
Projektumfeld

 Projektalltag?

[wordpress10]

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 12


Motivation
Projektumfeld

 Entwicklungsprojekte
 Teamarbeit
 Unterschiedliche Systeme
 Unterschiedliche Experten
 Unterschiedliche Begriffswelten
 Kommunikation essenziell notwendig
 Gemeinsame, verständliche Sprache notwendig Leiter

 Natürliche Sprache mehrdeutig und unpräzise


 Formale Sprachen nicht für alle verständlich
(Programmiersprachen, Mathematische Formeln)
Leiter

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 13


Motivation
 Wie beschreibt man Software und Systeme?
 Abhängig vom Zweck: Dokumentation, Kommunikation,
Spezifikation, Vertragsabschluss, Ausschreibung, …

 Was wird beschrieben?


 Struktur
 Verhalten
 Funktionen
 Abläufe
 Schnittstellen
 Anforderungen
 Begriffsbedeutungen
 Arbeitsschritte
 …
Grun
dlag
SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung
Motivation
 Wie beschreibt man Software und Systeme?
 Arten der Beschreibung
 Gespräch, Interview
 Text, Prosa
 Strukturierter Text
 Tabelle
 Semi-formales Modell
 Formales Modell
 Ausführbares Modell

Grun
dlag
SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung
Motivation
Projektumfeld

 Vielfältige Beschreibungsmöglichkeiten nötig


 Struktur

http://www.kanis.de/home/products/sps_cpu1/d_sps1.htm

 Verhalten
http://modelleisenbahn-steuern.de/controller/atmega8/12-1-uebersicht-atmega8.htm

 Vielzahl von Notationen usw. vorhanden


Standardisierung der Notationen notwendig
 Industriestandard Unified Modeling Language (UML)

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 16


Die Unified Modeling Language
Beschreibung

 Was ist die UML:


 Unified Modeling Language
 Ausdrucksstarke Modellierungssprache
 Dient der Beschreibung und zur Entwicklung von
 Software
 Systemen
 Auch nicht technische Systeme
 Modellierung von Struktur und Verhalten
 Festlegung der Notation
 Möglichkeit des Austauschs von Modellen
 Definition einer formalen Basis für das Verständnis der
Modellierungssprache (Metamodell)

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 17


Die Unified Modeling Language
Beschreibung
 Einsatz im Lebenszyklus eines Softwaresystems:
 Definition Problemstellung
 Anforderungsanalyse
 Grob- und Feinentwurf
 Implementierung
 Test
 Einsatz / Verteilung
 Pflege / Wartung
 Reengineering
 Anpassungsfähigkeit
 Erweiterungsmöglichkeiten
 Spezialisierungsmöglichkeiten

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 18


Die Unified Modeling Language
Beschreibung
 Anwendung meist bei Softwaresystemen
 Aber auch andere möglich
• Geschäftsprozessmodellierung
• Systembeschreibungen
 Unterstützung:
 Der Entwicklung
 Der Dokumentation
 Der Kommunikation
 Des objektorientierten Paradigmas
 Der modellbasierten Software-Architektur und –Entwicklung
(MDA / MDD)
 Von Mustern (Architektur- / Entwurfsmuster)
 Verschiedener Vorgehensmodelle

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 19


Die Unified Modeling Language
Beschreibung

 Abgrenzung - Was ist die UML NICHT:


 Perfekt
 Vollständig
 Auf ein Anwendungsgebiet spezialisiert
 Ersatz der Textbeschreibung!
 Methode
 Vorgehensmodell
 Formale Sprache
 Programmiersprache
 Keine (wenig) Semantik (Ablaufsspezifikation)
 Keine (wenig) Kopplung zwischen den Modellen

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 20


Die Unified Modeling Language
 Geschichte der UML

[1]
[sophist10]
SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 21
Die Unified Modeling Language
 Geschichte der UML
Neues Metamodell !

Object Management Group [OMG]

Die „Drei Amigos“

[1]

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 22


Die Unified Modeling Language
Geschichte der UML
 Aktuelle Spezifikationen der OMG:
 UML 2.5 (Juni 2015)
 Definition von insgesamt 14 Diagrammtypen
 Die Business Process Model and Notation (BPMN) 2.0
 Zur Geschäftsprozessmodellierung
 Object Constraint Language (OCL) 2.3
 Definition von Bedingungen
 Systems Modeling Language (SysML) 1.3
 Spezialisierung zur Systemmodellierung
 Foundational Subset for Executable UML Models (fUML) 1.1
 Ausrichtung auf (Ziel) executable UML
 Ist nicht executable UML
 Action Language for Foundational UML (ALF) 1.0
 “Programmiersprache” der UML
 Profile for Schedulability, Performance and Time (SPT-Profile) 1.1
 Zur Modellierung von Echtzeitsystemen

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 23


Die Unified Modeling Language
Modellelemente

 Einteilung der Modellelemente in der UML


 Unterteilung in (UML)
 Modellierung der Struktur
 Modellierung des Verhaltens
 Ergänzende Modellierung (ab UML 2.5)
 Alternative Unterteilung:
 Modellierung dynamischer Aspekte eines Systems
 Modellierung statischer Aspekte eines Systems

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 24


Die Unified Modeling Language
Sichten und Schichten der UML

 Elemente der Modellierung der Struktur ein Paket

 Klasse, Objekt, Paket, Kollaboration (Muster), eine Klasse

Komponente, … <<instance of>>

ein Objekt

 Elemente der Verhaltensmodellierung


 Operation, Aktivität, Aktion, Nachricht,…
setValue()

 Elemente der Ergänzenden Modellierung


 Anwendungsfälle (UseCase), Informationsfluss, Knoten

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 25


Die Unified Modeling Language
UML

 Modellelemente
CommonStructure Values

SimpleClassifiers StructuredClassifiers Classification Packages

CommonBehavior

StateMachines Activities Interactions Actions

UseCases Deployments InformationFlows

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 26


Die Unified Modeling Language
Sichten und Schichten der UML

 Modellierung statischer Aspekte


 Modellierung der Struktur
 Aufbau und Abhängigkeiten von Komponenten, Klassen, usw.
 Verhaltensmodellierung Clie n t
-m _objekt e : Kom ponent e
-m _objekt e Kom p on e n t e
+ ausführen()
-m _kom ponent en

Beschreibung des Verhaltens


+ aufgabeErledigen()

(Programm) aller Objekte einer Klasse
Bla t t Kom p osit u m
+ ausführen() -m _kom ponent en : Kom ponent
+ ausführen()

 Nicht nur ein einzelner Ablauf + zusät zlichAusführen()

sd aufgabeErledigen()

Ist ein Attribut


einer Klasse,
kein Exemplar

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 27


Die Unified Modeling Language
Sichten und Schichten der UML

 Modellierung dynamischer Aspekte


 Exemplare (Instanzen) existieren nur in der Realität
 Nur Beschreibung des aktuellen Zustands eines Exemplars
 Instance Specification
 Wertbelegung eines Exemplars zu einem Zeitpunkt (Slots)
 Keine Darstellung des Verlaufs der Wertebelegung möglich
• Video der Wertebelegungen?  Timingdiagramm?
 Instance Specification (Exemplar, Objekt)
 Für alle Exemplare von Classifiern möglich
• z. B.: Klasse, Knoten, …
 Werden unterstrichen dargestellt
 UML: Keine Exemplare von Operationen
 Einzelner Ablauf
• Modelliert mit Verhaltensdiagramm z.B.: Interaktionsdiagramm

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 28


Die Unified Modeling Language
 Sichten und Schichten der UML
<<Enum>>
Farbe <<Enum>>
-farbe FigurenTyp

statischer Aspekte
Schachspiel Schachfigur -schwarz
-figuren -farbe : Farbe -weiss -König
-figuren : Schachfigur
-typ -Dame
-position : Position
-position -Läufer
-typ : FigurenTyp
Position -Pferd
-x : char -Turm
-y : int -Bauer
<<instanceOf>> <<instanceOf>>

Spiel 0815 KönigWeiss : Schachfigur

dynamischer Aspekte figuren farbe = weiss


position = C,4
DameWeiss : Schachfigur

typ = König farbe = weiss


figuren
position = B,5
typ = Dame
figuren KönigSchwarz : Schachfigur

farbe = schwarz
position = A,5
typ = König
figuren
BauernSchwarz : Schachfigur
BauernWeiss : Schachfigur 2 farbe = schwarz
figuren
typ = Bauer
farbe = weiss
3 typ = Bauer

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 29


Diagramme der UML
Übersicht

Übersicht der Diagramme der UML (ab 2.5)


Diagramm

Struktur-Diagramme Verhaltens-Diagramme Ergänzende Diagramme

Klassen-Diagramm Komponenten- Aktivitäts-Diagramm Zustands-Diagramm Verteilungs- Use-Case-


Diagramm Diagramm Diagramm

Objek-Diagramm Paket-Diagramm
Interaktions-Diagramme

Kompositions-Struktur- Profil-Diagramm
Diagramm
Sequenz-Diagramm Timing-Diagramm

Kommunikations- Inkeraktions-
Diagramm Übersichts-Diagramm

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 30


Diagramme der UML
Übersicht
UML

Activity Diagram CommonStructure


Modellierung der Struktur Values

Modellierung der
Class Diagram Structured
Classifiers
Communication D.
Class Diagram

Struktur
SimpleClassifiers Classification Packages
Component Diagram Component Diagram
Object Diagram Package Diagram
Composite Structure D.
Composite Structure D. Profile Diagram

Deployment Diagram
CommonBehavior
Modellierung des Verhaltens
Modellierung des

Interaction Overview D.
Interactions
Object Diagram Communication D.
Verhaltens

Package Diagram StateMachines Activities Actions Interaction Overview D.


Sequence D.
Profile Diagram State Machine Diagram Activity Diagram
Timing D.
State Machine Diagram
Sequence Diagram
Modellierung

Ergänzende Modellierung
Ergänzende

UseCases Deployments InformationFlows


Timing Diagram
Use Case Diagram Deployment D.
Use Case Diagram

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 31


Inhalt
Vorlesungsinhalte

 Inhalt der Vorlesung


 Grundlagen, Metamodell und Metameta-Modell
 Klassen- und Objekt-Diagramm
 Use-Case-Diagramm
 Aktivitäts-Diagramm
 Interaktions-Diagramme
 Zustands-Diagramm
 Weitere Strukturdiagramme

 Reihenfolge hat nur didaktische Bedeutung!

SSE Maschotta Objektorientierte Modellierung WS2018 - Einleitung 32