1 / 34

UML

UML. Seminar Programmiersprachen Florian Seeger. Inhalt. Grundlagen Was ist UML? UML-Diagramme Beispiel 99 Bottles of Beer Einsatz und Nutzen. Die Autoren Entstehungsgeschichte Kernthesen des Interviews. UML – Die Grundlagen. Definition. UML: Unified Modeling Language

marcy
Download Presentation

UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML Seminar Programmiersprachen Florian Seeger

  2. Inhalt • Grundlagen • 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 Klasse Objekt Paket Aktivität Abhängigkeit Realisierung Vererbung UML - Florian Seeger

  6. UML-Diagramme • Die spezifizierten Sprachelemente können in diversen Diagrammen genutzt werden • UML kennt 14 Diagrammtypen: Verhaltensdiagramme Strukturdiagramme Interaktionsdiagramme Quelle: [2] UML - Florian Seeger

  7. UML – viele Einsatzgebiete, großer Umfang Quelle: [2] UML - Florian Seeger

  8. Einsatz der UML Am Beispiel von 99 Bottlesof 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: 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 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] 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 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 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 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 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 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] UML - Florian Seeger

  28. 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

  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] 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 problemisunderstandingsoftware in general.“ [7] • „Itwouldbeexcellentifourtechnicalinstitutesoruniversitieswouldeducatestudents in thebasicsofsoftwareengineering, followedupbytrainingthestudent in a setofgoodpracticesusingthatbase.“ [7] UML - Florian Seeger

  32. Vielen Dank für Ihre Aufmerksamkeit! Fragen? UML - Florian Seeger

  33. Quellen • [1] GradyBooch;MastermindsofProgramming, Federico Biancuzzi & Shane Warden, O‘Reilly2009 • [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; MastermindsofProgramming, Federico Biancuzzi & Shane Warden, O‘Reilly 2009 • [8] James Rumbaugh; MastermindsofProgramming, Federico Biancuzzi & Shane Warden, O‘Reilly 2009 UML - Florian Seeger

  34. 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

More Related