Die Unified Modeling Language UML

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Grundlegende Entwicklungsstrategien [Schönthaler/Neméth 1990, S. 17]
Rollenbasierter Entwurf am Beispiel eines benutzeradaptierbaren Hyperbooks Institut für Informatik Rechnergestützte Wissensverarbeitung Universität Hannover.
Frank Simon, BTU Cottbus: Einführung in UML
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
OO Analyse Analyseprozess Erstellen eines Modells
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Objektorientierte Konzepte und Notation in UML
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Visualisierung des Rechts mit UML
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Ziel: externe Systemverhalten aus Anwendersicht
Objektorientierter Entwurf (OOD) Übersicht
Systemanalyse In der Systemanalyse wird aus den fachspezifischen Anforderungen das Systemmodell erstellt; im Systemmodell ist spezifiziert, was das System.
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Lösungen
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Modellierung komplexer Realität mit Objekten
UML Unified Modelling Language Dipl. -Inform
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
OO Analyse und Entwurf für Anwender
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Objektorientierte Softwareentwicklung
12. Vorlesung: Aktivitätsdiagramme
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Unified Modeling Language Repetition / Einführung zu UML
Einführungskurs in die UML
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Objektorientierte Analyse
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
SS 2012 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
SS 2013 – IBB4B Datenmanagement Fr 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
SS 2010 – IBB4C Datenmanagement Fr 15:15 – 16:45 R Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Unified Modeling Language
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Fachkonzepte in der UML
Datenbanksysteme für Hörer anderer Fachrichtungen
Informatik und Programmieren 3
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Unified Modeling Language UML
Anwendungsfalldiagramm
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Software-Demo: CASE-Tool „Together“
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Sichtbarkeit einschränken
1 Objektorientierter Entwurf E-R-Modellierung: Ausschließlich strukturelle Aspekte Verhaltensaspekte noch unberücksichtigt:  Interaktionen zwischen Objekten.
Objektorientierte (OO) Programmierung
Name des Vortragenden ‌ Klasse ‌‌‌ Ort / tt.mm.jjjj Anwendungsfalldiagramm.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
A nwendungsfalldiagramm. Ü berblick  Allgemein  Anwendungsfalldiagramm in Stichpunkten  Zusammenhang  Anwendungsbereich  Diagramm.
UML – Unified Modeling Language
Systemanalyse BA Heidenheim 2002.
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
Vorlesung #3 ER Modellierung
 Präsentation transkript:

Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

Inhalt Einführung Die Komponenten der UML Beispiel Case-Tools

Einführung Require-ments OOA OOD OOP R A D I Use Cases Unified Method Java Require-ments OOA OOD OOP R A D I Use Cases Unified Method UML

Geschichte der UML Nov ‘97 Annahme der UML durch die OMG

Was ist die UML? Die UML ist eine Sprache und Notation zur Visualisierung, Spezifizierung, Konstruktion und Dokumentation von Modellen für Software-Systeme. Sie kann in allen Prozessen innerhalb des Software-Lebenszyklus und über verschiedene Implementierungstechnologien hinweg verwendet werden. Sie ist keine Methode, sie kann jedoch die Basis für verschiedene Methoden sein. Die UML ist keine Methode, denn eine solche müßte die spezifischen Rahmenbedingungen des jeweiligen Anwendungsbereichs, des organisatorischen Umfelds, und andere Dinge berücksichtigen. Die UML kann die Basis für verschiedenen Methoden sein, denn sie stellt eine definierte Menge von Modellierungskonstruktoren mit einheitlicher Notation und Semantik zur Verfügung. Die einzelnen Modellelemente werden im folgenden kurz beschrieben.

Komponenten der UML Anwendungsfalldiagramm Klassendiagramm Verhaltensdiagramme Aktivitätsdiagramm Kollaborationsdiagramm Sequenzdiagramm Zustandsdiagramm Einsatzdiagramme Komponentendiagramm Verteilungsdiagramm

Die UML im Einsatz Das Registrierungssystem einer Universität soll per Computer abgewickelt werden: Kursplan für das Semester wird aufgestellt Studenten sollen Kurse auswählen. Sobald ein Student sich für ein Semester registriert , wird das Abrechnungssystem benachrichtigt. Studenten können das System dazu verwenden, innerhalb einer gewissen Zeitspanne nach der Registrierung Kurse dazuzunehmen oder diese wieder abzuwählen. Professoren benutzen das System um ihre Kurspläne entgegenzunehmen.

Akteure - Actors Ein Akteur ist jemand oder etwas, der oder das mit dem zu entwickelnden System interagieren muß. Verwaltung Professor Student Abrechnungssys tem

Anwendungsfälle - Use Cases Der Anwendungsfall zeigt das Verhalten des Systems. Jeder Anwendungsfall ist eine Folge von verwandten Abläufen, die von einem Akteur mit dem System durchlaufen werden. Die Akteure werden bzgl. ihrer Anforderungen untersucht. Verwaltung -- Verwalten des Studienplans Professor -- Anfordern des Kursplans Student -- Verwalten des Stundenplans Abrechnungssystem -- Erhalten von Abrechnungsinformation von der Registrierung Die Namen werden normalerweise in die Elipsen geschrieben. Passen aber hier nicht so gut rein. Verwalten des Studienplans Anfordern des Kursplans Verwalten des Stundenplans

Use-Case-Diagramm Use-Case-Diagramme werden benutzt um die Beziehungen zwischen Akteuren und Use-Cases darzustellen. Anfordern des Kursplans Professor Student Verwalten des Stundenplans Abrechnungssys tem Verwalten des Studienplans Verwaltung

Include und Extend Beziehungen Beim Festhalten der Use-Cases können weitere Beziehungen entdeckt werden: »includes« (in UML 1.1 »uses«) zeigt eine Beziehung, die für mehrere Use- Cases gleich ist: »extends« zeigt eine Erweiterung eines Use-Cases an <<uses>> Kurs-Registrierung Prüfen der Zugangsberechtigung <<uses>> Verwalten des Studienplans

Klassendiagramme Eine Klasse ist eine Sammlung von Objekten einer gemeinsamen Struktur, eines gemeinsamen Verhaltens, gemeinsamer Beziehungen und einer gemeinsamen Semantik. Ein Klassendiagramm zeigt welche Klassen existieren sowie deren Beziehungen untereinander bzgl. der logischen Sicht auf das System. Je nach Methode: Klassen können durch die Untersuchung der Objekte in den Sequenz- oder Kollaborations-Diagrammen gefunden werden.

Klassen ScheduleAlgorithm RegistrationForm RegistrationManager Course Student CourseOffering Professor ScheduleAlgorithm

Attribute Die Eigenschaften einer Klasse werden durch ihre Attribute dargestellt. Attribute werden hauptsächlich durch Problemanalyse und Wissen vom Gesamtsystem gefunden. Jeder Kurs besitzt eine Kursnr., Ort und Zeit Course number location time

Operationen Das Verhalten einer Klasse wird durch seine Operationen dargestellt. Operationen können in den Interaktionsdiagrammen gefunden werden. registration Registration form manager RegistrationManager addCourse(Student,Course) 3: add course (joe, math 101)

Klassen ScheduleAlgorithm RegistrationForm RegistrationManager addStudent(course,Studi nfo) Course Name Number Credits Student Open() Name addStudent(Studinfo) Major Professor Name CourseOffering TenStatu s Courses Open()

Objekte Objekte sind im laufenden System konkret vorhandene Einheiten Objekte sind Instanzen von Klassen Notation: s1: Student Name = „Meier“ Major = „Informatik“

Beziehungen Beziehungen zeigen einen Pfad für die Kommunikation zwischen Klassen auf Beziehungen finden sich in den Sequenz- oder Interaktivitäts-Diagrammen wieder Die verschiedenen Typen von Beziehungen sind: Assoziation (Linie) Relation zwischen Objekten der Klasse Aggregation (Linie mit Raute, „besteht aus“) Komposition (Linie mit gefüllter Raute, existenzabhängiger Teil) Abhängigkeit (gestrichelte Linie)

Beziehungen Assoziation, Aggregation und Abhängigkeit zu sehen. ScheduleAlgorithm RegistrationForm RegistrationManager addStudent(course,Studi nfo) registers Course Name Number Credits Student Open() Name takes addStudent(Studinfo) Major Professor offers Name CourseOffering TenStatu s Assoziation, Aggregation und Abhängigkeit zu sehen. Courses Open()

Multiplizität RegistrationForm ScheduleAlgorithm 0..* RegistrationManager 1 addStudent(course,Studi nfo) 1 0..* Course Name Number Credits Student Open() Name 1 addStudent(Studinfo) Major 1..4 1 1 Professor Name 1 CourseOffering TenStatu s 1 Diese gibt an mit wievilen Objekten einer gegenüberliegenden Klasse ein objekt assoziiert sein kann. Minimum und Max. sind angegeben um einen Bereich anzuzeigen. Ebenso wird die bidirektionale Verbindung oft uni-direktional gemacht. Courses Open()

Vererbung Oder auch: Generalisierung, Spezialisierung Definiert Relationen zwischen Ober- und Unterklassen Zur hierarchischen Strukutierung eines Modells Beispiel: Course Lecture practical seminar

Sequenzdiagramme Ein Sequenzdiagramm zeigt Interaktionen zwischen Objekten in einer zeitlichen Abfolge. Registrier. Manager Mathe 101 Section 1 Registrier. Formular Mathe 101 :Student 1 Info ausfüllen 2 abschicken 3 Kurs einfügen (Stud., Mathe) 4 Kurs offen? 5 Kurs offen? 6 eintragen (St.) 7 eintragen (St.)

Kollaborationsdiagramme Ein Kollaborationsdiagramm zeigt Interkationen zwischen Objekten mittels der Objekte und den Verbindungen untereinander. course form : 1: set course info CourseForm 2: process : Registrar 3: add course theManager : Acourse: CurriculumManager Course 4: new course

Case-Tools Unterstützung verschiedener UML-Modellelemente Code-Generierung Unterstützung verschiedener Programmiersprachen (C++, Java, IDL) Reverse-Engineering Dokumentation Ohne Case-tools kaum effizienter Einsatz der UML.(zeichenprogramme schlecht) Wir haben in den vorherigen Folien gesehen, daß man in OOA und OOD häufig zwischen den Diagrammen wechselt. Konsistenz wäre demzufolge kaum zu erhalten. Vor allem durch Round-Trip E. zeigt sich der Vorteil der Case-Tools

Case-Tools: Beispiele Together Together Soft LCC, www.togethersoft.com Rose Data Modeller Rational Software, www.rational-software.de Objectif Microtool, www.microtool.de Verschiedene Tools mit unterschiedlichen Einsatzgebieten untersch. Diagrammtypen Rose: Schwierigkeiten beim Round-Trip NT viel schneller, weil für NT entwicklet. Solaris schlechte Performance, Together: Java; unter linux tierisch langsam NT viel besser!!

Literatur »Objekt-orientierte Software-Entwicklung« Bernd Oestereich (Oldenburg 1999) »UML in a Nutshell« Sinan Si Alhir (O´Reilly 1998) »Applying UML and Patterns« Craig Larman (Prentice Hall 1998) Case Tools auch an der uni immer verbreiterter; unbedingt in projekten anwenden!!