Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3...

56
1

Transcript of Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3...

Page 1: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

1

Page 2: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

2

Datenbankentwurf

Abstraktionsebenen des Datenbankentwurfs

1. Konzeptuelle Ebene

2. Implementationsebene

3. Physische Ebene

Page 3: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

3

Allgemeiner „top-down Entwurf“

Einsatz des Systems

Entwurfsschritt 4

Enwurfsschritt 3

Enwurfsschritt 2

Enwurfsschritt 1

Anforderungsanalyse

.

.•

. . .

. . .

Page 4: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

4

Hardware/BS-

Charakteristika

Datenverarbeitungs-

anforderungenInformations-

anforderungen

physische Datenbankstruktur

DBMS-

Charakteristika

Physischer

Entwurf

Implementations-

entwurf

Konzeptueller

Enwurf

Anforderungs-

analyse

logische Datenbankstruktur

Informations-struktur

Anforderungs-spezifikation

ER Schema

Phasen des Datenbankentwurfs

Page 5: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

5

Anforderungsanalyse

1. Identifikation von Organisationseinheiten

2. Identifikation der zu unterstützenden Aufgaben

3. Anforderungs-Sammelplan

4. Anforderungs-Sammlung

5. Filterung

6. Satzklassifikationen

7. Formalisierung

Page 6: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

6

Objektbeschreibung

Uni-Angestellte

- Anzahl: 1000

- Attribute

PersonalNummer

• Typ: char

• Länge: 9

• Wertebereich:

0...999.999.99

• Anzahl

Wiederholungen: 0

• Definiertheit: 100%

• Identifizierend: ja

Gehalt

• Typ: dezimal

• Länge: (8,2)

• Anzahl Wiederholung: 0

• Definiertheit: 10%

• Identifizierend: nein

Rang

• Typ: String

• Länge: 4

• Anzahl Wiederholung: 0

• Definiertheit: 100%

• Identifizierend: nein

Page 7: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

7

Beziehungsbeschreibung: prüfen

Beteiligte Objekte:

- Professor als Prüfer

- Student als Prüfling

- Vorlesung als Prüfungsstoff

Attribute der Beziehung:

- Datum

- Uhrzeit

- Note

Anzahl: 100 000 pro Jahr

Page 8: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

8

Prozeßbeschreibungen

Prozeßbeschreibung: Zeugnisausstellung

- Häufigkeit: halbjährlich

- benötigte Daten

Prüfungen

Studienordnungen

Studenteninformation

...

- Priorität: hoch

- Zu verarbeitende Datenmenge

500 Studenten

3000 Prüfungen

10 Studienordnungen

Page 9: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

9

Hardware/BS-

Charakteristika

Datenverarbeitungs-

anforderungenInformations-

anforderungen

physische Datenbankstruktur

DBMS-

Charakteristika

Physischer

Entwurf

Implementations-

entwurf

Konzeptueller

Enwurf

Anforderungs-

analyse

logische Datenbankstruktur

Informations-struktur

Anforderungs-spezifikation

ER Schema

Phasen des Datenbankentwurfs

Page 10: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

10

Datenmodellierung mit UML

Unified Modelling Language UML

De-facto Standard für den objekt-orientierten Software-Entwurf

Zentrales Konstrukt ist die Klasse (class), mit der gleichartige Objekte hinsichtlich

Struktur (~Attribute)

Verhalten (~Operationen/Methoden)

modelliert werden

Assoziationen zwischen Klassen entsprechen Beziehungstypen

Generalisierungshierarchien

Aggregation

Page 11: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Klassen/Objekttypen in Java

11

Page 12: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Werte versus Objekte

12

Page 13: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Java Klassendefinition: Syntax

13

Page 14: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Klassen/Objekttypen in UML

14

Page 15: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Klassen in Java

15

Page 16: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Instanziierung

16

Page 17: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Instanziierung eines Quaders

17

Page 18: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Resultierendes Objektnetz

18

Page 19: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Objekt besteht aus (OID, Typ, Rep)

Als OID dient in Java die (virtuelle) Speicheradresse

Nennt man physische OID

In Datenbanken verwendet man auch logische OIDs

Damit Objekte sich „bewegen“ können19

Page 20: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Shared Subobjects/Gemeinsame

Unterobjekte

20

Page 21: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Shared Subobjects/Gemeinsame

Unterobjekte

21

„Kupfer“

0.90

Page 22: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Wertvergleich versus

Objektvergleich

Dasselbe ist nicht dasgleiche!

Im Restaurant sollte man nie „dasselbe“ sondern „dasgleiche“ wie ein anderer bestellen

22

Page 23: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Beziehungen/Assoziationen in UML

23

Page 24: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

24

Klassen und Assoziationen

+Notenschnitt() : float

+SummeWochenstunden() : short

+MatrNr : int

+Name : String

+Semester : int

Studenten

+AnzHörer() : int

+DurchfallQuote() : float

+VorlNr : int

+Titel : String

+SWS : int

Vorlesungen

+Hörer

1..*

*

+Nachfolger *

*hören

voraussetzen

Page 25: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Referenzierung/Dereferenzierung

25

Page 26: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Kollektionen mit Arrays

26

Page 27: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Kollektion als shared subobject

27

Page 28: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Kollektionen sind „first class

citizens“

28

Page 29: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Kollektion natürlich auch als Typ

einer Instanzvariablen möglich …

29

Page 30: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

30

Page 31: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Objekt-Netz

31

Page 32: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Typisierung von (Pfad-)Ausdrücken

32

Page 33: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Typisierung … cont‘d

33

Page 34: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Speicherbereinigung / Garbage

Collection

Automatisch in Java

Nur unerreichbare Objekte dürfen gelöscht werden

Erst wenn die letzte Referenz auf ein Objekt entfernt wurde, darf der garbage collector „zuschlagen“

34

Page 35: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Klassen-Attribute

35

Page 36: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Klassen-Attribute: Zugriff und

Modifikation

36

Page 37: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Systematische Modellierung mit

UML und Umsetzung in Java

37

Page 38: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Assoziationen

38

Page 39: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

39

Multiplizität

Jedes Element von KlasseA steht mit mindestens i Elementen der KlasseB in Beziehung

... und mit maximal j vielen KlasseB-Elementen

Analoges gilt für das Intervall k..l

Multiplizitätsangabe ist analog zur Funktionalitätsangabe im ER-ModellNicht zur (min,max)-Angabe: Vorsicht!

+op()

+Att1

+Att2

KlasseA

1 1..*

Assoziation

i..jk..l+op()

+Att1

+Att2

KlasseB

Page 40: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Multiplizität/Funktionalität einer Assoziation

40

Page 41: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Funktionalitäten

41

Page 42: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

42

Page 43: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Aggregation/Komposition

Komposition (ausgefüllter Diamant)

Exklusive Zuordnung

Existenzabhängig

Aggregation („leerer“ Diamant)

Nicht-exklusive

Nicht-existenzabhängige Teil/Ganzes-Beziehung43

+Notenschnitt() : float

+SummeWochenstunden() : short

+MatrNr : int

+Name : String

+Semester : int

Studenten

+verschieben()

+Note : Decimal

+Datum : Date

Prüfungen+Prüfling

1 *

+Prüfungsstoff 1

*

*

+Prüfer

1

... ...

absolviert

Page 44: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Aggregation/Komposition

44

Page 45: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

45

Begrenzungsflächenmodellierung

von Polyedern in UML

+Gewicht() : float

+Volumen() : float

+skalieren()

+verschieben()

+rotieren()

+PolyID : int

+...

Polyeder

+Umfang() : float

+Volumen() : float

+FlächenID : int

+...

Flächen

+Länge() : float

+KantenID : int

+...

Kanten

+rotieren()

+verschieben()

+skalieren()

+X : float

+Y : float

+Z : float

Punkte

1 1..* * * * *

Hülle Begrenzung StartEnde

4..* 2 3..* 3..* 21

Page 46: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

46

Begrenzungsflächendarstellung

Polyeder

Hülle

Flächen

Begrenzung

Kanten

StartEnde

Punkte

PolyID

FlächenID

KantenID

X

Y

Z

1

N

N

M

N

M

(4, )

(1,1)

(3, )

(2, 2)

(2, 2)

(3, )

Beispiel-

Polyeder

Page 47: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Universitäts-Modell

47

Page 48: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

48

+Notenschnitt() : float

+SummeWochenstunden() : short

+MatrNr : int

+Name : String

+Semester : int

Studenten

+AnzHörer() : int

+DurchfallQuote() : float

+VorlNr : int

+Titel : String

+SWS : int

Vorlesungen

+Hörer

1..*

*

+verschieben()

+Note : Decimal

+Datum : Date

Prüfungen

+Prüfling1

*

+Prüfungsstoff1*

+Notenschnitt() : float

+Gehalt() : short

+Lehrstundenzahl() : short

+Rang : String

Professoren

*+Prüfer1

*

+Dozent

1

+Gehalt() : short

+Fachgebiet : String

Assistenten

*

+Boss

1

+Gehalt() : short

+PersNr : int

+Name : String

Angestellte

+Nachfolger *

*hören

voraussetzen

ge

lese

nV

on

arbeitenFür

Page 49: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Umsetzung in Java

1:1-Assoziation

49

Page 50: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Umsetzung in Java

1:N-Assoziation

50

Page 51: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Umsetzung einer Assoziation in Java

viele-viele (N:M)

51

Page 52: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

52

Begrenzungs-

Flächen-Modell

Page 53: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

Polyeder in UML

53

Page 54: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

54

Anwendungsfälle (use cases)

Fakultäten

StudentIn

Vorlesungen

anbieten-Hörer

*

-Lehrveranstaltung

* ProfessorIn

*

-liest

1

Prüfungen

durchführen

*

-prüft 1«verwendet»

AssistentIn

*-Beisitzer

1

-Prüfling1

*

Studienplan

überprüfen

«verwendet»

Page 55: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

55

Interaktions-Diagramm:

Modellierung komplexer Anwendungen

ProfessorIn Bibliothek Terminkalender Raumvergabe Vorlesungsverz.

entleihe_Buch()

freierTermin()

reserviereTermin()

eintragenTermin()

ankündigenVorlesung()

Page 56: Datenbankentwurf - db.in.tum.dedb.in.tum.de/teaching/ss17/ei2/slides/01 Entwurf.pdf · 3 Allgemeiner „top-down Entwurf“ Einsatz des Systems Entwurfsschritt 4 Enwurfsschritt 3

56

Interaktions-Diagramm:

Prüfungsdurchführung

StudentIn

Prüfung

Prüfungsamt Vorlesung ProfessorIn

anmelden()

berechtigt?()

gelesenVon()

freierTermin()

informieren()

create()

benachrichtigen()

bestätigen()

bewerten()

AssistentIn

Beisitz()

protokollieren()