Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Die Unified Modeling Language UML

Ähnliche Präsentationen


Präsentation zum Thema: "Die Unified Modeling Language UML"—  Präsentation transkript:

1 Die Unified Modeling Language UML
Sabine Rathmayer LRR-TUM

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

3 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

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

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

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

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

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

9 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

10 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

11 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

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

13 Klassen ScheduleAlgorithm RegistrationForm RegistrationManager Course
Student CourseOffering Professor ScheduleAlgorithm

14 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

15 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)

16 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()

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

18 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)

19 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()

20 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()

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

22 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.)

23 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

24 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

25 Case-Tools: Beispiele
Together Together Soft LCC, Rose Data Modeller Rational Software, Objectif Microtool, 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!!

26 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!!


Herunterladen ppt "Die Unified Modeling Language UML"

Ähnliche Präsentationen


Google-Anzeigen