Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 4 A Sommersemester 2015 Prüfung Software Engineering I (IB) Datum : 09.07.2015, 14:30 Uhr Bearbeitungszeit : 60 Minuten Prüfer : Prof. Dr. Oliver Braun Hilfmittel : UML Notationsübersicht (wird ausgeteilt) Erreichbare Punkte : 50 Name: Vorname: Matrikelnummer: Studiengruppe: Hörsaal: Platz Nr.: Unterschrift: Bitte kontrollieren Sie, ob Sie eine vollständige Angabe mit 3 Aufgaben auf 6 Seiten erhalten haben. Aufgabe 1 2 3 Summe max. Punkte 20 15 15 50 Anmerkungen: Nutzen Sie einen dokumentenechten Stift für alles was bewertet werden soll. Auch bei Skizzen ist die Verwendung eines Bleistifts nicht zulässig. Schreiben Sie die Lösungen in die dafür vorgesehenen Kästchen bzw. direkt zur Aufgabe. Sollte Ihnen der Platz dabei nicht reichen, benutzen Sie die Rückseite und vermerken Sie das bei der entsprechenden Aufgabe! 1/6
Aufgabe 1 (20 Punkte) Beantworten Sie die folgenden Teilaufgaben kurz und in eigenen Worten. (a) Nennen Sie zwei verschiedene Dimensionen der Klassifizierung von Software. (b) Wie können Sie in einem Softwareprojekt auf beiden Seiten (Auftraggeber(Auftragnehmer) ein klares Verständnis der Anforderungen schaffen? Nennen Sie 2 Punkte. (c) Welche Dimensionen hat eine Machbarkeitsstudie? Nennen Sie 2 Dimensionen. (d) In der textuellen Beschreibung eines Geschäftsprozess beschreiben Sie wie der Geschäftsprozess zu seinem Ergebnis kommt. Wie heissen die Abläufe die Sie beschreiben? Nennen Sie 2. (e) Was wird mit der Multiplizität von Assoziationen bei Use-Case-Diagrammen beschrieben? 2/6
(f) Bei der Erhebung von Anforderungen kann es zu Fehlern kommen. Welche Rolle spielt der zeitliche Aspekt bei der Aufdeckung von solchen fehlerhaften Anforderungen? (g) Ihre Architektur sieht einen Thin-Client mit einem 3-Schichten Modell vor. Ordnen Sie die einzelnen Schichten jeweils Client und Server zu. (h) Nennen Sie zwei Ziele die mittels des Facade Patterns erreicht werden sollen (i) Erklären Sie wozu ein Komponentenmodell verwendet wird. (j) Nennen Sie zwei Beispiele für agile Softwareentwicklungsmethoden. 3/6
Aufgabe 2 (15 Punkte) Ihre Software Firma wurde beauftragt ein Buchungssystem für einen Reiseveranstalter zu entwickeln. Kernstück ist dabei die Buchung und Bezahlung einer Reise. Grundlage für diesen Vorgang bilden die nachfolgenden Informationen: Zu Beginn startet ein Kunde die Buchung im Buchungssystem. Dabei wird seine Kreditkartennummer mit übermittelt. Das Buchungssystem erzeugt daraufhin eine neue Buchung Im Anschluss erfolgt die Durchführung der Zahlung auf dem Banksystem. Hierzu werden Kreditkartennummer und Preis der Reise übermittelt. Die Verarbeitung der Zahlung kann länger dauern. In diesem Zeitraum soll das Buchungssystem aber nicht blockieren, sondern mit seinen anderen Aufgaben fortfahren können. Zuletzt aktualisiert das Buchungssystem seine eigenen, intern gehaltenen, Buchungsstatistiken. Um die Arbeitsweise zu illustrieren sollen Sie folgende zwei UML Diagramme erstellen. (a) Erstellen Sie ein Sequenzdiagramm, dass den oben geschilderten Ablauf abbildet. (10) 4/6
(b) Erstellen Sie ein Klassendiagramm für die beteiligten Klassen. Zeigen Sie dabei (5) für eine Klasse ausschließlich die verwendeten Operationen aus dem Sequenzdiagramm. 5/6
Aufgabe 3 (15 Punkte) Erstellen Sie ein Fachklassenmodell für ein Softwaresystem für ein Multiplexkino. Geben Sie bei den Assoziationen von Fachklassen auch Multiplizitäten an. Leiten Sie außerdem eine sinnvolle Einteilung in Subsysteme ab. Ein Multiplexkino besteht aus mindestens 2 Kinosälen. In einem Kinosaal laufen zu verschiedenen Zeitpunkten verschiedene Vorstellungen. Eine Vorstellung beinhaltet immer genau einen Film. Auf Grund des aktuellen Rahmenvertrags mit dem Verleiher darf ein Film in höchsten 10 Vorstellungen gezeigt werden. Für eine Vorstellung werden Eintrittskarten verkauft, die von den Kunden gekauft werden können. 6/6