Vorlesung Programmieren

Ähnliche Dokumente
Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

UML (Unified Modelling Language) von Christian Bartl

NACHRICHTENTECHNISCHER SYSTEME

Unified Modeling Language 2

Analyse und Modellierung von Informationssystemen

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

Inhalt. 1 Einführung 17. Strukturdiagramme. 2 Klassendiagramm 37

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

INSPIRE - Modellierung

Unified Modeling Language

Die Unified Modeling Language UML

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

Das umfassende Handbuch

UML 2.0 Das umfassende Handbuch

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Datenbanken. Teil 2: Informationen. Kapitel 7: Objektorientierte Sicht. UML-Diagramme. Vorstellung der unterschiedlichen UML-Diagramme

Requirements Engineering I

Einführung in die objektorientierte Programmierung

Wirtschaftsinformatik 6a: Modellierung. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Objektorientierte Softwareentwicklung

UML -Klassendiagramme

Vorlesung Programmieren. Bisher: Klassen und Objekte. Was ist mit ähnlichen Klassen? Vererbung und Polymorphismus

Analyse und Design mit U ML 2.3

Unified Modeling Language (UML )

Unified Modelling Language

Javakurs für Anfänger

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

Mario Jeckle, Chris Rupp, Jürgen Hahn, Barbara Zengler, Stefan Queins. UML2 glasklar. UNIFIED MODELING LANGUAGE l HANSER

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

Analyse und Design mituml2.1

Programmieren. Warum Objektorientierung? Objektorientierung. Beispiele für Busobjekte der realen Welt

Objektorientiertes Design

Analyse und Design mituml2

Zustandsdiagramme: Modellierung und Implementation. OOPM, Ralf Lämmel

27. Oktober 2005 Florian Marwede

Inhaltsverzeichnis.

Von UML 1.x nach UML 2.0

Softwaretechnologie für Fortgeschrittene Wohce 4 Modellierung UML

Klassendiagramm. (class diagram)

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

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

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

Abschnitt 15: Unified Modeling Language (UML)

Formale Modellierung Vorlesung vom : Beyond JML

Gliederung des Vortrages

Softwaretechnik 2015/2016

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

Das UML Benutzerhandbuch

Objektorientierte Softwareentwicklung

Modellierung von Verhalten OOPM, Ralf Lämmel

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

Unified Modeling Language (UML)

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

Einführung in die Programmierung

Methoden des Software Engineering

Rückblick: Entity-Relationship-Modell

7. Objektorientierung. Informatik II für Verkehrsingenieure

Oracle JDeveloper 10 g

Methoden und Architekturen der Softwaretechnik

Software Engineering in der Praxis

Analyse und Modellierung von Informationssystemen

Modellierung von Web Anwendungen mit UML

Media Engineering. Objektorientierte Modellierung. Verhaltensmodellierung. R. Weller University of Bremen, Germany cgvr.cs.uni-bremen.

Einführung in die OOP mit Java

Programmierkurs Java. Vererbung. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

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

Objektorientierte Systementwicklung

Das UML Benutzerhandbuch

Übung Einführung in die Softwaretechnik

Software Engineering in der Praxis

Software-Engineering

Objektdiagramm Komponentendiagramm Paketdiagramm. 6. Weitere Strukturdiagramme

Exkurs 1: Hintergrund zu Java und UML

UML. Weiteres Vorgehen im Projekt

Algorithmen und Datenstrukturen

Teil VIII. Objektorientierte Programmierung

Objektorientierte Analyse (OOA) Übersicht

Software- und Systementwicklung

Vorlesung Software-Engineering I

Harald Störrle UML 2 für Studenten

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

Vorlesung Informationssysteme

Objektorientierte Modellierung mit UML

UML 2.0 als Architekturbeschreibungssprache? Seminar: Architekturbeschreibungssprachen Manuel Wickert

UML mit Enterprise Architect

4. Mentorium. UML-Modellierung (Lösungshinweise)

Transkript:

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) Standard zur graphischen Modellierung Zur Spezifikation, Konstruktion und Dokumentation von Software Vielzahl verschiedener Diagramme Entwickelt von der Object Management Group (OMG) Standardisiert von OMG und ISO (ISO/IEC 19501, Version 2.1.2) Bildquelle: http://en.wikipedia.org/wiki/file:uml_diagrams.jpg

Unified Modeling Language (UML) Diagramme stellen Softwaresysteme sprachunabhängig dar Ermöglicht Diskussion über Eigenschaften ohne über technische Details einer Sprache zu diskutieren Erlaubt es auch nicht technisch-versiertem Personal (z.b. Domänenexperten) am Design mitzuwirken Beispiele zur Nutzung von UML Kunde und Auftragnehmer prüfen Anforderungen an ein System Domänenexperten beschreiben (bzw. modellieren) Abläufe in Aktivitätsdiagrammen Softwareexperten erstellen daraus Klassen- und Sequenzdiagramme Security - 00 Layout Master #3

UML Diagrammtypen (14 Stück) Strukturdiagramme Komponentendiagramm Klassendiagramm Verteilungsdiagramm Objektdiagramm Paketdiagramm Profildiagramm Kompositionsstrukturdiagramm (auch: Montagediagramm) Verhaltensdiagramme Aktivitätsdiagramm Sequenzdiagramm Anwendungsfalldiagramm (auch: Use-Case-Diagramm) Interaktionsübersichtsdiagramm Kommunikationsdiagramm Zeitverlaufsdiagramm Zustandsdiagramm Security - 00 Layout Master #4

Aktivitätsdiagramm Stellt eine bestimmte Sicht auf dynamische Aspekte eines modellierten Systems dar Es wird oft der Ablauf eines Anwendungsfalls des Systems modelliert Zeigt Zusammenhänge verschiedener Aktionen auf und stellt die Kontroll- und Datenflüsse dar Beispiel: Spaghetti kochen http://de.wikipedia.org/w/index.php?title=datei:activity_2.png&filetimestamp=20110727175635 Security - 00 Layout Master #5

Komponentendiagramm Darstellung umfasst Komponenten und deren Schnittstellen Stellt Abhängigkeiten zwischen Komponenten dar Zeigt, wie Komponenten miteinander verbunden sind http://de.wikipedia.org/w/index.php?title=datei:component-4.png&filetimestamp=20080905134924 #6

Klassendiagramm Security - 00 Layout Master #7

Klassendiagramm Modellierung von Klassen, Schnittstellen und deren Beziehungen Klassen und Interfaces und deren Attribute und Methoden Zugriffsschutz (public, private, etc.) Vererbungsbeziehungen ist-ein -Beziehungen: extends, implements Kiwi ist-ein Obst, Apfel ist-ein Obst Kompositionen bzw. Assoziationen hat-ein - bzw. hat-mehrere -Beziehungen Obstkost hat-mehrere Obst-Instanzen Security - 00 Layout Master #8

Klassen in UML Security - 04 Cryptology #9

Modellierung einer Klasse in UML Klasse ohne Attribute, Methoden, etc. Klasse mit einem Attribut Klasse mit einer Methode Klasse mit einem Attribut und einer Methode Security - 00 Layout Master #10

Zugriffssteuerung (Methoden & Attribute) + für public # für protected - für private ~ ~ für package private Nur in wenigen Programmiersprachen verfügbar (Java, C#) Security - 00 Layout Master #11

Umsetzung in Java Security - 00 Layout Master #12

Umsetzung in Java Security - 00 Layout Master #13

Umsetzung in Java Security - 00 Layout Master #14

Umsetzung in Java Security - 00 Layout Master #15

Modellierung von Interfaces in UML Interfaces markiert durch <<interface>> Security - 00 Layout Master #16

Modellierung einer Klasse in UML Statische Elemente Markiert durch Unterstreichung Abstrakte Elemente Markiert durch kursive Schrift Security - 00 Layout Master #17

Statische Elemente in Java Security - 00 Layout Master #18

Abstrakte Elemente in Java Security - 00 Layout Master #19

Vererbung in UML Security - 04 Cryptology #20

Vererbung Einfache Vererbung Vererbung + Implementieren von Interfaces Security - 00 Layout Master #21

Vererbung in Java Security - 00 Layout Master #22

Vererbung in Java Security - 00 Layout Master #23

Beispiel: Obstkorb Security - 00 Layout Master #24

Instanzen von Klassen Security - 04 Cryptology #25

Instanzen von Klassen in UML Notation eines Objekts objektname: Klasse attributname = wert Beispiel p : Person name = "Walter" geburtsdatum = "12.12.1922"

Instanzen von Klassen in UML b1: Bus hersteller="ford" wechselintervall=10000 km_gefahren=3722 baujahr=1920 b3: Bus hersteller="man" wechselintervall=30000 km_gefahren=10432 baujahr=2005 Bus hersteller: String wechselintervall: int km_gefahren: int baujahr: int oelwechsel(): boolean b2: Bus hersteller="mercedes-benz" wechselintervall=20000 km_gefahren=5647 baujahr=1999 b4: Bus hersteller="scania" wechselintervall=35000 km_gefahren=54432 baujahr=2003 5-2-27

Beziehungen zwischen Objekten Security - 04 Cryptology #28

Beispiel: Ein Haus hat ein Fenster Security - 04 Cryptology #29

Beziehungen zwischen Objekten Ein Haus mit einem Fenster Ein Haus hat ein Fenster Ein Haus mit 1-n Fenstern Ein Haus hat viele Fenster (aber mindestens 1) Security - 00 Layout Master #30

Bidirektionale Assoziationen Beispiel Ein Haus hat 1..* Fenster Jedes Fenster hat 0..1 Häuser Security - 00 Layout Master #31

Umsetzung in Java Security - 00 Layout Master #32

Sequenzdiagramm Security - 00 Layout Master #33

Sequenzdiagramm Grafische Darstellung von Interaktionen Beschreibt Austausch von Nachrichten zwischen Ausprägungen Also z.b. Methodenaufrufe zwischen Instanzen Beschreibt eine mögliche Interaktion, nicht alle Interaktionen müssen so ablaufen http://de.wikipedia.org/w/index.php?title=datei:sequenz_diagramm-2.png&filetimestamp=20080906015648 Security - Layout Master #34

Beispiel (Obstkorb) Sequenzdiagramm, um einen Apfel und eine Kiwi in den Einkaufskorb zu legen und den Gesamtpreis zu berechnen Security - 00 Layout Master #35

Live Demo Security - 00 Layout Master #36

Soyatec euml2 für Eclipse http://www.soyatec.com/euml2/installation/galileo/index.php Security - 04 Cryptology #37

Jetbrains IDEA IntelliJ Security - 04 Cryptology #38