UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML?...
-
Upload
inglebert-nester -
Category
Documents
-
view
110 -
download
1
Transcript of UML Seminar Programmiersprachen Florian Seeger. Inhalt UML - Florian Seeger2 Grundlagen Was ist UML?...
UMLUMLSeminar Programmiersprachen Florian Seeger
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
UML – Die Grundlagen
UML - Florian Seeger 3
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
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
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]
UML – viele Einsatzgebiete, großer Umfang
UML - Florian Seeger 7
Quelle: [2]
Einsatz der UMLAm Beispiel von 99 Bottles of Beer
UML - Florian Seeger 8
1. Schritt:Klärung der Anforderungen
UML - Florian Seeger 9
2. Schritt:Strukturierung
UML - Florian Seeger 10
3. Schritt:Programmablauf
UML - Florian Seeger 11
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
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]
Die Autoren und die Entstehung der UML
UML - Florian Seeger 14
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]
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]
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]
„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
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
Das Interview
UML - Florian Seeger 20
Ü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
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
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
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
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
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
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
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
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
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
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
Vielen Dank für Ihre Aufmerksamkeit!
Fragen?
UML - Florian Seeger 32
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
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