330 likes | 722 Views
Wintersemester 2003 Lehrstuhl für Wirtschaftsinformatik Technische Universität München. UML & UML-Plugin für Eclipse. Annamaria Tatrai, Katja Peters, Ralf Knuth. 08.06.2004. Agenda. Unified Modeling Language (UML) Geschichte Was ist UML? Warum ist die UML keine Methode?
E N D
Wintersemester 2003 Lehrstuhl für Wirtschaftsinformatik Technische Universität München UML & UML-Plugin für Eclipse Annamaria Tatrai, Katja Peters, Ralf Knuth 08.06.2004
Agenda • Unified Modeling Language (UML) • Geschichte • Was ist UML? • Warum ist die UML keine Methode? • UML Notation • Übersicht der Diagrammtypen • Anwendungsfalldiagramm • Klassendiagramm • Verhaltensdiagramme (Kollaborations-, Sequenz-, Zustandsdiagramm) • Implementierungsdiagramme (Komponenten-, Verteilungsdiagramm)
Agenda • UML-Plugin für Eclipse • Übersicht UML-Plugins • Omondo EclipseUML • Praktisches Beispiel • Literatur und Links
Unified Modeling Language (UML) Geschichte • Entwicklung von UML wurde 1994 von Booch und Rumbaugh bei Rational Inc. begonnen • Die UML wird seit 1998 als Standard für objektorientierte Modellierung angesehen • Viele führende Unternehmen der Computerbranche (Microsoft, Oracle, Hewlett-Packard, ...) wirkten aktiv an der Entwicklung mit und unterstützen die UML
Unified Modeling Language (UML) Was ist UML? • Sprache zur Spezifikation, Visualisierung, Konstruktion und Dokumentation von Modellen für Softwaresysteme, Geschäftsmodelle und andere Nicht-Softwaresysteme • UML bietet den Entwicklern die Möglichkeit, den Entwurf und die Entwicklung von Softwaremodellen auf einheitlicher Basis zu diskutieren • UML bietet eine Notation für Modelle, keine Methode
Unified Modeling Language (UML) Warum ist die UML keine Methode? • Sie ist lediglich ein Satz von Notationen zur Formung einer allgemeinen Sprache zur Softwareentwicklung • Eine Methode beinhaltet Empfehlungen zur Vorgehensweise bei Entwicklungsprozessen • Um UML erfolgreich zu nutzen, ist es notwendig eine passende Methode zu entwickeln, die die UML unterstützt
Agenda • Unified Modeling Language (UML) • Geschichte • Was ist UML? • Warum ist die UML keine Methode? • UML Notation • Übersicht der Diagrammtypen • Anwendungsfalldiagramm • Klassendiagramm • Verhaltensdiagramme (Kollaborations-, Sequenz-, Zustandsdiagramm) • Implementierungsdiagramme (Komponenten-, Verteilungsdiagramm)
Übersicht der Diagrammtypen Anforderungen Statische Sicht: Logischer Aufbau des Systems Dynamische Sicht: Interaktionen, Abläufe Implementierung
Anwendungsfalldiagramm Anwendungsfalldiagramm • es zeigt die Struktur und Zusammenhänge von verschiedenen Anwendungsfällen und die Beziehungen zwischen den Akteuren und Anwendungsfällen auf • Interessant sind nur die Interaktionen zwischen den Akteuren (Benutzern) und dem System, nicht was innerhalb des Systems geschieht • Anwendungsfälle beschreiben eine für den Benutzer sichtbare Funktionalität • dient zur Anforderungsermittlung des Anwenders
Bsp. Anwendungsfalldiagramm System-grenze Kündigung per Mail <<extend>> Akteur Anwendungs-fall <<include>> Fahrzeughalter benachrichtigen
Klassendiagramm • gemeinsame Darstellung der Klassen und Beziehungen eines Systems • Komponenten • Klassen • Objekte • Beziehungen
Klassendiagramm • Klassen – Darstellung beinhaltet Attribute und Methoden
Klassendiagramm • Objekte – Darstellung beinhaltet nur Attribute
Klassendiagramm • Beziehungen • Assoziation • Generalisierung • Aggregation • Komposition
Kollaborationsdiagramm Kollaborationsdiagramm • Darstellung der Interaktionen für einen bestimmten begrenzten Kontext, unter besonderer Beachtung der Beziehungen unter den einzelnen Objekten • die kommunikativen Aspekte zwischen den einzelnen Objekten werden ereignisbezogen dargestellt • der zeitliche Ablauf dieser Interaktionen steht im Hintergrund und wird lediglich durch eine Nummerierung der Nachrichten symbolisiert • Wird für Entwurfs-Sachverhalte benutzt und in detaillierterer Form für Realisierungssachverhalte
Bsp. Kollaborationsdiagramm :Versicherungsdatenbank 2: Antrag prüfen() 1:Versicherung beantragen(Daten) 4: Vertrag schicken() :Sachbearbeiter :Fahrzeughalter 3: Vertrag erstellen() V1:Versicherung
Sequenzdiagramm Sequenzdiagramm • beschreibt die zeitliche Abfolge von Interaktionen zwischen einer Menge von Objekten innerhalb eines zeitlich begrenzten Kontextes • Mittels des Sequenzdiagrammes beschreibt man die Interaktionen zwischen den Modellelementen ähnlich, wie bei einem Kollaborationsdiagramm, jedoch steht beim Sequenzdiagramm der zeitliche Verlauf des Nachrichtenaustausches im Vordergrund
Bsp. Sequenzdiagramm Aktor :Fahrzeughalter Nachricht :Sachbearbeiter neuesObjekt Versicherung beantragen(Daten) Antrag prüfen() Vertrag erstellen() Vertrag schicken() V1:Versicherung Aktivierung Kündigen() Vertrag auflösen() Zerstörung Ergebnis Lebenslinie
Zustandsdiagramm Zustandsdiagramm • Definition Zustand Ein Zustand ist die Menge von möglichen Attributwerten, die die Objekte einer Klasse annehmen können • visualisiert verschiedenartige Zustände der Objekte, sowie Funktionen, die zu Zustandsänderungen des Objektes führen (Transitionen) • eine Transition ist ein Zustandsübergang eines Objektes, der durch ein Ereignis ausgelöst wird und kann eine zu erfüllende Bedingung sowie auszuführende Aktionen umfassen
Bsp. Zustandsdiagramm End-zustand Ereignis ohne Parameter Zustand Start-zustand Aktion Bedingung Zustands- übergang
Komponentendiagramm Komponentendiagramm • Definition Komponente Eine Komponente stellt ein physisches Stück Programmcode dar, welches entweder ein Stück Quellcode, Binärcode oder ein ausführbares Teilprogramm der gesamten Softwarelösung sein kann • Eine Komponente kann Elemente wie Objekte, Knoten oder Komponenten und Schnittstellen beinhalten • Damit bei späterer Implementierung der Softwarelösung Compiler- und Laufzeitabhängigkeiten klar sind, werden die Zusammenhänge der einzelnen Komponenten der späteren Softwarelösung in einem Komponentendiagramm dargestellt
Verteilungsdiagramm Verteilungs-/Einsatzdiagramm • beschreibt, welche Komponenten bzw. Objekte auf welchen Knoten ablaufen, d.h. wie diese konfiguriert sind und welche Abhängigkeiten bestehen. • Zweck der Darstellung • Einbettung des Komponentenmodells in eine externe (HW-/SW-)Umgebung • Physikalische Realisierung der Softwarelösung auf Servern und im Netz
Bsp. Verteilungsdiagramm Kommunikation Knoten
Agenda • UML-Plugin für Eclipse • Übersicht UML-Plugins • Omondo EclipseUML • Praktisches Beispiel • Literatur und Links
Argo2Ecore CodeLogic Collaxa BPEL Designer EclipseUML2 EMF (Eclipse Modeling Framework) magicdraw MDE4UML Modelistic JME Objecteering/UML for Java OCLForEMF Omondo EclipseUML Pampero SDE for Eclipse Slime UML Together Edition for Eclipse UMLet Übersicht UML-Plugins für Eclipse
Omondo EclipseUML • visuelles UML Modellierungs-Werkzeug • “seamless” Integration in Eclipse • nutzt das native GMF und EMF Framework von Eclipse • „live bi-directional“ Synchronisation • das beliebteste UML Modeling Plugin in Eclipse (mehr als 250,000 Downloads in den letzten 12 Monaten) • ist als kostenlose (Free) und als Enterprise Edition (Studio) erhältlich
Agenda • UML-Plugin für Eclipse • Übersicht UML-Plugins • Omondo EclipseUML • Praktisches Beispiel • Literatur und Links
Agenda • UML-Plugin für Eclipse • Übersicht UML-Plugins • Omondo EclipseUML • Praktisches Beispiel • Literatur und Links
Literatur und Links • Jane Bogen, Philipp Henkel, Vortrag in der LV, „UML Unified Modeling Language, Überblick und Vergleich mit Petrinetzen“, Technische Universität Berlin, S. 02/03, Do 30.01.2003http://user.cs.tu-berlin.de/~henkel/download/referat_uml.pdf • Prof. Dr. Reiner R. Dumke, Universität Magdeburg, UML-Tutorialhttp://ivs.cs.uni-magdeburg.de/~dumke/UML/ • Dr. Hahsler, Michael, UML-Basics, Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language, Technische Universität Wien, Abteilung für Informationswirtschaft Seminar "UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language„http://wwwai.wu-wien.ac.at/~hahsler/work/adv/
Literatur und Links • Martin Fowler, UML Distilled, 3. Edition, 2003, Addison-Wesley, München • Skript zur Vorlesung "Datenbanksysteme 1" (SS 04) von Prof. Dr. E. Rahm der Abteilung Datenbanken der Fakultät für Informatik der Uni Leipzighttp://dbs.uni-leipzig.de/de/skripte/DBS1/inhalt2.html • http://www.uml.org • http://www.eclipse.org • http://www.eclipse-plugins.info/eclipse/plugins.jsp?category=UML • http://www.omondo.de