Upload
gereon-edler
View
118
Download
0
Tags:
Embed Size (px)
Citation preview
1
Die Unified Modeling LanguageUML
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
C++Java
Unified MethodUse Cases
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.
6
Komponenten der UML Anwendungsfalldiagramm
Klassendiagramm
Verhaltensdiagramme
Aktivitätsdiagramm
Kollaborationsdiagramm
Sequenzdiagramm
Zustandsdiagramm
Einsatzdiagramme
Komponentendiagramm
Verteilungsdiagramm
7
Die UML im EinsatzDas 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ß.
Student
Verwaltung
Professor
Abrechnungssystem
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
Verwalten des Stundenplans
Verwalten des Studienplans
Anfordern des Kursplans
10
Use-Case-Diagramm
Use-Case-Diagramme werden benutzt um die Beziehungen zwischen Akteuren und Use-Cases darzustellen.
Student
Verwaltung
Professor
Verwalten des Stundenplans
Verwalten des Studienplans
Anfordern des Kursplans
Abrechnungssystem
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
Kurs-Registrierung
<<uses>>
Prüfen der Zugangsberechtigu
ng<<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
RegistrationForm
RegistrationManager
Course
Student
CourseOfferingProfessor
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
numberlocationtime
15
Operationen Das Verhalten einer Klasse wird durch seine Operationen dargestellt. Operationen können in den Interaktionsdiagrammen gefunden
werden.
registration form
Registration manager
3: add course(joe, math 101)
RegistrationManager
addCourse(Student,Course)
16
Klassen
RegistrationForm
RegistrationManager
Course
Student
CourseOfferingProfessor
ScheduleAlgorithm
addStudent(course,Studinfo)
NameMajor
NameTenStatus
NameNumberCredits Open()
addStudent(Studinfo)
Open()Courses
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
RegistrationForm
RegistrationManager
Course
Student
CourseOfferingProfessor
ScheduleAlgorithm
addStudent(course,Studinfo)
NameMajor
NameTenStatus
NameNumberCredits Open()
addStudent(Studinfo)
Open()Coursesoffers
takes
registers
20
Multiplizität
RegistrationForm
RegistrationManager
Course
Student
CourseOfferingProfessor
ScheduleAlgorithm
addStudent(course,Studinfo)
NameMajor
NameTenStatus
NameNumberCredits Open()
addStudent(Studinfo)
Open()Courses
0..*1
11
1
1
1
0..*
1
1..4
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.
:StudentRegistrier.Formular
Registrier.Manager
Mathe101
Mathe 101Section 1
1 Info ausfüllen
2 abschicken3 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.
: Registrar
course form : CourseForm
theManager : CurriculumManagerAcourse:
Course
1: set course info2: process
3: add 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)