18.04.2015 Aufrufe

Anforderungsdefinition Integration - diko-project.de

Anforderungsdefinition Integration - diko-project.de

Anforderungsdefinition Integration - diko-project.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Anfor<strong>de</strong>rungs<strong>de</strong>finition</strong> <strong>Integration</strong><br />

Tim Brüggemann, Helge Saathoff, Ralph Stuber, Guido Zen<strong>de</strong>l<br />

15. Mai 2003<br />

1


Inhaltsverzeichnis<br />

1 Ausgangssituation und Zielsetzung 3<br />

2 Systemeinsatz und Systemumgebung 3<br />

3 Funktionale Anfor<strong>de</strong>rungen 3<br />

4 Nichtfunktionale Anfor<strong>de</strong>rungen 4<br />

5 Benutzerschnittstellen 4<br />

6 Dokumentationsanfor<strong>de</strong>rungen 4<br />

7 Abnahmekriterien 5<br />

8 Anhang 5


1 Ausgangssituation und Zielsetzung<br />

Ziel <strong>de</strong>r <strong>Integration</strong> ist es, die Daten aus verschie<strong>de</strong>nen Händlerdatenbanken in eine Kartenanbieterdatenbank<br />

zu importieren. Als Arbeitsgrundlage hierfür dienen die bereits<br />

angelegten Datenbanken <strong>de</strong>r zwei Händler und die <strong>de</strong>s Kartenanbieters, die im Rahmen<br />

<strong>de</strong>s ersten Teilprojektes entstan<strong>de</strong>n sind. Für je<strong>de</strong> <strong>de</strong>r bei<strong>de</strong>n Händlerdatenbanken ist<br />

ein separater Loa<strong>de</strong>r zu implementieren.<br />

Die Überlegung, ein zusätzliches Datenbankschema zu erstellen, welches als Zwischendatenbank<br />

zwischen <strong>de</strong>n Händler- und Kartenanbieterdatenbanken fungieren soll, wird<br />

aufgrund <strong>de</strong>s zusätzlichen, hohen Arbeitsaufwands nicht implementiert. Ein Vorteil einer<br />

solchen Zwischendatenbank wäre die einfachere Erweiterbarkeit <strong>de</strong>s Szenarios bzgl.<br />

mehrerer Kartenanbieter. Mit existieren<strong>de</strong>r Zwischendatenbank müßte für einen zusätzlichen<br />

Kartenanbieter lediglich ein Loa<strong>de</strong>r zur Zwischendatenbank implementiert wer<strong>de</strong>n<br />

und nicht ein Loa<strong>de</strong>r pro existieren<strong>de</strong>m Händler. Nachteil einer Zwischendatenbank ist,<br />

daß im Falle nur eines Kartenanbieters ein zusätzlicher Loa<strong>de</strong>r von <strong>de</strong>r Zwischendatenbank<br />

zum Kartenanbieter geschrieben wer<strong>de</strong>n müßte, was eine erhebliche Steigerung<br />

<strong>de</strong>s Arbeitsaufwan<strong>de</strong>s darstellt. Zu<strong>de</strong>m entstün<strong>de</strong>n erhöhte Kosten durch redundante<br />

Datenhaltung und zusätzlichen administrativen Aufwand. Es stellte sich die Frage, ob<br />

einer <strong>de</strong>r Händler o<strong>de</strong>r <strong>de</strong>r Kartenanbieter für die Verwaltung <strong>de</strong>r Zwischendatenbank<br />

verantwortlich ist.<br />

2 Systemeinsatz und Systemumgebung<br />

Als DB dient eine Oracle-Datenbank, die unter Solaris läuft. Die Loa<strong>de</strong>r wer<strong>de</strong>n in Java<br />

implementiert, woraus eine Plattformunabhängigkeit resultiert, da das Ausführen auf<br />

geeigneten Systemen mit einer Java-Laufzeitumgebung gewährleistet wird.<br />

3 Funktionale Anfor<strong>de</strong>rungen<br />

Es wer<strong>de</strong>n alle Daten aus <strong>de</strong>n bei<strong>de</strong>n Händlerdatenbanken ausgelesen, um sie anschließend<br />

in die Datenbank <strong>de</strong>s Kartenanbieters einzufügen. Es besteht die Möglichkeit per<br />

Kommandozeilenparameter Einfluss auf die <strong>Integration</strong> zu nehmen. Dabei können die<br />

Namen <strong>de</strong>r Quell- und Zieldatenbank, die erfor<strong>de</strong>rlichen Zugangsdaten zu <strong>de</strong>n Datenbanken,<br />

<strong>de</strong>r Treiber <strong>de</strong>r zum Zugriff auf die Datenbank nötig ist sowie <strong>de</strong>r Name <strong>de</strong>s<br />

Rechensystems auf <strong>de</strong>m die Datenbank läuft übergeben wer<strong>de</strong>n. Eine genauere Schnittstellen<strong>de</strong>finition<br />

erfolgt im Glie<strong>de</strong>rungspunkt Benutzerschnittstellen.// Das Programm<br />

besteht aus insgesamt vier Klassen, wobei eine Klasse für die Datenbankverbindung,<br />

eine Klasse zur Steuerung <strong>de</strong>s Programmablaufs und jeweils eine Klasse für <strong>de</strong>n Import<br />

<strong>de</strong>r Daten eines Händlers zuständig ist. Das Schema für die Datenübertragung zwischen<br />

Händlerdatenbanken und Kartenanbieterdatenbank wird in Tabellenform im Angang<br />

dargestellt.


4 Nichtfunktionale Anfor<strong>de</strong>rungen<br />

Nichtfunktionale Anfor<strong>de</strong>rungen für das System sind<br />

Portabilität (Plattformunabhängigkeit)<br />

Stabilität (leichtes Abfangen von Fehlern)<br />

Benutzerfreundlichkeit (Übergabe von Steuerungsparametern)<br />

Wart- und Erweiterbarkeit (Übersichtliche Programmstruktur + Dokumentation)<br />

Sicherheit (Zugriff auf die Datenabnken nur für berechtigte Nutzer)<br />

Großer Wert wird zu<strong>de</strong>m auf eine umfassen<strong>de</strong> Dokumentation <strong>de</strong>s Systems gelegt.<br />

5 Benutzerschnittstellen<br />

Das Programm läßt sich aus einer Kommandozeile mit Kommandozeilenparametern starten.<br />

So können die folgen<strong>de</strong>n acht Parameter int sourceDB, int targetDB, String hostNameSDB,<br />

String driverSDB, String userSDB, String passwdSDB, String hostNameTDB,<br />

String driverTDB, String userTDB und String passwdTDB optional übergeben wer<strong>de</strong>n.<br />

In diesem Falle wer<strong>de</strong>n diese Parameter für die <strong>Integration</strong> genutzt. Weiterhin existiert<br />

die Möglichkeit, nur die sechs Kommandozeilenparameter int sourceDB, int targetDB,<br />

String usersSDB, String passwdSDB, String userTDB und String passwdTDB zu übergeben.<br />

Bei dieser Lösung wer<strong>de</strong>n die Werte für hostNameSDB, hostNameTDB sowie<br />

driverSDB und driverTDB fest im Programm codiert. Schließlich kann bei initialem<br />

Import auch <strong>de</strong>r Kommandozeilenparamter init aufgerufen wer<strong>de</strong>n, um die Kartenanbieterdatenbank<br />

auf die Importe <strong>de</strong>r Daten aus <strong>de</strong>n Händlerdatenbanken vorzubereiten<br />

(Anlegen von Werten für LOV-Tabellen usw.). Auf das Auftreten von Fehlern soll das<br />

Programm mit Programmabbruch und Ausgabe eines Fehlertextes reagieren. Folgen<strong>de</strong><br />

Fehler können auftreten:<br />

1. Fehlerhafte Zugangsdaten. Verhalten: kein Verbindungsaufbau.<br />

2. Fehler in <strong>de</strong>r Datenbank (z.B. Attributname geän<strong>de</strong>rt). Verhalten: Angabe <strong>de</strong>r<br />

Fehlerquelle.<br />

3. Verbindungsabbruch. Verhalten: Fehlermeldung<br />

6 Dokumentationsanfor<strong>de</strong>rungen<br />

Die Dokumentation <strong>de</strong>s Programms umfaßt folgen<strong>de</strong> Punkte:<br />

<strong>Anfor<strong>de</strong>rungs<strong>de</strong>finition</strong> (dieses Dokument)<br />

Entwurf


Dokumentierter Sourceco<strong>de</strong><br />

System-Dokumentation bestehend aus Benutzer- und Developer-Handbuch<br />

Die Dokumentation soll in elektronischer Form erfolgen.<br />

7 Abnahmekriterien<br />

Die funktionalen Anfor<strong>de</strong>rungen sollen erfüllt wer<strong>de</strong>n, nichtfunktionale Anfor<strong>de</strong>rungen<br />

sollen möglichst vollständig implementiert wer<strong>de</strong>n. Sämtliche für <strong>de</strong>n Kartenanbieter relevanten<br />

Daten aus <strong>de</strong>n Händlerdatenbanken sollen von <strong>de</strong>m Programm in die Kartenanbieter-<br />

Datenbank übernommen wer<strong>de</strong>n. Der Kartenanbieter hat dabei keine Möglichkiet auf<br />

die Auswahl <strong>de</strong>r Daten Einfluss zu nehmen, da die Auswahl <strong>de</strong>r Daten fest in <strong>de</strong>n Metho<strong>de</strong>n<br />

<strong>de</strong>r Importklassen codiert sind. Somit ist auch keine Metadatensteuerung, die<br />

prinzipiell möglich wäre, vorgesehen.<br />

8 Anhang<br />

Die im Anhang enthaltenen Tabellen dienten als Ausgangslage für die Arbeit <strong>de</strong>r <strong>Integration</strong>.<br />

Sie beinhalten alle Attribute und Wertebereiche <strong>de</strong>r bei<strong>de</strong>n Händlerdatenbanken.<br />

Diese wer<strong>de</strong>n nun <strong>de</strong>n entsprechen<strong>de</strong>n Attributen <strong>de</strong>r Kartenanbieterdatenbank<br />

gegenübergestellt, wobei einzelne Attribute im Kartenanbieterschema erst noch generiert<br />

wer<strong>de</strong>n mussten (generieren).


Abbildung 1: Relation kun<strong>de</strong> mit karte


Abbildung 2: Relation kun<strong>de</strong> ohne karte<br />

Abbildung 3: Relation Filiale<br />

Abbildung 4: Relation Kategorie<br />

Abbildung 5: Relation Preis


Abbildung 6: Relation Artikel<br />

Abbildung 7: Relation Position<br />

Abbildung 8: Relation Bon


Abbildung 9: Relation Kun<strong>de</strong><br />

Abbildung 10: Relation Adresse


Abbildung 11: Relation Profil<br />

Abbildung 12: Relation Produkt


Abbildung 13: Relation Kategorie<br />

Abbildung 14: Relation Hersteller


Abbildung 15: Relation Produkt Warenkorb<br />

Abbildung 16: Relation Warenkorb


Abbildung 17: Relation Attribut<br />

Abbildung 18: Relation Text Attribut

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!