Formale Modellierung Vorlesung vom : Einführung

Größe: px
Ab Seite anzeigen:

Download "Formale Modellierung Vorlesung vom : Einführung"

Transkript

1 Rev [11] Formale Modellierung Vorlesung vom : Einführung Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012

2 2 [11] Organisatorisches Veranstalter: Till Mosskawski Christoph Lüth Cartesium 2.51, Tel MZH 3110, Tel Termine: Vorlesung: Montag, 14 16, Cartesium 2.43 Übung: Donnerstag, 8 10, GW1 C1070

3 3 [11] Therac-25 Neuartiger Linearbeschleuniger in der Strahlentherapie. Computergesteuert (PDP-11, Assembler) Fünf Unfälle mit Todesfolge ( ) Zu hohe Strahlendosis ( rad, letal 1000 rad) Problem: Softwarefehler Ein einzelner Programmierer (fünf Jahre) Alles in Assembler, kein Betriebssystem Programmierer auch Tester (Qualitätskontrolle)

4 Ariane-5 4 [11]

5 5 [11] Das Problem Program Welt?

6 5 [11] Das Problem Program Welt Modell

7 6 [11] Lernziele 1. Modellierung Formulierung von Eigenschaften

8 6 [11] Lernziele 1. Modellierung Formulierung von Eigenschaften 2. Spezifikation Eigenschaften von Programmen

9 6 [11] Lernziele 1. Modellierung Formulierung von Eigenschaften 2. Spezifikation Eigenschaften von Programmen 3. Verifikation Beweis der Eigenschaften

10 6 [11] Lernziele 1. Modellierung Formulierung von Eigenschaften 2. Spezifikation Eigenschaften von Programmen 3. Verifikation Beweis der Eigenschaften 4. Vertrautheit mit aktuellen Techniken: JML, UML, Temporallogik

11 7 [11] Techniken der Modellierung und Spezifikation Annotationen an den Code JML für Java: Abstraktion von konkreter Implementation Abstraktion vom Quellcode: Abstrakte Programmmodelle: Zustandsautomaten, Klassendiagrame Abstraktion vom Ausführungsmodell: Hier: Nebenläufigkeit (Temporallogik)

12 8 [11] Java Modeling Language (JML) Zentral: funktionale Korrektheit Design by contract Spezifikation nahe am Code Hoare-Logik (pre/post conditions) Werkzeuge: ESC/Java2, Mobius

13 9 [11] Unified Modeling Language (UML) allgemeine Modellierungssprache Spezifikation problemorientierter Übersetzung in verschiedene Programmiersprachen möglich Nur bestimme Aspekte sind formal hier: State Machines und Object Constraint Language (OCL) Werkzeuge: Hugo/RT und argouml

14 10 [11] Temporallogik Spezifikation nebenläufiger Programme Sicherheits- und Fairness-Eigenschaften Werkzeug: nusmv Modelchecker

15 11 [11] Aufbau der Vorlesung Plan: Woche : Codeannotation mit JML Woche : Modellierung mit UML Woche : Modellchecking mit NuSMV Vorlesung und Übung dynamisch im Wechsel ca. 5 Übungsblätter, Gruppengröße max. 3 Übungen werden vorgestellt und besprochen Scheinkriterien: Übungsblätter bearbeiten und Fachgespräch oder mündliche Prüfung

16 Rev [12] Formale Modellierung Vorlesung vom : Beyond JML Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012

17 2 [12] Heute im Programm Grenzen der JML Nach JML: UML (und darüber hinaus) Zwei Fallbeispiele

18 3 [12] Fallbeispiel 1: Bankautomat Informelle Spezifikation Nach dem Einlegen der Karte (cashcard o.ä.) kann der Benutzer auswählen zwischen dem Abheben von Bargeld, und der Anzeige des Kontostands. In beiden Fällen liest der Automat von der Karte die Kontonummer des Benutzers. Beim Abheben gibt der Benutzer zuerst die gewünschte Summe und danach zur Authentifzierung sein PIN ein. Der Automat liest von der Karte die verschlüsselte PIN, und prüft ob die eingegebene mit der verschlüsselten übereinstimmt. Ist dieser der Fall, und ist das Konto gedeckt, wird das Bargeld zum Abheben bereitgestellt; danach wird die Karte zurückgegeben. Ist das nicht der Fall, wird eine entsprechende Fehlermeldung ausgegeben, und die Karte zurückgegeben. In beiden Fällen geht der Automat danach wieder in den Anfangszustand.

19 4 [12] Kritik JML Implementationsnah Struktur der Spezifikation = Struktur der Implementierung Hier: Events = Klassen? Mangelnde Abstraktion Nächster Schritt: UML

20 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur

21 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume

22 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten

23 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen

24 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur

25 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte

26 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros

27 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail

28 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail Nein Zustandsdiagramm Zustandsübergänge

29 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail Nein Zustandsdiagramm Zustandsübergänge Ja Sequenzdiagramm Kommunikation

30 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail Nein Zustandsdiagramm Zustandsübergänge Ja Sequenzdiagramm Kommunikation Ja Kommunikationsdiagramm Struktur der Kommunikation

31 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail Nein Zustandsdiagramm Zustandsübergänge Ja Sequenzdiagramm Kommunikation Ja Kommunikationsdiagramm Struktur der Kommunikation (Ja) Zeitverlaufsdiagramm Echtzeitaspekte

32 5 [12] UML als formale Spezifikationssprache Diagrammtyp Modellierte Aspekte Formal Klassendiagramm Statische Systemstruktur Ja Paketdiagramm Pakete, Namensräume Nein Objektdiagramm Zustand von Objekten (Ja) Kompositionsstrukturdiagramm Kollaborationen Nein Komponentendiagramm Dynamische Systemstruktur (Nein) Verteilungsdiagramm Implementierungsaspekte Nein Use-Case-Diagramm Ablauf en gros Nein Aktivitätsdiagramm Ablauf en detail Nein Zustandsdiagramm Zustandsübergänge Ja Sequenzdiagramm Kommunikation Ja Kommunikationsdiagramm Struktur der Kommunikation (Ja) Zeitverlaufsdiagramm Echtzeitaspekte (Ja)

33 6 [12] Diagramme in UML 2.3 Quelle: Wikipedia

34 Semantik der UML: Metamodellierung Quelle: Wikipedia 7 [12]

35 8 [12] Kritik UML OO built-in Adäquat für eingebettete Systeme, CPS,...?

36 Fallbeispiel 2: omnirobot Informelle Spezifikation Ein omnidirektionaler, autonomer Roboter soll gegen Kollisionen mit statischen Hindernissen gesichert werden. Dazu wird zu jedem Zeitpunkt die mit der momentanen Geschwindigkeit w beim Bremsen bis zum Stillstand überstrichene Fläche A berechnet, die dann mit einer berührungslos wirkenden Schutzeinrichtung überwacht wird. Quelle: Kuka AG 9 [12]

37 10 [12] Modellierung Roboter als konvexes Polygon K = K 1,..., K n, momentane Pos. P Momentane Geschwindigkeit: Vektor v = (v, φ) Bremsweg S 1, Anhalteweg S, als Vektor: w = (S, φ) Zu berechnen: Anhaltefläche A Q 5 Q 4 Q 3 Q 2 P 4 P 3 Q 6 w Q 1 P 5 P 2 P 6 P 1

38 11 [12] Fazit Fallbeispiel 2 Semantische Modellierung der realen Welt Nicht inhärent objektorientiert Modellierung in UML möglich Natürlicher: direkte Modellierung Fokus: Beweise, Manipulation von Formeln

39 12 [12] Zusammenfassung JML sehr nahe an der Implementation UML abstrahiert von Implementation, aber nur bedingt von Anwendungsdomäne Nächste VL (Montag): Fallbeispiel 2 in UML und Z

40 Rev [13] Formale Modellierung Vorlesung vom : Der sichere Roboter in Z Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012

41 2 [13] Heute im Programm Die Z Notation Modellierung des Sicheren Omnidirektionalen Roboters

42 3 [13] Die Z Notation Basiert auf getypter Mengenlehre Entwickelt seit 1980 (Jean-Claude Abrial, Oxford PRG) Industriell genutzt (IBM, Altran Praxis (vorm. Praxis Critical Systems)) L A TEX-Notation und Werkzeugunterstützung (Community Z Tools, HOL-Z)

43 4 [13] Modell Bremszeit und Bremsstrecke (ab Bremszeitpunkt, a brk > 0): v(t) = v 0 a brk t s(t) = v 0 t a brk 2 t2 = T = v 0 a brk S = v 2 0 2a brk Modellierung in Z: Berechung des Bremsweges. Verzögerung t L und Bremsverzögerung a brk fest: a brk, t L : Z Damit Brems- und Anhalteweg als Funktion über v: brk : Z Z stop : Z Z v : Z brk v = v v div 2 a brk v : Z stop v = v t L + brk(v)

44 5 [13] Geometrie: Punkte Ein Punkt ist ein Schema mit Komponenten x und y: POINT x, y : Z Dazu einschlägige Operationen: Konstruktion aus Polarkoordinaten, Skalarmultiplikation: polar : Z Z POINT d, ω : Z (polar(d, ω)).x = d cos ω d, ω : Z (polar(d, ω)).y = d sin ω smult : Z POINT POINT d : Z; p : POINT (smult(d, p)).x = d p.x d : Z; p : POINT (smult(d, p)).y = d p.y

45 6 [13] Mehr Standardoperationen auf Punkten Addition und Subtraktion von Punkten: add : POINT POINT POINT minus : POINT POINT POINT p, q : POINT (add(p, q)).x = p.x + q.x p, q : POINT (add(p, q)).y = p.y + q.y p, q : POINT minus(p, q) = add(p, smult(0 1, q)) Ganzzahlige Wurzel: sqrt : Z Z i : Z sqrt i sqrt i i i < (sqrt i + 1) (sqrt i + 1) Damit Betrag eines Punktes (als Vektor): len : POINT Z p : POINT len p = sqrt(p.x p.x + p.y p.y)

46 7 [13] Geometrie: Bewegung Bewegung: kombinierte Translation und Rotation movep : POINT Z Z POINT p : POINT ; d, ω : Z movep(p, d, ω) = add(p, polar(d, ω)) Bewegung eines Polygons: move : seq POINT Z Z seq POINT p : seq POINT ; d, ω : Z move(p, d, ω) = (λ i : dom p movep(p(i), d, ω))

47 p : P POINT convhull p = {q : P POINT q conv p q} 8 [13] Geometrie: Konvexe Hülle Strecke zwischen zwei Punkten: seg : POINT POINT P POINT p, q : POINT seg(p, q) = {r : POINT z : N z len(minus(p, q)) r = add(smult(z, p), smult(len(minus(p, q)) z, q))} Konvexität (Menge aller konvexen Punktmengen): conv : P(P POINT ) conv = {c : P POINT p, q : c; r : POINT r seg(p, q) r c} Konvexe Hülle: kleinste p umfassende konvexe Menge convhull : P POINT P POINT

48 9 [13] Der Roboter und seine Bremsfläche Der Roboter hat eine Kontour, Geschwindigkeit, Orientierung: Robot P : seq POINT v : Z ω : Z #P > 2 ran P conv Die beim Anhalten überstrichene Fläche: area : seq POINT Z Z P POINT v, ω : Z; P : seq POINT area(p, v, ω) = convhull (ran P ran (move(p, stop v, ω)))

49 10 [13] Der sichere Roboter Menge von Hindernissen obs : P POINT Der sichere Roboter SafeRobot Robot area(p, v, ω) obs = Sicherheitseigenschaft: SafeMove Robot SafeRobot SafeRobot

50 11 [13] Bewegung des Roboters Geschwindigkeit bleibt gleich: RobotSameSpeed Robot v = v ω = ω P = move(p, v, ω) Sicher? SafeSameSpeed RobotSameSpeed SafeRobot SafeRobot

51 12 [13] Bewegung des Roboters Geschwindigkeit erhöht sich, Lenkwinkel bleibt nur in Bewegung: δv : Z RobotSpeedUp Robot v v + δv v 0 ω = ω P = move(p, v, ω) Sicher? SafeSpeedUp RobotSpeedUp SafeRobot SafeRobot

52 13 [13] Zusammenfassung Z ist leichtgewichtige Notation Werkzeugunterstützung: L A TEX, Typcheck Nächste Woche: UML

53 Rev [11] Formale Modellierung Vorlesung vom : OCL Die Object Constraint Language Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012

54 2 [11] OCL Object Constraint Langauge Mathematisch präzise Sprache für UML OO meets Z Entwickelt in den 90ern Formale Constraints an UML-Diagrammen

55 3 [11] OCL Basics Getypte Sprache Dreiwertige Logik (Kleene-Logik) Ausdrücke immer im Kontext: Invarianten an Klassen, Interfaces, Typen Vor/Nachbedingungen an Operationen oder Methoden

56 4 [11] OCL Syntax Invarianten: context class inv: expr Vor/Nachbedingungen: context Type :: op(arg1 : Type) : ReturnType pre: expr post: expr expr ist ein OCL-Ausdruck vom Typ Boolean

57 5 [11] OCL Typen Basistypen: Boolean, Integer, Real, String OclAny, OclType, OclVoid Collection types: Set, OrderedSet, Bag, Sequences Modelltypen

58 6 [11] Basistypen und Operationen Integer (Z) OCL-Std Real (R) OCL-Std Integer Subklasse von Real round, floor von Real nach Integer String (Zeichenketten) OCL-Std substring, toreal, tointeger, characters etc. Boolean (Wahrheitswerte) OCL-Std or, xor, and, implies Sowie Relationen auf Real, Integer, String

59 7 [11] Collection Types Set, OrderedSet, Bag, Sequence Operationen auf allen Kollektionen: OCL-Std size, includes, count, isempty, flatten Kollektionen werden immer flachgeklopft Set OCL-Std union, intersection, Bag OCL-Std union, intersection, count Sequence OCL-Std first, last, reverse, prepend, append

60 8 [11] Collection Types: Iteratoren Iteratoren: Funktionen höherer Ordnung Alle definiert über iterate OCL-Std : coll-> iterate(elem: Type, acc: Type= expr expr[elem, acc]) iterate(e: T, acc: T= v) { acc= v; for (Enumeration e= c.elements(); e.hasmoreelements();){ e= e.nextelement(); acc.add(expr[e, acc]); // acc= expr[e, acc] } return acc; } Iteratoren sind alle strikt

61 9 [11] Modelltypen Aus Attribute, Operationen, Assoziationen des Modells Navigation entlang der Assoziationen Für Kardinalität 1 Typ T, sonst Set(T) Benutzerdefinierte Operationen in Ausdrücken müssen zustandsfrei sein (Stereotyp <<query>>)

62 10 [11] Undefiniertheit in OCL Undefiniertheit propagiert (alle Operationen strikt) OCL-Std. Ausnahmen: Boolsche Operatoren (and, or beidseitig nicht-strikt) Fallunterscheidung Test auf Definiertheit: oclisundefined mit { true e = oclisundefined(e) = false otherwise Resultierende Logik: dreiwertig (Kleene-Logik) Iteratoren: semi-strikt

63 11 [11] Style Guide Komplexe Navigation vermeiden ( Loose coupling ) Adäquaten Kontext auswählen Use of allinstances is discouraged Invarianten aufspalten Hilfsoperationen definieren

64 12 [11] Zusammenfassung OCL erlaubt Einschränkungen auf Modellen Erlaubt mathematisch präzisere Modellierung Frage: Werkzeugunterstützung? Ziel: Beweise, Codegenerierung,...?

65 Rev [1] Formale Modellierung Vorlesung vom : Werkzeugunterstützung für OCL Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012

66 2 [1] Werkzeuge für OCL Klassifikation: MDA + OCL Specifikation mit OCL Interaktive Entwicklung mit OCL

67 3 [1] MDA + OCL MDA: Model-driven architecture Entwicklung durch Modelltransformation Rolle der OCL: Metasprache Codegenerierung Laufzeitchecks Beispiele für Werkzeuge: MDT/OCL MDT/OCL: EMF mit OCL-Unterstützung

68 4 [1] Spezifikation USE (UML Specification Environment, Uni Bremen) Spezifisch UML+OCL Syntax/Typecheck Animation Konsistenzprüfung ArgoUML (Poseidon) UML 1.5, alle Diagramme OCL: Syntax/Typecheck

69 5 [1] HOL-OCL Entwickelt an der ETH Zürich Flache Einbettung von OCL nach HOL Prüft Konsistenz der Modelle Präziser als OCL-Standard (z.b. Semantik von Mengen) Aufbauende Werkzeuge: Modelltransformationen

70 6 [1] Zusammenfassung OCL-Werkzeuge OCL wird stiefmütterlich behandelt Generierung von Laufzeitprüfungen OCL als Abfragesprache Modelltransformation (used?)

Formale Modellierung Vorlesung vom : Beyond JML

Formale Modellierung Vorlesung vom : Beyond JML Rev. 1702 1 [12] Formale Modellierung Vorlesung vom 07.05.12: Beyond JML Till Mossakowski & Christoph Lüth Universität Bremen Sommersemester 2012 2 [12] Heute im Programm Grenzen der JML Nach JML: UML

Mehr

Formale Modellierung Vorlesung 10 vom : Formale Modellierung mit UML und OCL

Formale Modellierung Vorlesung 10 vom : Formale Modellierung mit UML und OCL 1 [30] Formale Modellierung Vorlesung 10 vom 24.06.14: Formale Modellierung mit UML und OCL Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2014 2 [30] Fahrplan Teil I: Formale Logik

Mehr

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick

Formale Modellierung Vorlesung 13 vom : Rückblick und Ausblick Rev. 2226 1 [19] Formale Modellierung Vorlesung 13 vom 01.07.13: Rückblick und Ausblick Serge Autexier & Christoph Lüth Universität Bremen Sommersemester 2013 2 [19] Fahrplan Teil I: Formale Logik Teil

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Unified Modeling Language 2

Unified Modeling Language 2 Unified Modeling Language 2 Marvin Frommhold 17.11.2008 Gliederung Einleitung Geschichte Strukturierung der Spezifikation Diagrammtypen Strukturdiagramme Verhaltensdiagramme CASE-Werkzeuge Quellen Was

Mehr

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing

Christoph Kecher, Alexander Salvanos UML 2.5. Das umfassende Handbuch. Rheinwerk. Computing Christoph Kecher, Alexander Salvanos UML 2.5 Das umfassende Handbuch Rheinwerk Computing Inhalt Vorwort 13 1 Einführung 17 1.1 Weshalb muss Software modelliert werden? 17 1.2 Die Phasen bei der Softwareentwicklung

Mehr

Unified Modeling Language (UML )

Unified Modeling Language (UML ) Unified Modeling Language (UML ) Seminar: Programmiersprachenkonzepte Inhalt Einleitung UML 2.0 Diagrammtypen 2 Einleitung Objektorientierte Modellierungssprache Definiert vollständige Semantik Dient der

Mehr

INSPIRE - Modellierung

INSPIRE - Modellierung INSPIRE - Modellierung Inhalt Motivation Modellierung UML Diagramme INSPIRE-Schulung LKROS 2 Motivation Was ist ein Modell, und warum wollen wir modellieren? Warum brauchen wir eine Modellierungssprache

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert UML Seite 1 Th Letschert UML - Klassen- / Paket- / Sequenzdiagramm - UML / OCL in Spezifikation und Implementierung

Mehr

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm...

TEIL I Strukturdiagramme 1 Einführung Klassendiagramm Objektdiagramm Kompositionsstrukturdiagramm... Auf einen Blick TEIL I Strukturdiagramme 1 Einführung... 13 2 Klassendiagramm... 29 3 Objektdiagramm... 111 4 Kompositionsstrukturdiagramm... 125 5 Komponentendiagramm... 145 6 Verteilungsdiagramm... 161

Mehr

Einschub - Die Object Constraint Language in UML Oder: Wie man Zusicherungen in UML angibt

Einschub - Die Object Constraint Language in UML Oder: Wie man Zusicherungen in UML angibt Einschub - Die Object Constraint Language in UML Oder: Wie man Zusicherungen in UML angibt SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik

Mehr

Die Unified Modeling Language UML

Die Unified Modeling Language UML Informatik II: Modellierung Prof. Dr. Martin Glinz Kapitel 4 Die Unified Modeling Language UML Universität Zürich Institut für Informatik Inhalt 4.1 Hintergrund 4.2 Grundkonzepte der UML 4.3 Die Rolle

Mehr

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Thomas Röfer Motivation Entwicklung Spracheinheiten Diagramme (Struktur-/Verhaltensdiagramme) Rückblick Textsuche Naive Suche abrakadabra Boyer-Moore abrakadabra a Knuth-Morris-Pratt

Mehr

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language

UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language ADV-Seminar Leiter: Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Requirements Engineering I

Requirements Engineering I Martin Glinz Requirements Engineering I Kapitel 9 UML Unified Modeling Language Universität Zürich Institut für Informatik 2006, 2008 Martin Glinz. Alle Rechte vorbehalten. Speicherung und Wiedergabe sind

Mehr

UML 2.0 Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch Christoph Kecher V.-M \MM UML 2.0 Das umfassende Handbuch Galileo Computing Inhalt Vorwort 11 1 Einführung 13 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3 Die Geschichte

Mehr

Das umfassende Handbuch

Das umfassende Handbuch Christoph Kecher UML 2.0 Das umfassende Handbuch. Jfjf- Ali' ' w v^i* >" '-«(."', Galileo Press Inhalt Vorwort 11 1 Einführung 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Von UML 1.x nach UML 2.0

Von UML 1.x nach UML 2.0 Zürich Soft Summer 2005 Fortgeschrittene Aspekte der Software Technologie Von UML 1.x nach UML 2.0 Prof. Dr. Martin Glinz www.ifi.unizh.ch/req Ergänzendes Material zur Vorlesung Spezifikation und Entwurf

Mehr

Analyse und Design mit U ML 2.3

Analyse und Design mit U ML 2.3 Analyse und Design mit U ML 2.3 Objektorientierte Softwareentwicklung von Bernd Oestereich unter Mitarbeit von Stefan Bremer 9., aktualisierte und erweiterte Auflage Ofdenbourg Verlag München Inhaltsverzeichnis

Mehr

Kapitel 2 - Die Definitionsphase

Kapitel 2 - Die Definitionsphase Kapitel 2 - Die Definitionsphase SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:

Mehr

MDA-Praktikum, Einführung

MDA-Praktikum, Einführung MDA-Praktikum, Einführung Prof. Dr. Peter Thiemann Universität Freiburg 02.11.2005 Was ist MDA? MDA = Model-Driven Architecture Initiative der OMG Object Management Group: CORBA, UML,... offenes Firmenkonsortium

Mehr

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies OOAD in UML Seminar Software-Entwurf B. Sc. Sascha Tönnies Agenda 1. Einordnung des Themas im Seminar 2. UML kompakt 3. UML detailliert 4. Werkzeugunterstützung 2 Einordnung des Themas UML Hilfsmittel

Mehr

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press Christoph Kecher UML2 Das umfassende Handbuch Galileo Press Vorwort 11 TEIL I Strukturdiagramme i '...,....,...,.;..,,,...,, 1.1 Weshalb muss Software modelliert werden? 13 1.2 Was ist die UML? 15 1.3

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für

Mehr

Universität Karlsruhe (TH)

Universität Karlsruhe (TH) Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel 2 Die Definitionsphase Prof. Walter F. Tichy Wo sind wir gerade? Planung Lastenheft (funktionales Modell) Definition (Analyse) Pflichtenheft

Mehr

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11

Inhaltsverzeichnis. Teil I Einführung 13. Teil II Struktur 41. Vorwort 11 UML 2 für Studenten Inhaltsverzeichnis Vorwort 11 Teil I Einführung 13 Kapitel 1 UML (nicht nur) für Studenten 15 1.1 Zielgruppen 16 1.2 Konventionen 17 1.3 Abgrenzung 18 1.4 Aufbau dieses Buches 18 Kapitel

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Grundkonzepte der UML Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile direkt aus der Vorlesung

Mehr

Objektorientierte Systementwicklung

Objektorientierte Systementwicklung Karl-Heinz Rau Objektorientierte Systementwicklung Vom Geschäftsprozess zum Java-Programm Mit 162 Abbildungen vieweg Überblick und Vorbemerkungen 1 1 Objektorientierte Software-Entwicklung 5 1.1 Überblick

Mehr

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel Jason T. Roff UML IT Tutorial Übersetzung aus dem Amerikanischen von Reinhard Engel Inhaltsverzeichnis Inhaltsverzeichnis Einführung 11 Grundlagen der UML 15 Warum wir Software modellieren 16 Analyse,

Mehr

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

Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl 26.07.21 Themenübersicht Objektorientierte Software-Entwicklung Objektorientierte Analyse und Design OOA OOD Objektorientierte

Mehr

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller UML Crashkurs v0.1 UML für Fachinformatiker von Hanjo Müller 3. Mai 2005 Inhaltsverzeichnis Inhaltsverzeichnis 1 UML - Unified Modeling Language 3 2 UML im Software Entwurf 4 2.1 Ablauf der Softwareentwicklung.............................

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Pinte, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 17 Objektorientiertes Design Florin Pinte Marc Spisländer Lehrstuhl für Software

Mehr

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest

Modellbasierter Test mit der UML. Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Modellbasierter Test mit der UML Vortragender: Lars Westmeier Seminar: Spezifikationsbasierter Softwaretest Inhalt Einleitung und Motivation UML Testgenerierung Fazit Inhalt Einleitung und Motivation UML

Mehr

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 14. Februar 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer:

Mehr

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1

Modellierung mit UML. Thomas Kistel. 24. November Thema - Untertitel Datum/Semester Ihr Name Seite 1 Modellierung mit UML Thomas Kistel 24. November 2006 Thema - Untertitel Datum/Semester Ihr Name Seite 1 Inhalt 1. Einführung zu UML 2. Zielsetzung von UML 3. Sichten und Diagramme von UML 4. Model Driven

Mehr

Automatisierung industrieller. Workflows. Teil B: Die Spache UML

Automatisierung industrieller. Workflows. Teil B: Die Spache UML Automatisierung industrieller Teil B: Die Spache UML Joachim Fischer WS 2014/15 B.4-1 Original formuliert als Fragensammlung Bewertung / Rückschlüsse / Modellverbesserung reales bzw. gedachtes Phänomen

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

Thema 2 Acceleo-MTL- Sprachmittel

Thema 2 Acceleo-MTL- Sprachmittel SE Vertiefung Beuth-Hochschule Berlin Thema 2 Acceleo-MTL- Sprachmittel Sprachstruktur Template-Sprache implementiert MOFM2T Bausteine: Modul Template Query Block Protected Area (c) schmiedecke 13 Generator-Kapsel;

Mehr

Modellierung von Web Anwendungen mit UML

Modellierung von Web Anwendungen mit UML Web Engineering-Seminar Modellierung von Web Anwendungen mit UML Yu Gan Yihui He 1 Gliederung 1. UML Grundlagen 1.1 Einführung 1.2 UML-Bausteine 1.3 Darstellung in Diagrammen 2. Modellierung von Web Anwendung

Mehr

Einführung in die objektorientierte Programmierung

Einführung in die objektorientierte Programmierung Einführung in die objektorientierte Programmierung Seminarunterlage Version: 4.04 Copyright Version 4.04 vom 17. Juni 2016 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten.

Mehr

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert Motivation UML 2.0 nicht als ADL im Sinne von Taylor/Medvidovic entworfen. Warum UML als ADL? weit

Mehr

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools

MOF Meta Object Facility. Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools MOF Meta Object Facility Veranstaltungsvortrag im Rahmen der Projektgruppe ComponentTools Überblick Object Management Group (OMG) Model Driven Architecture (MDA) Exkurs: Modelle, Metamodelle MOF Architektur

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Analyse- und Designmethoden Analyse- & Designmethoden Strukturierte, traditionelle Methoden Objektorientierte Methoden Funktionsorientierte Methoden Datenorientierte

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Softwareentwicklung mit UML

Softwareentwicklung mit UML Softwareentwicklung mit UML Die Unified Modeling Language im Projekteinsatz 2.12.2003, Seite 1 Übersicht 1 Einleitung 2 Die Unified Modeling Language (UML) 3 Vorgehensmodelle und UML 4 Ausblick 4.1 UML

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

Comelio GmbH - Goethestr Berlin. Course Catalog

Comelio GmbH - Goethestr Berlin. Course Catalog Comelio GmbH - Goethestr. 34-13086 Berlin Course Catalog 2 Table Of Contents a. Locations... 3 1. UML... 4 i. Design und Analyse... 4 ii. Notation und Konzepte...6 iii. OCUP Zertifizierung (Advanced)...8

Mehr

Poseidon for UML. Einführung. Andreas Blunk

Poseidon for UML. Einführung. Andreas Blunk Poseidon for UML Einführung Andreas Blunk Gliederung 1) Editionen/Lizenzen 2) Die Programmoberfläche 3) Modelle speichern 4) Einführung am lebenden Objekt 5) Generierung (Doc & Code) 6) Funktionsumfang

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

27. Oktober 2005 Florian Marwede

27. Oktober 2005 Florian Marwede Ausgewählte Aspekte zur Einführung in UML und XMI 27. Oktober 2005 Florian Marwede Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme

Mehr

Model-Driven Software Engineering (HS 2011)

Model-Driven Software Engineering (HS 2011) Model-Driven Software Engineering (HS 2011) Dr. J. Küster Übungsblatt I Abgabe: Am 15.11.2011 vor der Vorlesung Voraussetzungen: Installation von Eclipse und Eclipse Modeling Framework Installation der

Mehr

Vorlesung Software Engineering

Vorlesung Software Engineering Vorlesung Software Engineering 6 Unified Modeling Language: Einführung Prof. Dr. Dirk Müller Übersicht Einführung Software-Entwicklungsprozesse Anforderungsanalyse Prozessanalyse und -modellierung Objekt-orientierte

Mehr

Oracle JDeveloper 10 g

Oracle JDeveloper 10 g Oracle JDeveloper 10 g Modellierung Evgenia Rosa Business Unit Application Server ORACLE Deutschland GmbH Agenda Warum Modellierung? UML Modellierung Anwendungsfall (Use Case)-Modellierung Aktivitätenmodellierung

Mehr

Übung Einführung in die Softwaretechnik

Übung Einführung in die Softwaretechnik Lehrstuhl für Informatik 3 RWTH Aachen Übung Einführung in die Softwaretechnik Lösungshinweise zum Übungsblatt 12 Aufgabe 28 Sichtbarkeits-Symbol UML Java + public # protected private (default) Sichtbar

Mehr

Variablen und Datentypen

Variablen und Datentypen Programmieren mit Java Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Bremsweg-Berechnung 3 1.1 Einführung.................................. 3 1.2 Aufgabenstellung und Programmanforderungen..............

Mehr

Inhaltsverzeichnis.

Inhaltsverzeichnis. Wegweiser durch das Buch 1 1 Problembereich und Lösungsbereich 10 1.1.Unterschiede zwischen Problembereich und Lösungsbereich 10 1.2 Paradigmen der Softwareentwicklung 12 1.3 Methoden für die verschiedenen

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,... Vorlesung GIS Einführung in UML Stephan Mäs 28. Mai 2009 Überblick 1. Was ist UML??? Was ist ein Modell??? UML Geschichte,... 2. Diagrammtypen Schwerpunkt: Klassendiagramme 3. UML Software Arbeitsgemeinschaft

Mehr

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar

CARL HANSER VERLAG. Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML 2 glasklar CARL HANSER VERLAG Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins UML 2 glasklar 3-446-22575-7 www.hanser.de Einleitung... 1 Liebe Leserin, lieber Leser... 1 Ihre Meinung ist uns

Mehr

Objektorientiertes Design

Objektorientiertes Design Objektorientiertes Design Yi Zhao Marc Spisländer Lehrstuhl für Software Engineering Friedrich-Alexander-Universität Erlangen-Nürnberg Zhao, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 12: Einführung in UML und Java API Dokumentation Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in UML Sequenzdiagramm Klassendiagramm

Mehr

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage

Martin Fowler, Kendall Scott. UML konzentriert. Eine strukturierte Einführung in die Standard-Objektmodellierungssprache. 2., aktualisierte Auflage Martin Fowler, Kendall Scott UML konzentriert Eine strukturierte Einführung in die Standard-Objektmodellierungssprache 2., aktualisierte Auflage Deutsche Übersetzung von Arnulf Mester, Michael Sczittnick

Mehr

Objektorientierte Analyse (OOA) Übersicht

Objektorientierte Analyse (OOA) Übersicht Übersicht UML ist die Notation für ein objektorientiertes Vorgehensmodell, sowohl für die Analyse als auch für das Design. Analyse (WAS?) Use Cases Aktivitätsdiagramme (für die Use Cases) Klassendiagramme

Mehr

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren Einführung in die Informationsverarbeitung Teil Thaller Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 18. Dezember 2014 Rekapitulation Der Gang der Argumentation 1. Der Rohstoff:

Mehr

Die Object Constraint Language

Die Object Constraint Language Die Object Constraint Language Eine Einführung im Rahmen des SoPras Frank Broemel 1 Gliederung 1. Einleitung 2. Ein Beispiel 3. Zusammenfassung der Erkenntnisse und Systematisierung 4. Literatur 5. Verwendung

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Tamagotchi-Spezifikation in UML

Tamagotchi-Spezifikation in UML Tamagotchi-Spezifikation in UML Christian Becker Steffen Glomb Michael Graf Gliederung Grundlagen Notation Werkzeug Modellierung Details der Spezifikation Erfahrungen Beurteilung von Notation und Werkzeug

Mehr

Techniken der Projektentwicklungen

Techniken der Projektentwicklungen Dynamische Modellierung 8. Termin Rückblick auf statische Modellierung Dynamische Modellierung Basiskonzepte Beispiel Erweiterungen Eigenschaften Syntax Rückblick auf statische Modellierung Dynamische

Mehr

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017

So#waretechnologie für Fortgeschri4ene Teil Eide. Stunde IV: UML. Köln 26. Januar 2017 So#waretechnologie für Fortgeschri4ene Teil Eide Stunde IV: UML Köln 26. Januar 2017 Model of vs. model for TheoreKcal model model for comparison calibra9on verifica9on Empirical model model of deduc9on

Mehr

Teil VIII. Objektorientierte Programmierung

Teil VIII. Objektorientierte Programmierung Teil VIII Objektorientierte Programmierung IN8008, Wintersemester 2010/2011 128 Was ist ein Objekt? Ein Auto Eine Katze Ein Stuhl... Ein Molekül Ein Stern Eine Galaxie... Alles, das ein reales Objekt repräsentiert

Mehr

Computergestützte Modellierung und Verifikation

Computergestützte Modellierung und Verifikation Computergestützte Modellierung und Verifikation Vorlesung mit Übungen SS 2007 Prof. F. von Henke mit Dr. H. Pfeifer Inst. für Künstliche Intelligenz Organisatorisches Vorlesung: Mi 14 16 Raum 3211 Do 14

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Software- und Systementwicklung

Software- und Systementwicklung Software- und Systementwicklung Seminar: Designing for Privacy 11.11.2009 Moritz Vossenberg Inhalt Vorgehensmodelle Wasserfallmodell V-Modell Phasen (Pflichtenheft) UML Klassendiagramm Sequenzdiagramm

Mehr

Systemmodellierung mit SysML - Stereotypen und Profile

Systemmodellierung mit SysML - Stereotypen und Profile Systemmodellierung mit SysML - Stereotypen und Profile Oliver Stadie 15. Juni 2010 Gliederung Vorwissen: Metamodell Profile & Stereotypen: Motivation Definition & Benutzung Zusammenfassung Diskussionen

Mehr

Die abstrakte Syntax der Unified Modeling Language

Die abstrakte Syntax der Unified Modeling Language Die abstrakte Syntax der Unified Modeling Language 6. November 2012 Taentzer Visuelle Sprachen 79 Überblick Wie ist die abstrakte Syntax der UML definiert? Über ein Metamodell Die UML vereinigt verschiedene

Mehr

UML mit Enterprise Architect

UML mit Enterprise Architect Matthias Fritz UML mit Enterprise Architect Trainingsunterlage - 6. überarbeitete Auflage XEN Information Systems GmbH, Wien Der Autor Dipl.-Ing. (FH) Matthias FRITZ hat ein Studium der Informationstechnik

Mehr

Referat UML + OCL Referenten: Achour Elmrabti Britta Porsche

Referat UML + OCL Referenten: Achour Elmrabti Britta Porsche Referat UML + OCL Referenten: Achour Elmrabti Britta Porsche 1 Inhaltsübersicht Teil A: UML 1) Einleitung S. 3 2) Entwicklungsprozeß S. 4 3) Anwendungsfälle S. 5/6 4) Klassendiagramme S. 7/8 5) Interaktionsdiagramme

Mehr

Automatische Codegenerierung aus der UML für die IEC

Automatische Codegenerierung aus der UML für die IEC Automatische Codegenerierung aus der UML für die IEC 63-3 Zustandsautomat Erweiterung und Anpassung der UML durch Stereotypen und Tagged Values. * Transition Bedingung Aktion * Zustand Aktivität Anfangszustand

Mehr

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes

Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes 18.04.2007 Dialogentwicklung mit Hilfe des Model Driven Architecture Ansatzes Peter Mössinger, LRP Landesbank Rheinland-Pfalz Der MDA-Ansatz liefert vollständig neue Möglichkeiten im Bereich der Softwareentwicklung.

Mehr

Softwaretechnik Unified Modeling Language (UML)

Softwaretechnik Unified Modeling Language (UML) Softwaretechnik Unified Modeling Language () Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She s so charismatic, and she s brilliant and beautiful. I mean, a real artist, and,

Mehr

Abschnitt 15: Unified Modeling Language (UML)

Abschnitt 15: Unified Modeling Language (UML) Abschnitt 15: Unified Modeling Language (UML) 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML

Mehr

Orientierte Modellierung mit der Unified Modeling Language

Orientierte Modellierung mit der Unified Modeling Language UML-Basics: Einführung in Objekt- Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler Ziel dieses Seminars Verständnis von Objekt-Orientierung Was sind Klassen? Was ist Vererbung?

Mehr

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig.

Inhalt. Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig. Inhalt Vorwort Einleitung Liebe Leserin, lieber Leser, Wer dieses Buch aus welchem Grund lesen sollte Ihre Meinung ist uns sehr wichtig Danksagungen Die Autoren XIII XV XV XVII XVIII XVIII XIX Teil I:

Mehr

UML 2 glasklar Praxiswissen für die UML-Modellierung

UML 2 glasklar Praxiswissen für die UML-Modellierung Chris Rupp, Stefan Queins, Barbara Zengler UML 2 glasklar Praxiswissen für die UML-Modellierung ISBN-10: 3-446-41118-6 ISBN-13: 978-3-446-41118-0 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Objektmodellierung. Grundkurs C++ Grundkurs C++ Objektmodellierung Grundkurs C++ Objektmodellierung welche Objekte bzw. Klassen werden benötigt? welche Information wird benötigt, um ein Objekt zu beschreiben? welche Beziehungen bestehen

Mehr

Comelio GmbH - Goethestr Berlin. Kurskatalog

Comelio GmbH - Goethestr Berlin. Kurskatalog Comelio GmbH - Goethestr. 34-13086 Berlin Kurskatalog 2 Inhaltsverzeichnis a. Standorte...3 1. Enterprise Architect...4 i. BPMN und Geschäftsprozessmodellierung... 4 ii. Projektverwaltung und Planung...

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Vorlesung 5: Invarianten und Logik Erinnerung: Verträge In Verbindung mit einem Feature: Ø Vorbedingungen Ø Nachbedingungen

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2014/2015 1 / 29 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen Einführung:

Mehr

Rhapsody in J Modellierung von Echtzeitsystemen

Rhapsody in J Modellierung von Echtzeitsystemen Rhapsody in J Modellierung von Echtzeitsystemen Tobias Schumacher tobe@uni-paderborn.de Rhapsody in J - Modellierung von Echtzeitsystemen p.1/17 Anspruch des Tools Einsatzbereiche/Features Modellierung

Mehr

Java Generics & Collections

Java Generics & Collections Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes

Mehr

Object Constraint Language (OCL) By Example

Object Constraint Language (OCL) By Example Fakultät Informatik, Institut SMT, Lehrstuhl Softwaretechnologie Object Constraint Language (OCL) By Example Birgit Demuth Einführung Object Constraint Language (OCL) ist Teil der Unified Modeling Language

Mehr