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 O V E R B E T R I E B L I C H E I N F. - S Y S T E M E K LAUSUR Studiengang: Informatik Studienquartal: II. Theoriequartal Prüfungsumfang: Skript „Betriebliche Informationssysteme.“ (Prozesse, Transaktionen, Historie) Dozent: Michael Löwe Termin: 14. Juni 2002 Dauer: 90 Minuten 40 Punkte: Wissen 16 Punkte, Anwendung 16 Punkte, Transfer 8 Punkte. Bestanden ab 20 Punkte. TEIL I: WISSEN (30 MINUTEN) Aufgabe 1 (3 Punkt): Betriebliche Informationssysteme (BIS) bieten DV-Unterstützung auf drei Ebenen an. Benennen Sie die drei Ebenen! Beschreiben Sie die DV-Unterstützung durch ein BIS auf jeder dieser Ebenen! Aufgabe 2: Die in der Lehrveranstaltung eingeführten Prozessmodelle erlauben die Modellierung folgender grundsätzlicher Situation: (1) Kausale Abhängigkeit, (2) Alternative oder Konkurrenz, (3) Abstraktion, (4) Arbeitsverteilung und (5) Synchronisation. Aufgabe 2a (1 Punkt): Geben Sie die graphische Notation für alle fünf Situationen an! Aufgabe 2b (1 Punkt): Wodurch unterscheiden sich Alternative und Konkurrenz? Aufgabe 2c (1 Punkt): Wieso benötigt man zur Formulierung von Schleifen Abstraktion? Aufgabe 2d (1 Punkt): Welche dieser Situationen aus dem Modell gibt es in der Instanz, i. e. im konkreten Prozess, nicht mehr? Aufgabe 3 (2 Punkte): In offenen Transaktionen arbeitet man mit Kopien der Originaldaten. Warum? Aufgabe 4 (3 Punkte): Zur Koordination des Zugriffs verschiedener Aktivitäten auf dieselben Datenelemente gibt es zwei Sperrmechanismen, nämlich optimistische und pessimistische Sperren. Erläutern Sie die Funktionsweise der beiden Sperrmechanismen und warum ihre Benennung „den Nagel auf dem Kopf trifft“! Welche Probleme treten bei den beiden Mechanismen auf? Verdeutlichen Sie die Probleme anhand aussagekräftiger Beispiele! Aufgabe 5 (2 Punkte): Warum sollte man in einem BIS Daten niemals physisch löschen (wenn dem keine gesetzlichen Vorschriften entgegenstehen)? Erläutern Sie den Mechanismus, wie man durch Hinzufügen von weiteren Daten vorhandene Daten logisch löschen kann? Aufgabe 6 (2 Punkt): Was ist der Unterschied zwischen Bearbeitungsdatum und Wirksamkeitsdatum? TEIL II: ANWENDUNG ( 40 MINUTEN) In Geschäftsprozessmodellen muss man oft Teilprozesse zur Rechnungsstellung und Kunde mahnung beschreiben. Schematisch sieht dabei Rechnung jedes Modell für einen solchen Teilprozess wie bezahlt (R-b) in der Abbildung links aus. Tritt das Ereignis R-n ein, muss eine Rechnung durch den LiefeRechnung ranten gestellt werden. Wird die Rechnung über nötig (R-n) kurz oder lang vom Kunden bezahlt, endet der Rechnung Teilprozess mit dem Ereignis R-b. Wird die nicht bezahlt Rechnung trotz aller Bemühungen vom Kunden (R-o) nicht bezahlt, wird das durch das Ereignis R-o Lieferant angezeigt. (R-b und R-o schließen sich gegenseitig aus.) Aufgabe 7 (2 Punkte): Modellieren Sie die einfachste Variante dieses Teilprozesses: Der Lieferant stellt die Rechnung, der Kunde bezahlt oder bezahlt nicht. Aufgabe 8 (2 Punkte): Erweitern Sie das Modell aus Aufgabe 7 so, dass der Kunde neben Bezahlen und NichtBezahlen auch beliebig oft die Korrektur der Rechnung verlangen kann, auf die der Lieferant immer mit einer korrigierten Rechnung reagiert. Aufgabe 9 (2 Punkte): Räumen Sie jetzt dem Lieferanten die Entscheidung ein, geforderte Rechnungskorrekturen mit einer korrigierten Rechnung zu akzeptieren oder abzulehnen. Im Fall der Ablehnung sollen keine weiteren Korrektanforderungen durch den Kunden mehr möglich sein. Aufgabe 10 (2 Punkte): Erweitern Sie den Prozess aus Aufgabe 9 um beliebig häufiges Mahnen durch den Lieferanten, wenn die Rechnung nicht bezahlt wird. Aufgabe 11 (2 Punkte): Wie kann man das Modell aus Aufgabe 10 erweitern, wenn man auch das Bezahlen von Teilbeträgen durch den Kunden behandeln möchte. (Achtung: jetzt gibt es auch einen neuen Ausgang für den gesamten Teilprozess, nämlich Rechnung teilweise bezahlt (R-t-b). Aufgabe 12 (2 Punkte): Wie ändert sich der Prozess aus Aufgabe 10, wenn der Lieferant einen dritten Akteur, nämlich ein Inkasso-Unternehmen, mit der gesamten Eintreibung von offenen Forderungen beauftragt, sobald der Kunde nicht zahlt? (Achtung: Sie sollen die vorletzte Lösung (10) erweitern nicht die letzte (11)!) Aufgabe 13 (2 Punkte): Wie verändert sich das Modell aus Aufgabe 7, wenn weitere Rechnungen nötig werden können, bevor der Prozess der vorangegangenen Rechnung (bzw. Rechnungen) an denselben Kunden beendet ist. Hier sollen sie den Fall betrachten, dass das Ereignis Rechnung nötig (R-n) ein weiteres Mal eintritt, bevor der Kunde zahlt oder nicht zahlt. Modellieren Sie so, dass alle anfallende Rechnungen in einer Forderung zusammengefasst werden. (Hinweise: Modellieren Sie mit Negativen Ereignissen, die Sie in Ihrem Modell geeignet kennzeichnen! Gehen Sie davon aus, dass diese Ereignisse durch die Startaktivität des Prozesses ganz am Anfang erzeugt werden. Denken Sie an das Beispiel „Unsere kleine Kneipe“ aus der Lehrveranstaltung!) Aufgabe 14 (2 Punkte): Wie verändern sich das Modell aus Aufgabe 8, wenn auch hier weitere Rechnungen nötig werden können, bevor der Prozess der vorangegangenen Rechnung (bzw. Rechnungen) an denselben Kunden beendet ist. TEIL III: TRANSFER (20 MINUTEN) Aufgabe 15 (4 Punkte): Endliche Automaten ohne Ausgabe und ohne Endzustände Aut=(E, Z, z0, T (E Z) Z) lassen sich leicht in ein Prozessmodell ohne Akteure PMAut = (AkT, ErT, prod: ErT P(AkT), cons: AkT P(ErT), start AkT) übersetzen. Die Übersetzung kann so gestaltet werden, dass jeder resultierende Aktivitätstyp höchstens eine Vorbedingung und genau eine Nachbedingung hat und dass jedem Ablauf zu Aut (Sequenz von Konfigurationen verbunden durch Einzelschritte) eineindeutig ein Prozess zu PMAut (hier ohne Arbeitsverteilung und Synchronisation) entspricht. Überlegen Sie sich die gesamte Übersetzung und beantworten Sie folgende Fragen: (a) Was kann als Menge der Ereignistypen dienen? (b) Wie konstruiert man die Menge der Aktivitätstypen AkT aus der Transformationsrelation T? (c) Wie konstruiert man die Abbildungen prod (Abbildung jedes Ereignistyps auf die Menge der Aktivitätstypen, die es produzieren) und cons (Abbildung jedes Aktivitätstyps auf die Menge der Ereignistypen, die er konsumiert; hier höchstens einelementig) aus der Transformationsrelation T? (d) Was muss man in PAut vorsehen, um die Bedeutung des Startzustands z0 aus Aut nachzuvollziehen? Aufgabe 16 (4 Punkte): Innerhalb von offenen Transaktionen arbeitet man normalerweise nicht auf den Originaldaten sondern auf Kopien. Wenn der dafür nötige Platz nicht zur Verfügung steht, kann man die ACIDEigenschaften von Transaktionen auch bei der direkten Manipulation der Originaldaten gewährleisten, wenn alle elementaren Schritte, die in einer Transaktion ausgeführt werden können, eine bestimmten Eigenschaft besitzen. Welche Eigenschaft ist das? Welches Sperrverfahren (bzgl. Schreib- und Lesezugriffen) muss man dann anwenden? Warum?