Marvin Barther bei Wincor Nixdorf

29.01.2010

Praktikum bei Wincor Nixdorf (Paderborn)

"Product & Solution Development" in der Abteilung für Software-Entwicklung (PSD 6)

Wincor Nixdorf (Paderborn) ist im Banking- und Retail-Bereich aktiv. Die Bankautomaten und Kassensysteme werden in Paderborn programmiert und die einzelnen importierten Module zusammengesetzt. Wincor Nixdorf hat auch eine eigene Lackiererei, um den unterschiedlichen Design Anforderungen der Kunden nachkommen zu können. Dem entsprechend ist Wincor Nixdorf in einen Entwicklungs- und einen Produktionsbereich aufgeteilt. Ich absolvierte mein Praktikum im Entwicklungsbereich „Product & Solution Development“ in der Abteilung für Software-Entwicklung (PSD 6).
Als erstes bekam ich eine kleine Einführung in die Aufgaben der Abteilung. Mein Leiter führte mich durch die Testlabore und zeigte mir unterschiedliche Automaten (Bank- und Postautomaten), an denen die Software getestet wurde. Er stellte mir alte und neue Modelle vor und gab mir einen ersten Einblick in die Software und ihre Funktionen.
Die auf den Automaten laufende Software wird „ProTopas“ genannt. Sie stellt die Basis dar, nach der sich international alle Unternehmen richten müssen. Um dies zu testen, stehen auch Automaten von konkurrierenden Unternehmen in den Testlaboren.
Ein Automat besteht aus mehreren Modulen, wie zum Beispiel dem Münzeinwurf, dem Kartenleser oder auch den so genannten Kassetten, in denen die Geldscheine im Tresor gelagert werden. Jedes Modul verwendet seine eigenen Software-Elemente, auf die die Entwickler aufbauen können. Auf die Basis stützen sich die Applikationen (von den Entwicklern „Add-Ons“ genannt), Programme, die das Software-System steuern. Dabei können Applikationen auch von anderen Unternehmen entwickelt worden sein, die anschließend durch weitere Applikationen mit der Software der Automaten verbunden werden.
Der „Vordergrund“, der für zum Beispiel die Bankkunden vorgesehen ist, ist wie eine Internet-Seite im HTML-Code geschrieben. Dem entsprechend wird der Internet-Explorer als Browser verwendet. Der „Hintergrund“ ist jedoch in der Programmiersprache C++ erstellt. Um die Automaten (Software und Hardware) und dessen Umgang durch die (Kunden-)Mitarbeiter kontrollieren zu können, wird das „Operator Panel“ verwendet. Die Techniker (und auch Angestellten der Kunden) können so generelle Statusabfragen (wie zum Beispiel die Aktivität der Module oder auch die Menge des Geldes im Tresor), Neustarts und virtuelle Tests durchführen. Des Weiteren muss beim Geldtransport der Tresor über das Operator Panel geöffnet und wieder geschlossen werden. Dabei werden Datum, Uhrzeit, Benutzer und die Menge an umgesetztem Geld abgespeichert und können auch später in Statusabfragen wieder aufgelistet werden. Das dazugehörige Programm wird „Service & Operating Task“ (SOP-Task) genannt. Die meisten meiner Aufgaben während des Praktikums bezogen sich auf dieses Programm.

Meine erste Aufgabe war die Übertragung einer Steptable in eine Microsoft Visio-Zeichnung. Eine Steptable ist im Prinzip eine Liste mit Funktionen und deren Verknüpfungen mit weiteren Funktionen. Jede Steptable hat einen Startpunkt. Ein Ende muss es nicht geben, da es auch (besonders im Bereich der Software) Programme geben muss, die solange weiterlaufen müssen, wie der Computer aktiv ist.
 


Überträgt man eine Steptable in eine Zeichnung, so entstehen so genannte Flussdiagramme. Sie bestehen aus ihrer Funktion entsprechenden Kästchen, die mit Pfeilen verbunden werden.
 


Dieses Beispiel besteht nur aus einem Haupt-Menü, das auf weitere Menüs und Funktionen zugreift, die anschließend wieder auf das Haupt-Menü verweisen. So eine Struktur ist sehr übersichtlich und kann auch dem entsprechend dargestellt werden.
Ein wenig komplexer können dann Flussdiagramme so aussehen:
 


Diese Zeichnung ist ein Ausschnitt aus meinem ersten Versuch. Hier überschneiden sich die Pfeile schon und auch eine eindeutige Struktur ist nicht zu erkennen. Jedoch ist dies nur der Start (siehe blaues Kästchen). Die vollständige Zeichnung sah am Ende so aus:
 


An dieser Zeichnung habe ich insgesamt vier Tage gearbeitet. Die Arbeit umfasst:
  • Einarbeitung und Verstehen der Funktion,
  • Generieren (d.h. automatische Überprüfung, ob alle Funktionen richtig und alle Pfeile ordentlich verlinkt sind und alle Referenzen stimmen),
  • eigenständiges Prüfen der vorliegenden Steptable mit der durch die Zeichnung entstandenen, ob die Funktionen und Links gleich sind.

Meine zweite vollständige Umsetzung in der 2. Woche sah schon etwas strukturierter aus. Ein Hauptgrund war die Vertrautheit mit den Steptables.
 


Zwischenzeitig bekam ich aber auch die Aufgabe, andere Zeichnungen zu erweitern oder auch vorhandenen Steps durch andere zu ersetzen. Dadurch lernte ich noch zusätzliche Typen von Steps und Links kennen. Hier ein kleiner Einblick:
 

 

 

Ich habe mich jedoch in diesem Praktikum nicht nur mit Steptables beschäftigt. Eine weitere Aufgabe war es, eine Liste mit Währungen zu erneuern und die Währungszeichen einzufügen.
Die Syntax für eine Währung war:
<Aussprache>, <ISO-Abkürzung>, <ISO-Kenn-Nr.>, <Nachkommastellen>, <Zeichen>

Da nicht alle Währungszeichen durch Tastenkombinationen auf der Tastatur einzufügen waren, musste mit dem Hexadezimal-Code gearbeitet werden und die Zeichen im Prinzip „manuell“ eingefügt werden.
 

Liste der Währungen:


 

Hexadezimal-Code:


Als Beispiel ist hier die Währung Euro markiert. Die mittlere Spalte enthält den Hexadezimal-Code (eine Reihe entspricht NICHT einer Zeile!), in der rechten Spalte ist die Umsetzung aufgelistet. Für die Umsetzung wurde die Sprache „Arial Unicode MS“ verwendet.
Die „manuelle“ Eingabe war eine gute Übung zur Anwendung und Gewöhnung an die Arbeit mit dem Hexadezimal-Code.

 

Des Weiteren habe ich mich mit der Dokumentation von Programmiercode beschäftigt. Ich habe eine kurze Einführung in die Programmiersprache C++ bekommen und sollte anschließend eine angefangene Dokumentation über ein kleines Programm vervollständigen. Hier waren nun meine Englisch-Kenntnisse gefragt, da aufgrund der internationalen Kommunikation Wincor Nixdorfs die Dokumentation auf Englisch sein muss.
Die Einführung in C++ bezog sich auf die Deklarationen (im so genannten „Interface“) und auf die Beschreibungen (der so genannten „Implementation“) der Funktionen:
 

Deklaration:

 

Beschreibung:


Die Dokumentation sollte dann in Form von Listen, Tabellen und erläuternden Texten die Funktionen beschreiben.

Eine Aufgabe zum Programmieren konnte mir während der Praktikumszeit nicht gestellt werden, da es zu dieser Zeit kein angemessenes Projekt gab, das innerhalb von 2 Wochen fertiggestellt werden konnte. Mir wurde jedoch empfohlen, ein weiteres Praktikum nach Absprache mit der Abteilung zu absolvieren, um eine Programmier-Aufgabe zu erhalten.

Insgesamt hat mir das Praktikum sehr gut gefallen. Neben den interessanten Aufgaben waren meine Mitarbeiter immer freundlich, offen und hilfsbereit. Es gab immer ausführliche Einführungen in die Aufgabenstellung und in den Aufgabenbereich.




 
Text & Gestaltung: Marvin Barther