1 / 26

Die Unified Modeling Language UML

Die Unified Modeling Language UML. Sabine Rathmayer LRR-TUM. Inhalt. Einführung Die Komponenten der UML Beispiel Case-Tools. Require-ments. OOP. OOD. OOA. Einführung. C++ Java. R A D I. Use Cases. Unified Method. UML.

wynn
Télécharger la présentation

Die Unified Modeling Language UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Die Unified Modeling LanguageUML Sabine Rathmayer LRR-TUM

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

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

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

  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.

  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. Verwaltung Professor Student Abrechnungssystem Akteure - Actors • Ein Akteur ist jemand oder etwas, der oder das mit dem zu entwickelnden System interagieren muß.

  9. Anfordern des Kursplans Verwalten des Stundenplans Verwalten des Studienplans 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

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

  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. ScheduleAlgorithm RegistrationForm RegistrationManager Course Student Professor CourseOffering Klassen

  14. Attribute • Die Eigenschaften einer Klasse werden durch ihre Attribute dargestellt. • Attribute werden hauptsächlich durch Problemanalyse und Wissen vom Gesamtsystem gefunden. Course Jeder Kurs besitzt eine Kursnr., Ort und Zeit 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,Studinfo) Course Name NumberCredits Student Open() Name addStudent(Studinfo) Major Professor CourseOffering Name TenStatus 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 ScheduleAlgorithm RegistrationForm RegistrationManager registers addStudent(course,Studinfo) Course Name NumberCredits Student Open() Name takes addStudent(Studinfo) Major Professor offers CourseOffering Name TenStatus Courses Open()

  20. RegistrationForm Multiplizität ScheduleAlgorithm 0..* RegistrationManager 1 1 addStudent(course,Studinfo) Course 0..* Name NumberCredits Student Open() 1 Name addStudent(Studinfo) Major 1..4 1 1 Professor 1 CourseOffering Name 1 TenStatus 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. Mathe 101 Section 1 Registrier. Manager Registrier. Formular Sequenzdiagramme • Ein Sequenzdiagramm zeigt Interaktionen zwischen Objekten in einer zeitlichen Abfolge. 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 3: add course : Registrar 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

  25. Case-Tools: Beispiele • Together • Together Soft LCC, www.togethersoft.com • Rose Data Modeller • Rational Software, www.rational-software.de • Objectif • Microtool, www.microtool.de

  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)

More Related