Einführungskurs in die UML Bruno Stäuble Thomas Büchelin
UML Begriffe Aggregation Komposition Assoziation ERM UML 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 Einleitung Geschichte ERM vs. UML UML Tools Ausblick Fragen ···· Ablauf Einleitung Geschichte ERM vs. UML UML Klassen-Diagramm Anwendungsfall-Diagramm Aktivitäts-Diagramm Tools Ausblick Fragen
Was ist UML ? Standard Modellierungssprache Dient Visualisierung, Spezifizierung Konstruktion Dokumentation von Modellen für Softwaresystemen
Geschichte der UML Erste Publikationen vor ca. 30 Jahren. 1. Einleitung 2. Geschichte 3. ERM vs. UML 4. UML ···· 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.
Historische Entwicklung objektorientierter Methoden und der UML Quelle Grafik: http://www.oose.de/uml
3 Amigos (Godfather’s of UML) Grady Booch James Rumbaugh Ivar Jacobson Quelle Grafik:„Introduction to the Unified Modeling Language, Terry Quatrani
···· 2. Geschichte 3. ERM vs. UML 4. UML 4.1. Klassen-Diag 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.
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
Jeder Entität aus EM1 sind Entitäten aus EM2 zugeordnet: Beziehungen in der ERM Assoziationstyp (EM1, EM2) Jeder Entität aus EM1 sind Entitä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 Projekt 1 arbeitet an m Mitarbeiter Ein Mitarbeiter arbeitet an mindestens einem Projekt.
UML isch ganz klar dr Standard in dr objäktorientierte Softwareentwicklig und isch nümme Wägzdängge!
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.
···· 3. ERM vs. UML 4. UML Diag. 4.1. Klassen 4.2. Anw. fall 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)
Klassendiagramm Zeigt die statische Sicht auf das System ···· 3. ERM vs. UML 4. UML Diag. 4.1. Klassen 4.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.
Das Modell Realität Modell Schreibmaschine Leuchtturm Quelle Grafik: Angelehnt an Bernd Oestereich, Objektorientierte Softwareentwicklung,1998, 4. Auflage, Seite 35
Beispiel einer Klasse Vogel
Klassen, Objekte und Beziehungen Vogel Fledervogel
Sich aufs Wesentliche begrenzen !!! Beispiel einer Klasse Klassenname PKW Attribute Farbe Leistung Km/h Methoden Bremsen Lenken 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
Vererbung Bankberater Trägt einen Anzug Ist über 30 Jahre alt Beraten Verkaufen 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 Objekten erlaubt untereinander zu kommunizieren. Bankkunde Bank 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 Besteht aus Einzelteil 1 0..* verwendet Motor Karosserie …………. 1 Besteht aus 8 Fahrzeughalter Zylinder 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 Projekte festhalten, welcher Mitarbeiter an welchen Projekten arbeitet. Mitarbeiter sind Projektleiter, Entwickler oder Consultant. Folgende Informationen sollen festgehalten werden können: Name des Projektes, Datum der Fertigstellung. Für Mitarbeiter Name, Vorname. Alle Projektfunktionen haben ein Zeitbudget, Projektleiter einen Review-Termin, Entwickler einen Beschäftigungsgrad, Consultants einen Stundensatz.“
Einsatzgebiete Anwendungsfall ···· 4. UML Diag. 4.1. Klassen 4.2. Anw. Fall 4.3. Aktivität Einsatzgebiete Anwendungsfall 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
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 Bankberater Kreditberater Akteur Anlageberater Verbindungshierarchie Glücklicher Akteur
Anwendungsfalldiagramm Happy Akteur Systemgrenze Diagrammname
Beziehungen zwischen Use-cases 1 Verwalten WB Kurs IT Prüfung Teilnahme Berechtigung Registrieren includes
Beziehungen zwischen Use-cases 2 IT-Budget überwachen <<includes>> Ausgaben notieren ALARM: Ausgaben höher 500'000 CHF <<extend>> GL- Konsultieren Extension point
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 ···· 4. UML Diag. 4.2. Anw. Fall 4.3. Aktivität 5. Tools Pin eingeben Aktivität Pin prüfen
Aufbau eines Aktivitätendiagramms Pin eingeben Geld auswerfen Pin Prüfen Kunde Geldautomat Bank Swimlanes
Notation Aktivitätsdiagramme Synchronisation Splitting (x>0) (x=0) (x<0)
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ür den Anwendungsfall „Buchrückgabe“ mit allen dafür notwendigen Aktivitäten. Zusätzlich zur Rückgabe, soll ermittelt werden ob das Buch schon wieder reserviert wurde. Falls ja, soll der Besteller benachrichtigt werden.
Tools Rational Rose ···· 4. UML Diag. 4.3. Aktivität 5. Tools 6. Fragen Tools Rational Rose
Anbieter Rational Corporation Rational Rose 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 .
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
Anbieter Gentleware 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)
Anbieter microTOOL führender deutscher Toolanbieter professionelles Werkzeug (teuer 2500 €) mittlere und grosse Projekte Demo ->VIDEO
Ausblick OMG < - > Revision Task Force (RTF) ISO Zertifizierung ···· 5. Tools 6. Ausblick 7. Fragen Ausblick OMG < - > Revision Task Force (RTF) Version 2.0 ISO Zertifizierung RealTime
···· 6. Ausblick 7. Fragen ? Besten Dank für Eure Aufmerksamkeit ? ?