BISKlausur20063

Werbung
F A C H H O C H S C H U L E
F Ü R
D I E
W I R T S C H A F T
F H D W,
H A N N OV E R
B E T R I E B L I C H E I N F. - S Y S T E M E
Klausur
Studiengang: Informatik/Wirtschaftsinformatik
Studienquartal: IV. Theoriequartal
Umfang: Skript „Betriebliche Informationssysteme“ (Prozesse, Transaktionen, Historie, Datenmodelle)
Dozent: Löwe
Termin: 22. September 2006
Dauer: 100 Minuten
40 Punkte sind zu erreichen: Wissen 16, Anwendung 16 und Transfer 8 Punkte. Bestanden ab 20 Punkte.
TEIL I: WISSEN (30 MINUTEN)
Aufgabe 1
(2 Punkte): Was beschreibt man mit einem Geschäftsprozessmodell? (Achtung: Es ist
nach dem Was nicht nach dem Wie gefragt!)
Aufgabe 2
(5 Punkte): Unsere Prozessmodelle erlauben die Modellierung folgender Situation:
Kausale Abhängigkeit, Alternative oder Konkurrenz, Abstraktion, Arbeitsverteilung und Synchronisation. (a) Geben
Sie die graphische Notation für alle fünf Situationen an! (b) Wodurch unterscheiden sich Alternative und
Konkurrenz? (c) Wieso benötigt man zur Formulierung von Schleifen Abstraktion? (d) Welche dieser
Situationen gibt es in der Instanz, das heißt im konkreten Prozess, nicht mehr? (e) Warum muss das so
sein?
Aufgabe 3
(4 Punkte): Zur Isolation von offenen Transaktionen gibt es folgende unterschiedlichen
Ebenen: (1) dirty read, (2) committed read und (3) serializable. Eine offene Transaktion t liest dabei (1) alle
Datensätze in der Datenbank, (2) nur Datensätze, die durch abgeschlossene Transaktionen, erzeugt
wurden, bzw. (3) nur Daten, die durch Transaktionen erzeugt wurden, die vor dem Start von t bereits
abgeschlossen waren (eine Veränderung dieser gelesenen Datensätze durch das commit einer anderen
Transaktion führt zum roll back). Ziel der Isolation ist es, dafür zu sorgen, dass die nebenläufige Ausführung
von Transaktionen t1 und t2 nur solche Effekte hervorbringt, die auch bei einer sequentiellen Abarbeitung
(entweder erst t1 und danach t2 oder erst t2 und danach t1) entstehen können. Geben sie drei Szenarien so
an, dass (a) dirty read nicht für Isolation sorgt aber committed read, (b) dass committed read nicht für Isolation
sorgt aber serializable und (c) dass nicht mal serializable für vollständige Isolation sorgt.
Aufgabe 4
(2 Punkte): Skizzieren Sie eine Situation, in der vier Transaktionen in einem Deadlock
sind!
Aufgabe 5
(1 Punkt): Was ist der wesentliche Unterschied zwischen Kurzen und Langen
Transaktionen?
Aufgabe 6
(2 Punkte): Was ist der Unterschied zwischen Versionierung und Historie?
TEIL II: ANWENDUNG (50 MINUTEN)
Wir betrachten folgenden einfachen Produktentwicklungsprozess: Der Kunde stellt zu Beginn des Ablaufs
die Anforderungen und nimmt am Ende das Entwicklungsergebnis ab oder verlangt Nachbesserungen.
An der Entwicklung sind vier Abteilungen beteiligt, das Qualitätsmanagement, die Hardware-Entwicklung, die
Software-Entwicklung und die Dokumentationsabteilung. (Die letzten drei Abteilungen zusammen werden auch
als Produktion bezeichnet ). Das Qualitätsmanagement ist einerseits dafür verantwortlich, die
Anforderungen des Kunden in Zusammenarbeit mit dem Kunden solange zu verbessern, bis sie präzise
genug für einen Entwicklungsauftrag sind. Andererseits prüft das Qualitätsmanagement die einzelnen
Ergebnisse der Entwicklung (Hardware-System und Software-System) und der Dokumentationsabteilung
(Handbücher) und veranlasst bei negativem Ausgang weitere Iterationen in der Produktion. Es ist
ebenfalls Aufgabe des Qualitätsmanagements zu prüfen, ob (1) Hardware und Software problemlos
integriert werden können und die Anforderungen erfüllen und (2) die Handbücher zum Gesamtsystem
passen. Wenn nicht, werden weitere Iterationen in (Teilen) der Produktion nötig. Die (eigentliche)
Entwicklung des Hard-Systems, die (eigentliche) Entwicklung des Software-Systems und das Schreiben
der Handbücher sollen parallel erfolgen.
Aufgabe 7
(6 Punkte): Geben Sie ein
formales Modell für den oben beschriebenen Prozess an. Gehen Sie dabei nicht weiter ins Detail als die
Beschreibung selbst, also unterscheiden Sie z. B. nicht die Phasen Analyse, Entwurf und Realisierung in
der Entwicklung. Benutzen Sie zur Modellierung nur Aktivitätstypen mit Vor- und Nachbedingungen, also
keine Katalysatoren, Inhibitoren oder weitere höhere Modellierungskonstrukte!
Aufgabe 8
(2 Punkte): In der Lösung oben
sollte der Kunde nur zu Beginn oder nach nicht erfolgter Abnahme neue Anforderungen stellen können.
Warum wird das Prozessmodell wesentlich komplexer, wenn man dem Kunden gestattet, jederzeit parallel
zur laufenden Entwicklung neue Anforderungen in den Prozess einzusteuern? (Achtung: Sie sollen hier
kein vollständiges Modell angeben! Es reicht, wenn Sie anhand von Beispielen zwei der zusätzlichen Probleme
und ihre Lösung deutlich machen.)
Aufgabe 9
(5 Punkte): Im Datenmodell der
neu gegründete fies (Fachhochschule für innovative E-Business Strategien) sollen die Entitäten vom Typ
Studierender durch eine 7-stellige numerische Matrikelnummer für diverse Zwecke der Verwaltung eindeutig
identifiziert werden. Die Nummer soll so aufgebaut sein: 1. Stelle = Kode für den Standort der fies, an
dem der Student studiert; 2.+3. Stelle = letzten beiden Ziffern vom Jahr des Studienbeginns an der fies; 4.
Stelle = Kode für den Studiengang des Studierenden an der fies; 5. Stelle = Geschlecht des Studierenden
und Quartal des Studienbeginns (0 – 3 entspricht männlich, 4 – 7 entspricht weiblich; eine 5 an dieser
Stelle sagt z. B., dass es sich um eine Frau handelt, die im 2. Quartal mit dem Studium begonnen hat); 6. +
7. Stelle eindeutige Nummer in der Merkmalsgruppe des Studierenden. (a) Welche Probleme und
Beschränkungen bringt diese Wahl eines sprechenden Schlüssels langfristig für die organisatorische Vorgänge
der fies mit sich? Zählen Sie alle Probleme auf! (Hinweis: Gehen Sie am besten alle Einzelteile des
Schlüssels durch!) (b) Wie sieht eine Alternative für einen Schlüssel ohne all diese Probleme aus? (c) Was
macht man mit den in der Nummer kodierten Informationen?
Aufgabe 10
(3 Punkte): Sie entwickeln ein
System, in dem Deadlocks nicht vermieden aber entdeckt werden. Ist ein Deadlock erkannt, wird er
aufgelöst, indem eine beteiligte Transaktion ein roll back bekommt, alle ihre Sperren freigibt und von vorne
beginnt. Geben Sie ein Kriterium an, nach dem Sie die zurückzusetzende Transaktion so auswählen, dass
kein Starvation-Problem entsteht. Begründen Sie Ihre Antwort!
TEIL III: TRANSFER (20 MINUTEN)
Aufgabe 11
(4 Punkte): Die Transaktionen aus dem Skript arbeiten auf Kopien und veröffentlichen
ihre Ergebnisse beim Commit. Wenn man für jede Geschäftsfunktion GF eine kompensierende Funktion
GF -1 (Undo) besitzt, kann man alle Operationen in einer Transaktion direkt auf den Originalen
durchführen. Wie realisiert man dann Commit und Roll Back? Gibt es Unterschiede zwischen beiden
Transaktionskonzepten? (Hinweis: Betrachten Sie die ACID Eigenschaften und die Sperrmechanismen!)
Aufgabe 12
(4 Punkte): Die Prozessmodellierung wird häufig durch Abstimmungsaktivitätstypen stark
vereinfacht. Diese Aktivitätstypen haben n  1 Paare von „Vorbedingungen“1 (Xi , Yi )i = 1...n , zwei
„Nachbedingungen“ X und Y und einen Schwellwert 1  s  n. Entsprechende Aktivitäten
(Entscheidungen) können eintreten, wenn für jedes i genau eine Vorbedingung gilt (i-te Abstimmung: Xi
oder Yi , der Kontext stellt dabei sicher, dass entweder nur Xi oder nur Yi und nie beides zusammen
eintreten kann). Beim Eintreten erzeugen sie aber entweder nur X oder Y. X wird erzeugt, wenn die Anzahl
der X-Vorbedingungen den Schwellwert s erreicht oder übersteigt. Y wird erzeugt, wenn die Anzahl der
Y-Vorbedingungen den Schwellwert n - s übersteigt.
Abstimmungsaktivitätstypen kann man mit normalen Aktivitätstypen realisieren!
1
Allerdings nicht in dem Sinne des Modells im Skript, da nicht alle Vorbedingungen zum Schalten eintreten
müssen.
22
(a) Wie stellt man einen Abstimmungsaktivitätstyp n = 1 durch Standardaktivitätstypen dar?
(b) Wie stellt man einen Abstimmungsaktivitätstyp n = 2 durch Standardaktivitätstypen dar? (Betrachten Sie
sowohl s = 1 als auch s = 2!)
(c) Wie viele Standardaktivitätstypen benötigt man allgemein für einen Abstimmungsaktivitätstyp mit n
Vorbedingungspaaren und Schwellwert s ?
Herunterladen