Seminar Programmiersprachen Florian Seeger

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Frank Simon, BTU Cottbus: Einführung in UML
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Manfred Thaller, Universität zu Köln Köln 7. Januar 2010
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Doris Kocher, PH Freiburg
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Rational Unified Process (RUP) - Definitionen
Modellierung komplexer Realität mit Objekten
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Don`t make me think! A Common Sense Approach to Web Usability
Unified Modeling Language Repetition / Einführung zu UML
You need to use your mouse to see this presentation © Heidi Behrens.
Projekte "agil" planen und managen
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Hauptseminar SS 2006 Hinweise für Autoren.
Informatik und Programmieren 3
Clean Code Software-Entwicklung als Handwerkskunst Thomas Nagel, November 2011.
DI Dr. Helmut Leitner HLS Softwareentwicklung WIKISERVICE, Graz
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
Systementwicklung Vorgehensmodelle am Beispiel des RUP
Das Leben an der Schule – was sagen die Schüler?
Der formelle Imperativ – the Imperative
Prozessmanagement Notationen und Tools.
You need to use your mouse to see this presentation © Heidi Behrens.
Die Fragen Wörter Wer? Was? Wann?.
Weak pushover verbs..... lieben kaufen spielen suchen....are verbs that do exactly as they are told. They stick to a regular pattern that does not change!
I will be able to use the accusative pronouns in a sentence (Buch Seite 200)
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
You need to use your mouse to see this presentation © Heidi Behrens.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Einführung in die Informatik 1. Computational Thinking Institut für Informatik und angewandte Mathematik.
Rules of Play - Game Design Fundamentals by Katie Salen and Eric Zimmerman Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung.
Wie definiere ich meine Prozesse?
Asking someone out in German.
The Journey to America… The Immigrant Experience.
Objektorientierte (OO) Programmierung
© Crown copyright 2011, Department for Education These materials have been designed to be reproduced for internal circulation, research and teaching or.
Kapitel 4: Mein Tag Sprache.
Imperfekt (Simple Past) Irregular or strong verbs
Here‘s what we‘ll do... Talk to the person sitting in front of you. Introduce each other, and ask each other questions concerning the information on your.
Environment problems The problems - The problem of waste  too much trash -People use too much cars -Oil platform accidents -Exhaust gas pollution -Deforestation.
ENVIRONMENT PROBLEMS What can I do? Pineapples Traffic  Use public vehicles  Use more bike and go by walking  There should be a filter in every car.
Indico Meeting Dennis Klein 4. August Übersicht  Korrespondenz CERN  Trouble Ticket Queue  Integration GSI-Accounts  Subversion & Wiki  Todo.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
LLP DE-COMENIUS-CMP Dieses Projekt wurde mit Unterstützung der Europäischen Kommission finanziert. Die Verantwortung für den Inhalt dieser.
FREE ICONS POWERPOINT TEMPLATE.
Systemanalyse BA Heidenheim 2002.
I -tube, you -tube, we -tube ?
- moodle – a internet based learning platform
 Präsentation transkript:

Seminar Programmiersprachen Florian Seeger UML Seminar Programmiersprachen Florian Seeger

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

UML – Die Grundlagen UML - Florian Seeger

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

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

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

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

Am Beispiel von 99 Bottles of Beer Einsatz der UML Am Beispiel von 99 Bottles of Beer UML - Florian Seeger

1. Schritt: Klärung der Anforderungen UML - Florian Seeger

2. Schritt: Strukturierung UML - Florian Seeger

3. Schritt: Programmablauf UML - Florian Seeger

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

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

Die Autoren und die Entstehung der UML UML - Florian Seeger

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

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

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

„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

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

Das Interview UML - Florian Seeger

Ü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

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

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

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

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

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

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

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

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

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

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

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

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

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