250 likes | 511 Views
Sommersemester 2004 Lehrstuhl für Wirtschaftsinformatik Technische Universität München. UML und UML-Plugin für Eclipse. Jakob Hesse, Marian Jung. 08.06.2004. Inhalt. 1. Was ist UML 2. UML Konzept 3. UML-Diagrammtypen 4. Plugin für Eclipse 5. UML-Beispiel in Eclipse
E N D
Sommersemester 2004 Lehrstuhl für Wirtschaftsinformatik Technische Universität München UML und UML-Plugin für Eclipse Jakob Hesse, Marian Jung 08.06.2004
Inhalt • 1. Was ist UML • 2. UML Konzept • 3. UML-Diagrammtypen • 4. Plugin für Eclipse • 5. UML-Beispiel in Eclipse • 6. Vor- und Nachteile von UML • 7. Literatur und Links
1.1 Was ist UML • UML: unified modelling language • UML ist eine Methode zur objektorientierten Modellierung von Informationssystemen • UML ist eine graphische Sprache zur Visualisierung, Spezifikation, Konstruktion und Dokumentation von Softwaresystemen • UML bietet nur eine Notation für Modelle, aber keine Methodik • UML ist eine Modellierungssprache, keine Programmiersprache wie XML oder HTML
1.2 Warum UML • Gestern: Strukturiertes Paradigma • Heute: Objektorientiertes Paradigma • OOP: Ein Softwaresystem wird beschrieben durch gekapselte Objekte, die ausschließlich über Nachrichten kommunizieren. 70/80ies 80/90ies structured programming object-orientated programming Pascal,Modula,... C++, Java,... structured design object-orientated design SA/SD UML
1.3 Einordnung von UML Planungsphase • Definitionsphase: Erstellung des Pflichtenheftes: Beschreibung durch Modelle (z.B. Klassendiagramm) Lastenheft UML Definitionsphase Produkt-Definition Entwurfsphase Produkt-Entwurf Implementierungsphase Programme Einführungsphase Installiertes Produkt
1.4 Entwicklung von UML • Seit Anfang der 90er Jahre wurden unabhängig Modellierungssprachen entwickelt, u.a. von G. Booch, J. Rumbaugh, I. Jacobson • 1997: UML wird von der OMG (object management group) zum Industriestandard ernannt • OMG: Über 800 Mitglieder, darunter IBM, Oracle, Sun, Siemens • OMG hat UML der ISO vorgelegt • Aktuell: UML Version 1.5
2.1 UML-Konzept • Für die Modellierung stellt UML eine einheitliche Notation zur Verfügung • Überblick über die Arten von UML-Diagrammen: Use-case-Diagramme Modellierung von funktionalen Anforderungen Klassendiagramme Sequenzdiagramme Objektdiagramme Aktivitätsdiagramme Komponentendiagramme Kollaborationsdiagramme Verteilungsdiagramme Zustandsdiagramme Modellierung der statischen Systemstrukur Modellierung des dynamischen Laufzeitverhaltens
2.1 UML-Konzept • Modellierung der statischen Systemstruktur: Objekte des Systems und Beziehung zu anderen Objekten • Modellierung des dynamischen Laufzeitverhaltens: Beschreibung der Interaktion innerhalb des Systems bzw. von außen mit dem System; in Abhängigkeit der Zeit Verschiedene Sichten auf das Softwaresystem
3.1 UML-Diagrammtypen: use-case model • Anforderungen werden in UML durch ein Anwendungs-fallmodell beschrieben • Zeigt Beziehungen zwischen Aktoren und Anwendungs-fällen • Bestandteile: • Systemgrenze • Aktoren • Anwendungsfälle • Beziehungen Aktoren Anwendungsfälle
3.1 UML-Diagrammtypen: use-case model • Aktor: Abstraktion für ein Objekt außerhalb des Systems, welches mit dem System interagiert. Notation: • Anwendungsfall beschreibt eine für den Benutzer sichtbare Funktionalität. Notation: Preis ändern
3.1 UML-Diagrammtypen: use-case model • Einschluss: Aufnehmen bestimmter Aktionsfolgen in die eines Basisfalls. Notation: Gehalt zahlen Reise stornieren <<include>> <<include>> Geld auszahlen
3.1 UML-Diagrammtypen: use-case model • Generalisierung: Der Spezialfall erbt alle Eigenschaften des allgemeinen Falles. Notation: Buchungs- system Reise stornieren user Gruppenreise stornieren Last-Minute stornieren
3.2 UML-Diagrammtypen: Klassendiagramm • Klassendiagramm: Graphische Repräsentation einer statischen Beziehung zwischen den Elementen • Bestandteile: • Pakete • Klassen • Beziehungen • Ähnlich dem ER-Modell, aber neben Attributen werden auch Methoden modelliert
3.2 UML-Diagrammtypen: Klassendiagramm • Klasse: Beschreibung einer Menge von Objekten, die dieselben Attribute, Operationen, Methoden, Beziehungen und dasselbe Verhalten haben. • Eine Klasse besitzt: • Name • Beschreibung • Attribute • Methoden Kunde kundennr: Int name: String delete(cust: Int): Bool
3.2 UML-Diagrammtypen: Klassendiagramm • Assoziation: Semantische Beziehung zwischen Klassen, die Verbindungen zwischen ihren Instanzen betreffen. • Notation: • Name • Kardinalität (Beispiele: 1 zu *; 1..* zu 3,4) * * Vorlesung Professor kann lesen * 1 liest
3.2 UML-Diagrammtypen: Klassendiagramm • Aggregation: „B ist Teil von A“ • Abhängige Existenz der Komponente (Komponente existiert nicht ohne Aggregat) • Notation: Bestellung Position 0..1 *
3.2 UML-Diagrammtypen: Objektdiagramm • Objektdiagramm: Zeigt Instanzen von Klassen zu einem bestimmten Zeitpunkt • Bestandteile: • Objekte • Referenzen a1: Artikel name=„Teetasse“ b: Bestellung datum=08.06.04 a2: Artikel name=„Teekanne“
3.2 UML-Diagrammtypen: Komponentendiagramm • Komponentendiagramm: Bildet die Beziehungen zwischen den Softwarekomponenten eines Systems ab (Implementationssicht) • Bestandteile: • Komponenten • Schnittstellen Buchung KreditkartenDB Kreditkartenbuchung
3.2 UML-Diagrammtypen: Sequenzdiagramm • Sequenzdiagramm: Betont die zeitliche Abfolge von Objektinteraktionen • Interaktionen erfolgen durch Nachrichten zwischen Objekten • Das Verschicken einer Nachricht ist eine Aktion • Bestandteile: • Aktives Objekt • Aktivierung eines Objekts • Nachricht
3.2 UML-Diagrammtypen: Sequenzdiagramm • Nachricht: Wird von einem aktiven Senderobjekt verschickt :Anrufer :Vermittlung abheben wählton ziffer (3) ... ziffer(6) klingelton
3.2 UML-Diagrammtypen: Kollaborationsdiagramm • Kollaborationsdiagramm: Beschreibt das Zusammenwirken verschiedener Objekte in Bezug auf eine bestimmte Operation • Bestandteile: • Statische Elemente: Objekte • Dynamische Elemente: Nachrichten mit Argumenten, Variablen • Implizite Elemente: Zeit :OrderTaker :TicketDB 1:request(order) 2:reserve(order)
3.2 UML-Diagrammtypen: Zustandsdiagramm • Zustandsdiagramm: Beschreibt die Reaktion bestimmter Systemelemente auf zuvor festgelegte Ereignisse • Bestandteile: • Zustände (inkl. Startzustand) • Ereignis • Transition login(user) Login Aktiv Passiv begrüße(user) [AnzahlUser=max]
4. Plugin für Eclipse • Omondo als beliebtestes UML-plugin für Eclipse • Installation: • Download von neuster Eclipse-Version 3.0 M8 oder höher • Download EclipseUML Plugin 3M8 (extracting .jar-file) • Darauf achten, dass die Plugins und features in dem richtigen Ordner des Eclipse-Programms liegt • Programmvoraussetzungen beachten
6. Vor- und Nachteile von UML Vorteile • Industriestandard • Geeignet für objektorientiertes Programmieren • Oracle, SAP, Siemens, Microsoft benutzen UML • Viele CASE-Werkzeuge wurden an UML angepasst • Die Modellierung von Systemen ist durch die große Zahl möglicher Elemente und Beziehungen relativ kompliziert • Die Vorgehensweisen sind eher intuitiv beschrieben Nachteile
7. Literatur und Links • Balzert, H. (2000): Lehrbuch der Software-Technik, Spektrum Akademischer Verlag. • Hansen, H.R.; Neumann, G. (2001): Wirtschaftsinformatik 1, 8. Auflage, Lucius & Lucius • Object Mangement Group (2004): http://www.omg.org • Unified Modeling Language (2004): http://www.uml.org • Complete UML specification (ver. 1.5): http://www.omg.org/cgi-bin/doc?formal/03-03-01 • Omondo Plugin für Eclipse: http://www.omondo.com