4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente...

52
1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008 Softwaretechnik (CNAM) 4. Analyse-Phase: Datenmodell Wintersemester 2009 / 2010 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik

Transcript of 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente...

Page 1: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Softwaretechnik (CNAM)

4. Analyse-Phase:Datenmodell

Wintersemester 2009 / 2010Prof. Dr. Bernhard HummHochschule Darmstadt, FB Informatik

Page 2: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

2 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Einordnung in den gesamten Kurs

1. Einführung

2. Vorgehensmodelle

3. Analyse-Phase: Anforderungen und Anwendungsfälle

4. Analyse-Phase: Datenmodell

5. Analyse-Phase: Dialoge

6. Design-Phase: Architektur-Grundlagen

7. Design-Phase: Referenzarchitektur betriebliche Informationssysteme

8. Design-Phase: Querschnittsthemen und Muster

9. Programmierungs-Phase

10.Test- / Integrationsphase, Einführung , Qualitätsmanagement

11.Projektmanagement

Page 3: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

Übersicht

Abstraktion

Datenmodell-Elemente

Regeln zur Datenmodellierung

Struktur und Verhalten

Kontrollfragen

� Übersicht

Agenda

Agenda

Page 4: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

4 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Bausteine zum Verhalten: Struktur

FachlicheGestaltung

Interaktion

VerhaltenGeschäftsprozesse

Struktur

Anforderungen Zentrale Ziele und Rahmenbedingungen

Logisches Datenmodell & Datentypverzeichnis

Funktionale Anforderungen

Glossar

Betriebsanforderungen

Projektanforderungen

Migrationsanforderungen

EinführungsanforderungenNichtfunktionale Anforderungen

Querschnittskonzepte und Dienste

Fachlicher Überblick

Domänen & Komponenten

Dialog-Gestaltungsvorgabe

Dialoge Nachbarsystem-Schnittstellen

BatchverarbeitungDruckausgaben

Anwendungsfälle

Anwendungsfunktionen

Quelle: sd&m Research

Page 5: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

5 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Für wen ist das Datenmodell gedacht?

� Fachbereich: Idealerweise versteht der Fachbereich das Datenmodell. Falls nicht, kann man die Zusammenhänge des Datenmodells rückspiegeln, ohne die UML-Diagramme direkt zu verwenden

� SW-Entwickler in nachfolgenden Phasen: für Design und Implementierung

� IT-Abteilung des Kunden: um Zusammenhänge zu erläutern

� Teamkollegen: um Zusammenhänge zu erläutern

� Das Datenmodell ist wichtiger Input für Aufwandsschätzungen

formal

informell

Übersicht

Page 6: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

Übersicht

Abstraktion

Datenmodell-Elemente

Regeln zur Datenmodellierung

Struktur und Verhalten

Kontrollfragen

� Abstraktion

Agenda

Page 7: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

7 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Von der Realität zum Modell

Realität:Realität:

Quelle: www.musoft.org

Page 8: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

8 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Von der Realität zum Modell

Rechte Tür

Linke Tür

Objekte

Quelle: www.musoft.org

Page 9: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

9 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Von der Realität zum Modell

Rechte Tür

Karussell 1Karussell 1

ermöglichtZugang zu

Lagerfeld 1

Lagerfeld 2

Lagerfeld 3

...

Objekte +

Beziehungen

Quelle: www.musoft.org

Page 10: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

10 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Von der Realität zum Modell

Objekte +

Beziehungen +

Eigenschaften

Karussell 1

Lagerfeld 1

zulässigesGewicht = 700

...

Quelle: www.musoft.org

Page 11: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

11 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Vom konkreten zum allgemeinen Modell

Rechte Tür

Linke Tür

Abstraktion:

von Objekten

zu Klassen Tür

Es gibt eine rechte

und eine linke Tür.

Es gibt Türen.

Quelle: www.musoft.org

Page 12: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

12 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Vom konkreten zum allgemeinen Modell

Tür

Linke TürKarussell

Karussell 2

ermöglicht Zugang zu

ermöglichtZugang zu

Klassen +

Beziehungen

Die linke Tür ermöglicht

den Zugang zum

zweiten Karussell.

Türen ermöglichen

den Zugang zu

Karussells.

Quelle: www.musoft.org

Page 13: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

13 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Vom konkreten zum allgemeinen Modell

Klassen +

Beziehungen +

Eigenschaften

Lagerfeld 1Lagerfeld 1

zulässigesGewicht = 700zulässigesGewicht = 700

Lagerfeld 1 hat ein zulässiges

Gewicht von 700 kg.

LagerfeldLagerfeld

zulässigesGewicht : DezimalzulässigesGewicht : Dezimal

Lagerfelder haben ein

zulässiges Gewicht, das

durch eine Dezimal-

zahl angegeben wird.

Quelle: www.musoft.org

Page 14: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

14 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Modellierung ist Abstraktion von der Realität in mehreren Schritten

Realität:

Konkrete Modelle:Objektdiagramme

Allgemeines Modell:Klassendiagramm

Karussell

Lagerfeld

zulässigesGewicht : Dezimal

Karussell 1

Lagerfeld 1zulässigesGewicht = 700

Quelle: www.musoft.org

Page 15: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

15 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Abstraktion: Was interessiert ?

Quelle: Roger King

Page 16: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

Übersicht

Abstraktion

Datenmodell-Elemente

Regeln zur Datenmodellierung

Struktur und Verhalten

Kontrollfragen

� Datenmodell-Elemente

Agenda

Page 17: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

17 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Beispiel: Fitness Center

Beispiel

cd Kundenverwaltung Fitnesscenter

Buchhaltung

KundenverwaltungDienstleistung

Kunde

- Adresse: int- Kontonummer: int- Mitgliedsnummer: - Name: int

Vertrag

- Datum: int- Laufzeit:

Besuch

- ende: DateTime- start: DateTime

RechnungLeistung

- Artikel: String- Betrag: int

+Rechnungen *

+Vertrag 1+Besuch 1

+Leistungen *

+Besuche

*

Besuch

+Kunde 1

+Vertrag

1

Vertragsabschluss

+Kunde

1..*

Page 18: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

18 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Entitäten

Merkmale: Jede Entität ist:

� autonom: Für sich alleine lebensfähig(Gegenbeispiel: Saldo eines Kontos).

� unverzichtbar: Wenn ich ihn weglasse, kann ich bestimmte Abläufe nicht mehr darstellen.

� Man kann ihn anlegen und löschen.

� Man kann ihn zählen.

� Man kann und will ihn durch Attribute beschreiben.

� Eindeutig identifizierbar

� UML-Notation: Klasse

Der Name von Entitätstypen ist immer ein Singular („Kunde“, „Konto“)

Man kann sich hinter jedem Entitätstyp die Menge der Entitäten vorstellen:

Kunde: Maier, Huber, ..

Datenmodell-Elemente

cd Kundenverwaltung ...

Kunde

- Adresse: String- Kontonummer: int- Mitgliedsnummer: int- Name: String

Name

Attribute Datentypen

Page 19: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

19 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Beziehungen zwischen Entitäten: Assoziationen

Datenmodell-Elemente

Name und Leserichtung

� Beziehung zwischen Entitäts-Objekten

� Kann benannt sein

� die Leserichtung kann durch einen Pfeil angegeben werden

� Die Rollen der beteiligten Entitäten können benannt sein

� Kardinalitäten:

– „1“ : genau ein

– „0..1“ : höchstens ein (optional)

– „1..*“ : mehrere

– „*“ bzw. „0..*“ : mehrere (optional)

– „2..4“ : zwei oder drei oder vier

– „3, 4“ : drei oder vier

class Assoziation

KundeVertrag+Vertrag

0..*

schließt ab >

+Kunde

1

Rolle

Kardinalität

Page 20: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

20 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Beziehungen zwischen Entitäten: Komposition, Aggregation

� Aggregation:

– Spezielle Assoziation

– Drückt Teile / Ganzes – Beziehung aus

– Lies: „besteht aus“

– Kardinalität auf der Ganzes-Seite(Diamant) ist immer 1

� Komposition:

– Strengere Form der Aggregation

– Teile sind physisch im ganzen enthalten

– Löschung des Ganzen führt zur Löschung aller Teile (Cascading delete)

– Bei Löschung aller Teile wird auch Ganzes gelöscht

� Empfehlung: nur Assoziationen und, falls angemessen, Kompositionen verwenden

class Aggregation

Firma Mitarbeiter

class Komposition

Mensch Körperteil

Page 21: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

21 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Beziehungen zwischen Entitäten:Generalisierung / Spezialisierung

� Beziehung zwischen Entitätsklassen

� Lies „ist ein“, z.B. „jede juristische Person ist eine Person“

� Die generelle Klasse vererbt Eigenschaft die speziellen Klassen:

– Attribute

– Assoziationen

– Methoden

� Setze Generalisierung / Spezialisierung sparsam ein! Besonders: verwende Generalisierung / Spezialisierung nie, wenn keine „ist ein“-Beziehungvorliegt!

class Generalisierung / Spezialisierung

Person

- adresse: string- name: string

NatürlichePerson

- geburtsdatum: date

JuristischePerson

- handelsregisterNr: int

Page 22: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

22 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Attribute

� Beschreiben die Eigenschaften von Entitäten, zum Beispiel Adresse eines Kunden

� Haben einen Datentyp, zum Beispiel int

� Sind alleine nicht lebensfähig, zum Beispiel macht der Betrag von EUR 42 ohne den Kontext der Überweisung keinen Sinn

cd Kundenverwaltung ...

Kunde

- Adresse: String- Kontonummer: int- Mitgliedsnummer: int- Name: String

Page 23: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

23 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Fachliche Datentypen

� Ein Datentyp definiert die Struktur von (ggf. mehreren) Attributen.

� Ein Datentyp kann einfach sein...

– String, Integer

� eine Einschränkung einfacher Datentypen

– positive Ganzzahlen, Strings wie z.B. IP-Adresse, ISBN

� eine Struktur (= zusammengesetzter DT)

– Datum, Adresse

� eine Enumeration

– Wochentag

� Allgemein: eine Menge von zulässigen Werten

� Datentypobjekte ändern ihren Wert nicht (immutable)

� Im Datenmodell stellen wir fachliche Datentypen nicht als UML-Klassen mit Assoziationen zu den Entitäten dar, um den Überblick nicht zu verlieren

Datenmodell-Elemente

Page 24: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

24 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

hier:

Übersicht in Datenmodellen:Wo ist der Prozess „Instandhaltung“ abgebildet?

TfzDomRzwDom

BauartVarDom BaureiheSerieDom DatenblRzwDom

UebergangTfzTyp

1

DatenblTfzDom

1

LeistungTyp

1

1

IhFabrikDom

IhFabrikDom

AuswRzwWerkAufDom AuswIhHistZuFzDom

AuswRzwFuerVorausAusgangDom AuswRzwFuerWerkEingangDom

AuswGeplaIhZuRzwDom

AuswahlFabrikDom

IhTerminBatch FzLwTagesdurchschnittBatch

BatchProcess

FzAusPosDom

0..* 1

1

1..*

BerEinheitDom

10..*

1

0..*

BerechtigungFuerBerEinhDom 0..* 1

1

BerechtigungFabrikDom

1

1..*

0..*

0..*

FzZusatzDom

0..* 0..*

1

0..*

0..*

MerkmalSpecDom

1 0..*

1

KomponenteFabrikDom

10..*

0..*

0..* 0..*

BerechtigungDom

1

0..*

10..*

1

BenutzerFabrikDom0..*

0..*

1

KompVarDom

0..*

0..*

MerkmalDom

0..*

0..* 0..*

1

0..1

1

KomponenteDom

0..*

0..*

1 0..*

1

0..*

1

AusgefuehrteArbeitFabrikDom (Stufe A)

0..*

0..*

0..* BstAufgabeDom

0..*

1

OrgaFabrikDom0..*

fremdeBst

0..*

0..*

HeimatBst

0..*

BenutzerDom

0..* 0..*

1

0..*

1

1 0..*

10..* StdAusPosDom

0..*

1

0..*

0..*

0..1

1

1

1 AbmessungTyp

1

1 AnschriftenTyp

1

1 GepaeckTyp

1

1WagenPlaetzeTyp

11

WagenBettenTyp

1 WagenSonstTyp

1

1VorratTyp

1

1

ZusatzEinrTyp

1

1BetriebTyp

1

1BremseTyp

1

1

UebergangTyp

1

1 StammdatenTyp

fzHeimatPlan

1

1

fzHeimatHist

1

1

1

fzHeimatIst

1 FzHeimatTyp

1

1

FzAustattungDom

1

1

1

AusgefuehrteArbeitDom (Stufe A)

1

0..*

1

1

FzFabrikDom

0..*

0..1

0..1

0..1

NkDom

0..1

ihStufe

0..*

1

ausgefSoArb

0..*

0..*

ausgefIhSt

0..*

1

ihStufe

0..*

1

SchlVerzFabrikDom DartEntity

BatchExport BatchImport

TapExport FzLwImport

DartEntity ist Superklasse fuer alle Klassen

1 1

StdAusstattungDom

10..*

1 1

DatenblattTyp 1

1

1

1

1

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

0..*

1

1

BaBrDom0..1

0..1von

0..1 0..1bis

1..*

0..*

GeplaIhAnzDom

1

1 0..*

IhTpDom

ausgefArbeiten

1

0..*

AusgefArbeitDom

0..* 1

0..*

1

zufGrund

0..1 0..*

0..*1IhSchrittDom

1 0..*

0..*

1

BahnstelleDom0..*

0..*

0..*

1

0..*

0..*

0..*

0..*

1

0..*

1

FahrzeugDom

1

1

1

1

1

1

1

1

1

1

1

1

10..*

ihStufe

1

0..*

0..*

geplaIhStufeZuletzt

0..1

SchlVerzEintragDom

0..*

1

0..*

0..*

0..*

10..*

1

1

0..*

1

0..*

WerkAufDom

1

0..*

0..* 1

0..*

1

0..1 0..*

10..*

GeplaIhDom0..*1

0..*

1

0..*

1

1

0..*

0..*

0..1

1

0..*

NkIhVorDom

1

0..*

GeplaUntAnzDom

1

0..*

GeplaFstAnzDom

1

IhPlanDom

1 0..*

0..*

0..1

0..1 BaBrVarDom

1 11 1

0..*

1

1

1..*

0..*

1

1

IhFabrikDom

1

0..*

1

0..*

10..*

1

0..*

1

0..*

1

0..*

0..*

NkIhPlanDom

1

0..*

0..1

0..1

1

0..*

1

0..*BrDom

1

BaBrFabrikDom

1

0..*0..*

BaDom

1

0..*

##

Paket-Diagramme

Page 25: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

25 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Komponenten

� Gruppieren fachlich zusammenhängende Entitäten

� Dienen der Übersicht

� Können später getrennt implementiert werden

� UML-Notation: UML componentsoder Pakete

cd Kundenverwaltung Fitnesscenter

Buchhaltung

KundenverwaltungDienstleistung

Kunde

- Adresse: int- Kontonummer: int- Mitgliedsnummer: - Name: int

Vertrag

- Datum: int- Laufzeit:

Besuch

- ende: DateTime- start: DateTime

RechnungLeistung

- Artikel: String- Betrag: int

+Rechnungen *

+Vertrag 1+Besuch 1

+Leistungen *

+Besuche

*

Besuch

+Kunde 1

+Vertrag

1

Vertragsabschluss

+Kunde

1..*

Page 26: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

26 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Finden von KomponentenIdee: Partitionierung des Datenmodells

� Idee: Entitätstypen zusammenstellen, die

– fachlich zusammenpassen

– Häufig gemeinsam verwendet werden

� Hilfsmittel

– Anwendungsfälle

– Dialoge

prüfen

� Ziel: möglichst wenig und selten verwendete Verbindungen zwischen Komponenten

Komponenten

class Fitnesscenter ohne Komponenten

Kunde

- Adresse: String- Kontonummer: int- Mitgliedsnummer: int- Name: String

Vertrag

- Datum: int- Laufzeit:

Besuch

- ende: DateTime- start: DateTime

RechnungLeistung

- Artikel: String- Betrag: int

+Rechnungen *

+Vertrag 1+Besuch 1

+Leistungen *

+Besuche

*

Besuch

+Kunde1

+Vertrag

0..*

schließt ab >

+Kunde

1

Page 27: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

Übersicht

Abstraktion

Datenmodell-Elemente

Regeln zur Datenmodellierung

Struktur und Verhalten

Kontrollfragen

� Regeln zur Datenmodellierung

Agenda

Page 28: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

28 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Gestaltungsziele für Datenmodelle

Korrektheit

Redundanzfreiheit

Einfachheit

Erweiterbarkeit

Page 29: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

29 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Aufgabe 1

Modellieren Sie folgenden Sachverhalt:

� Eine Firma hat Kunden, Lieferanten und Mitarbeiter

� Alle werden durch Name und Adresse identifiziert

� Ein Mitarbeiter ist entweder Arbeiter oder Manager

� Arbeiter können zu Managern befördert werden

� Kunden können gleichzeitig Lieferanten sein

� In Zukunft können auch weitere Personen wie Gesellschafter etc., aber auch weitere Laufbahnstufen wie Ingenieur etc. relevant werden

Page 30: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

30 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Erster Lösungsansatz: mit Vererbung (Generalisierung / Spezialisierung)

class Person mit Vererbung

KundeLieferant Mitarbeiter

ManagerArbeiter

Person

- adresse: String- name: String

object Person mit Vererbung

Huber :Kunde Huber :Lieferant

Redundanter Name und Adresse, wenn Huber sowohl Kunde als auchLieferant ist

Schmidt :Arbeiter Schmidt :Manager

Bei der Beförderung von Schmidt vom Arbeiter zum Managager muss das Arbeiter-Objekt gelöscht, ein neues Manager-Objekt angelegt und alle Attributevom Arbeiter- zum Manager-Objekt kopiert werden.

Einfügen neuer Personen wie Gesellschafter etc., oder weiterer Laufbahnstufen wie Ingenieur etc. erfordern eine strukturelle Änderung des Datenmodells.

Page 31: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

31 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Bessere Lösung: Mit Assoziation (bzw. Komposition)

class Person mit Assoziation

Person

- adresse: String- name: String

Rolle

- typ: enum{Kunde, Lieferant, Mitarbeiter:Arbeiter, Mitarbeiter:Manager}*

object Person mit Assoziation

Huber :PersonKunde :Rolle

Lieferant :Rolle

Schmidt :Person Mitarbeiter:Arbeiter -> Manager :Rolle

Dieselbe Person kann verschiedene Rollen haben. Name und Adresse werden nur einmal gespeichert.

Die Beförderung vom Arbeiter zum Manager wird durch Änderung des Attibuts typ dargestel lt.

Neue Rollen wie Gesellschafter etc. können durch einfache Erweiterung des Aufzählungstyps dargestell t werden.

Page 32: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

32 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Regel 1: Setze Vererbung (Generalisierung / Spezialisierung) sparsam ein

� Vererbung (Generalisierung / Spezialisierung) ist das am meiste überschätzte und überbenutzte Konzept der Objekt-Orientierung

���� Setze Vererbung nur bei echter „ist ein“ Beziehung ein

���� Ersetze, wo sinnvoll möglich, eine Vererbung durch eine AssoziationBeispiele:

– Ein Rothaariger ist eine Person � eine Person hat die Haarfarbe rot

– Eine Frau ist eine Person � eine Person hat das Geschlecht weiblich

– Ein Kunde ist eine Person � eine Person hat die Rolle Kunde

���� Verwende nur einfache Vererbung (Single Inheritance)„Bei der Einfachvererbung hat man nur einen Schuss – und der muss sitzen!“

���� Schachtele Vererbungsbäume nicht zu tiefTiefe 2-3 reicht meistens aus

� Sparsame Verwendung von Vererbung fördert die Einfachheit, Erweiterbarkeit und Redundanzfreiheit

Page 33: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

33 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Aufgabe 2

Modellieren Sie folgenden Sachverhalt:

� In einem MP3-Archiv sollen Lieder gespeichert werden

� Für jedes Lied soll der Titel des Lieds, der Interpret und der Name des Albums gespeichert werden

Page 34: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

34 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Erster Lösungsansatz: denormalisiert

class Lied denormalisiert

Lied

- interpret: String- album: String- titel: String

object Lied denormalisiert

Not That Kind :Lied

interpret = Anastaciaalbum = Not That Kind

I'm Outta Love :Lied Cowboys & Kisses :Lied

Shine On You Crazy Diamond :Lied

interpret = Anastaciaalbum = Not That Kind

interpret = Anastaciaalbum = Not That Kind

interpret = Pink Floydalbum = Wish You Were Here

Ist der Name des Interpreten falsch geschrieben, so muss dies in allen Objekten vom Typ LIedkorrigiert werden.Sollen zum Album weitere Daten gespeichert werden wie z.B. das Genre (Klassik, Rock, ...), so muss das redundant in allen Liedern erfolgen.

Page 35: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

35 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Bessere Lösung: normalisiert

object Lied normalisiert

Not That Kind :Lied

I'm Outta Lov e :Lied

Cowboys & Kisses :Lied

Shine On You Crazy Diamond :Lied

Ist der Name des Interpreten falsch geschrieben, so muss dies nur im Objekt Interpret geändert werden, auch wenn er mehrere Alben herausgebracht hatSollen zum Album weitere Daten gespeichert werden wie z.B. das Genre (Klassik, Rock, ...), so muss das nur einmal im Album-Objekt erfolgen.

Not That Kind :Album

Anastacia :Interpret

Pink Floyd :Interpret Wish You Were Here :Album

von

von

class Lied normalisiert

Lied

- titel: String

Album

- titel: String

Interpret

- name: String1..*

<von

Page 36: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

36 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Regel 2: Normalisiere das Datenmodell

� Redundanzen können auftreten:

– Zwischen Entitätstypen, z.B. Name und Adresse sowohl in Entitätstyp Kunde als auch in Entitätstyp Lieferant

– Zwischen Entitätsinstanzen (Objekten), z.B. Name des Albums und des Interpreten in allen Liedobjekten desselben Albums wiederholt

� Normalisierung ist ein Konzept aus der Datenbanktheorie zur Vermeidung von Redundanzen:1. Normalform (1NF), …, 5. Normalform (5NF), Boyce-Codd-Normalform (BCNF), …

���� Normalisiere das Datenmodell, soweit fachlich sinnvoll

� Meist reicht 3NF aus. Eine formale Betrachtung ist nicht notwendig

Page 37: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

37 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Aufgabe 3

Modellieren Sie folgenden Sachverhalt:

� Kunden können Bestellungen für Waren aufgeben

� Mehrere Bestellungen zusammen bilden einen Auftrag

� Ein Auftrag bezieht sich immer auf einen Kunden

Page 38: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

38 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Erster Lösungsansatz:Zyklische Assoziationen

class Bestellung mit Zykel

Person

Kunde

BestellungAuftrag

1

gibt auf

*

*

von

1

*1

object Bestellung mit Zykel

Huber :Kunde

Buch :BestellungDezember :Auftrag

Müller :Kunde

Müller hat den Auftrag für Hubers Bestellungen. Das ist natürl ich fachlich falsch. Das Datenmodell erlaubt es aber.

gibt aufvon

Page 39: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

39 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Bessere Lösung:Azyklische Assoziationen

class Bestellung ohne Zykel

Person

Kunde

BestellungAuftrag

*1

*

von

1

object Bestellung ohne Zykel

Buch :BestellungDezember :Auftrag

Müller :Kunde

Über den Auftrag ist der Kunde eindeutig bestimmt, der die Bestellung aufgegeben hat.

von

Page 40: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

40 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Regel 3: Vermeide zyklische Assoziationen

���� Vermeide Zyklen in den Assoziationen zwischen Entitäten

� Zyklen können meist durch Weglassen von (redundanten) Assoziationen aufgelöst werden

� Zyklenfreiheit reduziert die Redundanz

� Zyklenfreiheit erhöht die Korrektheit. Falls Zyklen nicht vermeidbar sind, müssen Widersprüche über Constraints ausgeschlossen werden, z.B. Kunde der Bestellung muss gleich sein dem Kunden des Auftrags

Page 41: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

41 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Aufgabe 4

Es soll ein System für das Customer Relation Management (CRM) für einen Reiseveranstalter entworfen werden. Modellieren Sie folgenden Sachverhalt:

� Kunden können Reisen buchen. Ein Reiseauftrag kann mehrere Reisende umfassen

� Beschwerdevorgänge sollen erfasst werden können

� Kunden können mittels Kampagnen über neue Produkte informiert werden

� Im Call Center soll die Kontakthistorie eines Kunden angezeigt werden können

Page 42: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

42 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Erster Lösungsansatz:m:n-Beziehungen

class CRM mit m:n Beziehungen

Person

Kunde

Reiseauftrag Beschwerdev organg Kampagne

1..*

*

1..*

*

1..*

*

object CRM mit m:n Beziehungen

Huber :Kunde

Mayer :Kunde

Balearen :Kampagne

Mallorca :Beschwerdev organg

Mallorca :Reiseauftrag

Die Kundenkontakthistorie ist implizit in den Assoziationen von Kunde zu Kampagne, Reiseauftrag und Beschwerdevorgang.

Page 43: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

43 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Bessere Lösung: m:n-Beziehungen aufgelöst

object CRM mit Entität Kontakt

Person

Kunde

Kontakt

- datum: Date- typ: enum{Reise, Beschwerde, Kampagne}- rol le: enum {Reiseanmelder, Reiseteilnehmer, ...}

Reiseauftrag Beschwerdevorgang Kampagne

{Die assoziierten Objekte müssen zum Typ passen (Reise zu Reiseauftrag etc.). Die Rolle muss zum Typ passen, z.B: Reiseteilnehmer zu Reise oder Beschwerdeführer zu Beschwerde.}{xor}

0..1

1..*

0..1

1..*

0..1

1..*

*

1

object CRM mit Entität Kontakt

Huber :Kunde

Mayer :Kunde

Balearen :Kampagne

Mailing-Empfänger :Kontakt

Reiseanmelder :Kontakt

Reiseteilnehmer :Kontakt

Beschwerdeführer :Kontakt

Mallorca :Beschwerdevorgang

Mallorca :Reiseauftrag

Der Kontakt wird zur zentralen Entität des CRM-Systems - obwohl er in der fachlichen Beschreibung so gar nicht erwähnt wurde. Er dient nicht zur zur Auflösung von m:n-Beziehungen zwischen Kunde und Reiseauftrag etc. Er erlaubt Call Center Mitarbeitern Fragen zu beantworten wie: welche Mail ings hat der Kunde erhalten? Wie oft ist er gereist? Wie oft hat er sich beschwert? etc.

Page 44: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

44 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Regel 4: Beschränke Dich auf 1:n Beziehungen

���� Löse m:n-Beziehungen in (mehrere) 1:n-Beziehungen auf. Finde fachlich passende

Begriffe für die entstehenden neuen Entitäten

� Die Auflösung der m:n-Beziehungen ist kein (Datenbank-) technischer Vorgang! Häufig enthalten die neu entstehenden Entitäten weitere fachliche Informationen (z.B. das Datum des Kundenkontakts). Außerdem sind für deren Pflege häufig Dialoge notwendig.Manchmal verwendet der Fachbereich noch keinen Begriff für die neue Entität. Es ist aber sinnvoll, gemeinsam mit dem Fachbereich dafür einen passenden Begriff zu finden, der z.B. später auch der Titel des Dialogs wird.

���� Vermeide 1:1-Beziehungen

� Stehen zwei Entitäten in einer 1:1-Beziehung, so sollte man sie, sofern fachlich sinnvoll, in eine Entität zusammenfassenBeispiel: Auftrag und Auftragskopf � Auftrag

� 1:1-Beziehungen aufzulösen vereinfacht das Datenmodell

Page 45: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

45 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Eigentlich selbstverständlich, aber …Weitere Regeln

���� Modelliere nur fachliche, nie technischen Aspekte

� Beispiel: Eine Entität Liste oder gar VerketteteListe gibt es nicht

���� Beschränke Dich auf das für das System notwendige

� Beispiel: Sollen für einen Reisekatalog die Ausstattungen von Hotels (Pool, Sauna, Tennis, etc.) modelliert werden, so sind nur die Kategorien relevant. Irrelevant ist hier, dass Tennis eine Sportart ist, ob Pool und Saunabereich aneinandergrenzen etc.

Page 46: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

46 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Übersicht der Regeln für die Datenmodellierung

R1: Setze Vererbung sparsam ein

R4: Beschränke Dich auf 1:n-Beziehungen

R3: Vermeide zyklische Assoziationen

R2: Normalisiere das Datenmodell

Korrektheit

Redundanzfreiheit

Einfachheit

Erweiterbarkeit

Page 47: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

Übersicht

Abstraktion

Datenmodell-Elemente

Regeln zur Datenmodellierung

Struktur und Verhalten

Kontrollfragen

� Struktur und Verhalten

Agenda

Page 48: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

48 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Sequenzdiagramme: Struktur und Verhalten zusammenbringen

Anwendungs-fall-

Diagramm

Sequenz-Diagramm

1*

Klassen-diagramm

Sequenz-Diagramme

Page 49: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

49 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Beispiel Fitness Center:Anwendungsfall + Datenmodell ���� …

cd Kundenverwaltung Fitnesscenter

Buchhaltung

KundenverwaltungDienstleistung

Kunde

- Adresse: int- Kontonummer: int- Mitgliedsnummer: - Name: int

Vertrag

- Datum: int- Laufzeit:

Besuch

- ende: DateTime- start: DateTime

RechnungLeistung

- Artikel: String- Betrag: int

+Rechnungen *

+Vertrag 1+Besuch 1

+Leistungen *

+Besuche

*

Besuch

+Kunde 1

+Vertrag

1

Vertragsabschluss

+Kunde

1..*

uc Kundenverwaltung Fitnesscenter

Kunde

Kundenbetreuer

anmelden

Page 50: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

50 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

UML Sequenzdiagramm

sd Anmelden

Kundenbetreuer

FitnessCenter::Kunde

Fitness Center::Vertrag

Fitness Center::Rechnung

legeKundenAn

gibKundendatenAn

legeVertragAn

gibVertragsdetailsAn

schliesseVertragAb

druckeVertrag

erstelleRechnung

Wer nimmt an der

Interaktion teil?

Aktoren und Objekte

Die vertikale Achse

gibt den zeitlichen

Ablauf an

Nachricht an/ Methodenaufruf auf

anderem Objekt

•Name stellt

Aufforderung dar

•Kann (instantiierte)

Parameter enthalten

•Synchrone Nachricht:

durchgezogener Pfeil,

asynchrone Nachricht:

gestrichelter Pfeil

Objekterzeugung:

Nachricht mit new

Klassenname direkt auf

das Objekt

Antwort auf NachrichtenKönnen als gestrichelte

Pfeile zurück dargestellt

werden (optional)

Lebenslinie

stellt die Existenz

eines Objektes dar

Aktivierung

zeigt die Dauer eines

Methodenaufrufs an

Page 51: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

Übersicht

Abstraktion

Datenmodell-Elemente

Regeln zur Datenmodellierung

Struktur und Verhalten

Kontrollfragen� Kontrollfragen

Agenda

Page 52: 4. Analyse-Phase: Datenmodell Softwaretechnik (CNAM) · Übersicht Abstraktion Datenmodell-Elemente Regeln zur Datenmodellierung Struktur und Verhalten Kontrollfragen Übersicht Agenda

52 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Softwaretechnik (CNAM), WS 2009 / 2010. 28.10.2008

Kontrollfragen

� Erklären Sie Modellierung als Abstraktion von der Realität

� Für wen ist das Datenmodell gedacht?

� Was sind Entitäten? Nennen Sie Beispiele

� Was sind Attribute? Nennen Sie Beispiele

� Welche Beziehungen zwischen Entitäten existieren?

� Was sind Datentypen? Nennen Sie Beispiele

� Welche UML-Notation wird für Datenmodelle verwendet?

� Wie kann Struktur und Verhalten zusammengebracht werden?

� Welche UML-Notation kann dafür verwendet werden?

Kontrollfragen