UniKL Logo

Lehrgebiet Informationssysteme

FB Informatik

FB Informatik
 
LG IS
AG DBIS
AG HIS
Jobs / Tasks
Courses
SWP
2003
Start / Aktuelles
Neue Infos
Hiwi-Sprechstunden
Kontakt
Allgemeine Informationen
Gruppenseiten
Aufgabenbeschreibung
Aktuell:
SWP 2003
Archiv:
SWP 2002
Publications
Contact
Misc
Impressum
(C) AG DBIS
 

Softwarepraktikum im Sommersemester 2003
Grundlagen betrieblicher Informationssysteme

Subsections


2 Aufgaben

Die Hauptaufgabe besteht in der Realisierung eines Software-Systems zur Population der Datenbank laut TPCW-Spezifikation. Konkret sind die Paragraphen 1 und 4 der Spezifikation zu erfüllen. Paragraph 1 beschreibt die Anforderungen an das Datenbankschema und die Datenbank-relevanten Aspekte, während Paragraph 4 die Anforderungen an die zu generierenden Daten definiert. Eine Datenbank mit entsprechendem Schema ist vorgegeben und muss nicht modelliert werden.

Abschnitt 4.6.2.19 der TPC-W-Spezifikation wird in diesem Praktikum durch folgenden Text ersetzt1:

4.6.2.19a
The item title (I_TITLE) must be generated as a random a-string[14..60]. It must have an embedded substring generated as DigSyl(num, 7). The substring must start at an offset within the I_TITLE string random within [0..46].

    if I_ID <= (NUM_ITEMS / 5)
        num = I_ID;
    else
        num = random within [0..(NUM_ITEMS / 5)];
Example: Given an I_ID of 4628, the embedded substring is generated as DigSyl(4628, 7). Thus, the I_TITLE corresponding to an I_ID of 4628 would contain the substring BABABAREATALIN starting at some random offset between 0 and 46.

Comment: The intent of this Clause is to ensure that web interactions that execute a search based on the content of I_TITLE find a number of matching records.

4.6.2.19b
The author last name (A_LNAME) must be generated as a random a-string [14..20]. It must have an embedded substring generated as DigSyl(num, 7). The substring must start at an offset within the A_LNAME string random within [0..6].
    if A_ID <= (NUM_AUTHORS / 2.5)
        num = A_ID;
    else
        num = random within [0..(NUM_AUTHORS / 2.5)];

Die für das zu realisierende Software-System relevanten funktionalen Anforderungen finden sich in Paragraph 4 und müssen erfüllt werden.

Alle Anforderungen in Paragraph 4, die sich nicht direkt auf das zu realisierende Software-System beziehen, beispielsweise Anforderungen an den Web-Server etc., können ignoriert werden. Ferner ist es nicht erforderlich den Punkt 4.6.2.13 zu erfüllen. Somit müssen zunächst keine Bilder (Images) oder Verkleinerungen (Thumbnails) erzeugt werden. Grafische Objekte brauchen nicht unterstützt zu werden!

2.1 Aufgaben in den Entwicklungsphasen

Das vorgegebene Lebenszyklusmodell gliedert sich in vier Phasen, welche nach dem Modell genau einmal durchlaufen werden. Die Durchführung der Aufgabe orientiert sich an diesen Phasen:

  • Anforderungsanalyse
  • Systementwurf und Modellierung
  • Kodierung
  • Integration und Validation

In jeder Phase ist die Bearbeitung zu dokumentieren.

2.1.1 Anforderungsanalyse

Die eigentliche Anforderungsanalyse entfällt aufgrund der Vorgabe der TPCW-Benchmark-Spezifikation. Vielmehr ist sich hier in die Spezifikation und Dokumentation zu vertiefen und eine Strategie zu entwickeln, um eine Datenbasis schnell, effizient und mit korrekten Daten aufzubauen.

2.1.1.1 Zeit

Diese Phase umfasst eine Woche.

2.1.1.2 Zweck

  • Verteilung der Aufgaben innerhalb der Gruppe,
  • Einarbeitung in die Thematik,
  • Planung des allgemeinen Vorgehens und der grafischen Benutzerschnittstelle.

2.1.1.3 Aufgaben dieser Phase

Arbeiten Sie die Spezifikation durch und entwickeln Sie eine Strategie, die beschreibt, wie die benötigten Daten zu erzeugen sind. Erläutern Sie kurz, wie im Allgemeinen bei der Population der Datenbank vorzugehen ist und wie im Speziellen Bestellungen behandelt werden müssen. Berücksichtigen Sie dabei die Abhängigkeiten, die sich durch Fremdschlüsselbeziehungen oder andere Beziehungen aus dem DB-Schema ergeben und die eventuell lange Laufzeit eines Generierungsdurchgangs. Überlegen Sie, welche funktionalen Anforderungen die grafische Benutzerschnittstelle konkret erfüllen muss, und entwerfen Sie entsprechende Interface-Flow-Diagramme.

Entwickeln Sie jeweils eine Formel für die Abschätzung des Speicheraufwandes und für die Anzahl der zu erzeugenden Objekte in Abhängigkeit von der Anzahl der emulierten Browser (EB) und Produkte (Items).

Schätzen Sie den Aufwand für

EB = 1, Items = 1 000 und

EB = 10, Items = 100 000 ab.

2.1.1.4 Abgabe

System-Anforderungs-Beschreibung, die oben genannte Strategie, Interface-Flow-Diagramme, Abschätzungen und die interne Gruppenaufteilung.

2.1.2 Systementwurf und Modellierung

Im weiteren Verlauf ist ein System zu entwerfen, das den Anforderungen der Spezifikation genügt. Dabei ist den Prinzipien eines objektorientierten Entwurfs zu folgen.

2.1.2.1 Zeit

Diese Phase umfasst drei Wochen.

2.1.2.2 Zweck

  • Erstellung eines objektorientierten System-Entwurfs
  • Erarbeiten von Testfällen

2.1.2.3 Aufgaben dieser Phase

Architektur, Schnittstellen, Klassen, interne Repräsentation von Datenbankobjekten und weitere Strukturierung durch Einsatz von Paketen (respektive Java Packages) sind zu definieren und zu dokumentieren. Entwickeln Sie für jede Komponente Testfälle. Beschreiben Sie das dabei zu erwartende Verhalten. Bei der GUI ist z.B. ein Testfall "`SCHLIESSEN Button wird gedrückt"' denkbar. Das erwartete Verhalten ist das Beenden der Anwendung und Freigabe aller Ressourcen.

2.1.2.4 Abgabe

System-Entwurfs-Beschreibung (mit Klassendiagramm nach UML)

Testplan (für jede Komponente 10 Testfälle mit Verhaltensbeschreibung)

Bitte besonders die Entwurfshinweise in See Entwurfshinweise beachten!

2.1.3 Implementierung

In dieser Phase ist der Entwurf zu implementieren. Es wird Java als Programmiersprache verwendet.

2.1.3.1 Zeit

Diese Phase umfasst höchstens vier Wochen.

2.1.3.2 Zweck

Implementierung der einzelnen Komponenten.

2.1.3.3 Aufgaben dieser Phase

Realisieren Sie den von Ihnen erstellten Entwurf unter besonderer Berücksichtigung der Einhaltung der Kardinalitäten der zu erzeugenden Objektmengen. Beschreiben Sie, wie die Kardinalitt der Menge von Bestellpositionen eingehalten wird. Benutzen Sie für die Datenbankanbindung die JDBC-Schnittstelle. Für Testläufe sollte die Konfiguration (EB = 1, Items = 1000) genutzt werden.

Benutzen Sie für die Kode-Dokumentation das JDK-Tool "`javadoc"'!

Testen Sie weiterhin Ihre Komponenten mit den von Ihnen beschriebenen Testfällen und protokollieren Sie alle Abweichungen vom erwarteten Verhalten.

2.1.3.4 Abgabe

kommentierter Code,

Code-Beschreibung (HTML, mit javadoc erzeugt),

Protokoll Komponententest

2.1.4 Integration und Validation

Die Komponenten sind zu einem funktionierenden System zu integrieren und erneut zu testen. Neben dem Funktionstest zur Überprüfung der Zuverlässigkeit ist ferner das System gegen die Anforderungen zu validieren. Geeignete Testfälle können aus der Spezifikation direkt abgeleitet werden. Dies geschieht mit Hilfe der Visualisierungskomponente.

Die Realisierung ist am Ende der Praktikumsaufgabe im Rahmen einer Systemvorstellung zu präsentieren.

2.1.4.1 Zeit

Diese Phase umfasst höchstens drei Wochen.

2.1.4.2 Zweck

Integration,

Test, Validation,

Ausführung: Population der Datenbank. EB=10, Item=100000

2.1.4.3 Aufgaben dieser Phase

Fügen Sie alle Komponenten zu einem vollständigen System zusammen. Testen Sie es zunächst mit der Konfiguration (EB = 1, Item = 1 000) und dann mit der Konfiguration (EB = 10, Item = 100 000). Messen Sie die Zeit, die zum Fällen der Datenbank nötig ist. Validieren Sie das System gegen die Anforderungen, indem Sie geeignete Anfragen an das DBMS stellen und diese visualisieren.

Testen Sie Ihr System mit geeigneten Testfällen. Arbeiten alle Komponenten fehlerfrei zusammen? Denken Sie über Transaktionskontrolle und Recovery nach! Was geschieht bei einem vorzeitigen Abbruch der Verarbeitung? Sind Sie gezwungen, von vorne zu beginnen, oder können Sie einzelne Schritte rückgängig machen, um in einem konsistenten Zustand die Verarbeitung fortzusetzen.

Welche Möglichkeiten bieten DBVS, um die Anforderungen an die spezifischen Eigenschaften der Attribute und ihrer Ausprgungen zu gewährleisten?

2.1.4.4 Abgabe

Abschluss-Dokumentation (Integrations- und Validations-Protokoll mit Testfällen und Ergebnis),

Dokumentation des Einsatzes der Visualisierungs-Komponente

System-Vorführung


Footnotes

... ersetzt1
Der Text entspricht den Absätzen 4.6.2.17 und 4.6.2.17 des TPCW-Drafts D 5.1