\input{../settings/settings}

\begin{document}

  \klausur{IIS-MODS-M}
        {Prof. Dr. S. Overhage}
        {Sommersemester 2016}
        {90}
        {keine}

\begin{enumerate}
	\item Aufgabe 1 - Pflichtaufgabe: 30 Punkte

	Sie beginnen nach Ihrem abgeschlossenen Studium als Systemarchitekt bei einem großen Automobilhersteller. Das Unternehmen nutzt eine Vielzahl an IT-Systemen zur Unterstützung bzw. Automatisierung interner Prozesse. Seit Längerem wird über eine strategische Neuausrichtung der IT-Landschaft diskutiert. Insbesondere wird überlegt, die bisherigen Systeme zu modularisieren und neu aufzubauen.

\begin{enumerate}
	\item Definieren Sie den Begriff der Komponente und grenzen Sie diesen vom Begriff der Fachkomponente ab. (4 Punkte)
	\item In der Vorlesung haben Sie die Architektur komponentenorientierter Anwendungssysteme kenneglernt. Erläutern Sie Ihnen bekannte Arten von Komponenten-Frameworks und ordnen Sie diese den entsprechenden Architekturebenen zu. (4 Punkte)
	\item Vergleichen Sie Klassen sowie Komponenten als Strukturierungseinheiten für Anwedungssysteme anhand der Erfüllung der Modularitätskriterien. (8 Punkte)
	\item Sowohl Ihr Unternehmen (A) als auch einer Ihrer eigenständigen Zuliefer (B) steht vor der Entscheidung über die Einführung eines Standardsystems, welches Einsparungen für beide Seiten mit sich bringen könnte. Als Entscheidungsgrundlage wurde von Ihrem Vorgänger folgende, allerdings noch unvollständige, Entscheidungsmatrix aufgestellt:
	\begin{enumerate}
		\item Ergänzen Sie die noch fehlenden Werte in den dafür vorhergesehenen Platzhaltern (\_\_\_) der Entscheidungsmatrix. (6 Punkte)
		\item Veranschaulichen Sie das Standardisierungsproblem anhand eines entsprechenden Graphen mit den Werten aus der Entscheidungsmatrix. (4 Punkte)
		\item Treffen Sie auf Basis des sich einstellenden Gleichgewichts eine Entscheidung über die Einführung des Systems in den jeweiligen Unternehmen. Ist Ihr Ergebnis auch aus Gesamtsicht optimal? Welche Kosten können gegebenenfalls aus Gesamtsicht gegenüber Ihrer Entscheidung eingespart werden? (4 Punkte)
	\end{enumerate}
\end{enumerate}
	\item Aufgabe 2 - 30 Punkte
	\begin{enumerate}
		\item Ihr Unternehmen hat sich dazu entschieden, ein System zur Verwaltung der Unternehmensressourcen einzuführen. Das Unternehmen untergliedert sich in insgesamt 6 verschiedene Abteilungen, die bisher alle mit dezentralen Lösungen gearbeitet haben. Durch das neue System können einerseits Einsparungen erzielt werden, da der Austausch der Informationen mit aktuellen Kosten in Höhe von 16.000 € effizienter gehandhabt werden kann. Anderseits arbeitet das neue System an sich teilweise auch effizienter als die bisherigen Lösungen. Im Gegensatz dazu fallen jedoch für jede Abteilung, die mit dem System arbeitet, zusätzliche Lizenzkosten in Höhe von 52.000 € verteilen sich auf die Abteilungen wie in nachfolgender Tabelle dargestellt.

\begin{tabular}{|p{0.1\textwidth}|c|c|c|c|c|c|}
	\hline 
	1.000 € & Abteilung 1 & Abteilung 2 & Abteilung 3 & Abteilung 4 & Abteilung 5 & Abteilung 6 \\ 
	\hline 
	Kosten Einführung & 11 & 7 & 10 & 8 & 9 & 7 \\ 
	\hline 
	Effizenz"-gewinn & 10 & 4 & 5 & x & 5 & 5 \\ 
	\hline 
\end{tabular}\\

Die Informationskosten, die entfallen, falls beide Abteilungen das System einführen, sind in folgender Tabelle enthalten:

\begin{tabular}{|p{0.11\textwidth}|c|c|c|c|c|c|}
	\hline 
	1.000 € & Abteilung 1 & Abteilung 2 & Abteilung 3 & Abteilung 4 & Abteilung 5 & Abteilung 6 \\ 
	\hline 
	Abteilung 1 & - & 1 & 0 & 1 & 2 & 2 \\ 
	\hline 
	Abteilung 2 &  & - & x & 0 & 0 & 0 \\ 
	\hline 
	Abteilung 3	&  &  & - & 3 & 0 & 0 \\ 
	\hline 
	Abteilung 4 &  &  &  & - & x & 0 \\ 
	\hline 
	Abteilung 5 &  &  &  &  & - & 4 \\ 
	\hline 
	Abteilung 6 &  &  &  &  &  & - \\ 
	\hline 
\end{tabular} 

Hinweis: x markiert eine fehlende Angabe.
\begin{enumerate}
\item Trotz fehlender Angaben bittet Ihr Vorgesetzter Sie, die anfallenden Gesamtkosten für den Fall zu berechnen, wenn Abteilung 1, 4 und 5 das System einführen. Aus Ihrer Tätigkeit in Abteilung 3 wissen Sie, dass der Informationsaustausch mit Abteilung 2 schon jetzt mit Kosten von 1.000 € relativ effizient erfolgt. Ermitteln Sie die anfallenden Gesamtkosten für den angegebenen Fall anhand nachvollziehbarer mathematischer Berechnungen. (6 Punkte)

\item In einem Vorstandsbechluss wurde entschieden, dass die Abteilungen 1, 4 und 5 das System sicher einführen. Vereinfachen Sie das Standardisierungsproblem durch die gemeinsame Betrachtung der Abteilungen 1, 4 und 5 als einzelnen Akteur und erstellen Sie einen graph, der sowohl den Nettobasisnutzen jeder Abteilung sowie die Informationskosten zwischen den Abteilungen enthält. (6 Punkte)

\item Wie viele zusätzliche Fälle bzw. Kombinationen müssen betrachtet werden um zu einer aus Unternehmensperspektive optimalen Lösung zu gelangen, falls der Vorstandsbeschluss (die Abteilungen 1, 4 und 5 setzen das System sicher ein) umgesetzt wird? Ermitteln Sie für jeden Fall bzw. Kombination die Gesamtkosten und entscheiden Sie. (14 Punkte)
	\end{enumerate}
\item Nennen Sie die zentralen Rollen auf Marktplätzen für Software Komponenten / Services und erläutern Sie kurz die Relevanz von solchen Märkten. (4 Punkte)
\end{enumerate}

\item Aufgabe 3: 30 Punkte
\begin{enumerate}
\item Nennen Sie zwei Arten von Heuristiken, welche bei der Komponentenfindung im Rahmen der Anwendung der BCI-Methode eingesetzt werden können. (1 Punkt)
\item Ein wesentlicher Schritt der BCI-Methode ist die Abbildung des konzeptionellen Modells auf einen Graph.
\begin{enumerate}
	\item Beschreiben Sie kurz die Ziele der Graphenpartitionierung. (2 Punkte)
	\item Welche Informationen eines konzeptionellen Modells können bei der Erstellung des BCI-Graphen berücksichtigt werden? (4 Punkte)
	\item In welcher Form werden die genannten Informationen auf den Graphen abgebildet? (1 Punkt)
\end{enumerate}
\item Im Rahmen der Komponentenfindung wurden mittels der BCI-Methode die zwei Komponenten A und B identifiziert. Die generierte Startlösung ist in folgender Grafik im Detail dargestellt:

\imagewocaption{1}{SS16_IIS-MODS1.jpg}{Aufgabe3_3}

Laut Ihrem Vorgesetzten ist eine Verbesserung der Aufteilung nicht mehr möglich. Sie haben es sich nun zur Aufgabe gemacht, diese Feststellung mithilfe des Kerninghan-Lin Algorithmus zu überprüfen.

\begin{enumerate}
\item Führen Sie eine Iteration des 2-Komponenten-Optimierungsschritts durch und ermitteln Sie evtl. gewinnbringende Knotentausche. (16 Punkte)

\textbf{Schritt 1}
Knoten unmarkiert: \{A1, A2, A3, B1, B2\}\\

\begin{tabular}{|c|c|c|}
	\hline 
	Knoten x & Rechenweg & Kostendifferenz D(x) \\ 
	\hline 
	A1 &  &  \\ 
	\hline 
	A2 &  &  \\ 
	\hline 
	A3 &  &  \\ 
	\hline 
	B1 &  &  \\ 
	\hline 
	B2 &  &  \\ 
	\hline 
\end{tabular}\\

\begin{tabular}{|c|c|c|}
	\hline 
	Knotenpaar (a, b) & Rechenweg & Gewinn g(a, b) \\ 
	\hline 
	A1, B1 &  &  \\ 
	\hline 
	A2, B1 &  &  \\ 
	\hline 
	A3, B1 &  &  \\ 
	\hline 
	A1, B2 &  &  \\ 
	\hline 
	A2, B2 &  &  \\ 
	\hline 
	A3, B2 &  &  \\ 
	\hline 
\end{tabular}\\

\textbf{Schritt 2}
Knoten unmarkiert: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_


\begin{tabular}{|c|c|c|}
	\hline 
	Knoten x & Rechenweg & Kostendifferenz D(x) \\ 
	\hline 
	&  &  \\ 
	\hline 
	&  &  \\ 
	\hline 
	&  &  \\ 
	\hline 
\end{tabular}\\


\begin{tabular}{|c|c|c|}
	\hline 
	Knotenpaar (a, b) & Rechenweg & Gewinn g(a, b) \\ 
	\hline 
	&  &  \\ 
	\hline 
	&  &  \\ 
	\hline 
\end{tabular}\\

\textbf{Schritt 3}\\

Knoten unmarkiert: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\

Tatsächliche Knotentausche: \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\\


\item Sind vor dem Rücksprung in den Hauptlauf weitere Iterationen notwendig? Begründen Sie kurz Ihre Antwort. (2 Punkte)
\end{enumerate}

	\item Es wird angenommen, dass sich der Gesamtgewinn G nach einer Iteration des 2-Komponenten-Optimierungsschritts wie folgt zusammensetzt:
\end{enumerate}

\begin{tabular}{|c|c|}
	\hline 
	Tauschpaar x & Gewin g(x) \\ 
	\hline 
	1 & -1 \\ 
	\hline 
	2 & 2 \\ 
	\hline 
	3 & -3 \\ 
	\hline 
	4 & 6 \\ 
	\hline 
	5 & -4 \\ 
	\hline 
	6 & 3 \\ 
	\hline 
\end{tabular} 

Ermitteln Sie alle tatsächlich durchzuführenden Knotentausche und geben Sie den dabei erzielten Gewinn an. (4 Punkte)

\textit{Hinweise: Diese Teilaufgabe hat keinen Bezug zur Aufgabe 3.3}

\item Aufgabe 4: 30 Punkte

\begin{enumerate}
	\item In der Vorlesung haben Sie sich mit der Spezifikation von Schnittstellen im Rahmen des UnSCom-Spezifikationsrahmens befasst. In welcher Sprache werden Schnittstellenspezifikationen im UnSCom-Spezifikationsrahmen testbasiert sowie grafisch verfasst? Geben Sie zudem einen Grund an, weshalb Schnittstellen spezifiziert werden sollten. (5 Punkte)
	
	\item Erläutern Sie zwei beliebige Möglichkeiten der Einschränkung von Collections im Rahmen der Spezifikation der Vor- und Nachbedingungen mittels der OCL (Object Constraint Language). (4 Punkte)
	
	\item Ein guter Freund benötigt Ihren Rat bei der grafischen Aufbereitung der nachfolgenden sprachlichen Spezifikation in Form eines entsprechenden UML-Diagramms:
	
	1 Ein Kunde hat einen Namen und eine Adresse.\\
	2 Ein Name ist eine Zeichenkette.\\
	3 Eine Adresse ist zusammengesetzt aus einer Straße und einer Hausnummer und einer Postleitzahl und einem Ort.\\
	4 Eine Straße ist eine Zeichenkette.\\
	5 Eine Hausnummer ist eine Zeichenkette.\\
	6 Eine Postleitzahl ist eine Zeichenkette.\\
	7 Ein Ort ist eine Zeichenkette.\\
	8\\
	9 Ein Premiumkunde oder ein Standardkunde ist ein Kunde.\\
	10\\
	11 Ein Auto hat eine ID und eine Leistung und einen Status.\\
	12 Eine ID hat unveränderbare Werte.\\
	13 Eine ID ist eine Ganzzahl.\\
	14 Eine Leistung ist eine Ganzzahl und wird gemessen in PS.\\
	15 Ein Status ist FREI oder VERLIEHEN oder DEFEKT.\\
	16\\
	17 Ein Fahrzeugkatalog besteht aus einem bis beliebig vielen Autos.\\
	18 \\
	19 Eine Buchung hat eine ID und ein Buchungsdatum.\\
	20 \\
	21 Eine Buchung besteht aus einem Auto und einem Standort und einem Kunden.\\
	22 \\
	23 Ein Kunde steht in einer Support Beziehung zu einem Berater.\\
	24 \\
	25 Ein Kunde wählt mit einem Fahrzeugkatalog ein Auto aus zu einer Autoreservierung.  \\
	26 Ein Berater berät einen bis beliebig viele Kunden.\\


Mit der Erstellung des UML-Diagramms wurde bereits begonnen, es ist jedoch noch unvollständig und zum Teil fehlerhaft. Betrachten Sie zunächst das UML-Diagramm und ergänzen Sie die noch fehlenden Bestandteile direkt im Diagramm. Identifizieren Sie zudem bereits bestehende Übertragungsfehler im UML-Diagramm durch Angabe der betreffenden Zeile in der sprachlichen Spezifikation, in der Fehler passiert ist. Begründen Sie ferner für jeden Übertragungsfehler in maximal einem Satz, worin der Unterschied besteht. (12 Punkte)

\textit{\begin{itemize}
		\item Bei den \textbf{Übertragungsfehlern} geben Sie bitte die betreffende Zeile in der sprachlichen Spezifikation an und erläutern den Fehler kurz.
		\item Die Ergänzung der fehlenden Inhalte nehmen Sie bitte direkt im UML-Diagramm vor.
		\item Falsch erkannte Übertragungsfehler können zu Punktabzug führen.
\end{itemize}}

\imagewocaption{1}{SS16_IIS-MODS2.jpg}{Aufgabe4_1}

\item Ordnen Sie die Automata Definition Language (ADL) sowie die Quality Modeling Language (QML) den entsprechenden Modellierungssichten und Abstraktionssichten des UnSCom-Spezifikationsrahmens zu, auf welchen diese zur Spezifikation von Komponenten eingesetzt werden. Geben Sie zudem an, welche Eigenschaften mit den jeweiligen Sprachen beschrieben werden. (9 Punkte)
\end{enumerate}
\end{enumerate}



\end{document}