Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Programmiersprachen Florian Seeger

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Programmiersprachen Florian Seeger"—  Präsentation transkript:

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


Herunterladen ppt "Seminar Programmiersprachen Florian Seeger"

Ähnliche Präsentationen


Google-Anzeigen