annotate Dbsrv.tex @ 2:c3c273cd81af default tip

added output file
author markus schnalke <meillo@marmaro.de>
date Sun, 15 Apr 2007 02:46:48 +0200
parents f3982c724ecf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
1 \section{Das DBSRV-Projekt}
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
2
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
3 Wie in der Einführung beschrieben, wurde von den ersten Praktikanten bei \textbf{MAKA} das DBSRV-Projekt ins Leben gerufen.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
4 Der DBSRV ist eine Art Framework für allerlei Programme die den Mitarbeitern zur Verfügung stehen. Zum Teil erweitern diese Programme die Funktion des ERP-Systems, aber es gibt auch Programme die komplett neue Funktionalitäten anbieten\footnote{Ein Beispiel hierfür wäre die Bilderdatenbank}.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
5 All diese Programme sind von Praktikanten nach und nach geschrieben worden.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
6
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
7 Ich habe hier einfach an der Stelle weitergemacht an der mein Vorgänger aufgehört hatte. Pflichtenhefte, oder vielleicht besser ``Konzepte'' existierten dazu bereits.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
8
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
9 Im Folgendem werde ich den Begriff \textit{DBSRV} verwenden wenn ich dieses DBSRV-Projekt meine.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
10
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
11
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
12
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
13
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
14
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
15 Während meines Praktikums habe ich an drei Programmen gearbeitet:
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
16
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
17 \begin{enumerate}
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
18 \item Einkaufsinformationssystem (kurz EIS)\\
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
19 Eine Abfragensammlung mit Reports wie Bestellobligo, Realer Wiederbeschaffungszeit und einem Fehlteilmanagement.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
20 Dieses Programm war von meinem Vorgänger schon zur Hälfte fertig gestellt.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
21
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
22 \item Montageinformationssystem (kurz MontIS)\\
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
23 Dem EIS recht ähnlich aber für die Montage. Zu implementieren war das Fehlteilmanagement und die Liefertreueanalyse.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
24
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
25 \item Translator-Datenbank \& Dictionary\\
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
26 Eine Übersetzungsdatenbank für fremdsprachige Artikelbezeichungen um entsprechend lokalisierte Stücklisten drucken zu können.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
27
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
28 \end{enumerate}
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
29
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
30
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
31
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
32
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
33 \newpage
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
34 \section{Einarbeiten}
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
35
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
36 Die erste Woche verbrachte ich damit die bestehende Codebasis des EIS und die Datenbank des ERP-Systems kennen und verstehen zu lernen. Dabei ist es natürlich eine Schwierigkeit sich die Denkmuster des vorherigen Programmierers zu verinnerlichen. Eine dabei sehr gute Entscheidung war den Code durch Refactoring kennenzulernen und gleichzeitig zu verbessern. Code zu lesen führt meist nicht zum gewünschten Erfolg (jedenfalls nicht in dem Maße). Indem man den Programmcode allerdings `umräumt', und die dabei zwangsläufig entstehenden Fehler\footnote{Die Erfahrung (und Murphy) zeigt, dass durch Refactoring immer Fehler entstehen werden. Oder wenn man es von der anderen Seite betrachtet, kommen so (Design-)Fehler zum Vorschein.} studiert, lernt man die Funktion des Codes sehr schnell und intensiv kennen.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
37
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
38 Nachdem ich die Programmiergewohnheiten meines Vorgängers analysiert hatte und, durch die Arbeit mit dem Code, einen gewissen Einblick in die Logik der Datenherkunft erhalten hatte, machte ich mich daran selbst meinen ersten Report zu schreiben. Das größte Problem am Anfang war dabei herauszufinden aus welchen Datenbanktabellen ich die benötigten Daten erhalte. Bei über 70 Datenbanktabellen, mit zudem recht kryptischen Namen, war das auch verständlich. Mit der Zeit erkennt man dann aber ein Schema hinter den Bezeichnungen und kann sie sich so herleiten. Als Beispiel möchte ich die Tabellenspalte \texttt{ttdpur041100.T\_ORNO} anführen. Das erste \texttt{t} ist bei allen Tabellen so, dann folgt ein \texttt{td} für das Baan-Modul ``distribution'' (engl. für ``Vertrieb'' oder ``Absatz''), \texttt{pur} steht für ``purchase'' (engl. für ``Beschaffung''), die \texttt{041} ist die Tabelle ``Bestellkopf'' und die \texttt{100} steht für die Echtfirma. Um solche Schemen nachvollziehen zu können war auch ein Wissen über den Aufbau eines ERP-Systems notwendig, das ich mir während des Praktikums angeeignet habe. Mit der Zeit habe ich dann auch ein Gefühl dafür bekommen wo ich welche Daten finde.
f3982c724ecf initial commit
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
39