Präsentation herunterladen
Veröffentlicht von:Inglebert Nester Geändert vor über 10 Jahren
1
Seminar Programmiersprachen Florian Seeger
UML Seminar Programmiersprachen Florian Seeger
2
Inhalt Grundlagen Beispiel Einsatz und Nutzen Die Autoren
Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz und Nutzen Die Autoren Entstehungsgeschichte Kernthesen des Interviews UML - Florian Seeger
3
UML – Die Grundlagen UML - Florian Seeger
4
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
5
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 Je nachdem, in welchem Kontext die Elemente benutzt werden, haben sie unter Umständen andere Bedeutungen Klasse Objekt Paket Aktivität Abhängigkeit Realisierung Vererbung UML - Florian Seeger
6
Interaktionsdiagramme
UML-Diagramme Die spezifizierten Sprachelemente können in diversen Diagrammen genutzt werden UML kennt 14 Diagrammtypen: Strukturdiagramme Verhaltensdiagramme Sehr viele objektorientierte Einflüsse Interaktionsdiagramme Quelle: [2] UML - Florian Seeger
7
UML – viele Einsatzgebiete, großer Umfang
Quelle: [2] UML - Florian Seeger
8
Am Beispiel von 99 Bottles of Beer
Einsatz der UML Am Beispiel von 99 Bottles of Beer UML - Florian Seeger
9
1. Schritt: Klärung der Anforderungen
UML - Florian Seeger
10
2. Schritt: Strukturierung
UML - Florian Seeger
11
3. Schritt: Programmablauf
UML - Florian Seeger
12
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
13
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: Integration in IDEs sehr praktisch, da kein weiteres Programm von Nöten ist Quelle: [3] UML - Florian Seeger
14
Die Autoren und die Entstehung der UML
UML - Florian Seeger
15
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 Jaczone AB, in 2000 zusammen mit seiner Tochter Ivar Jacobson International in 2004 „Ericsson Approach“ SDL: Spezifikation und Modellierung von reaktiven und verteilten Systemen, weit verbreitet im Telekommunikationsbereich Objectory AB eines der grundlegenden Unternehmen im Bereich der objektorientierten Techniken Quelle: [4] UML - Florian Seeger
16
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 Quelle: [5] Booch-Notation: Modellierungssprache; bekannt durch die wolkenförmigen Notationen OOD: das Prinzip der Objektorientierung CDE: Evolution der integrierten Entwicklungsumgebung (IDE) Projektbeteiligte können online zusammenarbeiten, egal zu welcher Zeit und an welchem Ort UML - Florian Seeger
17
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 OMT: sehr ähnlich zu UML, viel wurde übernommen Buch: „one of the OO bibles“, „a landmark in OO literature“ Quelle: [6] UML - Florian Seeger
18
„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 Nicht nur die eigens entwickelten Methoden flossen ein, sondern auch Methoden wie „Systems Design with Ada“, „Statecharts“, … UML - Florian Seeger
19
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 OMG u.a. auch verantwortlich für CORBA (Common Object Request Broker Architecture) UML - Florian Seeger
20
Das Interview UML - Florian Seeger
21
Ü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
22
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
23
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
24
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 Anekdote: Früher gab es großen Widerstand gegen OO, die Programmierer hielten an ihren alten Konzepten fest (z.B. FORTRAN) und verstanden nicht, worum es bei OO ging. Ein paar Flugzeugingenieure verstanden allerdings, was dahinter steckt. In ihrer Arbeit waren sie daran gewöhnt, Modelle zu entwickeln und high-level Konzepte zu abstrahieren "The programmers could not see the forest for the trees - they were stuck in the code and did not realize that the purpose of code is to represent higher-level concepts." UML - Florian Seeger
25
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
26
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 TODO: Beispiel z.B. ist nirgendwo definiert, was eine Box/Rechteck bedeutet UML - Florian Seeger
27
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] Meddling = Einmischung UML - Florian Seeger
28
Kritik an der UML Vergleich mit Linux UML
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 Mehr zu POSIX herausfinden UML - Florian Seeger
29
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] Aktuell bei der OMG eingereicht: UML Specification Simplification RFP (Request for Proposal) UML - Florian Seeger
30
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
31
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
32
Vielen Dank für Ihre Aufmerksamkeit!
Fragen? UML - Florian Seeger
33
Quellen [1] Grady Booch; Masterminds of Programming, Federico Biancuzzi & Shane Warden, O‘Reilly 2009 [2] Unified Modeling Language, Wikipedia, [3] [4] [5] [6] [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
34
Quellen Sonstige genutzte Quellen: http://en.wikipedia.org/
UML - Florian Seeger
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.