\documentclass{bschlangaul-aufgabe}
\bLadePakete{uml}
\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 2},
  Thematik = {Aktivitätsdiagramm als Klassendiagramm},
  Referenz = 66116-2017-H.T2-TA2-A2,
  RelativerPfad = Examen/66116/2017/09/Thema-2/Teilaufgabe-2/Aufgabe-2.tex,
  ZitatSchluessel = examen:66116:2017:09,
  ZitatBeschreibung = {Thema 2 Teilaufgabe 2 Aufgabe 2},
  BearbeitungsStand = nur Angabe,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Aktivitätsdiagramm, Klassendiagramm, Objektdiagramm},
  EinzelpruefungsNr = 66116,
  Jahr = 2017,
  Monat = 09,
  ThemaNr = 2,
  TeilaufgabeNr = 2,
  AufgabeNr = 2,
}

Gegeben sei das folgende Glossar, welches die statische Struktur von
einfachen Aktivitätsdiagrammen\index{Aktivitätsdiagramm} in natürlicher
Sprache beschreibt:\footcite[Thema 2 Teilaufgabe 2 Aufgabe 2]{examen:66116:2017:09}

\begin{description}
\item[Aktivitätsdiagramm:]
Benannter Container für Aktivitäten und Datenflüsse. Eine der
definierten Aktivitäten ist als Start-Aktivität ausgezeichnet.

\item[Aktivität:]
Teil des beschriebenen Verhaltens. Man unterscheidet Start-, \mbox{End-,} echte
Aktivitäten sowie Entscheidungen. Aktivitäten können generell mehrere
ein- und auslaufende Kontrollflüsse haben.

\item[Startaktivität:]
Ist im Aktivitätsdiagramm eindeutig und dient als Einstiegspunkt des
beschriebenen Ablaufs.

\item[Endaktivität:]
Wird eine solche Aktivität erreicht, ist der beschriebene Ablauf zu
Ende.

\item[Echte Aktivität:]
Benannte Aktion, die nach Ausführung zu einer definierten nächsten
Aktivität führt.

\item[Entscheidung:]
Aktivität, die mehrere Nachfolger hat. Welche davon als nächstes
ausgeführt wird, wird durch entsprechende Bedingungen (s. Kontrollfluss)
gesteuert.

\item[Kontrollfluss:]
Verbindet je eine Quell- mit einer Zielaktivität. Kann eine Bedingung
enthalten, die erfüllt sein muss, damit die Zielaktivität im Falle einer
Entscheidung ausgeföhrt wird.

\end{description}

\begin{enumerate}

%%
% a)
%%

\item Geben Sie ein UML-Klassendiagramm\index{Klassendiagramm} an,
welches die im Glossar definierten Konzepte und Beziehungen formal
beschreibt. Geben Sie bei allen Attributen und Assoziationsenden deren
Sichtbarkeit, Multiplizität imd Typ an. Benennen Sie alle Assoziationen.

%%
% b)
%%

\item Nachfolgend ist ein Beispiel eines Aktivitätsdiagramms in der
gängigen grafischen Notation abgebildet. Stellen Sie den beschriebenen
Kontrollfluss als UML-Objektdiagramm\index{Objektdiagramm} konform zum
in Teilaufgabe a erstellten UML-Klassendiagramm dar. Referenzieren Sie
die dort definierten Klassen und Assoziationen; auf Objektbezeichner
dürfen Sie verzichten.

\begin{tikzpicture}[uml activity,x=2cm,y=2cm]
\node[initial] at (1.3,4) (start) {};

\node[action] at (4,4) (voranschlag) {Reisekostenvoranschlag}
  edge[arrow from] (start);
\node[action] at (4,2) (buchen) {Reise buchen};
\node[action] at (2,1) (abrechnung) {Kostenabrechnung};

\node[decision] at (4,3) (genehmigung) {}
  edge[arrow from] (voranschlag);

\draw[arrow to] (genehmigung) -- (buchen)
  node[pos=0.5,auto,swap] {[Reise genehmigt]};

\draw[arrow] (buchen.south) |- (abrechnung);

\node[flow final] at (0,1) (ende) {};

\draw[arrow] (genehmigung) -| (ende)
  node[pos=0.25,auto,swap]{[Reise nicht genehmigt]};

\draw[arrow] (abrechnung) -- (ende);
\end{tikzpicture}
\end{enumerate}
\end{document}
