Lightweight DWH Interface

Werbung
Pflichtenheft Master Thesis
Lightweight DWH Interface
in der Firma Emmi Schweiz AG
Abstract
Diese Arbeit beinhaltet das Entwickeln einer Schnittstellentechnik, welche die Daten von
einem Quellsystem in ein Datawarehouse überträgt. Hauptziel ist, die heutige Belastung der
Quellsysteme um mindestens 70% zu verringern. Auch soll der Konfigurationsaufwand neuer
Schnittstellen minimiert werden.
Klasse.Nr / Datum:
MAS-07-01.21 / 20. März 2009
Experte:
Thomas Glauser, Lährenbühlstrasse 14b , 8112 Otelfingen
Tel. P: +41 79 217 66 82
Tel. G: +41 52 261 57 58
E-Mail: [email protected]
Betreuer:
Urs Müller, Forelstrasse 1, 3072 Ostermundigen
Tel. G: +41 31 930 24 84
E-Mail: [email protected]
Student:
Stefan Lüthi, Allmendingenstrasse 16, 3608 Thun
Tel. P: +41 79 458 46 84
Tel. G: +41 31 930 24 88
E-Mail: [email protected]
Keywords:
Datenbank, Datawarehouse, Oracle, ETL, Schnittstelle
Pflichtenheft
Master Thesis MAS-07-01.21
Änderungskontrolle
Version
Datum
Autor
Bemerkungen
0.1
0.2
0.3
0.4
0.5
0.6
1.0
20.03.2009
29.03.2009
01.04.2009
08.04.2009
09.04.2009
22.04.2009
23.04.2009
Stefan Lüthi
Stefan Lüthi
Stefan Lüthi
Stefan Lüthi
Stefan Lüthi
Stefan Lüthi
Stefan Lüthi
Erstellung
Projektmanagement hinzugefügt
Projektplan, Projektübersicht hinzugefügt
Mögliche Lösungen und Entscheid
Anforderungen definieren
Testing & Funktionale Anforderungen
Fertigstellung und Abgabe
Review / Prüfung
Version
Prüfdatum
Prüfende Stelle
Bemerkungen
0.5
20.04.2009
Th. Glauser
Ganzes Dokument ohne Kapitel 3
Referenzierte Dokumente
Version
10.09.2009
Datum
Seite 2 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Inhaltsverzeichnis
1
Allgemeines ......................................................................................................... 5
1.1
Dokument ........................................................................................................... 5
1.1.1 Zweck.......................................................................................................... 5
1.1.2 Umfang........................................................................................................ 5
1.1.3 Leserkreis.................................................................................................... 5
1.1.4 Übersicht ..................................................................................................... 5
1.1.5 Begriffe und Definitionen ............................................................................. 5
1.1.6 Nomenklatur................................................................................................ 5
1.2
Umfeld ................................................................................................................ 6
1.2.1 Die Emmi Schweiz AG ................................................................................ 6
1.2.2 Das Datawarehouse .................................................................................... 6
1.2.3 Die Quellsysteme ........................................................................................ 6
2
Projektübersicht.................................................................................................. 7
2.1
2.2
2.3
2.4
2.5
3
Allgemeine Beschreibung.................................................................................... 7
2.1.1 ETL Prozess................................................................................................ 7
2.1.2 Ladeprozess kleine Tabellen ....................................................................... 8
2.1.3 Ladeprozess grosser Tabellen ................................................................... 8
Problemstellung .................................................................................................. 9
Projektziele ......................................................................................................... 9
Mögliche Lösungen ........................................................................................... 10
2.4.1 LogMiner (erste Vision) ............................................................................. 10
2.4.2 Timestamp / Change Key Column ............................................................. 11
2.4.3 Tabel differencing...................................................................................... 11
2.4.4 Oracle Change Data Capture .................................................................... 12
Entscheid .......................................................................................................... 13
2.5.1 Erklärung zur Bewertung ........................................................................... 13
Anforderungen .................................................................................................. 15
3.1
3.2
Namenskonvention der Anforderungen ............................................................. 15
Funktionale Anforderungen ............................................................................... 15
3.2.1 Übersicht Use Cases................................................................................. 15
3.2.2 Use Case Diagramm LDI........................................................................... 16
3.2.3 Aktoren...................................................................................................... 17
3.2.4 Use Cases................................................................................................. 17
3.2.5 Grafisches User Interface (GUI) ................................................................ 24
3.3
Nicht funktionale Anforderungen ....................................................................... 25
3.3.1 Anforderungskatalog ................................................................................. 25
3.4
Rahmenbedingungen........................................................................................ 26
3.4.1 Testsystem / Entwicklungsumgebung........................................................ 26
3.5
Abgrenzung....................................................................................................... 26
4
Testen ................................................................................................................ 27
4.1
4.2
5
Systemtests ...................................................................................................... 27
Usability Test .................................................................................................... 27
Planung.............................................................................................................. 28
5.1
5.2
10.09.2009
Vorgehensmodell .............................................................................................. 28
Aufwandschätzung............................................................................................ 29
Seite 3 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
5.3
5.4
5.5
5.6
Projektplan / Zeitplan und Meilensteine............................................................. 30
Termine............................................................................................................. 31
Projektmanagement .......................................................................................... 31
Meetings / Reviews /Statusmeldungen.............................................................. 31
5.6.1 Meetings.................................................................................................... 31
5.7
Reviews ............................................................................................................ 31
5.7.1 Statusmeldungen ...................................................................................... 31
6
Kosten................................................................................................................ 32
6.1
6.2
6.3
7
Interner personeller Aufwand (Kosten) .............................................................. 32
Externe Kosten ................................................................................................. 32
Kosten gesamt .................................................................................................. 32
Anhang............................................................................................................... 33
7.1
7.2
7.3
7.4
10.09.2009
Glossar ............................................................................................................. 33
Referenzen ....................................................................................................... 34
Tabellenverzeichnis .......................................................................................... 35
Abbildungsverzeichnis ...................................................................................... 35
Seite 4 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
1 Allgemeines
1.1
Dokument
1.1.1 Zweck
Das Dokument beschreibt das Pflichtenheft der Master Thesis MAS-07-01.21 „Lightweight
DWH Interface“. Alle funktionalen und nichtfunktionalen Anforderungen, sowie deren
Abgrenzungen sind im vorliegenden Dokument enthalten. Es gibt auch Aufschluss über die
gesamte Planung des Projekts.
1.1.2 Umfang
Diese Arbeit wird in der Form einer Master Thesis vollzogen. Sie bildet einen Teil der
Ausbildung zum Master of Advanced Studies in Information Technology (MAS-IT). Der
gesamte Arbeitsaufwand beträgt 360 Stunden (12 ECTS-Punkte) und dauert ein Semester.
1.1.3 Leserkreis
Dieses Dokument richtet sich in erster Linie an den Experten, den Betreuer und an den Autor
dieser Arbeit.
1.1.4 Übersicht
Dieses Dokument ist wie folgt aufgebaut:
Kapitel 1
Kapitel 2
Kapitel 3
Kapitel 4
Kapitel 5
Kapitel 6
Kapitel 7
Vermittelt einen Überblick über das Dokument.
Gibt einen Überblick über das Projekt, die Vision und die Ziele.
Spezifiziert die funktionalen Anforderungen und nicht funktionalen
Anforderungen.
Beschreibt das Testing
Beschreibt die gesamte Planung der Arbeit.
Zeigt die Kosten auf.
Enthält das Glossar, die Referenzen und die verschiedenen Verzeichnisse
1.1.5 Begriffe und Definitionen
Die in diesem Dokument verwendeten Begriffe und Definitionen sind im Glossar beschrieben.
1.1.6 Nomenklatur
Das Dokument ist in Deutsch gehalten. Dort wo es jedoch sinnvoll erscheint, werden die
englischen Originalbegriffe verwendet. Zu Gunsten einer besseren Lesbarkeit wird für
sämtliche Bezeichnungen nur die männliche Form verwendet.
10.09.2009
Seite 5 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
1.2
Umfeld
1.2.1 Die Emmi Schweiz AG
Die Firma Emmi ist der grösste Schweizer Milchverarbeiter und eine der innovativsten
Premium-Molkereien in Europa. In der Schweiz fokussiert sich Emmi auf die Entwicklung,
Produktion und Vermarktung eines Vollsortiments an Molkerei- und Frischprodukten sowie
auf die Herstellung, die Reifung und den Handel hauptsächlich von Schweizer Käse. Im
Ausland konzentriert sich Emmi mit Markenkonzepten und Spezialitäten auf Märkte in Europa
und Nordamerika. Bei den Frischprodukten stehen Lifestyle-, Convenience- und
Gesundheitsprodukte im Vordergrund. Beim Käse positioniert sich Emmi als das weltweit
führende Unternehmen für Schweizer Käse. Die Kunden von Emmi sind hauptsächlich der
Detailhandel, der Bereich Food Service und die Lebensmittelindustrie. Im Jahr 2007 hat
Emmi einen Nettoumsatz von CHF 2.5 Mrd. erzielt und beschäftigte Ende 2007 in der
Schweiz und im Ausland 3'350 Mitarbeitende (auf Vollzeitbasis).
1.2.2 Das Datawarehouse
Das Datawarehouse wurde im Jahre 2006 erstellt und der erste Bereich (Sales) wurde aus
dem ERP System in das DWH übernommen. Seither kamen auch die Finanzdaten und acht
weitere kleine Bereiche hinzu. Die Datenmenge beläuft sich auch ca. 800MB. Auf die
Architektur des DWH wird im Kapitel 2 genauer eingegangen.
1.2.3 Die Quellsysteme
Die Hauptquelle des DWH stellt sicher das ERP dar. Daneben wurden auch noch die zentrale
Stammdatenverwaltung und die Budgetdaten übernommen.
10.09.2009
Seite 6 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2 Projektübersicht
2.1
Allgemeine Beschreibung
Das Projekt befasst sich mit der Problematik der Übernahme von operativen Daten in den
Staging Bereich eines Datawarehouse.
Die Kapitel 2.1.1 und 2.1.2 zeigen die Ist - Situation dieser Schnittstellen im analysierten
System auf. Das Kapitel 2.1.3 beschreibt die Probleme, welche sich in diesem Bereich stellen
und auch den Anstoss für dieses Projekt gegeben haben.
2.1.1 ETL Prozess
Die Abbildung 1 zeigt den ETL - Prozess in der Emmi Schweiz AG. Dieser folgt immer dem
gleichen Ablauf. Zuerst werden alle benötigten Daten von den Quellsystemen in den
Stagingbereich des DWH übernommen (Punkt 1). Ab dort werden die Daten transformiert und
konvertiert und werden in die verschiedenen Data - Marts geladen (Punkt 2).
Die rot gestreifte Linie markiert den Bereich, in welchem sich dieses Projekt bewegt. Bereiche
ausserhalb der Markierung sind von der geplanten Arbeit nicht betroffen.
relational
Quellsysteme
transformation / converting
ERP DB
(OLTP)
evaluations
Standard Reports
(Microstrategy)
Datawarehouse
MIS DB
Oracle 11g R1
landing-zone
E1 Master
dimensional
Sales Line
ERP DB
(OLTP)
DWH Bus
EFM
2
1
Staging
Query
Service
Ad hoc Zugriff
(SQL)
Financial
Stammdaten DB
(OLTP)
DWH Bus
ESDS
Procurement
Feedback operationelle
Systeme
(PROCOS)
Budget DB
PROCOS
Metadaten
Abbildung 2-1: ETL Prozess Schema
10.09.2009
Seite 7 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2.1.2 Ladeprozess kleine Tabellen
Bei der Übernahme von Tabellen mit Records < 30'000'000 in den Stagingbereich, werden
die kompletten Daten bei jeder Übertragung gelöscht und wieder geladen. Die Löschung
erfolgt mit dem Befehl Truncate und ist dadurch sehr schlank gehalten. Der Ladevorgang ist
bei einer grossen Anzahl Records aufwendig.
2.1.3 Ladeprozess grosser Tabellen
Bei der Übernahme von Tabellen mit Records > 30'000'000 in den Stagingbereich, werden
nur Änderungen seit der letzten Übernahme verarbeitet.
Abbildung 2 zeigt den Standardvorgang einer solchen Übernahme.
1. Als erstes wird eine Hilfstabelle gelesen, welche die Primary Keys der gelöschten
Records von der Haupttabelle enthält. Anhand dieses Keys werden auch auf der
Zieltabelle diese Records gelöscht.
2. Anhand einer Spalte, welche das Änderungsdatum enthält, werden die zusätzlichen
oder geänderten Records seit der letzten Übernahme identifiziert. Da diese Spalte
nicht indexiert ist, löst dies jede Nacht einen Full Table Scan aus.
3. Um zu prüfen, ob auch wirklich die Daten auf der Quell- wie auch auf der
Zieldatenbank gleich sind, wird nach jeder Übernahme einen Abgleich gemacht. Dies
wird gemacht, indem man auf einer definierten Spalte eine Summe bildet und diese
beiden Summen vergleicht. Die Vergangenheit hat gezeigt, dass dieser Abgleich
notwendig ist, da schon einige Fehler gefunden wurden.
4. Dies ist ein Trigger, welcher auf der Quelltabelle programmiert werden muss. Dieser
stellt sicher, dass alle Änderungen mit einem korrekten Änderungsdatum versehen
werden. Auch kann durch den Trigger gewährleistet werden, dass gelöschte Records
zu einem späteren Zeitpunkt auf der Zieltabelle via Primary Key auch gelöscht werden
können.
ERP DB
4
Datawarehouse
MIS DB
Oracle 11g R1
Full T
able S
can
-
s
Ro
w
lös
ch
te
ge
PK
Full T
Quelltabelle
Ände
ru
able S
can
Summ
e
3
ausre
chnen
ngen
se
lektie
ren
Summ
e
Gelöschte Records auch in DWH löschen
Delete Tabelle
Stagingbereich DWH
2
-
vergle
ichen
Änder
ungen
üb
Summ
e
erneh
men
ausre
chnen
- Full
Table
Scan
1
Zieltabelle
Trigger
Abbildung 2-2: Ladeprozess grösserer Tabellen
10.09.2009
Seite 8 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2.2
Problemstellung
Durch die aufwendige Übernahme der grossen Tabellen, werden die Quellsysteme derart
belastet, dass der produktive Betrieb während den Übernahmen beeinträchtigt wird.
Abbildung 3 zeigt die Kurve der CPU auf dem Quellsystem während einer Übernahme an
einem Wochenende. Es ist deutlich zu sehen, dass ab ca. 17:00 bis ca. 07:00 die Last
ansteigt. Genau in dieser Zeit wurden die Daten, welche nur wöchentlich übernommen
werden können, übertragen und abgeglichen.
Abbildung 2-3: CPU Kurve Quellsystem
Des Weiteren besteht der Wunsch die Daten mindestens vom Vortag im Datawarehouse
auswerten zu können. Bei dieser Übertragungstechnik ist dies aber nicht möglich, da die
Laufzeit der Schnittstellen bis um ca. 12:00 Mittags dauern würde. Auch darf eine solche
Belastung der Quellsysteme nicht während des Tagesgeschäfts der Emmi AG auftreten, da
dies den Lieferprozess der Firma beeinträchtigt würde.
2.3
Projektziele
Das Ziel dieses Projekts ist eine Schnittstellentechnik zu beschreiben und zu realisieren:
•
Welche die Daten im gewünschten Zeitrahmen (max. 2 Stunden für die grössten
Tabellen) in den Staging - Bereich des DWH bringt.
•
Welche die Belastung des Quellsystems um mindestens 70% verringert.
•
Welche es erlaubt die zukünftigen Schnittstellen mit 50% Aufwand zu realisieren.
•
Welche der Stabilität zur jetzigen Technik ebenwürdig ist.
•
Welche das weglassen der Trigger auf den Quellsystemen erlaubt.
Um diese Ziele zu erreichen, werden in den folgenden Kapiteln die Lösungsansätze
analysiert und die Anforderungen sowie die Ziele genauer beschrieben.
10.09.2009
Seite 9 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2.4
Mögliche Lösungen
In diesem Kapitel werden die möglichen Lösungen für das erreichen der Projektziele kurz
beschrieben und verglichen. Danach wird entschieden, welche Technik für das Projekt
geeignet ist. Dieser Entscheid wird die technische Umsetzung des Projekts massiv
beeinflussen. Daher wird diesem Teil genügend Zeit beigemessen. Jede Lösung wird auch
praktisch analysiert und ein schlanker „Proof of Concept“ wird durchgeführt.
2.4.1
LogMiner (erste Vision)
Die erste Idee, wie man die im Kapitel 2.1.3 beschriebenen Probleme lösen könnte, sah wie
folgt aus:
Staging Table
Change Table
Abbildung 2-4: Prozessablauf Vision
Die archivierten Redo Logs der Quelldatenbank, werden auf den Rechner der Zieldatenbank
kopiert. Dort werden mit der bestehenden Oracle Technologie LogMiner alle Änderungen in
eine Zwischentabelle geschrieben. Diese Änderungen werden mittels einer neu
programmierten Applikation gefiltert und aufbereitet. Danach werden die aufbereiteten
Records in die entsprechende Stagingtabelle geschrieben. Jeder Record enthält zusätzliche
wichtige Merkmale wie:
•
•
•
Änderungsart (Insert, Update, Delete)
SCN damit die Reihenfolge bestimmt werden kann
Ein Flag Verarbeitet Ja/Nein
10.09.2009
Seite 10 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2.4.2 Timestamp / Change Key Column
Diese Methode ist bereits bei den grössten Tabellen umgesetzt und im Kapitel 2.1.3
beschrieben. Sie belastet die Systeme stark und bedeutet einen grossen Aufwand bei der
Programmierung neuer Schnittstellen.
Mit dieser Technik können die Projektziele nicht erreicht werden.
2.4.3 Tabel differencing
Bei dieser Methode, werden die gesamten Daten von der Quelldatenbank zur Zieldatenbank
transportiert. Danach werden sie mittels speziellen SQL’s verglichen (minus). Auch diese
Technik ist sehr belastend für die Systeme. Mittels Datenbanklink kann eine Verbesserung
erzielt werden.
Mit dieser Technik können die Projektziele nicht erreicht werden.
10.09.2009
Seite 11 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2.4.4 Oracle Change Data Capture
Oracle bietet das Feature „Change Data Capture“ an. Diese Technologie kann in
verschiedenen Modi betrieben werden:
•
•
•
•
•
Synchronus
Asynchronus HotLog
Asynchron Distributed HotLog
Asynchronus HotLog online
Asynchronus Autolog archive
Für das anstehende Projekt bietet sich „Asynchronus Autolog Archive“ am besten an, da die
Anforderungen ziemlich genau auf die bestehende Umgebung in der Emmi Schweiz AG
passen. Auch ist eine möglichst zeitnahe Übertragung nicht nötig. Des Weiteren belastet
dieser Modus die Systeme am wenigsten.
In diesem Kapitel wird also nur auf den „Asynchronus Autolog Archive“ Modus eingegangen.
Um die Funktionsweise der anderen Modi zu erfahren wird auf das Kapitel 16 im Dokument
Oracle Data Warehousing Guide 11g Release 1 (B28313-02) verwiesen.
Asynchronus Autolog Archive
Dieser Modus beinhaltet einen ziemlich ähnlichen Vorgang wie im Kapitel 2.4.1 beschrieben.
Die Daten werden auch aus den Archivierten Redo Logs gewonnen. Anstelle des LogMiners
steht das Feature Change Data Capture, welches auch die Funktion des Aufbereitens der
Daten beinhaltet. In der Abbildung 5 sieht man ein Übersichtsschema, wie dieser Modus
funktioniert. Eine genaue Beschreibung kann aus dem Dokument Oracle Data Warehousing
Guide 11g Release 1 (B28313-02) entnommen werden.
Abbildung 2-5: Prozessablauf Change Data Capture
10.09.2009
Seite 12 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
2.5
Entscheid
Bei den verschiedenen Lösungsansätzen im Kapitel 2.4 kommen nur die Logminer - Lösung
und das Change Data Capture in Frage. Bei allen Anderen können die gesteckten Ziele nicht
erreicht werden.
1
2
3
4
5
6
7
8
Kriterien
Gewicht LogMiner
Belastung Quellsystem
9
5
Belastung Zielsystem
3
3
Implementationsaufwand / Tabelle
5
2
Stabilität
7
3
Supportbarkeit
6
2
Releasefähigkeit
7
1
Aufwand
5
2
Kosten
2
5
Resultat
124
Change Data
Capture
5
4
4
5
4
4
4
5
194
Tabelle 2-1: Entscheidungstabelle
Aufgrund des Resultats der Entscheidungstabelle wird sich für „Change Data Capture“
entschieden.
2.5.1 Erklärung zur Bewertung
Belastung Quellsystem
Aufgrund der sehr ähnlichen Technologie werden bei beiden Varianten die Quellsysteme
kaum belasten.
Belastung Zielsystem
Da bei der LogMiner Lösung das aufbereiten der Daten programmiert werden muss, gehe ich
nicht davon aus, dass ich dies gleich effizient gestalten könnte wir die Firma Oracle.
Implementationsaufwand / Tabelle
„Change Data Capture“ stellt einige der gewünschten Funktionen zur Verfügung. Somit kann
die zur Verfügung stehende Zeit auch in die Entwicklung eines GUI investiert werden. Somit
sollte auch das Ziel der einfachen Weiterentwicklung erreicht werden.
Stabilität
Da „Change Data Capture“ ein Standard Feature von Oracle ist und dieses weltweit in Firmen
eingesetzt wird, kann von einer guten Stabilität ausgegangen werden. Bei der selber
entwickelten Variante, wäre das „handeln“ jeglicher Spezialsituationen sicher schwierig
gewesen.
10.09.2009
Seite 13 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Supportbarkeit
Bei der LogMiner Variante ist es schwierig über Jahre das Know-How aufrechtzuerhalten. Da
„Change Data Capture“ ein Standard Feature ist, kann man sich auch bei der Firma Oracle
Unterstützung besorgen.
Releasefähigkeit
Das „Change Data Capture“ Feature wird bei Oracle mit den DB Relases gleichzeitig
ausgeliefert, da es ein Bestandteil der ganzen Software ist. Die eigene Lösung müsste bei
jedem Upgrade der Umgebung neu erweitert und getestet werden.
Aufwand
Beim Aufwand kann gesagt werden, dass eine eigene Entwicklung den Rahmen der
Diplomarbeit gesprengt hätte. Beim „Change Data Capture“ kann die vorgesehene Zeit
voraussichtlich eingehalten werden.
Kosten
Das sowohl LogMiner wie auch „Change Data Capture“ keine Option ist, welche separat
Lizenziert werden muss, dürften sich die Kosten im gleichen Rahmen bewegen.
10.09.2009
Seite 14 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
3 Anforderungen
Ziel ist es, eine Schnittstellentechnik zu implementieren, welche die Daten eines
Quellsystems möglichst schlank in den Stagingbereich des DWH bringt. Das Quellsystem soll
durch diese Schnittstelle kaum belastet werden. Als Technologie wird Change Data Capture
von Oracle eingesetzt. Da die Konfiguration sehr aufwendig ist, soll ein Konfigurationstool
entwickelt werden, welches den ETL Programmierer eine einfaches Konfigurieren ermöglicht.
In diesem Kapitel sind die funktionalen und nichtfunktionalen Anforderungen aufgeführt. Des
Weiteren werden die Rahmenbedingungen und Abgrenzungen dieser Arbeit festgelegt.
3.1
Namenskonvention der Anforderungen
Name
FA.XX
FA.XX.XXX
NFA.XX
NFA.XX.XXX
M
K
Beschreibung
Gruppe funktionaler Anforderungen
Funktionale Anforderung
Gruppe nichtfunktionaler Anforderungen
Nichtfunktionale Anforderung
Muss Anforderung
Kann Anforderung
Tabelle 3-1: Namenskonvention der Anforderungen
3.2
Funktionale Anforderungen
3.2.1 Übersicht Use Cases
ID
FA.01
FA.01.010
FA.01.020
FA.02
FA.02.010
FA.02.020
FA.03
FA.03.010
FA.03.020
FA.04
FA.04.010
FA.04.011
FA.04.012
FA.04.020
FA.05
FA.05.010
FA.05.020
Beschreibung
Verbindungsaufbau zu Datenbank
Login
DB - Verbindung konfigurieren
Destinationsystem
Destinationsystem konfigurieren
Destinationsystem löschen
Schnittstellengruppe
Schnittstellengruppe konfigurieren
Schnittstellengruppe löschen
Schnittstelle
Schnittstelle konfigurieren
Sourcetabelle konfigurieren
Destinationtabelle konfigurieren
Schnittstelle löschen
Sourcesystem
Sourcesystem konfigurieren
Sourcesystem löschen
M
K
X
X
X
X
X
X
X
X
X
X
X
X
Tabelle 3-2: Übersicht Use Cases
10.09.2009
Seite 15 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
3.2.2 Use Case Diagramm LDI
Dieses Diagramm vermittelt einen groben Überblick über das geplante Konfigurationstool und
über die Systemgrenzen. Dieses wird in der Detailspezifikation in einer zweiten Iteration
verfeinert und genauer spezifiziert. Auf die Reihenfolge wie die Cases verwendet werden,
wurde keine Rücksicht genommen.
Use Case Diagramm: LDI
<<extend>>
Login
FA.01.010
DB - Verbindung
konfigurieren FA.01.020
Destinationsystem
konfigurieren FA.02.010
Destinationsystem
löschen FA.02.020
Schnittstellegruppe
Konfigurieren FA.03.010
DWH System
Schnittstellegruppe
löschen FA.03.020
Schnittstelle
löschen FA.04.020
<<include>>
Schnittstelle
konfigurieren FA.04.010
ETL - Programmierer
Sourcetabelle
konfigurieren FA.04.011
<<include>>
Destinationtabelle
konfigurieren FA.04.012
Sourcesystem
konfigurieren FA.05.010
Sourcesystem
löschen FA.05.020
Source System
Abbildung 3-1: Use Case Diagramm LDI
10.09.2009
Seite 16 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
3.2.3 Aktoren
Es werden alle Aktoren kurz beschrieben.
Name
ETL - Programmierer
Source System
Destination System
Beschreibung
Dies ist der Hauptbenutzer dieser Software. Er definiert die ETL
Schnittstellen für das DWH.
Das Sourcesystem ist die Datenbank, welche die Quelldaten für
die Schnittstelle enthält.
Das Zielsystem ist der Stagingbereich des DWH. Dies auch in der
Form einer Oracle Datenbank.
Tabelle 3-3: Aktoren
3.2.4 Use Cases
Jeder Use Case des LDI Tools wird nach gleichem Template spezifiziert. Die Angaben
dienen zum allgemeinen Verständnis. Die genaue Spezifikation wird in der Entwurfsphase
gemacht und in der Detailspezifikation dokumentiert.
FA.01.010
Login
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Um eine Verbindung vom Tool in die Datenbank herzustellen, muss der
Benutzer sich anmelden.
Vorbedingung
- Das Tool muss aufgestartet sein
- Der Aktor muss auf der Datenbank ein gültiges Benutzerprofil haben
- Datenbankverbindung muss konfiguriert sein
Normaler Ablauf:
1. Aktor klickt auf Menupunkt Login
2. Aktor gibt die gültigen Benutzerangaben an
3. Aktor bestätigt die Benutzerangaben
Alternativer Ablauf:
- Aktor bricht das Login ab
Nachbedingung:
- DB Verbindung mit Tool ist hergestellt
Includes:
Gebrauchshäufigkeit:
Einmal nach Toolstart
Anmerkungen und
Als Berechtigungssystem wird die Benutzerverwaltung des
Problem:
Datenbanksystems genutzt. Somit ist der ganze Berechtigungsprozess
gleich wie dieser der normalen DB Benutzer. Dieser Prozess ist in der
Emmi Schweiz AG bereits dokumentiert und umgesetzt.
Tabelle 3-4: UC Login FA.01.010
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
10.09.2009
Seite 17 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.01.020
DB - Verbindung konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Die Verbindung des Tools zu der Datenbank kann konfiguriert werden
Vorbedingung
- Das Tool muss aufgestartet sein
- Der Aktor muss auf der Datenbank berechtigt sein
- Datenbank muss auf dem Client konfiguriert sein (tnsnames.ora)
Normaler Ablauf:
1. Aktor klickt auf Menupunkt Eigenschaften
2. Aktor klickt in Register DB - Verbindung
3. Aktor wählt die Datenbank aus einer Liste aus (tnsnames.ora)
4. Aktor speichert Angaben
5. Aktor schliesst das Fenster Eigenschaften
Alternativer Ablauf:
- Aktor bricht die Konfiguration ab
Nachbedingung:
- DB Verbindung ist für diesen Client abgespeichert
Includes:
Gebrauchshäufigkeit:
Nur einmal vor der ersten Verwendung auf einem Client
Anmerkungen und
Es gibt nur eine Verbindung für das Tool. Diese wird voraussichtlich in
Problem:
einem .ini File abgelegt.
Tabelle 3-5: UC DB Verbindung konfigurieren FA.01.020
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.02.010
Destinationsystem konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können ein oder mehrere Destinationen konfiguriert werden
Vorbedingung
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- Destination DB muss vorbereitet sein (User, Tablespace, Parameter, etc.)
1. Aktor klickt mit RMT in Navigationspanel und auf Menupunkt
Destinationsystem erstellen
2. Aktor gibt Destination Name an
3. Aktor wählt Destination DB aus Liste (tnsname.ora)
4. Aktor gibt die Benutzerinformationen für das Destinationssystem an
5. Tool prüft Datenbankkonfiguration und informiert über fehlende
Einstellungen (Datenbankparameter, etc.)
6. Aktor wählt Destinationsschema aus
7. Aktor speichert Destinationsystem
- Aktor bricht Konfiguration ab
- Destinationsystem wird gespeichert
- Destinationsystem wird in Navigationpanel angezeigt
Selten
Die Destinationsdatenbank muss vom DBA für CDC vorbereitet sein.
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-6: UC Destinationsystem konfigurieren FA.02.010
10.09.2009
Seite 18 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.02.020
Destinationsystem löschen
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können die überflüssigen Destinationen gelöscht werden.
Vorbedingung
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- mindestens ein Destinationssystem muss konfiguriert sein
1. Aktor markiert gewünschtes Destinationssystem in
Navigationspanel
2. Aktor klickt mit RMT auf Destinationsystem und auf Menupunkt
Destinationsystem löschen
3. Aktor klickt auf Button löschen
4. Tool kontrolliert ob keine Sourcesysteme für dieses
Destinationsystem bestehen.
5. Löschung Destination
- Aktor bricht Löschung ab.
- Destinationsystem ist gelöscht.
- Destinationsystem wird im Navigationpanel nicht mehr angezeigt.
Selten
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-7: UC Destinationssystem löschen FA.02.020
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
Vorbedingung
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
FA.03.010
Schnittstellengruppe konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können pro Source mehrere Schnittstellengruppen konfiguriert
werden.
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- entsprechendes Sourcesystem muss konfiguriert sein
- entsprechendes Destination System muss konfiguriert sein
1. Aktor markiert in Navigationspanel das Sourcesystem
2. Aktor klickt mit RMT auf Sourcesystem und wählt
Schnittstellengruppe konfigurieren
3. Aktor gibt Name für Schnittstellengruppe an
4. Aktor speichert Schnittstellengruppe
- Aktor bricht Konfiguration ab
- Schnittstellengruppe ist gespeichert
- Schnittstellengruppe wird in Navigationpanel angezeigt
Selten
Innerhalb dieser Gruppen sind die Tabellen transaktionskonsistent.
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-8: UC Schnittstellengruppe konfigurieren FA.03.010
10.09.2009
Seite 19 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
Vorbedingung
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
FA.03.020
Schnittstellengruppe löschen
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können nicht mehr benötigte Schnittstellengruppen gelöscht
werden.
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- mindestens eine Schnittstellengruppe muss konfiguriert sein
1. Aktor klickt mit RMT auf entsprechende Schnittstellengruppe im
Navigationspanel
2. Aktor klickt auf Menupunkt Schnittstellengruppe löschen
3. Aktor klickt auf Button löschen
4. Tool kontrolliert ob keine Schnittstellen für diese
Schnittstellengruppe bestehen.
5. Löschung Schnittstellengruppe
- Aktor bricht Löschung ab
- Schnittstellengruppe ist gelöscht
- Schnittstellengruppe wird im Navigationpanel nicht mehr angezeigt.
Selten
-
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-9: UC Destinationssystem löschen FA.03.020
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
Vorbedingung
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
Includes:
FA.04.010
Schnittstelle konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können Schnittstellen konfiguriert werden. Pro Tabelle gibt es eine
Schnittstelle.
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- Schnittstellengruppe muss konfiguriert sein
1. Aktor markiert in Navigationspanel die gewünschte
Schnittstellengruppe
2. Aktor klickt mit RMT auf Schnittstellengruppe und wählt
Schnittstelle konfigurieren
3. Aktor gibt die geforderten Parameter an
4. Aktor konfiguriert Sourcetabelle (include FA.04.011)
5. Aktor konfiguriert Destinationtabelle (include FA.04.012)
6. Aktor speichert Schnittstelle
- Aktor bricht Konfiguration ab
- Schnittstelle ist konfiguriert
- Schnittstelle wird in Navigationpanel angezeigt
- Sourcetabelle konfigurieren FA.04.011
- Destinationstabelle konfigurieren FA.04.012
Max. 50 Schnittstellen pro Tag
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-10: UC Schnittstelle konfigurieren FA.04.010
10.09.2009
Seite 20 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.04.020
Schnittstelle löschen
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können nicht mehr benötigte Schnittstellen gelöscht werden.
Vorbedingung
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- mindestens eine Schnittstelle muss konfiguriert sein
Normaler Ablauf:
1. Aktor klickt mit RMT auf entsprechende Schnittstelle im
Navigationspanel
2. Aktor klickt auf Menupunkt Schnittstelle löschen
3. Aktor klickt auf Button löschen
4. Löschung Schnittstelle
Alternativer Ablauf:
- Aktor bricht Löschung ab.
Nachbedingung:
- Schnittstelle ist gelöscht.
- Schnittstelle wird im Navigationpanel nicht mehr angezeigt.
Includes:
Gebrauchshäufigkeit:
Selten
Anmerkungen und
Beim Löschen der Schnittstellen muss auch die Destinationtabelle gelöscht
Problem:
werden
Tabelle 3-11: UC Schnittstelle löschen FA.04.020
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.04.011
Sourcetabelle konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Bei der Definition einer Schnittstelle muss die Quelltabelle definiert werden.
Vorbedingung
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- Eine Schnittstelle und ausgewählt sein
1. Aktor wählt Source Schema und Tabelle aus
2. Aktor wählt gesamte Tabelle oder selektiert die gewünschten
Spalten
3. Aktor speichert ausgewählte Parameter
- Aktor bricht Konfiguration ab
- Angaben der Sourcetabelle sind zu Schnittstelle gespeichert
Max. 50 Tabellen pro Tag
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-12: UC Sourcetabelle konfigurieren FA.04.011
10.09.2009
Seite 21 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
Vorbedingung
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
FA.04.012
Destinationtabelle konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Bei der Definition einer Schnittstelle muss die Destinationtabelle definiert
und erstellt werden.
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- Eine Schnittstelle muss ausgewählt sein
- Die dazugehörige Sourcetabelle muss konfiguriert sein
1. Aktor wählt Destination Schema aus
2. Aktor definiert die geforderten Parameter
3. Aktor speichert ausgewählte Parameter
4. Tool erstellt die Destinationstabelle
- Aktor bricht Konfiguration ab
- Angaben der Destinationstabelle sind zu Schnittstelle gespeichert
- Tabelle ist auf Destinationsystem erstellt und wird abgefüllt
Max. 50 Tabellen pro Tag
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-13: UC Destinationtabelle konfigurieren FA.04.012
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.05.010
Sourcesystem konfigurieren
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können ein oder mehrere Sourcesysteme konfiguriert werden
Vorbedingung
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- mindestens ein Destinationssystem muss konfiguriert sein
- Sourcedatenbank muss vorbereitet sein (Parameter, etc.)
1. Aktor markiert Destinationssystem
2. Aktor klickt mit RMT auf Destinationssystem und auf Menupunkt
Sourcesystem erstellen
3. Aktor gibt Sourcename an
4. Aktor wählt Source DB aus Liste (tnsname.ora)
5. Aktor gibt die Benutzerinformationen für die Verbindung an
6. Tool prüft Datenbankkonfiguration und Informiert über fehlende
Einstellungen (Datenbankparameter, etc.)
7. Aktor speichert Source
- Aktor bricht Konfiguration ab
- Sourcesystem ist gespeichert
- Sourcesystem wird in Navigationpanel angezeigt
Selten
Die Sourcedatenbank muss vom DBA für CDC vorbereitet sein.
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-14: UC Sourcesystem konfigurieren FA.05.010
10.09.2009
Seite 22 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
Use Case ID:
Use Case Name:
Ersteller:
Erstellungsdatum:
Aktor:
Beschreibung:
FA.05.020
Sourcesystem löschen
Stefan Lüthi
Geändert durch:
22.04.2009
Änderungsdatum:
ETL - Programmierer
Im Tool können die überflüssigen Sourcesysteme gelöscht werden.
Vorbedingung
- Das Tool muss aufgestartet sein
- DB - Verbindung muss konfiguriert sein
- mindestens ein Sourcesystem muss konfiguriert sein
1. Aktor markiert gewünschtes Sourcesystem im Navigationspanel
2. Aktor klickt mit RMT auf Sourcesystem und auf Menupunkt
Sourcesystem löschen
3. Aktor klickt auf Button löschen
4. Tool kontrolliert ob keine Schnittstellen für dieses Sourcesystem
bestehen.
5. Löschung Sourcesystem
- Aktor bricht Löschung ab.
- Sourcesystem ist gelöscht.
- Sourcesystem wird im Navigationpanel nicht mehr angezeigt.
Selten
Normaler Ablauf:
Alternativer Ablauf:
Nachbedingung:
Includes:
Gebrauchshäufigkeit:
Anmerkungen und
Problem:
Tabelle 3-15: UC Destinationssystem löschen FA.05.020
10.09.2009
Seite 23 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
3.2.5 Grafisches User Interface (GUI)
3.2.5.1 Übersicht Tool
Das GUI orientiert sich stark am Layout des Oracle SQL Developer. Auf der linken Seite
befindet sich der Navigationsteil und auf der rechten Seite kann die Auswahl vom Navigation
Panel bearbeitet werden. Die Applikationssprache wird ausschliesslich englisch sein.
Abbildung 3-2: GUI
3.2.5.2 Navigation Panel
Im Navigationspanel kann mit der rechten Maustaste auf eine Kategorie geklickt werden und
es erscheint ein Menu, welches die möglichen Funktionen der gewählten Kategorie enthält.
Die gewählte Funktion blendet im rechten Teil des GUI die entsprechenden Werkzeuge und
Register ein.
10.09.2009
Seite 24 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
3.3
Nicht funktionale Anforderungen
Bei den nicht funktionalen Anforderungen, werden nur diese aufgeführt, welche für dieses
System wichtig sind. Die Verfügbarkeit der Source und Destinationssysteme, werden in
diesem Dokument vernachlässigt.
3.3.1 Anforderungskatalog
ID
NFA.01
NFA.01.010
NFA.01.020
NFA.01.030
NFA.02
NFA.02.010
NFA.03
NFA.03.010
NFA.03.020
NA.04
NFA.04.010
NFA.04.020
NFA.05
NFA.05.010
NFA.06
NFA.06.010
NFA.06.020
NFA.06.030
NFA.07
NFA.07.010
NFA.08
NFA.08.010
NFA.08.020
NFA.09
NFA.09.010
NFA.09.020
Beschreibung
Architektur / Plattform
Das GUI muss auf eine Emmi Standard PC lauffähig sein
Als Datenbanksystem muss Oracle unterstützt werden
Die Erstellung des GUI soll im Visual Studio .net erfolgen
Zuverlässigkeit / Stabilität
Die Stabilität der neue Schnittstellentechnik soll mindestens der
jetzigen Technik entsprechen
Performance
Die Belastung der Quellsysteme soll um mindestens 70%
verringert werden
Die Daten jeder Schnittstelle sollen täglich übernommen werden
können.
Konfiguration
Mit der neuen Technik soll der Aufwand der Konfiguration einer
neuen Schnittstelle um 50% verringert werden
Auf Trigger in den Quellsystemen soll verzichtet werden können
Monitoring / Logging
Alle Konfigurationen sollen geloggt und ausgewertet werden
können.
Dokumentation
Installationshandbuch muss erstellt werden
Benutzerhandbuch muss erstellt werden
Projektbericht muss erstellt werden
Sicherheit
Die Benutzerverwaltung soll dem Emmi Standard für
Datenbankbenutzer entsprechen
Sprache
Die Sprache im Tool muss englisch sein
Die Dokumentation soll ausschliesslich in deutscher Sprache
erfolgen.
Usability
Ein ETL - Programmierer soll sich intuitiv im GUI zurechtfinden
(Know - How CDC wird vorausgesetzt)
Das System soll den User unterstützen möglichst wenig Fehler zu
machen
M
K
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Tabelle 3-16: Anforderungskatalog nicht funktionaler Anforderungen
10.09.2009
Seite 25 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
3.4
Rahmenbedingungen
3.4.1 Testsystem / Entwicklungsumgebung
Das Test- und Entwicklungssystem wird von der Emmi Schweiz AG zur Verfügung gestellt
und muss während der ganzen Projektzeit zur Verfügung stehen.
Das Projekt wird in Visual Studio 2008 entwickelt. Als Programmiersprache wird Visual Basic
.net verwendet.
3.5
Abgrenzung
Das Resultat der Diplomarbeit wird ausschliesslich für eine reine Oracle Umgebung erstellt.
Der genaue Umfang der Anforderungen ist den Kapiteln 3.2 und 3.3 zu entnehmen. Von den
aufgeführten Anforderungen sind lediglich die Muss - Anforderungen zur erfüllen. Wenn es
der zeitliche Aufwand zulässt werden auch Kann - Anforderungen umgesetzt. Bei Abschluss
des Projekts ist eine Schnittstelle (Sourcetabelle nach Stagingbereich des DWH) im
produktiven System umgesetzt. Die weiteren Konfigurationen der Schnittstellen sind nicht Teil
dieses Projekts.
10.09.2009
Seite 26 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
4 Testen
Getestet wird, um die Funktionalität der Software an den Anforderungen zu messen und um
Softwarefehler zu ermitteln.
Es werden System- und Usabilitytests durchgeführt. Auf Stresstests wird verzichtet, da dies
keine Kernanforderungen an das System ist. Auf Tests der Standardkomponenten wie
Oracle, Windows, etc. wird ebenfalls verzichtet.
Ein Testsystem wird schon früh im Projekt installiert, damit die ganze Entwicklung auf dieser
Plattform realisiert werden kann.
4.1
Systemtests
Bei den Systemtests werden sämtliche funktionalen und nicht funktionalen Anforderungen
getestet. Jeder Use Cases wird manuell durchgetestet. Dazu werden Schnittstellen in den
verschiedenen Möglichkeiten erstellt.
In der Entwurfsphase werden zusätzliche Test Cases definiert, um die Applikation auch bei
Fehlmanipulationen zu testen.
4.2
Usability Test
Wenn die erste Lauffähige Version der Applikation erstellt ist, wird ein Usability Test mit dem
ETL - Programmierer durchgeführt. Aus zeitlichen Gründen werden nicht mehrere Personen
einbezogen. Das Resultat soll, sofern es mit dem Aufwand des Projekts zu vereinbaren ist, in
die Applikation einfliessen. Ansonsten werden die Erkenntnisse festgehalten zu einem
späteren Zeitpunkt umgesetzt.
10.09.2009
Seite 27 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
5 Planung
5.1
Vorgehensmodell
Beim Vorgehensmodell wird sich nach an dem klassischen Wasserfallmodel orientiert. Da in
diesem Projekt die Phasen ziemlich genaue abgrenzbar sind und die Laufzeit auch ziemlich
kurz ist (5 Monate), sollte sich dieses Vorgehen gut eigenen. Das Modell hat folgende
Phasen:
Abbildung 5-1: Vorgehensmodell
Nachfolgend sind die Inhalte und Resultate pro Projektphase aufgelistet:
Projektphase Inhalt
Resultat
Initialisierung
• Projektinitialisierung Auftraggeber
• Projektantrag
• Kick-Off Meeting Experte
Analyse
• Pflichtenheft
• Analyse der bestehenden Lösung
• Analyse möglicher Lösungswege
• Projektplan
• Diskussion mit Auftraggeber und ETL
Programmierer
• Definition Ziele und Anforderungen
• Projektablauf festlegen
• Erstellung Pflichtenheft
Entwurf
• Erhöhung des Verständnisses der
• Detailspezifikation
Anforderungen
• Erstellen der notwendigen UML
Diagramme
• Erarbeiten der Detailspezifikation
• Definition der Testfälle
Realisierung
• Konfiguration der Umgebung
• Benutzerhandbuch
• Entwicklung GUI
• Software
• Testen der Software
• Testprotokoll
• Erstellung Benutzerhandbuch
Einführung
• Umsetzung der neuen Technik in
• Diplombericht
einem Bereich
• Fertigstellung Diplombericht
• Präsentation der Diplomarbeit
Nutzung
• Nicht Bestandteil der Diplomarbeit
• Komplette ETL
Schnittstelle auf
• Flächendeckender Einsatz der neuen
neuen Technik
Technik
umgesetzt
Tabelle 5-1: Inhalte und Resultate der Projektphasen
10.09.2009
Seite 28 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
5.2
Aufwandschätzung
Arbeit
Projektleitung
Dokumentation
Projektantrag
Pflichtenheft
Detailspezifikation
Benutzerhandbuch
Diverse Protokolle
Diplombericht
Prototyping
Analyse
Bestehende Lösung
Lösungswege
Entscheide
Entwurf
Architektur
Design
Realisierung
Installation Testumgebung
Konfiguration Umgebung
Ausbildung .net
Programmierung Konfigurationstool
Testing
Einführung
Konfiguration produktive Umgebung
Installation Konfigurationstool
Inbetriebsetzung produktive
Schnittstelle
Schulung Anwender
Aufwand Total
Aufwand in Std.
24
124
2
36
36
14
8
28
42
24
8
14
2
28
12
16
132
10
10
32
44
36
32
10
10
8
4
392
Tabelle 5-2: Aufwandschätzung
10.09.2009
Seite 29 von 35
5.3
Projektplan / Zeitplan und Meilensteine
Abbildung 5-2: Projektplan
Pflichtenheft
Master Thesis MAS-07-01.21
5.4
Termine
Termin
20.04.2009
23.04.2009
04.06.2009
20.08.2009
10.09.2009
11.09.2009
Ziel
Review Pflichtenheft
Abgabe Pflichtenheft
Review Entwurf (Detailspezifikation)
Review Realisierung
Abgabe Diplomarbeit
Präsentation Diplomarbeit
Tabelle 5-3: Termine
5.5
Projektmanagement
Der Projektplan kann aufgrund neuer Erkenntnisse einer vorgängigen Phase überprüft und
angepasst werden. In der Entwurfsphase wird nach Bedarf eine zweite Iteration durchgeführt,
um die Analyse zu verfeinern und zu vertiefen.
5.6
Meetings / Reviews /Statusmeldungen
5.6.1 Meetings
Mit dem Experten wird nach jeder Phase ein Meeting durchgeführt.
Mit dem Betreuer, welcher auch gleichzeitig der Auftraggeber darstellt, werden nur nach
Bedarf Meetings durchgeführt.
5.7
Reviews
Die Meetings mit dem Experten, können zum Teil auch gerade als Review einer vergangenen
Phase verwendet werden.
5.7.1 Statusmeldungen
Dem Experten und dem Betreuer wird jede zweite Woche ein Statusreport (Vorlage von BFH)
gesendet, damit diese über den Projektfortschritt auf dem Laufenden sind.
10.09.2009
Seite 31 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
6 Kosten
6.1
Interner personeller Aufwand (Kosten)
Aufwand
Emmi intern
Ausbildung (.net Kurs)
zu Lasten des Diplomanden
Gesamtaufwand intern
Stunden
240
32
120
392
Ansatz / Std
100.-100.--100.--
Total in sFr
24'000.-3'200.--27’200
Stunden
-
Ansatz / Std
-
Total in sFr
-
Tabelle 6-1: Interne personelle Aufwände
6.2
Externe Kosten
Aufwand / Kosten
Externe Beraterkosten
Externes Personal
Software Lizenzen
• Visual Studio .net
Ausbildung (.net Kurs)
Gesamtaufwand
-
-
713.65
2'600.-3’313.65
Tabelle 6-2: Externe Kosten
6.3
Kosten gesamt
Kosten
Interne Kosten
Externe Kosten
Gesamtaufwand
Total in sFr
27'200.-3’313.65
30’513.65
Tabelle 6-3: Kosten gesamt
10.09.2009
Seite 32 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
7 Anhang
7.1
Glossar
Begriff
Aktor
Beschreibung
Ein Aktor ist ein Benutzer oder ein System welches mit der Applikation
interagiert.
CDC
Change Data Capture - Technologie von Oracle zum Übertragen der
Änderungen einer Datenbank
zentrale Verarbeitungseinheit eine Computers (Prozessor)
Datenbank
Datenbankadministrator
Ziel - in diesem Projekt meist der Staging bereich des DWH
Datawarehouse. Zentrale Datensammlung (Datenbank), deren Inhalt
sich aus Daten unterschiedlicher Quellen zusammensetzt.
CPU
DB
DBA
Destination
DWH
E1
EFM
ERP
ETL
GUI
Name des ERP Releases, welcher in der EMMI eingesetzt wird.
Emmi Factory Management
Enterprise Ressource Planning
Bezeichnet den Prozess einer Schnittstelle zu einem DWH.
E. Extraktion (Extract) der relevanten Daten aus verschiedenen Quellen
T. Transformation (Transform) der Daten in das Format der
Zieldatenbank
L. Laden (Load) der Daten in die Zieldatenbank.
Graphical User Interface, englischer Begriff für Bedienoberfläche.
LDI
MIS
OLAP
OLTP
Oracle
Proof of Concept
Records
Redo Logs
Review
RMT
Rows
SCN
Source
tnsnames.ora
Lightweight Datewarehouse Interface
Management Information System
Online Analytical Processing
Online Transaction Processing
Oracle ist eine Datenbankmanagementsoftware
Machbarkeitsstudie
Datensatz einer Tabelle
Dort werde alle Änderungen einer DB gespeichert
Begutachtung
Rechte Maus Taste
siehe Record
System Change Number
Quelle - in diesem Projekt eine ERP System
File welches die auf dem Client konfigurierten Datenbanken enthält
Tool
Trigger
Werkzeug
Datenbanktrigger. Bei einer bestimmten Art einer Änderung, wird ein
gespeichertes Programm aufgerufen.
Unified Modeling Language
Anwendungsfall - Verhalten zwischen Aktoren und dem betrachteten
System
UML
Use Case
Tabelle 7-1: Glossar
10.09.2009
Seite 33 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
7.2
Referenzen
Folgende Dokumente und Webadressen dienten als Informationsquellen.
Projektmanagement
http://de.wikipedia.org/
http://www.stefan-baur.de
http://www.it-checklists.com
Unterlagen BFH CAS Business Engineering, Zühlke Engineering AG
Oracle Data Capture
Oracle Data Warehousing Guide 10g Release 2 (B14223-02)
Oracle Data Warehousing Guide 11g Release 1 (B28313-02)
ETL Architektur
The Data Warehouse Lifecycle Toolkit, Ralph Kimball
10.09.2009
Seite 34 von 35
Pflichtenheft
Master Thesis MAS-07-01.21
7.3
Tabellenverzeichnis
Tabelle 2-1: Entscheidungstabelle........................................................................................ 13
Tabelle 3-1: Namenskonvention der Anforderungen............................................................. 15
Tabelle 3-2: Übersicht Use Cases ........................................................................................ 15
Tabelle 3-3: Aktoren ............................................................................................................. 17
Tabelle 3-4: UC Login FA.01.010 ......................................................................................... 17
Tabelle 3-5: UC DB Verbindung konfigurieren FA.01.020..................................................... 18
Tabelle 3-6: UC Destinationsystem konfigurieren FA.02.010................................................ 18
Tabelle 3-7: UC Destinationssystem löschen FA.02.020 ...................................................... 19
Tabelle 3-8: UC Schnittstellengruppe konfigurieren FA.03.010............................................. 19
Tabelle 3-9: UC Destinationssystem löschen FA.03.020 ...................................................... 20
Tabelle 3-10: UC Schnittstelle konfigurieren FA.04.010........................................................ 20
Tabelle 3-11: UC Schnittstelle löschen FA.04.020................................................................ 21
Tabelle 3-12: UC Sourcetabelle konfigurieren FA.04.011 ..................................................... 21
Tabelle 3-13: UC Destinationtabelle konfigurieren FA.04.012............................................... 22
Tabelle 3-14: UC Sourcesystem konfigurieren FA.05.010 .................................................... 22
Tabelle 3-15: UC Destinationssystem löschen FA.05.020 .................................................... 23
Tabelle 3-16: Anforderungskatalog nicht funktionaler Anforderungen................................... 25
Tabelle 5-1: Inhalte und Resultate der Projektphasen .......................................................... 28
Tabelle 5-2: Aufwandschätzung ........................................................................................... 29
Tabelle 5-3: Termine ............................................................................................................ 31
Tabelle 6-1: Interne personelle Aufwände ............................................................................ 32
Tabelle 6-2: Externe Kosten ................................................................................................. 32
Tabelle 6-3: Kosten gesamt.................................................................................................. 32
Tabelle 7-1: Glossar ............................................................................................................. 33
7.4
Abbildungsverzeichnis
Abbildung 2-1: ETL Prozess Schema ..................................................................................... 7
Abbildung 2-2: Ladeprozess grösserer Tabellen..................................................................... 8
Abbildung 2-3: CPU Kurve Quellsystem ................................................................................. 9
Abbildung 2-4: Prozessablauf Vision .................................................................................... 10
Abbildung 2-5: Prozessablauf Change Data Capture ........................................................... 12
Abbildung 3-1: Use Case Diagramm LDI .............................................................................. 16
Abbildung 3-2: GUI............................................................................................................... 24
Abbildung 5-1: Vorgehensmodell.......................................................................................... 28
Abbildung 5-2: Projektplan ................................................................................................... 30
10.09.2009
Seite 35 von 35
Herunterladen