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 Ersatzklausur Studiengang: Informatik/Wirtschaftsinformatik Studienquartal: IV. Theoriequartal Umfang: Skript „Betriebliche Informationssysteme“ (Prozesse, Transaktionen, Historie, Datenmodelle) Dozent: Löwe Termin: 18. Oktober 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 (6 Punkte): Die in der Lehrveranstaltung eingeführten Geschäftsprozesse erlauben verschiedenen Beziehungen zwischen Aktivitäten und Ereignissen: (1) Kausale Abhängigkeit, (2) Arbeitsverteilung und (3) Synchronisation. (a) Geben Sie einen Beispielprozess an, der alle drei Beziehungsarten enthält! (b) Prozessmodelle stimmen strukturell weitgehend mit Prozessen überein. Sie reden über Aktivitäts- und Ereignistypen. Es gibt zwei weitere Beziehungen zwischen Aktivitäts- und Ereignistypen. Welche? (c) Was sind Startaktivitätstypen? (d) Geben Sie ein Beispielmodell mit genau einem Startaktivitätstyp und allen 5 Beziehungsarten an! (e) Geben Sie einen Prozess mit mindestens 4 Aktivitäten zu dem Modell aus (d) an! (f) Beschreiben Sie umgangssprachlich, wann ein Prozess zu einem Modell passt! Aufgabe 3 (6 Punkte): Die Aktivitäten in einem Prozess stellen lange Transaktionen dar! (a) Das Transaktionskonzept ist ein Abstraktionskonzept. Wovon wird abstrahiert? (b) Wie heißen die beiden Abschlussarten für Transaktionen? Erläutern sie die Bedeutung! (c) Was sind die wesentlichen Eigenschaften von Transaktionen? (Kurze Erläuterung!) (d) Was ist der Unterschied zwischen kurzen und langen Transaktionen? (e) Was sind geschachtelte Transaktionen? Aufgabe 4 (2 Punkte): Was ist der Unterschied zwischen Versionierung und Historie? TEIL II: ANWENDUNG ( 50 MINUTEN) In Geschäftsprozessmodellen muss man oft Teilprozesse zur Angebotserstellung modellieren. Sie haben stets sehr ähnliche Struktur und laufen zwischen den Akteuren Kunde und Vertrieb ab. Startaktivität ist immer Angebot verlangen des Kunden. Aufgabe 5 (1 Punkt): Modellieren Sie die einfachste Variante dieses Teilprozesses: Kunde verlangt Angebot, es wird erstellt und der Kunde nimmt an oder lehnt ab! Aufgabe 6 (2 Punkte): Erweitern Sie nun das Modell so, dass der Kunde neben Annahme und Ablehnung auch die Möglichkeit hat, beliebig oft eine Modifikation zu verlangen, die zu einem neuen Angebot führt. Aufgabe 7 (2 Punkte): Legen Sie jetzt den Prozess symmetrisch aus! Der Kunde soll jetzt nicht mehr eine Modifikation verlangen, sondern kann selbst das Angebot modifizieren. Der Vertrieb hat dann die drei Optionen Annahme, Ablehnung oder erneute Modifikation. Aufgabe 8 (3 Punkte): Wenn es zu einer Ablehnung, egal ob durch den Kunden oder den Vertrieb, kommt, macht es Sinn, den Kunden zu informieren, wenn neue Konditionen möglich sind (Nachfassen). Ggf. fordert der Kunde dann ein weiteres Angebot an. Erweitern Sie Ihr Modell um diesen Teilprozess des Nachfassens. Modellieren Sie alle vernünftigen Reaktionen des Kunden auf das Nachfassen. Aufgabe 9 (2 Punkte): Wie ändert sich das Modell aus Aufgabe 6, wenn jedes Angebot (und natürlich auch jede Modifikation) zwei Teile enthält, die von unabhängigen Abteilungen (Vertrieb1 und Vertrieb2) erstellt werden? Aufgabe 10 (3 Punkte): Wie ändert sich das Modell aus Aufgabe 7 bei zweiteiligen Angeboten, die von unabhängigen Abteilungen erstellt werden? ******************** Aufgabe 11 (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 12 (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 13 (4 Punkte): Eine Datenstruktur (V; E; A; R; p:A E; s:A V; e1, e2, e3:R E) mit ausschließlich dreistelligen Relationen sei im Modell (VM;EM;AM; RM; pM:AMEM; sM:AMVM; e1M,e2M,e3M:RMEM) durch eine strukturverträgliche Abbildung (tV: V VM, tE: E EM, tA: A AM, tR: R RM) typisiert. Dann kann man zum Beispiel die Schlüsseleigenschaft eines Attributs a AM durch folgende logische Eigenschaft formulieren: tA(x) = tA(y) und s(x) = s(y) x = y (Schlüsseleigenschaft eines Attributs a) Geben sie entsprechende Eigenschaften für die Kardinalitäten (a) höchstens eins (b) genau eins (c) mindestens eins und (d) beliebig viele von dreistelligen Relationen an: 22