! Informatik IIa: Modellierung Frühjahrssemester 2010 Übung 3: Steuerflussmodelle, UML, Datenmodelle Kapitel 3,4,5 Ausgabe: 29. März 2010 Abgabe: 13. bis 15. April 2010 Name Matrikelnummer Seite 1
Aufgabe 1 - UML (5 Punkte) Frage [Typ ALL] 1.1: UML (4 Punkte) Welche der folgenden Aussagen sind richtig? Richtig Falsch UML besteht hauptsächlich aus strukturellen Sichten und Datensichten. Entity-Relationship-Modelle sind ein Teil von UML. Verschiedene UML-Modelltypen können ergänzend genutzt werden. UML ist gut geeignet für den Entwurf objektorientierter Software. Frage [Typ 1] 1.2: UML-Diagrammtypen (1 Punkt) Welcher der folgenden Diagrammtypen ist nicht Teil von UML 2? Klassendiagramm Sequenzdiagramm Nassi-Shneiderman-Diagramm Anwendungsfalldiagramm Seite 2
Aufgabe 2 - Jackson-Diagramm (13 Punkte) Seit dem 1. März 2010 ist der neue biometrische Schweizer Pass Pass 10 erhältlich. Die neuen Pässe werden gemäss folgendem Schema ausgestellt: Die Ausstellung eines neuen Passes gliedert sich in die vier aufeinanderfolgenden Hauptvorgänge Antrag, Terminvereinbarung, Besuch im Passbüro und Auslieferung. Der Antrag, wie auch die darauffolgende Terminvereinbarung, kann entweder online oder per Telefon erfolgen. Die elektronische Terminvereinbarung läuft in drei Schritten ab. Als erstes loggt man sich im System ein. Danach macht man eine Probebuchung, bei der zuerst das Datum und dann die Zeit gewählt wird. Die Probebuchung kann wiederholt werden. Der dritte Schritt der elektronischen Terminvereinbarung ist die Bestätigung der Probebuchung. Als nächstes folgt der Besuch im kantonalen Passbüro. Dabei wird zuerst ein Foto gemacht und dann durch mehrmaliges Scannen der Fingerabdrücke die biometrischen Daten erfasst. Der vierte und letzte Hauptvorgang ist die Auslieferung. Der neue Pass wird zuerst mit dem Stempel der Behörde versehen, danach unterschrieben und schliesslich versandt. a) Modellieren Sie den oben beschriebenen Vorgang in einem Jackson-Diagramm. Es darf nur modelliert werden, was im Text beschrieben ist. b) Lässt sich der unter a) modellierte Vorgang in ein Nassi-Shneiderman-Diagramm überführen? Begründen Sie Ihre Antwort. Seite 3
Aufgabe 3 - Entscheidungstabelle (14 Punkte) Folgender Text beschreibt die Strategie von Alexandra beim Kauf eines neuen Notebooks: Alexandra hat genaue Vorstellungen über den Preis und die Displaygrösse ihres neuen Notebooks. Sie hat jedoch immer auch ein Auge auf neu angekündigte Modelle der Notebook-Hersteller. Ist nämlich ein neues Modell innerhalb der nächsten 2 Monate angekündigt, entschliesst sie sich, kein Notebook zu kaufen. Dabei gibt es allerdings folgende Ausnahme: Alexandra findet ein Modell, welches CHF 2000.- oder weniger kostet und dabei noch ein Display von 15 oder mehr aufweist. In diesem Fall will sie weitere Informationen über beide Notebooks einholen, bevor sie sich entscheidet. Ist für die nächsten Monate kein neues Modell angekündigt, kauft Alexandra sich ein Notebook, wenn das Display mindestens 15 gross ist. Wenn das Notebook mehr als CHF 2000.- kostet, das Display aber kleiner als 15 ist, kauft sie das Notebook nicht. Sie kauft das Notebook mit einem Display von weniger als 15 ebenfalls nicht, wenn der Preis unter CHF 2000.- liegt. a) Modellieren Sie den obigen Sachverhalt, indem sie folgende Entscheidungstabelle ausfüllen: 1 2 3 4 5 6 7 8 Preis > CHF 2000.- J J J J N N N N Display 15 J J N N J J N N Neues Modell angekündigt innerhalb der nächsten 2 Monate J N J N J N J N Notebook kaufen kein Notebook kaufen weitere Infos einholen b) Fassen Sie die Tabelle aus a) soweit wie möglich zusammen. Seite 4
Aufgabe 4 - UML-Aktivitätsdiagramme (9 Punkte) Beurteilen Sie die Korrektheit der folgenden UML 2 Aktivitätsdiagramm-Fragmente und korrigieren Sie allfällige Fehler. Verantwortlichkeitsbereiche und Datenobjekte müssen nicht berücksichtigt werden. a) Zuerst wird das Begleitschreiben verfasst. Hat das Dokument den Vermerk dringlich, wird es danach per E-Mail versandt. Im Falle des Vermerks normal, wird das Dokument per Post versandt. b) Das Teil wird zuerst lackiert und danach geprüft. War die Prüfung erfolgreich, ist der Vorgang beendet. Anderenfalls muss das Teil erneut lackiert werden. Seite 5
c) Christian schaltet die Kaffeemaschine ein. Hat er die letzte Nacht weniger als sechs Stunden geschlafen, drückt er danach auf Doppelter Espresso. Ansonsten drückt er Milchkaffee. In beiden Fällen schaltet er die Kaffeemaschine wieder aus und liest anschliessend die Zeitung. Seite 6
Aufgabe 5 - UML-Aktivitätsdiagramm (20 Punkte) Will ein Student an der Universität Bologna das Pflichtmodul Informatik II belegen, läuft dies folgendermassen ab: Als erstes bucht der Student das Modul. Belegt der Student Informatik II zum ersten Mal, macht er sich Notizen, während der Dozent die Vorlesungen hält. Hat der Student das Modul hingegen schon einmal gebucht, liest er nur die Begleitliteratur. In beiden Fällen legt der Student danach eine Prüfung ab, die von einem Assistenten beaufsichtigt wird. Der entsprechende Assistent korrigiert im Anschluss die Prüfung. Als nächster Schritt wird die Note vom Sekretariat erfasst. Dieses stellt danach auch den Leistungsausweis aus. Ist die Note kleiner als 4, muss der Student das Pflichtmodul erneut buchen. a) Zeichnen Sie ein UML-Aktivitätsdiagramm (UML 2), welches den obigen Vorgang beschreibt. Modellieren Sie dabei auch Verantwortlichkeitsbereiche und allfällige Datenobjekte. Es darf nur modelliert werden, was im Text beschrieben ist. b) Eine saubere Struktur wird in Aktivitätsdiagrammen nicht erzwungen; Spaghetti -Modelle sind möglich (Kapitel 5, Folie 19). Bei strukturierten Ablaufmodellen (Jackson-Diagramme, Nassi-Shneiderman- Diagramme) hingegen tritt dieses Problem nicht auf. Erklären Sie kurz, wieso nicht. Seite 7
Aufgabe 6 - Entity-Relationship-Modell Repetition (19 Punkte) Im Gymnasium Unterdorf gibt es Schüler und Lehrer. Jeder Lehrer unterrichtet zwischen einem und drei Fächer, wobei jedes Fach von genau einem Lehrer unterrichtet wird. Jedes Fach hat eine eindeutige Bezeichnung. Lehrer sind durch ihre Lohnklasse, sowie einen oder mehrere akademische Titel charakterisiert. Sie prüfen zudem Schüler, was eine Note nach sich zieht. Es gibt auch Lehrer, die keine Schüler prüfen. Schüler haben, wie Lehrer auch, einen oder mehrere Namen und ein Geschlecht. Sie werden während ihrer Schullaufbahn von mindestens 7, aber höchstens 15 Lehrern geprüft. Jeder Schüler gehört genau einer Klasse an. Die Klassengrössen variieren zwischen 10 und 30 Schülern. Jede Klasse hat eine Bezeichnung, die sich aus der Stufennummer und einem Klassenbuchstaben zusammensetzt. Die Räume des Gymnasiums Unterdorf haben alle eine Raumnummer und sind dadurch eindeutig definiert. Zudem ist jeder Raum durch die Anzahl Sitzplätze und den Raumtyp ( Schulzimmer oder Büro ) charakterisiert. Einigen Klassen ist ein Schulzimmer fest zugeordnet. Jedem Raum kann höchstens eine Klasse zugeordnet werden. Büros sind keiner Klasse zugeordnet. Einer Klasse kann nicht mehr als ein Raum zugeordnet werden. Erstellen Sie gemäss dem obigen Text ein Datenmodell (klassisches Entity-Relationship-Modell; Attribute graphisch mit Ovalen dargestellt) des Gymnasiums Unterdorf. Verwenden Sie für die Kardinalitäten die klassische Notationskonvention (vgl. Kapitel 3, Folie 19). Es darf nur modelliert werden, was im Text beschrieben ist. Hinweis: der Text kann Informationen enthalten, die in einem Entity-Relationship-Diagramm nicht modellierbar sind. Seite 8