1 die unified modeling language uml sabine rathmayer lrr-tum

26
Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

Upload: gereon-edler

Post on 06-Apr-2015

117 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

1

Die Unified Modeling LanguageUML

Sabine Rathmayer LRR-TUM

Page 2: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

2

Inhalt

Einführung Die Komponenten der UML Beispiel Case-Tools

Page 3: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

3

Einführung

Require-ments

OOA OOD OOP

R A D I

C++Java

Unified MethodUse Cases

UML

Page 4: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

4

Geschichte der UML

Nov ‘97 Annahme der UML durch die OMG

Page 5: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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.

Page 6: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

6

Komponenten der UML Anwendungsfalldiagramm

Klassendiagramm

Verhaltensdiagramme

Aktivitätsdiagramm

Kollaborationsdiagramm

Sequenzdiagramm

Zustandsdiagramm

Einsatzdiagramme

Komponentendiagramm

Verteilungsdiagramm

Page 7: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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.

Page 8: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

8

Akteure - Actors

Ein Akteur ist jemand oder etwas, der oder das mit dem zu entwickelnden System interagieren muß.

Student

Verwaltung

Professor

Abrechnungssystem

Page 9: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 10: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 11: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 12: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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.

Page 13: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

13

Klassen

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

ScheduleAlgorithm

Page 14: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 15: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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)

Page 16: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

16

Klassen

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

ScheduleAlgorithm

addStudent(course,Studinfo)

NameMajor

NameTenStatus

NameNumberCredits Open()

addStudent(Studinfo)

Open()Courses

Page 17: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

17

Objekte

Objekte sind im laufenden System konkret vorhandene Einheiten Objekte sind Instanzen von Klassen Notation:

s1: Student

Name = „Meier“Major = „Informatik“

Page 18: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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)

Page 19: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

19

Beziehungen

RegistrationForm

RegistrationManager

Course

Student

CourseOfferingProfessor

ScheduleAlgorithm

addStudent(course,Studinfo)

NameMajor

NameTenStatus

NameNumberCredits Open()

addStudent(Studinfo)

Open()Coursesoffers

takes

registers

Page 20: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 21: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

21

Vererbung

Oder auch: Generalisierung, Spezialisierung Definiert Relationen zwischen Ober- und Unterklassen Zur hierarchischen Strukutierung eines Modells Beispiel:

Course

Lecture practical seminar

Page 22: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 23: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 24: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

24

Case-Tools

Unterstützung verschiedener UML-Modellelemente

Code-Generierung

Unterstützung verschiedener Programmiersprachen (C++, Java, IDL)

Reverse-Engineering

Dokumentation

Page 25: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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

Page 26: 1 Die Unified Modeling Language UML Sabine Rathmayer LRR-TUM

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)