51
Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Embed Size (px)

Citation preview

Page 1: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Einführungskurs in die UML

Bruno StäubleThomas Büchelin

Page 2: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

UML Begriffe

Aggregation KompositionAssoziationERMUML Aktivitätsdiagramm

Swimlane Synchronisation Attribut Use case Klasse Methoden

Page 3: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 4: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

····

Page 5: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Was ist UML ?

Standard Modellierungssprache Dient Visualisierung, Spezifizierung Konstruktion Dokumentation von Modellen für

Softwaresystemen

Page 6: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

····

Page 7: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Historische Entwicklung objektorientierter Methoden und der UML

Quelle Grafik: http://www.oose.de/uml

Page 8: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

3 Amigos(Godfather’s of UML)

Quelle Grafik:„Introduction to the Unified Modeling Language, Terry Quatrani

Grady Booch

James Rumbaugh

Ivar Jacobson

Page 9: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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····

Page 10: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 11: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 12: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

einfaches graphisches Beispiel

Projekt1 arbeitet an mMitarbeiter

Ein Mitarbeiter arbeitet an mindestens einem Projekt.

Page 13: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin
Page 14: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Wasserfall Modell

Quelle Grafik: http://www.fbe.hs-bremen.de/spillner/WModell/sld005.htm

Page 15: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Beispiel Einsatz der UML

Quelle Grafik: http://www.sigs-datacom.de/sd/publications//os/1998/02/OBJEKTspektrum_UM_kompakt.htm

Page 16: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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.

Page 17: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

····

Page 18: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

····

Page 19: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Das Modell

Schreibmaschine Leuchtturm Modell

Realität

Quelle Grafik: Angelehnt an Bernd Oestereich, Objektorientierte Softwareentwicklung,1998, 4. Auflage, Seite 35

Page 20: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Beispiel einer Klasse

Vogel

Page 21: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Klassen, Objekte und Beziehungen

Klasse Objekt

VogelFledervogel

Page 22: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Beispiel einer Klasse

Klassenname PKW

Attribute FarbeLeistung

Km/h

Methoden BremsenLenken

Beschleunigen

Sich aufs Wesentliche begrenzen !!!

Page 23: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 24: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Beziehungen zwischen Klassen

Vererbung Assoziation Aggregation Komposition

Page 25: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 26: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Assoziation

Mechanismus der es den Objektenerlaubt untereinander zu

kommunizieren.

Bank Bankkunde

1 1..*

Page 27: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Aggregation Spezialart der

Assoziation Teil des Ganzen

Beziehung Oberklasse

beschreibt, wie sie sich aus Unterklasse zusammensetzt

Bank

Vorsorgegeschäft

Anlagegeschäft

Kreditgeschäft

Page 28: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Komposition Sehr starke

Aggregation Unterklasse kann

ohne Oberklasse nicht existieren

Stärkste Beziehung zwischen Klassen

Buch Kapitel

Page 29: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 30: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 31: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

····

Page 32: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 33: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Komponenten des Anwendungsfalldiagramms

Glücklicher Akteur

Bankberater

Kreditberater

Akteur

Anlageberater

Verbindungshierarchie

Page 34: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Anwendungsfalldiagramm

Anwendungsfall

Anwendungsfall

Anwendungsfall

Anwendungsfall

Happy Akteur

SystemgrenzeDiagrammname

Page 35: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Beziehungen zwischen Use-cases 1

Verwalten WB Kurs IT

Prüfung Teilnahme Berechtigung

Registrierenincludes

includes

Page 36: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Beziehungen zwischen Use-cases 2

Ausgaben notieren

ALARM: Ausgaben höher 500'000

CHF

<<includes>>

<<extend>>

Extension point

IT-Budget überwachen

GL- Konsultieren

Page 37: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 38: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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.

Page 39: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Die Aktivität

Pin eingebenAktivität

Pin prüfen

····4. UML Diag.4.2. Anw. Fall4.3. Aktivität5. Tools

····

Page 40: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Aufbau eines Aktivitätendiagramms

Pin eingeben

Geld auswerfen

Pin Prüfen

Kunde Geldautomat Bank

Swimlanes

Page 41: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Notation Aktivitätsdiagramme

(x>0)

(x=0)

(x<0)

Synchronisation

Splitting

Page 42: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Aktivitätsdiagramm

Quelle Grafik: http://www.sigs-datacom.de/sd/publications//os/1998/02/OBJEKTspektrum_UM_kompakt.htm

Page 43: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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.

Page 44: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Tools

Rational Rose

····4. UML Diag.4.3. Aktivität5. Tools6. Fragen

····

Page 45: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 46: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

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

Page 47: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

AnbieterGentleware

Quelle Grafik: Screenshot aus der Professional Edition, http://www.gentleware.com

Page 48: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

deutscher Toolanbieter übersichtlich und einfach Zahlreiche Features Preis: von Freeware bis 700$

(Professional Edition)

Page 49: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

AnbietermicroTOOL

führender deutscher Toolanbieter

professionelles Werkzeug (teuer 2500 €)

mittlere und grosse Projekte

Demo ->VIDEO

Page 50: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Ausblick

OMG < - > Revision Task Force (RTF) Version 2.0

ISO Zertifizierung RealTime

····5. Tools6. Ausblick7. Fragen

Page 51: Einführungskurs in die UML Bruno Stäuble Thomas Büchelin

Besten Dank fürEure

Aufmerksamkeit

····6. Ausblick7. Fragen