74
Softwaretechnik – Unified Modeling Language (UML) Softwaretechnik – Unified Modeling Language (UML) Karsten Weicker, Nicole Weicker HTWK Leipzig, FHTW Berlin David Shayne: She’s so charismatic, and she’s brilliant and beautiful. I mean, a real artist, and, and we speak the same language. (Bullets Over Broadway, 1994) Karsten Weicker, Nicole Weicker 1/ 73

Softwaretechnik -- Unified Modeling Language (UML) · Softwaretechnik – Unified Modeling Language (UML) Softwaretechnik – Unified Modeling Language (UML) Karsten Weicker, Nicole

  • Upload
    dangthu

  • View
    265

  • Download
    0

Embed Size (px)

Citation preview

Softwaretechnik – Unified Modeling Language (UML)

Softwaretechnik –Unified Modeling Language (UML)

Karsten Weicker, Nicole WeickerHTWK Leipzig, FHTW Berlin

David Shayne: She’s so charismatic, and she’s brilliantand beautiful. I mean, a real artist, and,

and we speak the same language.(Bullets Over Broadway, 1994)

Karsten Weicker, Nicole Weicker 1/ 73

Softwaretechnik – Unified Modeling Language (UML)

Modellbildung

Definition: Modell

DefinitionEin Modell ist ein bewusst abstrahiertes (konkretesoder gedankliches) Abbild eines vorhandenenGebildes oder eines konkreten oder gedanklichenVorbilds fur ein zu schaffendes Gebilde.

Beispiele: Spielzeugauto, Lebenslauf,Arbeitslosenstatistik, Modell eines geplantenGebaudes, Musterbrief

Karsten Weicker, Nicole Weicker 2/ 73

Softwaretechnik – Unified Modeling Language (UML)

Modellbildung

Definition: Modell

DefinitionEin Modell ist ein bewusst abstrahiertes (konkretesoder gedankliches) Abbild eines vorhandenenGebildes oder eines konkreten oder gedanklichenVorbilds fur ein zu schaffendes Gebilde.

Beispiele: Spielzeugauto, Lebenslauf,Arbeitslosenstatistik, Modell eines geplantenGebaudes, Musterbrief

Karsten Weicker, Nicole Weicker 2/ 73

Softwaretechnik – Unified Modeling Language (UML)

Modellbildung

Modelle in der Software-Enwicklung

1. Modell der involviertenGeschaftsanwendungsfalle

2. Modell der Software auf derSpezifikationsebene

3. Modell der Software auf Architekturebene

4. (Vorgehensmodelle – hier irrelevant)

Karsten Weicker, Nicole Weicker 3/ 73

Softwaretechnik – Unified Modeling Language (UML)

Modellbildung

1. In der Analyse: Geschaftsebene

Ziel der Modellierung:

I Identifikation des zu modellierenden Teils derFirma

I grobes Modell der Ablaufe

I Identifikation der Geschaftsanwendungsfalle ausKundensicht

I evtl. interne Details wie Dokumentenfluss

Karsten Weicker, Nicole Weicker 4/ 73

Softwaretechnik – Unified Modeling Language (UML)

Modellbildung

2. Spezifikation: Software

Ziel der Modellierung:

I Einpassen der Software in das Geschaftsmodell

I Identifikation der Anwendungsfalle

I Beschreibung der Struktur der involviertenDaten

I Ablaufe eines Anwendungsfalls bzgl. der Daten

I Zustandsveranderungen (der Software oder derBenutzungsoberflache)

Karsten Weicker, Nicole Weicker 5/ 73

Softwaretechnik – Unified Modeling Language (UML)

Modellbildung

3. Architektur: Software

Ziel der Modellierung:

I Beschreibung der Verteilung auf verschiedeneServer etc.

I Beschreibung der Komponenten und ihrerBeziehung zueinander (Architektur)

I Beschreibung der Klassen und ihrer Beziehungzueinander (Feinentwurf)

I Beschreibung der Ablaufe auf den Klassen

Karsten Weicker, Nicole Weicker 6/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Diagrammarten in UML (1)

I Anwendungsfalldiagramm→ Wer darf welche Funktion(alitat)durchfuhren

I Aktivitatsdiagramm→ Abfolge von Tatigkeiten

I Klassendiagramm→ Struktur (der Daten)

I Objektdiagramm→ Momentaufnahme eines Klassendiagramms

Karsten Weicker, Nicole Weicker 7/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Diagrammarten in UML (2)

I Sequenzdiagramm→ zeitliche Abfolge der Interaktion

I Kommunikationsdiagramm→ Zusammenspiel der Klassen

I Zustandsdiagramm→ Zustandsveranderungen

I (Komponentendiagramm)→ Komponenten zur Laufzeit

I (Einsatzdiagramm)→ Verteilung der Software auf die Hardware

Karsten Weicker, Nicole Weicker 8/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Modellierungssichten fur Software

– Entity Relationship

– Klassendiagramm (UML)– Data dictionary

– Zustandsdiagramm (UML)

– Petrinetze

– Datenflussdiagramm

– Sequenzdiagramm (UML)

– Kommunikationsdiagramm(UML)

– GUI– Sequenzdiagramm (UML)– Anwendungsfalle (UML)– Funktionsbaum

strukturelle Sicht Verhaltenssicht

Ablaufsicht

System

Sicht von Außen

Karsten Weicker, Nicole Weicker 9/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm

I engl. Use Case Diagram

I Ziel: Sammlung der Anwendungsfalle(Anwendungsszenarios oder Funktionalitaten)unter Berucksichtigung der Frage, welche

”Benutzer“ mit welchen Anwendungsfallen

interagieren

I Sicht: von Außen

I Ebene: Analyse, Spezifikation

I Details werden ausgespart

Karsten Weicker, Nicole Weicker 10/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm: Notation (1)

Akteure (Menschen undSysteme)

Anwendungsfall

Akteur interagiert selbst-initiiert mit dem Anwen-dungsfall

Akteur wird vom Anwen-dungsfall in die Interakti-on eingebunden

Karsten Weicker, Nicole Weicker 11/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm: Notation (2)

Interaktion kann vonbeiden ausgehen

verschiedene Akteurewerden zusammenge-fasst

Ein Teilablauf wirdaus dem Szenario aus-gelagert und separatbeschrieben

Karsten Weicker, Nicole Weicker 12/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm: Notation (3)

Eine Erweiterung bzw.Variante wird an einenAnwendungsfall ange-lagert

Karsten Weicker, Nicole Weicker 13/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm: Beispiel(Software)

Karsten Weicker, Nicole Weicker 14/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfall: AblaufbeschreibungJeder Anwendungsfall wird genauer beschrieben:

I naturlichsprachlich gemaßt dem Formular

Name: . . .Kurzbeschreibung: . . .Akteure: . . .fachliche Ausloser: . . .normaler Ablauf: 1. . . .

. . .alternative Ablaufe: . . .Vor-/Nachbedingungen: . . .

I oder mit Aktivitats- oder Sequenzdiagrammen

Karsten Weicker, Nicole Weicker 15/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm: Beispiel(Geschaftssystem)

Mensa mit Moglichkeit der Buchung vorab

Karsten Weicker, Nicole Weicker 16/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Einbettung der Software in’sGeschaftssystem

Karsten Weicker, Nicole Weicker 17/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Anwendungsfalldiagramm: Beispiel (SW)

Karsten Weicker, Nicole Weicker 18/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm

I engl. activity diagram

I Ziel: Aktivitaten und Verantwortlichkeiten einesSystems dargestellen

I Sicht: von Außen oder Ablauf

I Ebenen: Analyse, (Spezifikation)

I Hier sind insbesonders Kontroll- undDatenflusse von Interesse

Karsten Weicker, Nicole Weicker 19/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm: Notation (1)

Aktivitat

Startknoten

Endknoten

Kontrollfluss

Datenobjekt

Karsten Weicker, Nicole Weicker 20/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm: Notation (2)

Datenfluss

Entscheidung zwi-schen Alternativen

Zuordnung zu Sy-stemen/Akteuren

Karsten Weicker, Nicole Weicker 21/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm: Notation (3)

Parallele Vorgange

Karsten Weicker, Nicole Weicker 22/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm: Beispiel

Karsten Weicker, Nicole Weicker 23/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm in der Analyse

I interne Ablaufe nicht berucksichtigt→ Konzentration auf die Tatigkeit vonAußenstehenden

I Bedingungen an Verzweigungen: alleMoglichkeiten und eindeutig

I parallele Prozesse nur uber Synchronisationzusammenfuhren

Karsten Weicker, Nicole Weicker 24/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Aktivitatsdiagramm in der AnalyseBeispiel: Mensa der Zukunft

Karsten Weicker, Nicole Weicker 25/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zwei Minuten

I Erstellen Sie ein kleines Aktivitatsdiagramm,das Ihre Aktivitat wahrend dieser Vorlesungbeschreibt.

Karsten Weicker, Nicole Weicker 26/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Klassendiagramm

I engl. Class Diagram

I Ziel: Die Struktur der Daten einer Software solldargestellt werden.

I Sicht: strukturell

I Ebenen: Spezifikation, Entwurf

I Benutzersicht oder Ablaufe sind hier hochstensam Rande von Belang

Karsten Weicker, Nicole Weicker 27/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Klassendiagramm: Notation (1)

Klasse

Assoziation mit einer Be-zeichnung und Multiplizitat

Assoziation mit Rollenangabeund Multiplizitat

Assoziation mit Navigations-richtung

Karsten Weicker, Nicole Weicker 28/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Klassendiagramm: Notation (2)

Aggregation (has-a relation-ship)

Komposition (contains-a re-lationship)

Datentyp

Schnittstelle

Karsten Weicker, Nicole Weicker 29/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Klassendiagramm: Notation (3)

Generalisierungals Klasse

Generalisierung alsSchnittstelle

Karsten Weicker, Nicole Weicker 30/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Klassendiagramm: Notation (4)

Paket

Benutzen der Dienste ei-ner Klasse

Karsten Weicker, Nicole Weicker 31/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Klassendiagramm: Beispiel (Analyse)

Karsten Weicker, Nicole Weicker 32/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

KlassendiagrammSchritte zur Erstellung

1. Identifikation moglicher Klassen

2. Assoziationen: Wo besteht ein Zusammenhangzwischen den Klassen?

3. Kardinalitaten eintragen

4. Attribute definieren5. Verifikation

I Probleme identifizieren, Datenmodell vereinfachenI Sind immer alle Attribute belegt?I Kommen dieselben Attribute in mehreren Klassen

vor?

Karsten Weicker, Nicole Weicker 33/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

KlassendiagrammMensa der Zukunft

Karsten Weicker, Nicole Weicker 34/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Objektdiagramm

I engl. Object Diagram

I Ziel: Darstellung einer moglichen realen Instanzdes Klassendiagramms

I Sicht: strukturell

I Klassen werden durch (ggf. mehrere) Objekteersetzt

I Ebenen: Spezifikation, Entwurf

I wie Klassendiagramm, aber keine Multiplizitatan Assoziationen

Karsten Weicker, Nicole Weicker 35/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Objektdiagramm: Notation

Objekt einer Klasse

Durch Name bezeichne-tes Objekt

Link zwischen zwei Ob-jekten

Karsten Weicker, Nicole Weicker 36/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Objektdiagramm: Beispiel

Karsten Weicker, Nicole Weicker 37/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zwei Minuten

I Schreiben Sie ein Dutzend Objekte aus diesemRaum auf.

I Fassen Sie ahnliche Objekte zu Klassenzusammen.

I Finden Sie Attribute (Daten) zu einer dieserKlassen.

Karsten Weicker, Nicole Weicker 38/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm

I engl. Sequence Diagram

I Ziel: Die Darstellung der Interaktion vonAkteuren und Objekten entlang einer Zeitachse

I Sicht: Ablauf, von Außen

I Ebenen: Spezifikation, Entwurf,sehr eingeschrankt Analyse

I Dies kann auf unterschiedlich hohem Niveaugeschehen.

I vorrangig: Mutationsereignisse

Karsten Weicker, Nicole Weicker 39/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm: Notation

Objekt mit Lebenslinie

Methodenaufruf

Karsten Weicker, Nicole Weicker 40/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm: Notation

Erzeugen eines Objekts

Loschen eines Objekts

Karsten Weicker, Nicole Weicker 41/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm: Notation

Alternative Ablaufe

Karsten Weicker, Nicole Weicker 42/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm: Notation

Wiederholung im Ablauf

Methodenaufruf beimselben Objekt

Karsten Weicker, Nicole Weicker 43/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm: Beispiel

Karsten Weicker, Nicole Weicker 44/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Sequenzdiagramm: Checkliste

I Welche Klassen sind vom Mutationsereignisbetroffen?

I Startobjekt bestimmen

I Wie wird das Mutationsereignis weitergeleitet?

I Parameter der Ereignisse – welche Informationbrauchen die Objekte?

I Verifikation: Gehen die Ereignisse entlang derAssoziationen im Klassendiagramm?

Karsten Weicker, Nicole Weicker 45/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

SequenzdiagrammMensa der Zukunft: Menu abholen

Karsten Weicker, Nicole Weicker 46/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

SequenzdiagrammMensa der Zukunft: Menu abholen

Karsten Weicker, Nicole Weicker 47/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zusammenspiel der UML-DiagrammeModellierung eines IT-Systems

Anwendungsfall-diagramm

Sequenzdiagramm

KlassendiagrammGUI-Prototyp

Zusammenhang

herstellen

Zustandsdiagramm

Kommunikationsdiagramm

Geschaftssystem

G.-Anw.falle Akt.diagramme

pro Anwendungsfall

ergibt sich aus

Sequenzdiagramm

Software-Architektur

Karsten Weicker, Nicole Weicker 48/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Kommunikationsdiagramm

I engl. Collaboration Diagram

I Ziel: Zeitlicher Ablauf in einemObjektdiagramm

I Ebenen: Spezifikation, Entwurf

I Sicht: Ablauf

I vorrangig: Anzeigeaufrufe

Karsten Weicker, Nicole Weicker 49/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Kommunikationsdiagramm: Notation

Aufruf im Objektdia-gramm mit nummerier-ter Reihenfolge

Karsten Weicker, Nicole Weicker 50/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Kommunikationsdiagramm: Beispiel

Karsten Weicker, Nicole Weicker 51/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Kommunikationsdiagramm: Checkliste

I Welche Information soll in der Abfragedargestellt werden?

I Welche Klassen werden gebraucht?

I Was ist das Startobjekt?

I Ereignispfad wird bestimmt.

I Benotigte Attribute werden angegebenI Verifikation:

I Folgen die Ereignisse den Assoziationen?I Wird richtig iteriert?

Karsten Weicker, Nicole Weicker 52/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zustandsdiagramm

I engl. State Diagram

I Ziel: Wann treten Zustandsveranderungen imSystemverhalten auf

I Sicht: Verhalten

I Ebenen: Analyse, Spezifikation, event. Entwurf

I Meist: Zustand eines konkreten Objekts

Karsten Weicker, Nicole Weicker 53/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zustandsdiagramm: Notation

Startknoten

Endknoten

Zustand

Zustand mitfesten Aktivitaten

Karsten Weicker, Nicole Weicker 54/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zustandsdiagramm: Notation

Zustandsubergang(Ereignis)

Zustandsubergang(Ereignis)

Karsten Weicker, Nicole Weicker 55/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zustandsdiagramm: Notation

hierarchischer Zustand

hierarchischer Zustandin anderem Diagramm

Karsten Weicker, Nicole Weicker 56/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zustandsdiagramm: Notation

Zustand mit Gedachtnis

Parallele Durchfuhrungzweier Zustandsdia-gramme

Karsten Weicker, Nicole Weicker 57/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Zustandsdiagramm: Beispiel

Karsten Weicker, Nicole Weicker 58/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

ZustandsdiagrammVerhaltenssicht: Checkliste

I Welche Mutationsereignisse sind fur das Objektwichtig?

I Wie sieht ein”normales Leben“ des Objekts

aus?

I Welche Zustande gibt es?

I Was tun die Objekte? → Aktionen

Karsten Weicker, Nicole Weicker 59/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

ZustandsdiagrammVerhaltenssicht: Mensa der Zukunft

Karsten Weicker, Nicole Weicker 60/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Komponenten- und Einsatzdiagramm

I engl. Component Diagram bzw. DeploymentDiagram

I Ziel:I Modellierung der Implementation eines SystemsI Modellierung der Implementationsumgebung eines

Systems

I Fur die Software-Architektur interessant – wirdin dieser Vorlesung nicht weiter betrachtet

I Sie sollen nur kurz die wichtigsten Symbolesehen

Karsten Weicker, Nicole Weicker 61/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Komponenten- und Einsatzdiagramm:Notation

Komponente

Paket

Karsten Weicker, Nicole Weicker 62/ 73

Softwaretechnik – Unified Modeling Language (UML)

UML

Komponenten- und Einsatzdiagramm:Notation

Schnittstelle

Zugriff auf die Schnitt-stelle einer Komponente

Karsten Weicker, Nicole Weicker 63/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageMotivation

I ist eine umfassende Spezifizierungssprache

I gehort zu UML

I es konnen komplexere Zusammenhange als inden Diagrammen ausgedruckt werden

I hier: Beschreibung von Invarianten inKlassendiagrammen

I auch:I Vor-/NachbedingungenI Wachter (guards)

Karsten Weicker, Nicole Weicker 64/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageOperationen

I arithmetisch: +, −, ∗, /I boolesch: Not, And, Or, Xor, ImpliesI vergleichend: <, >, <=, >=, <>, =I pradikatenlogisch:

I Menge->forall(x : Typ | Bedingung )I Menge->exists(x : Typ | Bedingung )

I Mengen-Operationen:I Anzahl der Elemente: Menge->size()I Test auf Leerheit: Menge->notEmpty()I Restriktion: Menge->select(Bedingung)I Summe: Menge.Attribut->sum()

Karsten Weicker, Nicole Weicker 65/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageDirekt im Klassendiagramm

Karsten Weicker, Nicole Weicker 66/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageErganzend zum Klassendiagramm

Alle Angestellten sind mindestens 16 Jahre alt

contex Firma inv:

self.Angestellter->forall(p:Person | p.Alter > 16)

Karsten Weicker, Nicole Weicker 67/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageErganzend zum Klassendiagramm

Die Anzahl der Angestellten stimmt.

contex Firma inv:

self.Angestellter->size() = self.AnzahlBeschaftigte

Karsten Weicker, Nicole Weicker 68/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageErganzend zum Klassendiagramm

Eine große Firma zahlt mindestens 100000 EuroGehaltsgeld aus.

contex Firma inv:

self.Status = ’groß’ implies

self.Angestellte.Gehalt->sum() > 100000

Karsten Weicker, Nicole Weicker 69/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageErganzend zum Klassendiagramm

Ehefrauen sind weiblich und mindestens 16.

contex Person inv:

self.Ehefrau->notEmpty() implies

( self.Ehefrau.Geschlecht = ’weiblich’ and

self.Ehefrau.Alter >= 16 )

Karsten Weicker, Nicole Weicker 70/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Object Constraint LanguageErganzend zum Klassendiagramm

Die Firma enthalt Angestellte uber 50.

contex Firma inv:

self.Angestellter->select(Alter>50)->notEmpty()

Karsten Weicker, Nicole Weicker 71/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Zwei Minuten

I Beschreiben Sie mit OCL, die Bedingung, dassalle Angestellen einer Firma verheiratet sind.

I contex Firma inv:

self.Angestellter->forall( p:Person |

p.Ehefrau->notEmpty() Or p.Ehemann->notEmpty )

Karsten Weicker, Nicole Weicker 72/ 73

Softwaretechnik – Unified Modeling Language (UML)

Object Constraint Language

Zwei Minuten

I Beschreiben Sie mit OCL, die Bedingung, dassalle Angestellen einer Firma verheiratet sind.

I contex Firma inv:

self.Angestellter->forall( p:Person |

p.Ehefrau->notEmpty() Or p.Ehemann->notEmpty )

Karsten Weicker, Nicole Weicker 73/ 73