34
UML UML Seminar Programmiersprachen Florian Seeger

UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Embed Size (px)

Citation preview

Page 1: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UMLUMLSeminar Programmiersprachen Florian Seeger

Page 2: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Inhalt

UML - Florian Seeger 2

• Grundlagen• Was ist UML?• UML-Diagramme

• Beispiel• 99 Bottles of Beer

• Einsatz und Nutzen

• Die Autoren• Entstehungsgeschichte• Kernthesen des Interviews

Page 3: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UML – Die Grundlagen

UML - Florian Seeger 3

Page 4: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Definition

• UML: Unified Modeling Language• „The UML is a graphical language used to vizualize, specify,

reason about, document, and construct the artifacts of a software-intensive system.“ [1]

• Keine Programmiersprache• Erlaubt eine höhere Abstraktionsebene als die der

Programmiersprachen

UML - Florian Seeger 4

Page 5: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Die UML-Spezifikation

• Definition von• modellierungsrelevanten Elementen und Beziehungen• Klasse, Objekt, …• Vererbung, Realisierung, Abhängigkeit, …

• Statischen und dynamischen Abläufen• Sequenzen, Aktivitäten, …

• graphischen Notationen für diese Elemente

UML - Florian Seeger 5

Klasse Objekt Paket

Abhängigkeit Realisierung

Aktivität

Vererbung

Page 6: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UML-Diagramme

• Die spezifizierten Sprachelemente können in diversen Diagrammen genutzt werden

• UML kennt 14 Diagrammtypen:

UML - Florian Seeger 6

Strukturdiagramme Verhaltensdiagramme

Interaktionsdiagramme Quelle: [2]

Page 7: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UML – viele Einsatzgebiete, großer Umfang

UML - Florian Seeger 7

Quelle: [2]

Page 8: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Einsatz der UMLAm Beispiel von 99 Bottles of Beer

UML - Florian Seeger 8

Page 9: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

1. Schritt:Klärung der Anforderungen

UML - Florian Seeger 9

Page 10: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

2. Schritt:Strukturierung

UML - Florian Seeger 10

Page 11: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

3. Schritt:Programmablauf

UML - Florian Seeger 11

Page 12: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Modellierung mit UML – wozu?

• Visualisierung aller Elemente eines Software-Projekts über den gesamten Lebenszyklus• Vom Use-Case vor Projektstart bis zu den

Klassendiagrammen der Implementierung

• Strukturierte Software• Einheitliches und universelles Kommunikationsmittel• Kommunikation mittels Diagrammen einfacher• Weniger „aneinander vorbeireden“

UML - Florian Seeger 12

Page 13: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Modellierung mit UML – wie?

• UML-Werkzeuge existieren wie Sand am Meer• Erstellung von Diagrammen bis hin zur automatischen Code-

Generierung

• Trend hin zur Integration in IDEs• Beispiele:• Visual Studio• Eclipse

• Außer Konkurrenz:

UML - Florian Seeger 13

Quelle: [3]

Page 14: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Die Autoren und die Entstehung der UML

UML - Florian Seeger 14

Page 15: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Dr. Ivar Jacobson

• * 02.09.1939 in Ystad, Schweden• 1962 M.Sc. in Elektrotechnik, 1985 promoviert• Begann als Projektleiter bei Ericsson• Entstehung des Use-Case• Sequenz- und Kollaborationsdiagramme

• Mitbegründer der SDL (Specification and Description Language)

• Gründete mehrere Unternehmen• U.a. Objectory AB, fusionierte 1995 mit Rational

Software, später von IBM übernommen

UML - Florian Seeger 15

Quelle: [4]

Page 16: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Grady Booch

• * 27.02.1955 in Texas, USA• B.Sc. in Informatik, M.Sc. in Elektrotechnik• Chef-Wissenschaftler bei Rational Software

seit Gründung 1981• Begründer der Begriffe Object-Oriented

Design (OOD) und Collaborative Development Environments (CDE)

• Erfinder der Booch-Notation• Mittlerweile Chef-Wissenschaftler in der

Softwareentwicklung bei IBM Research

UML - Florian Seeger 16

Quelle: [5]

Page 17: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Dr. James Rumbaugh

• * 22.08.1947 in Bethlehem, Pennsylvania, USA

• B.Sc. in Physik, M.Sc. in Astronomie, promoviert in Informatik

• Arbeitete 25 Jahre bei General Electric• Entwicklung der OMT (Object-modelling

technique)• Autor des Buchs Object-Oriented Modeling

and Design (Prentice Hall)

• 1994 begann er bei Rational Software• Im Ruhestand seit 2006

UML - Florian Seeger 17

Quelle: [6]

Page 18: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

„Die drei Amigos“ der UML

• Alle drei gelten als Pioniere der Objektorientierung• Gemeinsame Schlüsselstation: Rational Software

• Grady Booch, James Rumbaugh und Ivar Jacobson waren dort die Entwickler von UML

• Ziel war die Vereinheitlichung der existierenden Modellierungsmethoden

• Die erste Spezifikation der UML entstand im Januar 1997

UML - Florian Seeger 18

Page 19: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UML – ein konstanter Entwicklungsprozess

• Eine verfeinerte Version (UML 1.1) ging im August 1997 an die OMG (Object Management Group)• Gremium mit Mitgliedern aus einer Vielzahl an Unternehmen und

Instituten• Bekannteste Namen: Microsoft, IBM und Hewlett Packard

• November 1997: UML 1.1 wurde als Standard von der OMG akzeptiert

• Weiterentwicklung bis heute:• Einige kleinere Revisionen• Nächste größere Version mit UML 2.0 in 2005• Aktuell: UML 2.3

UML - Florian Seeger 19

Page 20: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Das Interview

UML - Florian Seeger 20

Page 21: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Übersicht

• Gründe für die Entstehung der UML• Wie nützlich ist UML wirklich?• Kritik an der UML• Wie kann man UML vereinfachen?• UML und die Bildung

UML - Florian Seeger 21

Page 22: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Gründe für die Entstehung der UML

• Komplexität von Softwaresystemen sehr hoch

• Entscheidend für den Erfolg:• Eine gute Architektur• Zusammenarbeit im Team

• Früher entscheidend, heute weniger relevant:• Wahl der Programmiersprache• Probleme beim Programmieren selbst

UML - Florian Seeger 22

Page 23: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Gründe für die Entstehung der UML

• Grady Booch:• „[…] the right representation can collapse complexity,

making it possible to meaningfully reason about complex information in an abstract way.“ [1]

• „We were at the right time addressing a point of pain in the marketplace.“ [1]

UML - Florian Seeger 23

Page 24: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Wie nützlich ist UML wirklich?

• Kernaussage: UML erleichtert die Softwareentwicklung

• Ohne Modellierung• Verbringt man viel Zeit damit, zu beschreiben, was man

macht• Hat man nicht den notwendigen Überblick

• Entwickler können mit UML besser kommunizieren

UML - Florian Seeger 24

Page 25: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Wie nützlich ist UML wirklich?

• Rumbaugh betrachtet UML kritischer:• Sehr hilfreich für das Design von Datenstrukturen• Mehr oder weniger nützlich zur Dekomposition eines Systems

in mehrere Schichten• Kaum nützlich für dynamische Dinge

• „The whole computing field has a tendency to hype any new development tool beyond reason. There is also a tendency to look for a single solution for all problems.“ [8]

UML - Florian Seeger 25

Page 26: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Kritik an der UML

• UML (2.0) ist zu komplex• Jacobson: „Traditional UML is designed for methodologists or

tool vendors.“ [7]

• 20% von UML werden i. d. R. genutzt, die restlichen 80% decken Sonderfälle ab, z. B. die Code-Generierung

• Booch: „[…] there are some uses of the UML […] that drive a lot of the complexity in 2.0 and that does complicate it for some other things.“ [1]

• Die Semantik ist schlecht definiert• Zu viele verschiedene Konstrukte• Mittlerweile ist die Semantik unmöglich klar zu definieren

UML - Florian Seeger 26

Page 27: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Kritik an der UML

• Hauptgrund: der Standardisierungsprozess durch die OMG• Rumbaugh: „The OMG is a case study on how political meddling

can damage any good idea.“ [8]

• Zu viele konkurrierende Interessen wirken aufeinander ein• „Too many people want to stuff things in that you can‘t keep it

simple.“ [8]

• „Why do you need a standardized model language?[…] You don‘t need standards to do modeling.“ [8]

UML - Florian Seeger 27

Page 28: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Kritik an der UML

• Vergleich mit Linux• Linux Foundation (Konsortium zur Standardisierung von

Linux):• Linus Torvalds ist immer noch Koordinator der

Kernelentwicklung

• UML• Keiner der Gründer ist noch aktiv beteiligt• Es gibt keine führende Hand mehr

UML - Florian Seeger 28

Page 29: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Wie kann man UML vereinfachen?

• Nicht mehr durch einen Standardisierungsprozess entwickeln• Stattdessen Entwicklung abgespeckter Versionen durch

unabhängige Entwickler• Nutzer entscheiden dann, welche Version geeignet ist und

welche nicht

• Zu echten Projekten gehen, die mit UML arbeiten• Häufige Anwendungsfälle herausarbeiten• Booch: „I would go from real use as opposed to expected use.“

[1]

UML - Florian Seeger 29

Page 30: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UML und die Bildung

• UML ist ein Werkzeug für Softwareentwickler• Aber:• Lernen (Informatik-) Studenten an einer Universität die

Prinzipien der Softwareentwicklung?• Die Autoren sind sich einig: Nein!• Der Fokus werde viel zu sehr auf einzelne

Programmiersprachen gelegt, als auf grundlegende Prinzipien• Wenig Wissen über Softwareentwicklung sei mit einer

bestimmten Programmiersprache verbunden

UML - Florian Seeger 30

Page 31: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

UML und die Bildung

•Jacobson: „The real problem is understanding software in general.“ [7]

•„It would be excellent if our technical institutes or universities would educate students in the basics of software engineering, followed up by training the student in a set of good practices using that base.“ [7]

UML - Florian Seeger 31

Page 32: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Vielen Dank für Ihre Aufmerksamkeit!

Fragen?

UML - Florian Seeger 32

Page 33: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Quellen

• [1] Grady Booch; Masterminds of Programming, Federico Biancuzzi & Shane Warden, O‘Reilly 2009

• [2] Unified Modeling Language, Wikipedia, http://en.wikipedia.org/wiki/Unified_Modeling_Language

• [3] http://www2.cs.uni-paderborn.de/cs/ag-schaefer/PG/FUJABA/images/Logo.gif

• [4] http://www.itmag.org.tw/UD/1146841769082679800.jpg• [5] http://www.reengineer.org/stevens/images/grady_booch.jpg• [6] http://www2.fh-rosenheim.de/gki/gallery/images/img_rumbaugh.jpg• [7] Ivar Jacobson; Masterminds of Programming, Federico Biancuzzi & Shane

Warden, O‘Reilly 2009• [8] James Rumbaugh; Masterminds of Programming, Federico Biancuzzi &

Shane Warden, O‘Reilly 2009

UML - Florian Seeger 33

Page 34: UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz

Quellen

• Sonstige genutzte Quellen:• http://en.wikipedia.org/• http://de.wikipedia.org/• http://omg.org/• http://www.oio.de/public/objektorientierung/uml-referenz-2-1/• http://www.torsten-horn.de/techdocs/uml.htm• http://www.dfpug.de/konf/konf_1999/gruppe02_oop/d_uml/d_uml.htm

UML - Florian Seeger 34