Einführungskurs in die UML
Bruno StäubleThomas Büchelin
UML Begriffe
Aggregation KompositionAssoziationERMUML Aktivitätsdiagramm
Swimlane Synchronisation Attribut Use case Klasse Methoden
Lernziele:
Kennen der UML Geschichte
Auffrischen der Kenntnisse betreffend ERM
Sie kennen wesentliche Vorteile der objektorientierten Modellierung
Wesentliche Darstellungsmittel der Unified Modeling Language kennen
Konstruieren eines einfachen Objektmodells
Ablauf
1. Einleitung2. Geschichte3. ERM vs. UML4. UML
1. Klassen-Diagramm2. Anwendungsfall-Diagramm3. Aktivitäts-Diagramm
5. Tools6. Ausblick7. Fragen
1. Einleitung2. Geschichte3. ERM vs. UML
····
Was ist UML ?
Standard Modellierungssprache Dient Visualisierung, Spezifizierung Konstruktion Dokumentation von Modellen für
Softwaresystemen
Geschichte der UML
Erste Publikationen vor ca. 30 Jahren. IT-Gurus entwickeln verschiedene,
meist nur auf einen Anwendungsbereich spezialisierte Methoden. (80er Jahre)
Erste Bücher über objektorientierte Analyse – und Designmethoden seit Anfang der 90er Jahren.
1. Einleitung2. Geschichte3. ERM vs. UML4. UML
····
Historische Entwicklung objektorientierter Methoden und der UML
Quelle Grafik: http://www.oose.de/uml
3 Amigos(Godfather’s of UML)
Quelle Grafik:„Introduction to the Unified Modeling Language, Terry Quatrani
Grady Booch
James Rumbaugh
Ivar Jacobson
ERM
Merkmale: Eine Entität ist abgrenzbar und gehört
einem begrenzten System an. Gleichartige Entitäten entsprechen
einem Entitätstyp Jeder Entitätstyp seinerseits wird durch
seine Eigenschaften beschrieben, die man Attribute nennt.
Den Inhalt dieser wiederum nennt man Ausprägungen.
····2. Geschichte3. ERM vs.
UML4. UML4.1. Klassen-
Diag····
Beispiel einer Entität
Entitäten: Mitarbeiter Ruedi Hasler,
Projekt A
Entitätstyp: Mitarbeiter, Projekte
Attribute von Entitätstypen: Tätigkeiten, Endtermin
Ausprägung von Attributen: Schreiner, 5. 6. 2003
Beziehungen in der ERM
Assoziationstyp(EM1, EM2)
Jeder Entität aus EM1 sindEntitäten aus EM2
zugeordnet:
1 (einfach) genau eine
c (konditionell) keine oder eine
m (multipel) eine oder mehrere
mc(multipel-konditionell)
keine, eine oder mehrere
Quelle Grafik: Aus Stahlknecht, Hasenkamp; Einführung in die Wirtschaftsinformatik, 9.Auflage, Berlin, 1999
einfaches graphisches Beispiel
Projekt1 arbeitet an mMitarbeiter
Ein Mitarbeiter arbeitet an mindestens einem Projekt.
Wasserfall Modell
Quelle Grafik: http://www.fbe.hs-bremen.de/spillner/WModell/sld005.htm
Beispiel Einsatz der UML
Quelle Grafik: http://www.sigs-datacom.de/sd/publications//os/1998/02/OBJEKTspektrum_UM_kompakt.htm
Vorteile UML Minimierung von Zeitverlusten durch
einfache Erschliessung von anspruchsvollen und komplexen Anwendungen
einfach Integration neuer Anforderungen (während des Entwicklungsprozesses) durch evolutionären Prozess
Die durchgängige Modellierung begünstigt die Qualität der Arbeitsergebnisse.
UML Diagramme Klassendiagramm (engl. Class Diagram oder Static
Structure Diagram) Anwendungsfalldiagramm (engl. Use Case
Diagram) Aktivitätsdiagramm (engl. Activity Diagram) Sequenzdiagramm (engl. Sequence Diagram) Kollaborationsdiagramm (engl. Collaboration
Diagram) Zustandsdiagramm (engl. State Diagram) Komponentendiagramm (engl. Component
Diagram) Verteilungsdiagramm (engl. Deployment Diagram)
····3. ERM vs. UML4. UML Diag.4.1. Klassen4.2. Anw. fall
····
Klassendiagramm
Zeigt die statische Sicht auf das System
Steht im Zentrum der UML aber auch anderer objektorientierter Methoden
Klassendiagramm setzt sich aus mehreren Klassen zusammen.
····3. ERM vs. UML4. UML Diag.4.1. Klassen4.2. Anw. fall
····
Das Modell
Schreibmaschine Leuchtturm Modell
Realität
Quelle Grafik: Angelehnt an Bernd Oestereich, Objektorientierte Softwareentwicklung,1998, 4. Auflage, Seite 35
Beispiel einer Klasse
Vogel
Klassen, Objekte und Beziehungen
Klasse Objekt
VogelFledervogel
Beispiel einer Klasse
Klassenname PKW
Attribute FarbeLeistung
Km/h
Methoden BremsenLenken
Beschleunigen
Sich aufs Wesentliche begrenzen !!!
Vergleich Klasse mit einem Entitästyp
Klasse der UML entspricht Entitätstyp im ER-Modell
Attribut der UML entspricht Entität im ER-Modell
Methoden haben kein Gegenüber im ER-Modell
Beziehungen zwischen Klassen
Vererbung Assoziation Aggregation Komposition
VererbungBankberater
Trägt einen AnzugIst über 30 Jahre alt
BeratenVerkaufen
Kreditberater Anlageberater ………………….
Trägt den grauen Anlageberater Anzug
……………………
Verkauft Aktien ……………………..
Oberklasse
Unterklasse
Trägt den schwarzen Kreditberater Anzug
Berät bei Hypotheken
Assoziation
Mechanismus der es den Objektenerlaubt untereinander zu
kommunizieren.
Bank Bankkunde
1 1..*
Aggregation Spezialart der
Assoziation Teil des Ganzen
Beziehung Oberklasse
beschreibt, wie sie sich aus Unterklasse zusammensetzt
Bank
Vorsorgegeschäft
Anlagegeschäft
Kreditgeschäft
Komposition Sehr starke
Aggregation Unterklasse kann
ohne Oberklasse nicht existieren
Stärkste Beziehung zwischen Klassen
Buch Kapitel
Klassendiagramm
PKW
Fahrzeughalter
0..*
1
verwendet
EinzelteilBesteht aus
1 0..*
Motor Karosserie ………….
Zylinder
Besteht aus
1
8
Quelle Grafik: http://www.rise.tuwien.ac.at/courses/se/se1/ download/UmlTut_Studenten.pdf
Aufgabe (S.43)„Die Firma Salzgeber GmbH will für ihre Projektefesthalten, welcher Mitarbeiter an welchen Projektenarbeitet.
Mitarbeiter sind Projektleiter, Entwickler oder Consultant.Folgende Informationen sollen festgehalten werden
können:Name des Projektes, Datum der Fertigstellung. Für
MitarbeiterName, Vorname. Alle Projektfunktionen haben ein
Zeitbudget,Projektleiter einen Review-Termin, Entwickler einenBeschäftigungsgrad, Consultants einen Stundensatz.“
EinsatzgebieteAnwendungsfall eine IST-Situation beschreiben (Ist-
Anwendungsfall) einen SOLL-Zustand beschreiben (Soll-
Anwendungsfall) eine Essenz beschreiben (Essentielle
Anwendungsfälle) nur die durch Software zu unterstützenden
Sachverhalte beschreiben (System-Anwendungsfälle)
auch außerhalb der Software und allgemeine geschäftliche Anwendungsfälle darstellen (Geschäfts-Anwendungsfälle)
ganz einfach verwendet werden (Name + Kurzbeschreibung)
semi-formal und detailliert verwendet werden
····4. UML Diag.4.1. Klassen4.2. Anw. Fall4.3. Aktivität
····
Anwendungsfalldiagramm
Englisch Use-Case Diagram
Zeigt wer das System anwendet und was er damit tut.
Sinn und Zweck: Grundlage für das Erstellen und Testen eines Systems darzustellen
Komponenten des Anwendungsfalldiagramms
Glücklicher Akteur
Bankberater
Kreditberater
Akteur
Anlageberater
Verbindungshierarchie
Anwendungsfalldiagramm
Anwendungsfall
Anwendungsfall
Anwendungsfall
Anwendungsfall
Happy Akteur
SystemgrenzeDiagrammname
Beziehungen zwischen Use-cases 1
Verwalten WB Kurs IT
Prüfung Teilnahme Berechtigung
Registrierenincludes
includes
Beziehungen zwischen Use-cases 2
Ausgaben notieren
ALARM: Ausgaben höher 500'000
CHF
<<includes>>
<<extend>>
Extension point
IT-Budget überwachen
GL- Konsultieren
Anwendungsfalldiagramm
Kurs zusammen-stellen
Kurs belasten
Ausschluss vom Kurs
Teilnehmer prüfen
Teilnehmer bearbeiten
Teilnahme erfassen
Finanzen
Daten
Sachbearbeiter
Jünger 20
<<extends>>
<<includes>>
Extension point
Aufgabe (S.44)
Formulieren Sie eine verbale Beschreibung zum Use-case Diagramm.
Eine verbale Beschreibung sollte u.a.enthalten: Akteure,
Ablaufbeschreibung,Ausnahmen, Regeln, Ansprechpartner,Dialogbeispiele.
Die Aktivität
Pin eingebenAktivität
Pin prüfen
····4. UML Diag.4.2. Anw. Fall4.3. Aktivität5. Tools
····
Aufbau eines Aktivitätendiagramms
Pin eingeben
Geld auswerfen
Pin Prüfen
Kunde Geldautomat Bank
Swimlanes
Notation Aktivitätsdiagramme
(x>0)
(x=0)
(x<0)
Synchronisation
Splitting
Aktivitätsdiagramm
Quelle Grafik: http://www.sigs-datacom.de/sd/publications//os/1998/02/OBJEKTspektrum_UM_kompakt.htm
Aufgabe (S.45)Modellieren Sie ein Aktivitätsdiagramm fürden Anwendungsfall „Buchrückgabe“ mitallen dafür notwendigen Aktivitäten.Zusätzlich zur Rückgabe, soll ermitteltwerden ob das Buch schon wiederreserviert wurde. Falls ja, soll der Bestellerbenachrichtigt werden.
Tools
Rational Rose
····4. UML Diag.4.3. Aktivität5. Tools6. Fragen
····
Grösster und bekanntester Anbieter Erst kürzlich von IBM aufgekauft Profitool welches seinen Preis hat komplette Lösung für Business-, Daten- und System
– Analysten, Designern sowie Web und XML Entwickler
ausgezeichnet
Anbieter Rational Corporation
.
Rational Rose
Rational Software ausgezeichnet: Yphise prämiert Rational Rose als beste UML-Lösung für die Modellierung von Projekt- und Informationssystemen
Das führende Werkzeug für modellgetriebene Entwicklung überzeugte durch seine umfassenden Modellierungsfähigkeiten und leichte Implementierbarkeit
München, 3. Februar 2003 - Rational Software (Nasdaq: RATL) ist von Yphise ausgezeichnet worden: Der renommierte Analyst prämierte Rational Rose als beste Unified-Modeling-Language (UML)-Lösung für die Modellierung von Projekt- und Informationssystemen. Yphise führt unabhängige Bewertungen von Software durch, basierend auf einer nach ISO 9001 zertifizierten Methodologie....
Quelle Grafik: Rational Software GmbH, http://www.rational-software.de
AnbieterGentleware
Quelle Grafik: Screenshot aus der Professional Edition, http://www.gentleware.com
deutscher Toolanbieter übersichtlich und einfach Zahlreiche Features Preis: von Freeware bis 700$
(Professional Edition)
AnbietermicroTOOL
führender deutscher Toolanbieter
professionelles Werkzeug (teuer 2500 €)
mittlere und grosse Projekte
Demo ->VIDEO
Ausblick
OMG < - > Revision Task Force (RTF) Version 2.0
ISO Zertifizierung RealTime
····5. Tools6. Ausblick7. Fragen
Besten Dank fürEure
Aufmerksamkeit
····6. Ausblick7. Fragen