21
unbedingt vollständig und lesbar ausfüllen! FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels Klausur Softwareentwurf 22. März 2011 Bearbeitungszeit: 120 Minuten Name: ____________________________ Vorname:_____________________ Matrikelnummer:_____________________ [ ] Informatik Bachelor [ ] Wirtschaftsinformatik [ ] sonstiges:________________ Bitte beachten Sie: o Lassen Sie die Klausur zusammengeheftet! Sollten Sie die Klausur trennen, einzelne Seiten entnehmen bzw. zusätzliche Seiten als Lösung mit abgeben wollen, so muss jeder einzelne Teil deutlich mit Name und Matrikelnummer gekennzeichnet sein. o Sie dürfen kein eigenes Papier benutzen! Bei Bedarf erhalten Sie zusätzliches Papier bei der Klausuraufsicht. o Mit Bleistift geschriebene Lösungen werden nicht gewertet. o Kennzeichnen Sie Ihre Lösung eindeutig! Bei mehreren Lösungen zu einer (Teil-) Aufgabe wird keine davon gewertet. o Bei Multiple-Choice Fragen können falsche Antworten zu Punktabzügen führen. o Benutzen von unerlaubten Hilfsmitteln (z.B. Mobiltelefone), Abschreiben sowie Abschreiben lassen und andere Täuschungen führen zur Bewertung „nicht ausreichend“ (5,0). o Zugelassene Hilfsmittel: 1 einseitig handbeschriebenes Blatt DIN A4, beschriftet mit Name und Matrikelnummer. o Diese Klausur hat 19 TODO und die Referenz 3 TODO Seiten. Bitte prüfen Sie Ihre Exemplare auf Vollständigkeit. Aufgabe 1 2 3 4 5 6 7 8 9 Summe Erwartete Bearbeitungszeit = maximale Punktzahl 10 24 15 10 19 12 12 13 5 120 Erreichte Punkte

AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Embed Size (px)

Citation preview

Page 1: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

unbedingt vollständig und lesbar ausfüllen!

FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels

Klausur

Softwareentwurf

22. März 2011

Bearbeitungszeit: 120 Minuten

Name: ____________________________ Vorname:_____________________

Matrikelnummer:_____________________ [ ] Informatik Bachelor

[ ] Wirtschaftsinformatik

[ ] sonstiges:________________

Bitte beachten Sie:

o Lassen Sie die Klausur zusammengeheftet! Sollten Sie die Klausur trennen, einzelne Seiten

entnehmen bzw. zusätzliche Seiten als Lösung mit abgeben wollen, so muss jeder einzelne

Teil deutlich mit Name und Matrikelnummer gekennzeichnet sein.

o Sie dürfen kein eigenes Papier benutzen! Bei Bedarf erhalten Sie zusätzliches Papier bei

der Klausuraufsicht.

o Mit Bleistift geschriebene Lösungen werden nicht gewertet.

o Kennzeichnen Sie Ihre Lösung eindeutig! Bei mehreren Lösungen zu einer (Teil-) Aufgabe

wird keine davon gewertet.

o Bei Multiple-Choice Fragen können falsche Antworten zu Punktabzügen führen.

o Benutzen von unerlaubten Hilfsmitteln (z.B. Mobiltelefone), Abschreiben sowie Abschreiben

lassen und andere Täuschungen führen zur Bewertung „nicht ausreichend“ (5,0).

o Zugelassene Hilfsmittel: 1 einseitig handbeschriebenes Blatt DIN A4, beschriftet mit Name

und Matrikelnummer.

o Diese Klausur hat 19 TODO und die Referenz 3 TODO Seiten. Bitte prüfen Sie Ihre Exemplare

auf Vollständigkeit.

Aufgabe 1 2 3 4 5 6 7 8 9 Summe

Erwartete

Bearbeitungszeit =

maximale Punktzahl

10 24 15 10 19 12 12 13 5 120

Erreichte Punkte

Page 2: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 2

Name: Matrikel-Nr.:

Aufgabe 1: Vermischtes (2+3+5=10 Punkte)

Welche Bedeutung hat das Kürzel UML?

Unified Modeling Language

Universal Modeling Language

Unified Meta Language

Universal Meta Language

Beim Testen kann man z.B. nach dem V-Modell oder dem W-Modell vorgehen.

Erläutern Sie die Nachteile des V-Modells und wie diese im W-Modell

adressiert werden.

Wann kann die Ausführung einer Aktion eines Aktivitätendiagramms beginnen?

Es sind mehrere Antworten möglich.

Aktionen können immer ausgeführt werden

Wenn mindestens eine eingehende Kontrollkante ein Kontrolltoken hat

Wenn alle eingehenden Kontrollkanten ein Kontrolltoken haben

Wenn mindestens ein InputPin ein ObjektToken hat

Wenn alle InputPins ein ObjektToken haben

Page 3: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 3

Name: Matrikel-Nr.:

Sie entwickeln ein Softwaresystem, das auf verschiedenen Plattformen laufen

muss. Nun hören Sie, wie ein leitender Angestellter der Firma Pea eine Software

seines Hauses präsentiert, die die syntaktische und semantische Korrektheit von

Anforderungen, Modell des Problembereichs und Use Cases prüft. Wie

reagieren Sie?

Ich kaufe die Software nicht, weil man die semantische Korrektheit von

Modellen nicht automatisch prüfen kann.

Ich kaufe die Software nicht, weil die Verwendung des Produktes die

Plattformunabhängigkeit meines Softwareprojektes gefährden könnte.

Ich kaufe die Software, weil semantische Fehler in frühen Projektphasen

besonders große Auswirkungen haben, die durch die Software vermieden

werden können.

Kreuzen Sie alle wahren Aussagen an. Es sind mehrere Antworten möglich.

OCL steht für Object Constraint Language

Mit OCL lassen sich Vorbedingungen von Operationen spezifizieren

Mit OCL lassen sich Nachbedingungen von Operationen spezifizieren

OCL dient zur Manipulation von Modellen

Mit OCL lassen sich Invarianten über die Struktur von Modellen

spezifizieren

Erläutern Sie im Kontext der Modularisierung von Software die Begriffe High

Cohesion und Low Coupling.

Nennen Sie drei Sprachelemente, die in einem Statechart Verwendung finden

können, aber nicht in einem Zustandsautomaten.

Page 4: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 4

Name: Matrikel-Nr.:

Aufgabe 2: Modell des Problembereichs (24 Punkte)

Geben Sie ein Modell des Problembereichs an, das den im Anhang enthaltenen Text so

präzise und vollständig wie möglich modelliert.

Page 5: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 5

Name: Matrikel-Nr.:

Achtung: Platz für einen zweiten Versuch, nicht doppelt bearbeiten! Lösung eindeutig markieren!

Page 6: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 6

Name: Matrikel-Nr.:

Aufgabe 3: Objektdiagramme (10+3+2=15 Punkte)

Überprüfen Sie für jedes der auf den folgenden Seiten angegebenen Objektdiagramme, ob es

konsistent zum in der Referenz gegebenen Klassendiagramm ist. Ist ein Objektdiagramm konsistent,

markieren Sie es mit „Ja“. Ist es nicht konsistent, markieren Sie es mit „Nein“ und geben Sie alle

Inkonsistenzen an.

A)

:A

:C:E bc

ab

Page 7: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 7

Name: Matrikel-Nr.:

B)

:E

:C

:F:F

:C

bc

fcfc fc

fc

bc

Page 8: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 8

Name: Matrikel-Nr.:

C)

:F

:C :C

:Cfc

fc

fc

Page 9: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 9

Name: Matrikel-Nr.:

D)

:D

:C :F

:F

:E

:D

ec

fc

fc

df

de

de

Page 10: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 10

Name: Matrikel-Nr.:

E)

:C

:F :F

fc fc

Page 11: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 11

Name: Matrikel-Nr.:

Aufgabe 4: Aktivitätendiagramme (10 Punkte)

Stellen Sie den in der Referenz beschriebenen Ablauf der Eröffnung eines Kontos mit einem

Aktivitätendiagramm dar. Nutzen Sie Nebenläufigkeit, wenn dies möglich ist.

Page 12: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 12

Name: Matrikel-Nr.:

Achtung: Platz für einen zweiten Versuch, nicht doppelt bearbeiten! Lösung eindeutig markieren!

Page 13: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 13

Name: Matrikel-Nr.:

Aufgabe 5: Analysetabelle (19 Punkte)

a) Erstellen Sie zu den Analysesequenzdiagrammen aus der Referenz eine

Analysetabelle, die die Eigenschaften der genutzten Klassen in einer Tabelle

zusammenführt. Geben Sie zusätzlich zum Klassennamen immer auch das Stereotyp-

Symbol an.

Klassen Aufgaben Attribute kennt (dauerhaft)

Page 14: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 14

Name: Matrikel-Nr.:

Achtung: Platz für einen zweiten Versuch, nicht doppelt bearbeiten! Lösung eindeutig markieren!

Klassen Aufgaben Attribute kennt (dauerhaft)

Page 15: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 15

Name: Matrikel-Nr.:

b) Geben Sie zur Analysetabelle im Anhang das zugehörige Analyse-Klassendiagramm

an.

Page 16: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 16

Name: Matrikel-Nr.:

Aufgabe 6: Statecharts (12 Punkte)

Gegeben ist das in der Referenz abgebildete Statechart. Geben Sie das zu diesem Statechart

äquivalente Zustandsdiagramm (auch Zustandsautomat genannt) an.

Page 17: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 17

Name: Matrikel-Nr.:

Achtung: Platz für einen zweiten Versuch, nicht doppelt bearbeiten! Lösung eindeutig markieren!

Page 18: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 18

Name: Matrikel-Nr.:

Aufgabe 7: Implementierung (4+3+5=12 Punkte)

Wenn eine Sprache keine Mehrfachvererbung unterstützt, kann man diese trotzdem mit

gegebenen Sprachmitteln implementieren. In der Vorlesung haben Sie die Implementierung

von Mehrfachvererbung durch Aufwärtsdelegation und Aufwärtsdelegation mit Interfaces

kennengelernt. Erläutern und vergleichen Sie die beiden Verfahren.

Page 19: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 19

Name: Matrikel-Nr.:

Aufgabe 8: Metamodellierung (1+2+2=5 Punkte)

Gegeben ist das aus der Vorlesung bekannte Metamodell für Klassendiagramme (siehe Referenz).

Geben Sie für das ebenfalls in konkreter Syntax gegebene Klassendiagramm (siehe unten) die

entsprechende Repräsentation in abstrakter Syntax, also als Instanz des Metamodells an.

Hinweis: Geben Sie nur Attribute an, die sie neu belegen. TODO

A B

+ doA() : int

a

Page 20: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 20

Name: Matrikel-Nr.:

Achtung: Platz für einen zweiten Versuch, nicht doppelt bearbeiten! Lösung eindeutig markieren!

Page 21: AG Datenbank- und Informationssysteme · Anforderungen, Modell des ... Mit OCL lassen sich Invarianten über die Struktur von Modellen spezifizieren ... (auch Zustandsautomat genannt)

Softwareentwurf – 22.03.2011 Seite 21

Name: Matrikel-Nr.:

Aufgabe 9: Protokolle

Es soll eine Klasse „Machine“ beschrieben werden. Diese soll sich wie folgt verhalten:

Vor Nutzung von Instanzen der Klasse muss auf diesen zunächst die Methode init()

aufgerufen werden

Nun sind zwei Verwendungen möglich:

o Durch Aufruf der Methode load() wird ein Objekt in den Speicher geladen. Dieses

muss vor der Weiterverarbeitung der Aufruf der Methode verify() validiert werden

o Durch Aufruf der Methode create() wird ein neues Objekt im Speicher erzeugt.

Das nun im Speicher befindliche Objekt kann nun durch Aufruf der Methode process()

verarbeitet werden. Wenn dies geschehen ist, geht die Machine-Instanz wieder in den

Zustand vor Initialisierung.

Sobald die Methode init() ausgeführt wurde, ist es jederzeit möglich, durch Aufruf der

Methode reset() in den Zustand vor Initialisierung zu gelangen.

Geben Sie ein Klassendiagramm sowie ein dazu konsistentes Statechart an, die obigen Sachverhalt

modellieren. Sie dürfen im Statechart keine Transitionsbeschriftung doppelt verwenden.