Download Terminal PMS Terminal PMS

Transcript
MasterMaster-Thesis MASMAS-IT 0606-02
Schlussbericht
Terminal PMS
Projektbezeichnung
SWS Diplomarbeit
Klasse
Diplomanden
Experte
Betreuer
Erstellt am
Zuletzt geändert am
Bearbeitungszustand
Dokument
Datenablage
Terminal PMS
MAS-06.02.16
MAS-06-02
Beat Bösiger
Heinrich Neiger
Niesenblickstrasse 8b
Silberhornstrasse 10
3600 Thun
3600 Thun
Tel.:
+41 33 222 48 77
Mob.: +41 79 661 46 27
Fax:
+41 33 222 48 78
E-Mail: [email protected]
Mob.: +41 79 643 19 75
E-Mail: [email protected]
Joachim Fulde
Lutertalstrasse 27
3065 Bolligen
Mob.: +41 79 467 89 76
E-Mail: [email protected]
Arjan DJ Paijralbe
Tel.:
+41 33 439 07 92
E-Mail: [email protected]
18. Februar 2009
19. Februar 2009
In Bearbeitung
Vorgelegt
X
Fertig gestellt
008_Schlussbericht.doc
Unter Subversion Repository „pms_terminal“
Verzeichnis 010_Trunk\MasterThesis\010_Dokumentation\090_Berichte
Abstract:
In einem Produktionsprozess von Si-Wafern wird immer mehr nach Rückverfolgbarkeit verlangt.
Die Arbeitsschritte ohne Maschinen werden mit einem Terminal ausgerüstet. Es soll ein Framework zum Erstellen
von Terminalanwendungen inkl. einer Referenzanwendung und zwei Hardware-Adaptern erstellt werden.
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Management Summa
Summ ary
In dieser Arbeit geht es darum ein Frameworks zu entwickeln, welches als Basis für die Erstellung einer
Terminalanwendung benutzt werden kann. Um die Funktion des Frameworks zu Testen, soll zusätzlich eine
Referenzanwendung des Brick Separieres implementiert werden. Damit Ein- resp. Ausgaben getätigt werden können,
sollen zusätzlich zwei Hardware-Adapter entwickelt werden. Der eine Hardware-Adapter ist für einen Barcode-Leser
und der Andere für einen Label-Drucker.
Das Terminal ist ein Teilprojekt des Gesamtsystems PMS. Während dieser Arbeit ist kein funktionsfähiges PMS, resp.
Integration-Service (IS) vorhanden, dies aufgrund einer Verspätung des Gesamtprojekts. Der IS dient als Basis für die
Kommunikation mit dem PMS. Wegen dieser Verspätung wurde entschieden, dass in dieser Arbeit selber ein IS
entwickelt wird, der als Simulator des PMS dient. Das bedeutet, dass die Hardware-Adapter statt an den IS, direkt ins
Framework implementiert wurde.
Es konnte ein funktionsfähiges Framework mit integrierten Hardware-Adaptern erstellt werden. Das Framework muss
für den effektiven Einsatz in der Industrie an das PMS angepasst werden. Zusätzlich entstanden während der Arbeit
zusätzliche Anforderungen, welche aufgrund des zu hohen Arbeitsaufwandes nicht in das Projekt einfliessen konnte.
Der Hardware-Adapter für den Barcode-Leser konnte vollständig umgesetzt werden. Der Hardware-Adapter für den
Label-Drucker wurde nur simuliert, da der Drucker zu spät evaluiert und beschafft wurde. Die Referenzanwendung
Brick Separierer konnte fertig gestellt werden, da der Prozessablauf jedoch nicht endgültig definiert ist, wurde ein
provisorischer Prozessablauf erstellt und erstellt.
Es wird empfohlen, das Framework anhand der zusätzlichen Anforderungen zu erweitern und einzusetzen. Falls der
Prozessablauf nicht stark ändert, kann der Brick Separierer mit dem derzeitigen Stand eingesetzt werden.
Die Ziele im Pflichtenheft wurden hoch gesteckt, konnten jedoch vollständig umgesetzt werden.
Bis auf die Abnahmen konnten die Termine gehalten werden. Die Abnahmen verzögerten sich, aufgrund des
fehlenden Label-Druckers.
Es entstanden keine unvorhergesehene Kosten.
008_Schlussbericht.doc
2/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Inhaltsverzeichnis
1
2
3
4
5
6
Einleitung ............................................................................................................................................................. 7
1.1
Übersicht .................................................................................................................................................. 7
1.2
Ausgangslage ........................................................................................................................................... 7
1.3
Zweck und Ziele........................................................................................................................................ 7
1.4
Produktumfang ......................................................................................................................................... 8
1.5
Definitionen, Akronyme, Abkürzungen ....................................................................................................... 8
1.5.1
Projektspezifisches Glossar .................................................................................................................. 8
1.5.2
Anforderungsspezifisches Glossar/Sprachnormalisierung ..................................................................... 9
1.6
Referenzen.............................................................................................................................................. 10
1.7
Konkurrenzprodukte ............................................................................................................................... 10
Aufgabenstellung ............................................................................................................................................... 11
2.1
Hardware-Adapter .................................................................................................................................. 11
2.1.1
Label-Drucker..................................................................................................................................... 11
2.1.2
Barcode-Leser.................................................................................................................................... 11
2.2
Framework.............................................................................................................................................. 11
2.3
Referenz-Anwendung “Brick Separierer” ................................................................................................. 12
Organisation....................................................................................................................................................... 12
3.1
Projektplanung ........................................................................................................................................ 12
3.2
Eingesetzte Werkzeuge ........................................................................................................................... 12
Analyse und Synthese ........................................................................................................................................ 13
4.1
Übersicht Gesamtfunktionalität................................................................................................................ 13
4.2
Komponentenübersicht........................................................................................................................... 14
4.3
Hardware-Adapter .................................................................................................................................. 15
4.3.1
Label-Drucker..................................................................................................................................... 15
4.3.2
Barcode-Leser.................................................................................................................................... 19
4.4
Framework.............................................................................................................................................. 22
4.4.1
Anwendungsfallmodell........................................................................................................................ 22
4.4.2
Beschreibungen der Anwendungsfälle Entwickler ............................................................................... 26
4.4.3
Beschreibungen der Anwendungsfälle System ................................................................................... 26
4.4.4
Beschreibungen der Anwendungsfälle Operator ................................................................................. 26
4.4.5
Synthese ............................................................................................................................................ 26
4.4.6
Fachklassendiagramm........................................................................................................................ 30
4.4.7
Beschreibung Fachklassendiagramm ................................................................................................. 31
4.5
Referenz-Anwendung „Brick Separierer“ ................................................................................................. 32
4.5.1
Anwendungsfallmodell........................................................................................................................ 32
4.5.2
Beschreibungen der Anwendungsfälle ................................................................................................ 32
4.5.3
Ablauf................................................................................................................................................. 33
Prototyping ........................................................................................................................................................ 35
5.1
Hardware-Adapter .................................................................................................................................. 35
5.2
Framework.............................................................................................................................................. 35
5.3
Referenz-Anwendung „Brick Separierer“ ................................................................................................. 35
Design ............................................................................................................................................................... 36
6.1
Hardware-Adapter .................................................................................................................................. 36
6.1.1
Label-Drucker..................................................................................................................................... 36
6.1.2
Barcode-Leser.................................................................................................................................... 36
6.2
Framework.............................................................................................................................................. 37
6.2.1
Paketaufteilung ................................................................................................................................... 37
008_Schlussbericht.doc
3/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
6.2.2
GUI Architektur ................................................................................................................................... 39
6.3
Referenz-Anwendung “Brick Separierer” ................................................................................................. 40
6.4
API.......................................................................................................................................................... 40
7 Test ................................................................................................................................................................... 41
7.1
Hardware-Adapter .................................................................................................................................. 41
7.1.1
Unit-Test ............................................................................................................................................ 41
7.1.2
Test Szenarien.................................................................................................................................... 41
7.1.3
Test-Anwendungen ............................................................................................................................ 41
7.1.4
Abnahme............................................................................................................................................ 41
7.2
Framework.............................................................................................................................................. 42
7.2.1
Unit-Test ............................................................................................................................................ 42
7.2.2
Test Szenarien.................................................................................................................................... 42
7.2.3
Test-Anwendung ................................................................................................................................ 42
7.2.4
Abnahme............................................................................................................................................ 42
7.3
Referenz-Anwendung “Brick Separierer” ................................................................................................. 43
7.3.1
Unit-Test ............................................................................................................................................ 43
7.3.2
Test .................................................................................................................................................... 43
7.3.3
Abnahme............................................................................................................................................ 43
7.4
Integrationstest ....................................................................................................................................... 44
7.4.1
Hardware ........................................................................................................................................... 44
7.4.2
Software............................................................................................................................................. 44
7.4.3
Vorgehen............................................................................................................................................ 45
8 Resultate............................................................................................................................................................ 46
8.1
Hardware-Adapter .................................................................................................................................. 46
8.1.1
Abnahme............................................................................................................................................ 46
8.1.2
Label-Drucker..................................................................................................................................... 46
8.2
Framework.............................................................................................................................................. 47
8.2.1
Software Update ................................................................................................................................ 48
8.2.2
Abnahme............................................................................................................................................ 48
8.3
Referenz-Anwendung “Brick Separierer” ................................................................................................. 49
8.3.1
Abnahme............................................................................................................................................ 51
8.4
Dokumentation........................................................................................................................................ 51
8.4.1
“Entwicklerhandbuch”......................................................................................................................... 51
8.4.2
API ..................................................................................................................................................... 52
8.5
Integration............................................................................................................................................... 52
8.5.1
Integrationstest................................................................................................................................... 52
8.6
Projektplan.............................................................................................................................................. 52
9 Diskussion ......................................................................................................................................................... 53
9.1
Projektablauf ........................................................................................................................................... 53
9.2
Framework.............................................................................................................................................. 54
9.2.1
WPF ................................................................................................................................................... 54
9.2.2
Spezifikation ....................................................................................................................................... 54
9.2.3
Integration Service (IS) ........................................................................................................................ 54
9.2.4
Software-Update ................................................................................................................................ 54
9.3
Referenz-Anwendung “Brick Separierer” ................................................................................................. 54
10
Ausblick ......................................................................................................................................................... 55
10.1
Dokumentation........................................................................................................................................ 55
10.2
Hardware-Adapter .................................................................................................................................. 55
10.2.1
Geräte mit Ein-/Ausgabe .................................................................................................................... 55
008_Schlussbericht.doc
4/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
10.2.2
Label-Drucker..................................................................................................................................... 55
10.2.3
Barcode-Leser.................................................................................................................................... 55
10.3
Framework.............................................................................................................................................. 56
10.4
Referenz-Anwendung “Brick Separierer” ................................................................................................. 56
11
Verzeichnisse ................................................................................................................................................. 57
11.1
Abbildungsverzeichnis............................................................................................................................. 57
11.2
Tabellenverzeichnis ................................................................................................................................. 58
12
Anhang .......................................................................................................................................................... 60
12.1
Projektplan.............................................................................................................................................. 60
12.2
Anwendungsfall-Beschreibungen ............................................................................................................ 62
12.2.1
Hardware-Adapter.............................................................................................................................. 62
12.2.2
Framework ......................................................................................................................................... 66
12.2.3
Referenz-Anwendung „Brick Separierer“............................................................................................. 81
12.3
Test Szenarien ........................................................................................................................................ 84
12.3.1
Hardware-Adapter.............................................................................................................................. 84
12.3.2
Framework ......................................................................................................................................... 88
12.4
Klassendiagramme.................................................................................................................................. 99
12.4.1
Hardware-Adapter.............................................................................................................................. 99
12.4.2
Framework ....................................................................................................................................... 101
12.4.3
Referenz-Anwendung „Brick Separierer“........................................................................................... 109
008_Schlussbericht.doc
5/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Dokumentversionen
Tabelle 1: Dokumentversionen
Änderung
Nr. Datum
1
06.01.2009
2
30.01.2009
3
16.02.2009
4
17.02.2009
Geänderte Kapitel
Beschreibung der Änderung
Autor
Zustand
Version
0.0.1
0.0.2
0.0.3
0.0.4
Aufbau gestaltet
Inhalt eingefügt
Eingefügt
Ergänzt
Neh
Neh
Böb
Böb
In Bearbeitung
In Bearbeitung
In Bearbeitung
In Bearbeitung
0.0.5
0.1.0
Alle
Diskussion
Test Kapitel
Test Kapitel
Diskussion Kapitel
Alle
Alle
5
6
18.02.2009
19.02.2009
Abgefüllt mit Inhalt
Abgefüllt mit Inhalt
In Bearbeitung
In Bearbeitung
1.0.0
Alles
Fertiggestellt
Böb
Böb/
Neh
Böb/
Neh
7
19.02.2009
008_Schlussbericht.doc
6/109
Fertiggestellt
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
1 Einleitung
1.1 Übersicht
Dieses Dokument ist so aufgebaut, dass jedes Kapitel jeweils in die drei Themen Hardware-Adapter, Framework und
die Referenzanwendung „Brick Separierer“ unterteilt ist.
1.2 Ausgangslage
Die Produktion von Silizium Wafern für Solarzellen erfolgt über mehrere Prozessstufen. Hier setzt das von Meyer
Burger entwickelte Prozess Management System (PMS) an. In der Abbildung 1 ist ersichtlich, wie ein
Produktionsprozess aussehen kann. Nach dem Giessen der Ingots finden Messungen statt. Anschliessend wird der
Ingot in die gewünschte Form geschnitten. Nach diversen Vorgängen, wie Schleifen und Aufkleben wird der Ingot mit
einer Drahtsäge in Wafer geschnitten, welche darauf hin separiert und gereinigt werden. Am Ende werden die Wafer
vermessen.
Furnaces
Puller
Measurement
Bricking
Measurement
Squaring
Cropping
3D / Lifetime
Surface Edge
Gluing station
Grinding
Wire saw
Precleaning
Separation
Cleaning
Measurement
Abbildung 1: Gesamtprozessablauf
Das PMS sammelt alle in der Produktion anfallenden Produkt- und Prozessinformationen, bildet daraus ein abstraktes
Produktionsabbild und ermittelt für jede Prozessstufe das Laufzeitverhalten.
Jeder Anlageteil, welcher an das Meyer Burger Leitsystem (PMS) angebunden wird, enthält einen Integrations-Service.
Der Integrations-Service ist eine Software mit der Aufgabe, den Datenfluss der Anlageteile zu koordinieren. Die Daten
werden mittels Netzwerk an das Leitsystem (PMS) gesendet und dort zentralisiert.
Für manuelle oder teilautomatisierte Arbeitsstationen wird ein Terminal eingesetzt, über das die notwendigen oder
ergänzenden Eingaben möglich sind. Je nach Prozessstufe kann das Terminal über verschiedene Peripheriegeräte
(Scanner für die automatische Identifikation / Label-Drucker zur Beschriftung des Materials) verfügen.
1.3 Zweck und Ziele
Anhand dieses Dokumentes sind die Resultate und Erkenntnisse für die aus der Master Thesis entstandene „Terminal
PMS“-Software ersichtlich.
008_Schlussbericht.doc
7/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
1.4 Produktumfang
Das Produkt Terminal PMS beinhaltet drei Teile:
•
•
•
Ein Framework zum Erstellen von Terminal-Anwendungen.
Zwei Hardware-Adapter für den Label-Drucker und den Barcode Leser
Eine Referenzanwendung „Brick Separierer“
1.5 Definitionen,
Definitionen, Akronyme, Abkürzungen
1.5.1
Projektspezifisches Glossar
Tabelle 2: Projektspezifisches Glossar
Vokabel
Bilder
Brick
Brick-Separierer
GUI
IS
Konfigurationsdatei
PMS
Produktinformationen
Prozessinformationen
SEMI E10
Terminal
Wafer
008_Schlussbericht.doc
Bedeutung/Verwendung
Dateien mit grafischem Bildinhalt, wie Fotos
Ein Brick ist ein quadrierter Siliziumblock. Dieser Brick wird im Prozessschritt «Wafer
Trennen» in dünne Scheiben von 140 --- 200 Mikrometer aufgetrennt.
Ein Brick-Separier ist eine Arbeitsstation, wo ein Terminal eingesetzt wird. Das ist die
Referenzanwendung in dieser Diplomarbeit.
Beim Brick-Separierer werden die einzelnen Bricks grob gereinigt, auf Qualität geprüft
und mit einer Etikette versehen, um die Bricks anschliessend an die nächste
Arbeitsstation weiterzugeben.
Graphical User Interface (Graphische Bediener Schnittstelle)
Integrations-Service, das ist eine Software, welche als Schnittstelle zum PMS dient
In der Konfigurationsdatei für eine Terminal-Anwendung werden alle variablen
Einstellungen der Anwendung abgelegt. Jede Terminal-Anwendung verfügt über eine
solche Konfigurationsdatei.
Die Hardware-Adapter verfügen zusätzlich über eigene Konfigurationsdateien.
Prozess Management System (Meyer Burger Leitsystem)
Das sind Eigenschaften, resp. Informationen zu einem Produkt (Ingot/Brick).
Das sind Informationen zum Prozess, wie Zeiten oder anderen Prozessparametern
SEMI E10 ist ein Standard zur Erfassung der Maschinenbetriebszeiten und Maschinen/Produktionszustände.
Bei Arbeitsplätzen, die über keine entsprechende Maschine mit Leitsystem-Anbindung
verfügen, ist ein Rechner mit einer speziellen Applikation zur Daten Ein / Ausgabe
verfügbar.
Kreisrunde oder quadratische Scheibe, die das Substrat (Grundplatte) darstellt, auf dem
elektronische Bauelemente (IC, „Chip“) oder photoelektrische Beschichtungen durch
verschiedene technische Verfahren hergestellt werden
8/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
1.5.2
Schlussbericht
Anforderungsspezifisches Glossar/Sprachnormalisierung
Tabelle 3: Anforderungsspezifisches Glossar
Vokabel
Aktivieren
Anzeigen
Auswählen
Deaktivieren
Einfügen
Eingeben
Einlesen
Entwickler
Hinzufügen
Konfigurieren
Öffnen
Speichern
System
008_Schlussbericht.doc
Bedeutung/Verwendung
Das entsprechende Element wird so
konfiguriert, dass es
verfügbar/sichtbar ist.
Auf dem Bildschirm
ausgeben/anzeigen.
Der Benutzer wählt Eine, der
möglichen Optionen/Einstellungen
mit der Tastatur, Maus oder dem
TouchScreen aus.
Das entsprechende Element ist nicht
verfügbar/sichtbar.
Bei einer Anwendung: Das System
fügt Daten ein, die gespeichert
werden (siehe Speichern).
Der Benutzer gibt Daten über die
physikalische Tastatur oder über
eine virtuelle Tastatur auf dem
Touch-Screen Monitor ein.
Daten werden über ein Lesegerät
eingelesen und gespeichert.
Diejenigen Personen, die TerminalAnwendungen erstellen.
Beim Entwickeln einer Anwendung:
ein Element der Anwendung
hinzufügen.
Die Daten in der Konfigurationsdatei
werden gelesen und beim Zielobjekt
gesetzt/gespeichert.
Ein Fenster auf dem Bildschirm
öffnen.
Bei einem Wert: Das System
speichert den Wert im
Arbeitsspeicher.
Bei einer Datei: Das System
speichert die Datei auf dem
entsprechenden Speichermedium.
Das System ist eine TerminalAnwendung, die mittels des
Frameworks erstellt worden ist.
9/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
1.6 Referenzen
Die folgende Tabelle gibt einen Überblick, woher die Terminal PMS spezifischen Informationen stammen:
Tabelle 4: Projektspezifische Referenzen
Name des Dokuments
Revisio
n
3425
Dokumentenablage
Kommentar
Subversion Repository „pms_design_ea“
Implementierungsrichtlini
en_
PMS.doc
Vergabe der ID
Nummern.doc
359
Subversion Repository „pms“, Verzeichnis:
010_Projekt_Dok\
Implementierungsrichtlinien
Subversion Repository „pms“, Verzeichnis:
010_Projekt_Dok\Pflichtenhefte
Design-Projektdatei
für Enterprise
Architect
Programmierrichtlin
ien
e1000.pdf
359
Pflichtenheft PMSTerminal
104
MeyerBurger PMS.eap
359
Subversion Repository „pms“, Verzeichnis:
010_Projekt_Dok\Normen
Subversion Repository „pms_terminal“, Verzeichnis
010_Trunk\MasterThesis\010_Dokumentation\040_Pflic
htenheft
Beschreibung
Vergabe von ID
Nummern
SEMI E10
Standard
Pflichtenheft für
das PMS Terminal
1.7 Konkurrenzprodukte
Beim Gesamtprojekt PMS handelt es sich um eine eigene Neuentwicklung der Meyer Burger AG. Das Terminal PMS
ist dabei ein Teilprojekt des PMS, das den Integration-Service als weiteres Teilprojekt beinhaltet. Aus dieser Situation
heraus existieren keine direkten Konkurrenzprodukte.
008_Schlussbericht.doc
10/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
2 Aufgabenstellung
Diese Master Thesis beinhaltet drei Themen, welche zusammen den Hauptteil des Terminal PMS bildet. Diese drei
Themen sind die Hardware-Adapter Barcode-Leser und Label-Drucker, das Framework und die Referenzanwendung
„Brick Separierer“.
In den folgenden Kapitel wir auf diese Themen genauer eingegangen.
2.1 HardwareHardware - Adapter
An das Terminal PMS können diverse Hardware-Adapter, resp. zusätzliche Hardware angeschlossen werden. In
dieser Arbeit wurde der Hardware-Adapter für einen Label-Drucker und einen Barcode-Leser implementiert.
2.1.1
LabelLabel -Drucker
Der Label-Drucker soll an das Terminal PMS angeschlossen werden. Anhand der Konfiguration im Framework wird
der Label-Drucker Adapter dynamisch in der Anwendung eingebunden und die Schnittstelle richtig konfiguriert.
Während des Betriebs können auf dem Label-Drucker Barcode-Etiketten anhand einer Vorlage, welche vom PMS
vorgegeben ist, ausgedruckt werden.
2.1.2
BarcodeBarcode-Leser
Der Barcode-Leser soll an das Terminal PMS angeschlossen werden. Anhand der Konfiguration im Framework wird
der Barcode-Leser Adapter dynamisch in der Anwendung eingebunden und die Schnittstelle richtig konfiguriert.
Während des Betriebs kann der Barcode-Leser Barcodes einlesen und die Daten ans Framework, bzw. an die
Terminal-Anwendung weitergeben.
Dies gilt für den folgenden Typ: Powerscan D8330 von Datalogic
2.2 Framework
Das Framework ist die Basis jeder Terminal-Anwendung. Es beinhaltet die Grundfunktionalität:
•
Adapter-Loader und Event-Support für Hardware-Adapter.
•
Grundaufbau der Visualisierung
•
Hilfsmittel (Rechner / Kalender / Bild-Assistent / Testbedingungshilfe / Bildschirmreiniger)
•
Basis für die Konfiguration
•
Kommunikation mit dem IS (Integration Service)
•
Sprachabhängige Unterstützung
Das Ziel des Frameworks ist, dass weitere Terminalanwendungen mit möglichst wenig Aufwand erstellt werden
können.
008_Schlussbericht.doc
11/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
2.3 ReferenzReferenz- Anwendung “Brick Separierer”
Um eine Umsetzung einer Terminal Anwendung zu zeigen, wird mit dem erstellten Framework eine ReferenzAnwendung realisiert. Diese Referenz-Anwendung wird Brick Separierer genannt, da das Terminal in einem Prozess
eingesetzt wird, wo die Bricks separiert werden. Das bedeutet, dass nach dem Sägen mehrere Bricks beim Terminal
ankommen, wo ein Mitarbeiter mit Hilfe des Terminals die Bricks separiert. Der Mitarbeiter kann mit dem BarcodeLeser oder von Hand eine Auftragsnummer eingeben und erhält die dazugehörigen Auftragsdaten angezeigt. Nun
führt das Terminal den Mitarbeiter durch den Prozess inkl. dem Ausdruck der dazugehörigen Beschriftungen. Dabei
geht es primär um die Nachverfolgbarkeit der einzelnen Bricks.
3 Organisation
3.1 Projektplanung
Der erstellte Projektplan befindet sich im Anhang im Kapitel 12.1.
3.2 Eingesetzte Werkzeuge
In der Tabelle 5 sind alle eingesetzten Werkzeuge aufgelistet, die zur Erstellung der Diplomarbeit benutzt worden sind.
Tabelle 5: Eingesetzte Werkzeuge
Bezeichnung
Projektmanagement/Zeitplan
Dokumentation
PDF
Mindmap
Design/Diagramme
Code/Realisierung
XML Dokumente
Grafik/Bilder
Versionierung
API-Dokumentation Generator
Visual Studio Plugin: ReSharper
008_Schlussbericht.doc
Werkzeug
GanttProject
Office 2003
Office Plugin
FreeMind
Enterprise Architect
Visual Studio 2008
Visual Studio 2008
GIMP
TortoiseSVN
Doxygen
ReSharper
Hersteller
ganttproject.biz
Microsoft
Version
2.0.7
2003 SP3
freemind.sourceforge.net
Sparx Systems
Microsoft
Microsoft
0.9.0
7.0.813
2008 (9.0)
2008 (9.0)
2.4.0
1.4.8
1.5.8
4.1
www.gimp.org
www.tigris.org
www.doxygen.org
12/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
4 Analyse und Synthese
Synthese
4.1 Übersicht Gesamtfunktionalität
Um einen Gesamtüberblick zu bekommen, ist ein Mindmap erstellt worden und ist in der folgenden Abbildung
dargestellt. Es zeigt in groben Zügen alle Elemente, die mit dem Produkt zusammenhängen.
Abbildung 2: Mindmap Gesamtfunktionalität
008_Schlussbericht.doc
13/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
4.2 Komponentenübersicht
In der folgenden Abbildung 3 sind die zusammenhängenden Komponenten und deren Verknüpfungen ersichtlich.
cmp Component Model
Konfiguration
Konfiguration
<<uses>>
RS232
Hardw are-Adapter
Barcode-Leser
Terminal-Anw endung
Framew ork
RS232
Hardw are-Adapter
Label Drucker
Updater
ISServ ice
Konfiguration
Konfiguration
Abbildung 3: Komponentenübersicht
-
Hardware-Adapter Label-Drucker: Bibliothek (dll). Der Hardware-Adapter hat eine eigene Konfigurationsdatei
zum Konfigurieren der Schnittstelle und zum Konfigurieren des Druckers. Falls in der Konfigurationsdatei der
Applikation der Label-Drucker aktiviert wird, wird die Bibliothek dynamisch geladen.
-
Hardware-Adapter Barcode-Leser: Bibliothek (dll). Der Hardware-Adapter hat eine eigene Konfigurationsdatei
zum Konfigurieren der Schnittstelle. Falls in der Konfigurationsdatei der Applikation der Barcode-Leser
aktiviert wird, wird die Bibliothek dynamisch geladen.
-
Framework: Bibliothek (dll). Das Herzstück der Terminal-Anwendung. Es beinhaltet die Basisfunktionalität. Es
benutzt die von der Applikation übergebene Konfigurationsdatei für alle konfigurierbaren Elemente.
-
Terminal-Anwendung: Applikation (exe), sie beinhaltet eigene Fenster und Funktionalitäten. Für die
Entwicklung einer Terminal-Anwendung muss die Framework-Bibliothek ins Projekt eingebunden werden.
-
ISService: Bibliothek (dll). Sie beinhaltet die Definition der Kommunikationsschnittstelle zum Integration
Service.
-
Updater: Konsolenanwendung (exe). Ist zuständig für ein Software Update der Terminalanwendung. Beim
Aufruf des Updater’s beendet der Updater die Terminal-Anwendung, installiert die heruntergeladenenen
Dateien und startet die Terminal-Anwendung erneut. Der Updater hat eine eigene Konfigurationsdatei.
008_Schlussbericht.doc
14/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
4.3 HardwareHardware - Adapter
4.3.1
LabelLabel -Drucker
4.3.1.1
Anwendungsfallmodell
Anwendu ngsfallmodell
In der Abbildung 4 ist das Anwendungsfallmodell für den Label-Drucker abgebildet. Es ist ersichtlich, dass vom PMS
eine Vorlage heruntergeladen wird. Dies wird abgespeichert und zum Ausdrucken der Etiketten benutzt. Für die
Konfiguration sind zwei Konfigurationsdateien vorgesehen. Die Eine für die Schnittstelle und die Andere für die
Konfiguration des Druckers selbst.
uc LD Use Cases
HW-Adapter Label Drucker
Sav e Printer
template
«invokes»
«invokes»
Printer
template
Dow nload printer
template
PMS
Printer
Configuration
File
«invokes»
Printer
interface
Configuration
File
«invokes»
«invokes»
Configure Printer
Interpret Print Values
Print Label
System
Abbildung 4: Anwendungsfallmodell für den Label-Drucker
008_Schlussbericht.doc
15/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.1.2
Schlussbericht
Beschreibungen der Anwendungsfälle
Aus den Tabellen im Anhang unter Kapitel 12.2.1.1 sind die Beschreibungen der Anwendungsfälle ersichtlich.
4.3.1.3
Synthese
Die folgende Tabelle 6 zeigt das Ergebnis der Zusammentragung von allen Informationen aus Lastenheft,
Pflichtenheft, sonstigen Informationsquellen zum Label-Drucker, geordnet in die verschiedenen Elemente, um daraus
das Fachklassendiagramm zu erstellen.
Tabelle 6: Synthese Label-Drucker
1. Klassen/Objekte
Adapter
2. Attribute
3. Operationen
Adapter hinzufügen
Adapter entfernen
Wert_abfragen
Konfigurationsstatus weiterleiten
Label_drucken
Schnittstelle
Druckinhalt
Schnittstelle öffnen
Druckinhalt schreiben
Schnittstelle schliessen
Druckinhalt erzeugen
Konfiguration
Dateiname
Schnittstelle
Baudrate
Parität
Datenbits
Stopbit
Status
Schnittstelle konfigurieren
Konfigurationsdatei öffnen
Parameter lesen
Konfigurationsdatei schliessen
Vorlage
URL
Dateiname
Pfad
herunterladen
speichern
Escape-Sequenzen interpretieren
Durch Werte ersetzen
008_Schlussbericht.doc
16/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.1.4
Schlussbericht
Fachklassendiagramm
Aus der Synthese ist das Fachklassendiagramm, wie in der Abbildung 5 zu sehen ist, entstanden. Das
Fachklassendiagramm zeigt die Klassen, die benötigt werden, um die aus dem Anwendungsfallmodel entstandenen
Geschäftsanwendungsfälle abdecken zu können. Es entspricht deshalb nicht dem definitiven Klassendiagramm und
wird im Detaildesign weiterentwickelt.
class LD Class Diagram
Adapter
+
+
~
+
~
Adapter_entfernen() : void
Adapter_hinzufügen() : void
Konfigurationsstatus_weiterleiten() : void
Label_drucken() : void
Wert_abfragen() : string
1
+Adapter
1 +Adapter
1 +Adapter
bereitet vor >
druckt >
1 +Druckinhalt
1 +Etikett
Vorlage
-
Dateiname: string
Pfad: string
Url: string
~
~
-
Vorlage_herunterladen() : void
Vorlage_interpretieren() : void
Vorlage_speichern() : void
konfiguriert >
1 +Schnittstelle
Schnittstelle
-
Druckinhalt: string
~
~
-
Druckinhalt_erzeugen() : void
Druckinhalt_schreiben() : void
Schnittstelle_öffnen() : void
Schnittstelle_schliessen() : void
Konfiguration
-
Baudrate: ushort
Dateiname: string
Datenbits: ushort
Parität: ushort
Schnittstelle: ushort
Status: short
Stopbits: ushort
~
Konfigurationsdate_öffnen() : void
Konfigurationsdatei_schliessen() : void
Parameter_lesen() : void
Schnittstelle_konfigurieren() : void
Abbildung 5: Fachklassendiagramm Label-Drucker
008_Schlussbericht.doc
17/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.1.5
Schlussbericht
Beschreibung Fachklassendiagramm
Mit Hilfe der Synthese ist das Fachklassendiagramm in Abbildung 5 entstanden.
Darin enthalten sind die folgenden Klassen:
-
Adapter: Die Klasse Adapter ist die Hauptklasse des Hardware-Adapter’s. Sie bietet die Methoden, um den
Adapter zu registrieren und auch wieder zu entfernen. Zusätzlich beinhaltet sie Event und Handler für den
Datenaustausch mit dem Framework.
-
Konfiguration: Die Klasse Konfiguration bietet das Auslesen der Konfigurationselemente aus der
entsprechenden Konfigurationsdatei.
-
Schnittstelle: Die Klasse Schnittstelle stellt die Verbindung zum Gerät über die entsprechende Schnittstelle
zur Verfügung. Sie bietet Methoden zum Öffnen und Schliessen der Schnittstelle sowie eine Methode zum
Schreiben von Daten zum Gerät.
-
Vorlage: Die Klasse Vorlage bietet Funktionen zum Herunterladen und Speichern einer vorgegebenen Vorlage
sowie den Parser zum Interpretieren des Vorlageninhaltes.
008_Schlussbericht.doc
18/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.2
Schlussbericht
BarcodeBarcode-Leser
4.3.2.1
Anwendungsfallmodell
Anwendungsfallmodell
Aus dem Anwendungsfallmodell des Barcode-Lesers, gemäss Abbildung 6, erkennt man, dass das System mittels
einer Konfigurations-Datei die Schnittstelle zum Barcode-Leser konfiguriert werden kann. Anschliessend ist der
Barcode-Leser funktionsfähig.
uc BL Use Cases
HW-Adapter Barcode Leser
Barcode Reader
Interface
Configuration File
«invokes»
Configure Barcode
Reader
System
Read Barcode
Barcode Reader
Abbildung 6: Anwendungsfallmodell für den Barcode-Leser
008_Schlussbericht.doc
19/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.2.2
Schlussbericht
Beschreibungen der Anwendungsfälle
Aus den Tabellen im Anhang unter Kapitel 12.2.1.2 sind die Beschreibungen der Anwendungsfälle ersichtlich.
4.3.2.3
Synthese
Die Tabelle 7 zeigt das Ergebnis der Zusammentragung von allen Informationen aus Lastenheft, Pflichtenheft,
sonstigen Informationsquellen zum Barcode-Leser, geordnet in die verschiedenen Elemente, um daraus das
Fachklassendiagramm zu erstellen.
Tabelle 7: Synthese Barcode-Leser
1. Klassen/Objekte
Adapter
2. Attribute
3. Operationen
Adapter hinzufügen
Adapter entfernen
Barcode weiterleiten
Konfigurationsstatus weiterleiten
Schnittstelle
Barcode
Schnittstelle öffnen
Barcode lesen
Schnittstelle schliessen
Konfiguration
Dateiname
Schnittstelle
Baudrate
Parität
Datenbits
Stopbit
Status
Schnittstelle konfigurieren
Konfigurationsdatei öffnen
Parameter lesen
Konfigurationsdatei schliessen
4. Multiplizitäten
die Schnittstelle
5. Bedingungen/Periodizitäten
Beim Start der Anwendung
Schnittstelle konfigurieren
6. Assoziationen
der Leser
die Konfigurationsdatei
ein Barcode
Mindestens 1 Parameter
den Parametern
008_Schlussbericht.doc
20/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.2.4
Schlussbericht
Fachklassendiagramm
Aus der Synthese ist das Fachklassendiagramm, wie in der Abbildung 7 zu sehen ist, entstanden. Das
Fachklassendiagramm zeigt die Klassen, die benötigt werden, um die aus dem Anwendungsfallmodel entstandenen
Geschäftsanwendungsfälle abdecken zu können. Es entspricht deshalb nicht dem definitiven Klassendiagramm und
wird im Detaildesign weiterentwickelt.
class BL Class Diagram
Adapter
+
+
~
~
Adapter_entfernen() : void
Adapter_hinzufügen() : void
Barcode_weiterleiten() : void
Konfigurationsstatus_weiterleiten() : void
1 +Adapter
1 +Adapter
liest
>
konfiguriert
>
1 +Barcode
1 +Schnittstelle
Schnittstelle
-
Barcode: string
~
-
Barcode_lesen() : void
Schnittstelle_öffnen() : void
Schnittstelle_schliessen() : void
Konfiguration
-
Baudrate: ushort
Dateiname: string
Datenbits: ushort
Parität: ushort
Schnittstelle: ushort
Status: short
Stopbits: ushort
~
Konfigurationsdatei_öffnen() : void
Konfigurationsdatei_schliessen() : void
Parameter_lesen() : string
Schnittstelle_konfigurieren() : void
Abbildung 7: Fachklassendiagramm Barcode-Leser
008_Schlussbericht.doc
21/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.3.2.5
Schlussbericht
Beschreibung Fachklassendiagramm
Mit Hilfe der Synthese ist das Fachklassendiagramm in Abbildung 7 entstanden.
Darin enthalten sind die folgenden Klassen:
-
Adapter: Die Klasse Adapter ist die Hauptklasse des Hardware-Adapter’s. Sie bietet die Methoden, um den
Adapter zu registrieren und auch wieder zu entfernen. Zusätzlich beinhaltet sie Event und Handler für den
Datenaustausch mit dem Framework.
-
Konfiguration: Die Klasse Konfiguration bietet das Auslesen der Konfigurationselemente aus der
entsprechenden Konfigurationsdatei.
-
Schnittstelle: Die Klasse Schnittstelle stellt die Verbindung zum Gerät über die entsprechende Schnittstelle
zur Verfügung. Sie bietet Methoden zum Öffnen und Schliessen der Schnittstelle sowie eine Methode zum
Lesen der Daten vom Gerät.
4.4 Framework
4.4.1
Anwendungsfallmodell
Das folgende Anwendungsfallmodell in Abbildung 8 zeigt drei Akteure:
-
Developer: Der Entwickler einer Terminalanwendung. Dem Entwickler müssen die verlangten
Grundfunktionalitäten aus dem Pflichtenheft mit dem Framework zur Verfügung stehen. Dazu gehört das
Hinzufügen von Hardware-Adaptern, Bildern, Sprachen, das Hinzufügen und Editieren von Fenstern, das
Konfigurieren der Anwendung mit dem Aktivieren/Deaktivieren von Identifikationsnummern, Fenstern und
Hilfsmittel.
-
System: Das System, in diesem Fall die Frameworkumgebung. Es behandelt alle Abläufe und Vorgänge, die
mit Kommunikation und Daten im Zusammenhang stehen. Dazu gehört das Laden von konfigurierten
Hardware-Adaptern, das Setzen des Produktionsstandes (SemiE10), das Einlesen von Barcodes über den
Hardware-Adapter des Barcode-Lesers sowie das Zwischenspeichern von URL’s. Zudem muss es in der
Lage sein, anhand der entsprechenden URL Dokumente von einem Web-Server herunterzuladen und
anzuzeigen.
-
PMS: Das Leitsystem bekommt Anfragen von der Applikation und gibt entsprechend Antworten zurück, die
in der Applikation weiterverarbeitet werden.
008_Schlussbericht.doc
22/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
uc FW Use Cases
Framework
Add HW-Adapter
Edit Menu
Edit Window Content
Add Window
Add Language
Dev eloper
Add pictures
Activ ate/Deactiv ate
Window
Activ ate/Deactiv ate
v alid ID
Activ ate/Deactiv ate
Utilities
Load HW-Adapter
Sav e production
state
Read Barcode from
HW-Adapter
Split ID-Numbers
Sav e URL
System
Dow nload
Text-/XML-/HTML-Documents
Show
Text-/XML-/HTML-Documents
Send Identification
Number
Sav e ID-Answ er from
PMS
PMS
Abbildung 8: Anwendungsfallmodell der Basisfunktionalität im Framework
008_Schlussbericht.doc
23/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Das folgende Anwendungsfallmodell in Abbildung 9 zeigt den Operator, der verschiedene Vorgänge ausführen können
muss. Dazu gehören folgende Vorgänge:
-
Anmelden mit einer gültigen Benutzer-Identifikationsnummer, und das Abbrechen der Anmeldung
-
Öffnen und Schliessen von folgenden Fenstern: Arbeitsablauf-Beschreibung, Auftragsbeschreibung,
Informationen zum nächsten Auftrag, Wartungsinformationen, Bildschirmreiniger, Bild-Assistent,
Testbedingungshilfe, Rechner, Kalender und Software Version. Beim Rechner müssen zudem Berechnungen
möglich sein.
-
Ändern der Sprache
-
Installieren von Software-Updates
-
Übersteuern des Produktionsstandes (SemiE10)
008_Schlussbericht.doc
24/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
uc FW Use Cases - Operator
Framework - Operator
Enter Operator-ID
Cancel Operator-ID
Open
Close
Operator
T his is valid for:
Workflow-Description
•
T ask-Description
•
Information for the next task
•
Service-Informations
•
Screen-Cleaner
•
Picture-Wizard
•
T est-Operation Help
•
Calculator
•
Calendar
•
Software-Version
•
Change Language
Show current picture
Only for the calculator
Enter calculation
Install softw are
update
Install configuration
update
Enter production
state
Abbildung 9: Anwendungsfallmodell der Operatorfunktionalität im Framework
008_Schlussbericht.doc
25/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.4.2
Schlussbericht
Beschreibungen der Anwendungsfälle Entwickler
Aus den Tabellen im Anhang unter Kapitel 12.2.2.1 sind die Beschreibungen der Anwendungsfälle ersichtlich, die dem
Akteur „Developer“ zugeordnet sind.
4.4.3
Beschreibungen der Anwendungsfälle System
Aus den Tabellen im Anhang unter Kapitel 12.2.2.2 sind die Beschreibungen der Anwendungsfälle ersichtlich, die dem
Akteur „System“ zugeordnet sind.
4.4.4
Beschreibungen der Anwendungsfälle Operator
Aus den Tabellen im Anhang unter Kapitel 12.2.2.3 sind die Beschreibungen der Anwendungsfälle ersichtlich, die dem
Akteur „Operator“ zugeordnet sind.
4.4.5
Synthese
Die folgende Tabelle 8 zeigt das Ergebnis der Zusammentragung von allen Informationen aus Lastenheft,
Pflichtenheft, sonstigen Informationsquellen zum Framework, geordnet in die verschiedenen Elemente, um daraus das
Fachklassendiagramm zu erstellen.
Tabelle 8: Synthese Framework
1. Klassen/Objekte
Adapter
2. Attribute
Konfigurationsdatei (HW-Adapter)
Konfigurationsdatei-Pfad
HW-Adapter laden
Menü
Menüpunkte
Menüpunkt hinzufügen
Fenster
Menü
Menüpunkt
Fenster öffnen
Fenster schliessen
Fenster aktivieren
Fenster deaktivieren
Dialog
3. Operationen
Dialog öffnen
Dialog schliessen
Dialog aktivieren
Dialog deaktivieren
Identifikationsnummer
Nummer
Überprüfen auf Operatornummer
Überprüfen auf Auftragsnummer
Überprüfen auf Bricknummer
Überprüfen auf Ingotnummer
Überprüfen auf
Werkstückaufnehmernummer
Identifikationsnummer aktivieren
Identifikationsnummer deaktivieren
Fehlermeldung anzeigen
Auftrag
Operator-Identifikationsnummer
Auftrag-Identifikationsnummer
Brick-Identifikationsnummer
Ingot-Identifikationsnummer
Senden
008_Schlussbericht.doc
26/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
WerkstückaufnehmerIdentifikationsnummer
Daten
Antwort
Daten
Url Auftragsinformationen
Url Informationen zu nächsten Auftrag
Url Wartungsinformationen
Dokument
Url
Typ (XML/HTML/Text)
Herunterladen
Anzeigen
Sprache
Aktuelle Sprache
Sprache ändern
Text anzeigen
Anmelden Dialog
Id
Timeout
Dialog öffnen
Abbrechen
Bestätigen
Id setzen
Id senden
Timer starten
Eingabefeld fokussieren
Arbeitsbeschreibungshilfe
Fenster öffnen
Anzeigen
Fenster schliessen
Auftragsinformationen
Url
Fenster öffnen
Anzeigen
Fenster schliessen
Herunterladen
Infos zum nächsten
Auftrag
Url
Fenster öffnen
Anzeigen
Fenster schliessen
Herunterladen
Wartungsinformationen
Url
Fenster öffnen
Anzeigen
Fenster schliessen
Herunterladen
Hilfsmittel Dialog
Bildschirmreinigerhilfe
008_Schlussbericht.doc
Hilfsmittel aktivieren
Hilfsmittel deaktivieren
Timeout
Fenster öffnen
Anzeigen
Fenster schliessen
Timer starten
27/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Bilder-Assistent Dialog
Schlussbericht
Pfad
Dialog öffnen
Anzeigen
Dialog schliessen
Nächstes Bild anzeigen
Vorheriges Bild anzeigen
Testbedingungshilfe
Rechner Dialog
Fenster öffnen
Anzeigen
Fenster schliessen
Nächstes Bild anzeigen
Vorheriges Bild anzeigen
Operand 1
Operand 2
Resultat
Dialog öffnen
Anzeigen
Dialog schliessen
Berechnen
Kalender Dialog
SEMI E10
Produktionsstand
Dialog öffnen
Anzeigen
Dialog schliessen
Status
Senden
Timeout
Ändern
Timer starten
Software-Version
Dialog öffnen
Anzeigen
Dialog schliessen
Software-Update
Updates abfragen
Update herunterladen
Update installieren
Meldung Dialog
Dialog öffnen
Anzeigen
Dialog schliessen
Bestätigen
Fehlermeldung Dialog
Dialog öffnen
Anzeigen
Dialog schliessen
Bestätigen
Tastatur Dialog
Dialog öffnen
Anzeigen
Dialog schliessen
Bestätigen
Symbol anzeigen
TouchScreen
008_Schlussbericht.doc
Status
28/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Barcode-Leser
IS
Barcode-Leser-Daten einlesen
Barcode-Leser-Daten speichern
Barcode-Leser-Daten identifizieren
Barcode-Leser-Daten aufsplitten
Status
Sendedaten
Antwortdaten
Ist Bereit
Daten senden
Antwort abfragen
4. Multiplizitäten
5. Bedingungen/Periodizitäten
beliebig viele Menüpunkte
008_Schlussbericht.doc
29/109
6. Assoziationen
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.4.6
Schlussbericht
Fachklassendiagramm
Aus der Synthese ist das Fachklassendiagramm wie in der Abbildung 10 zu sehen ist, entstanden. Das
Fachklassendiagramm zeigt die Klassen, die benötigt werden, um die aus dem Anwendungsfallmodel entstandenen
Geschäftsanwendungsfälle abdecken zu können. Es entspricht deshalb nicht dem definitiven Klassendiagramm und
wird im Detaildesign weiterentwickelt.
class FW Class Diagram
Menupunkt
TouchScreen
+
Menupunkt: int
Menupunkt_hinzufuegen() : void
-
Menu: string
Menupunkt: string
+
+
+
-
Anzeigen() : void
Oeffnen() : voi d
Schl iessen() : voi d
+
+
+
+
Wartungsinformation
+
+
+
+
Typ: string
Url : string
Anzeigen() : void
Herunterladen() : void
Oeffnen() : void
Schliessen() : void
+
+
+
+
Akti vieren() : voi d
Deakti vieren() : void
Oeffnen() : void
Schli essen() : void
-
Anzei gen() : void
Herunterladen() : void
Oeffnen() : void
Schliessen() : void
+
+
+
+
Url: string
+
+
+
+
-
Timeout: int
+
+
+
+
Anzeigen() : void
Oeffnen() : voi d
Schl iessen() : void
Ti mer_starten() : void
Anzei gen() : void
Herunterladen() : void
Oeffnen() : void
Schliessen() : void
+
+
+
Auftragsinformationen
+
+
+
+
Menupunkt: stri ng
+
+
+
+
Aktivi eren() : void
Deaktivieren() : void
Oeffnen() : void
Schliessen() : voi d
FehlermeldungDialog
Anzeigen() : void
Bestaetigen() : void
Oeffnen() : void
Schli essen() : void
AnmeldeDialog
Anzeigen() : void
Oeffnen() : void
Schli essen() : void
Serv ice
-
-
ID: string
Timeout: int
+
+
+
+
+
+
+
Abbrechen() : void
Bestaetigen() : void
Eingabefeld_fokusieren() : void
ID_senden() : void
ID_setzen() : voi d
Oeffnen() : void
Timer_starten() : voi d
+
+
+
+
MeldungDialog
+
+
+
+
Anzei gen() : void
Bestaetigen() : voi d
Oeffnen() : void
Schliessen() : void
Anzei gen() : void
Bestaetigen() : voi d
Oeffnen() : void
Schliessen() : void
HilfsmittelDialog
+
+
Akti vieren() : voi d
Daktivieren() : void
Konfig
Url: string
+
+
+
+
Anzeigen() : void
Herunterl aden() : void
Oeffnen() : void
Schli essen() : void
Softw areUpdate
+
+
+
Symbol_anzeigen() : void
Dialog
BildschirmreinigerHilfe
NaechsterAuftragsInfo
Url: string
+
TastaturDialog
Softw areVersionDialog
Dokument
Arbeitsbeschreibungshilfe
Status: state
<<use>>
Fenster
Menu
-
Akti vieren() : voi d
Deakti vieren() : voi d
Oeffnen() : void
Schli essen() : void
+
+
+
+
Aktivieren() : voi d
Deaktivieren() : voi d
Oeffnen() : void
Schli essen() : void
+
+
+
Abfragen() : void
Herunterladen() : void
Installi eren() : void
+
+
+
+
Anzeigen() : voi d
Berechnen() : void
Oeffnen() : voi d
Schliessen() : voi d
+
+
+
Anzeigen() : void
Oeffnen() : void
Schliessen() : void
-
Pfad: stri ng
+
+
+
+
+
Anzei gen() : void
NaechstesBildAnzei gen() : void
Oeffnen() : void
Schliessen() : void
VorherigesBi ldAnzeigen() : void
+
+
+
+
+
Anzeigen() : void
NaechstesBil dAnzeigen() : voi d
Oeffnen() : voi d
Schl iessen() : voi d
VorherigesBil dAnzeigen() : void
Sprache
KonfigurationsUpdate
Abfragen() : void
Herunterladen() : void
Installieren() : void
Oparand2: fl oat
Operand1: fl oat
Resultat: float
BildAssistentDialog
KalenderDialog
RechnerDialog
-
-
Aktuell eSprache: string
+
+
Aendern() : void
Text_Anzeigen() : void
Testbedingungshilfe
Adapter
-
Konfigurationsdatei -Pfad: string
+
Laden() : bool
Identifikationsnummer
Auftrag
AS
BarcodeLeser
+
Ei nlesen() : void
-
Antwortdaten: string
Sendedaten: string
Status: state
+
+
+
Antwort_abfragen() : voi d
Daten_senden() : void
IstBereit() : void
SemiE10Produktionsstand
-
Status: state
Timeout: int
+
+
+
Aendern() : void
Senden() : void
Timer_starten() : void
-
AuftragID: string
BrickID: string
Daten: string
IngotID: string
OperatorID: string
WerkstueckaufnehmerID: stri ng
+
Senden() : void
-
Nummer: stri ng
+
+
+
+
+
+
+
+
Aktivieren() : void
AuftragsNummer_pruefen() : void
BrickNummer_pruefen() : void
Deaktivieren() : void
Fehlermeldung_anzeigen() : void
IngotNummer_pruefen() : voi d
OperatorNummer_pruefen() : voi d
WerkstueckNummer_pruefen() : void
Antw ort
-
Daten: string
Url_Auftragsi nformati on: stri ng
Url_NaechsterAuftraginformation: string
Url_Wartungsi nformati on: stri ng
Abbildung 10: Fachklassendiagramm Framework
008_Schlussbericht.doc
30/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.4.7
Schlussbericht
Beschreibung Fachklassendiagramm
Mit Hilfe der Synthese ist das Fachklassendiagramm in Abbildung 10 entstanden.
Darin enthalten sind die folgenden Klassen:
-
Fenster/Menu/Menupunkt: Diese drei Klassen sind in dieser Form nicht mehr vorhanden im Detaildesign. Der
Hauptgrund dafür ist die Problematik mit der WPF Technologie von Microsoft, wie in Kapitel 9.2.1
beschrieben ist. Es musste ein anderer Ansatz gefunden werden.
-
Alle Klassen, die von der Klasse Fenster abgeleitet sind, sollen die Inhalte der einzelnen Screens und Dialoge
darstellen.
-
Die Klasse Adapter ist zuständig für das Laden der Adapter.
-
Die Klasse AS (neu IS) zusammen mit Auftrag und Antwort bilden den Teil für die Kommunikation mit dem
Integration Service.
-
Die Klasse Identifikation ist zuständig für die Gültigkeitsüberprüfung der Identifikationsnummern.
008_Schlussbericht.doc
31/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
4.5 ReferenzReferenz- Anwendung „Brick Separierer“
4.5.1
Anwendungsfallmodell
Anwendungsfallmodell
Die Abbildung 11 zeigt das Anwendungsfallmodell des Brick Separierers.
uc BS Use Cases - Edit Brick
Brick Separater - Edit Brick
Barcode Reader
Enter Order-ID
Show Bricks
Enter "PASS" or
"FAIL" for the Brick
User
Measure Brick
Finish Brick
Finish task
«invokes»
Print Label
Config File
System
Abbildung 11: Anwendungsfallmodell für den Brick Separierer
Es ist zu sehen, dass die Auftrags-ID entweder per Barcode-Leser oder durch den Bediener getätigt werden kann.
Anschliessend werden die Bricks angezeigt. Der Bediener kann einen Brick als „Pass“ oder „Fail“ markieren. Weiterere
Anwendungsfälle sind das Messen, das Abschliessen eines Bricks und das Abschliessen eines Auftrages. Das
System druckt anhand eines Templates die Etikette für den Brick aus.
4.5.2
Beschreibungen der Anwendungsfälle
Aus den Tabellen im Anhang unter Kapitel 12.2.3 sind die Beschreibungen der Anwendungsfälle ersichtlich.
008_Schlussbericht.doc
32/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
4.5.3
Schlussbericht
Ablauf
Ablau f
In der folgenden Abbildung 12 ist der Gesamtablauf (Workflow) des Brick Separierers aufgezeigt.
dfd User Interface Model
Start
4624
login (Operator-ID)
4640
Enter OrderID
4368
Show Brick-Layout
Optical inspection
(Show testing
criteria)
Pass Brick
Mark Brick for
Processing
Fail Brick
Measure
Enter B1/B2/L
from Brick
Print Label
Finish Brick Task
4640
Send BrickID to
PMS
Finish Task
IsOrder finish?
Abbildung 12: Ablauf Brick Separierer
008_Schlussbericht.doc
33/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Nach dem Starten der Anwendung wird zuerst der SemiE10 Status auf 4624 gesetzt. Optional kann sich der Bediener
anhand seiner ID anmelden. Falls dies getan wird, wird der SemiE10 Status auf 4640 gesetzt. Nachdem die AuftragsID eingelesen und der SemiE10 Status auf 4368 gesetzt wird, werden die Bricks angezeigt und der zu bearbeitenden
Brick wird markiert. Nun wird der Brick optisch inspiziert. Falls dieser in Ordnung („Pass“) ist, kann je nach Rezept eine
Messung erfolgen oder es wird direkt eine Etikette gedruckt. Wird eine Messung durchgeführt, muss vor dem
Ausdrucken der Etiketten die Länge, Breite und Höhe gemessen und ins Terminal eingetragen werden. Wird der Brick
als „Fail“ markiert, wird direkt eine Etikette ausgedruckt. Anschliessend wird der Brick abgeschlossen, indem dies
dem PMS mitgeteilt wird. Sobald der Brick fertig bearbeitet wurde, wird der nächste Brick verarbeitet. Ist kein weiterer
Brick mehr zu bearbeiten, wird der Auftrag abgeschlossen und der SemiE10 Status auf 4640 wird gesetzt. Nun kann
die nächsten Auftragsnummer eingegeben werden.
Da die Implementierung des Brick Separierers primär die Entwicklung eines GUI’s war, wurde auf ein Detaildesign
verzichtet.
008_Schlussbericht.doc
34/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
5 Prototyping
5.1 HardwareHardware - Adapter
Für die Hardware-Adapter wurde je ein Prototyp für den Label-Drucker und den Barcode-Leser erstellt, um vor allem
die Kommunikation mit den Geräten zu prüfen. Ebenfalls wichtige Prüfkriterien waren die Konfiguration mit .NET
Mechanismen, das dynamische Laden der erstellten Adapter-Bibliotheken, sowie das Integrieren in eine
Testanwendung.
5.2 Framework
Für das Framework wurde nicht direkt ein Prototyp erstellt. Vielmehr wurde vor allem mit der neuen WPF Technologie
experimentiert, um herauszufinden, was damit möglich ist. Aus diesen Erkenntnissen haben sich bereits die ersten
Probleme herauskristallisiert, die auch im Kapitel 9.2.1 beschrieben sind.
5.3 ReferenzReferenz- Anwendung „Brick Separierer“
Da für das Erstellen der Terminal-Anwendung „Brick Separierer“ bereits auf das Framework zurückgegriffen wird und
keine weitere komplexe und unsichere Funktionalität enthält, wurde entschieden, kein Prototyp zu erstellen.
008_Schlussbericht.doc
35/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
6 Design
6.1 HardwareHardware - Adapter
Die Grundfunktionalität mit den Basisklassen und Interfaces ist ins Framework integriert.
6.1.1
LabelLabel -Drucker
Im Anhang unter Kapitel 12.4.1.1 ist das Klassendiagramm für den Label-Drucker abgebildet.
Es unterscheidet sich in der Architektur und Funktionalität nur minimal zum Fachklassendiagramm aus dem
Grobdesign/Analyse im Kapitel 4.3.2.4.
6.1.2
BarcodeBarcode-Leser
Im Anhang unter Kapitel 12.4.1.2 ist das Klassendiagramm für den Barcode-Leser abgebildet.
Es unterscheidet sich in der Architektur und Funktionalität nur minimal zum Fachklassendiagramm aus dem
Grobdesign/Analyse im Kapitel 4.3.2.4.
008_Schlussbericht.doc
36/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
6.2 Framework
6.2.1
Paketaufteilung
Das Framework ist aufgeteilt in fünf Packages, bzw. Namespaces, die in unten beschrieben werden.
cmp Packages
Framew ork
Adapter
Communication
Configuration
GUI
Abbildung 13: Paketaufteilung Framework
6.2.1.1
Hauptpaket Framework
Im Hauptpaket sind alle globalen Aufgaben enthalten. Dazu gehören folgende Komponenten:
-
die Hauptklasse
-
die Verwaltung des Operators
-
die Speicherung der aktuellen Auftragsdaten
-
die Sprachumschaltung
-
Software Update Handling
-
SemiE10 Status
-
Allgemeine Hilfsklassen
6.2.1.2
Paket Adapter
Adapt er
Das Paket Adapter enthält die Interfaces, Enums und Klassen für das Ansprechen der Hardware-Adapter.
Die Hardware-Adapter selbst bedienen sich ebenfalls bei diesem Paket. Einerseits bei der Entwicklung eines
Adapters, andererseits zur Laufzeit.
008_Schlussbericht.doc
37/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
6.2.1.3
Schlussbericht
Paket Communication
Communication
Im Paket Communication sind die Clients untergebracht, um mit dem PMS zu kommunizieren. Das sind:
-
ISClient: Der ISClient kommuniziert lokal mit dem Integration-Service, der als Schnittstelle zum PMS dient.
-
PMSClient: Dieser Client funktioniert als Web Browser und dient dem Download von Dokumenten und
Rezepten ab dem PMS Web Server.
6.2.1.4
Paket Configuration
In diesem Paket ist die gesamte Konfigurationsverwaltung enthalten.
Sämtliche Konfigurationselemente sind in so genannten Sektionen untergebracht. Alle Sektionen in der Konfiguration
sind in Sektionsgruppen eingeteilt. Für jede Sektionsgruppe existiert eine eigene Klasse. Dazu existiert auch für jede
Sektion eine eigene Klasse.
Der Zugriff auf die Konfigurationselemente erfolgt über den ConfigManager.
Für die Speicherung von Benutzereinstellungen in der Registrierungsdatenbank dient der RegistryManager, der
ebenfalls in diesem Paket untergebracht ist.
6.2.1.5
Paket GUI
Das grösste Paket im Framework ist das Paket GUI. Es ist zusätzlich unterteilt in Untergruppen. Direkt im Paket
eingeteilt sind folgende Teile:
-
Die Basisklassen für die Fenster, die virtuellen Tastatur Klassen und die Inhaltsklassen
-
Alle im Framework integrierten Inhaltsklassen wie z.B. Config, MessageDialog, Help
-
Die Styles für die darin enthaltenen Inhaltsklassen
Folgende Untergruppen sind vorhanden:
-
Button: Hier in dieser Untergruppe sind die zwei Arten von Buttons implementiert sowie die dazugehörende
Basisklasse. Zusätzlich sind auch Hilfsklassen für die Buttons und die Styles enthalten.
-
Dialog: Die Untergruppe Dialog enthält den Grundaufbau der Dialoge
-
InputField: Diese Untergruppe enthält die Basisklasse für ein Eingabefeld und zwei abgeleitete Klassen für die
Eingabe eines numerischen Wertes und eines Textes.
-
Screen: Die Untergruppe Screen enthält den Grundaufbau der Screens
-
Utilities: Hier sind die geforderten Hilfsmittel implementiert. Das sind: Rechner, Kalender, Bild-Assistent,
Testbedingungshilfe und Bildschirmreiniger. Zusätzlich beinhaltet es die Inhaltsklasse für die Utilities.
008_Schlussbericht.doc
38/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
6.2.2
Schlussbericht
G UI Architektur
Architektur
Dem Aufbau des GUI liegt die WPF (Windows Presentation Foundation) zugrunde.
6.2.2.1
Fenster
Das Framework bietet zwei Arten von Fenstern:
Die Klasse Screen stellt das Vollbild Fenster zur Verfügung, in dem der Grundaufbau enthalten ist. In der Mitte ist der
Platz für den Inhalt. Die Belegung der Schaltflächen auf den Seiten und am unteren Rand können beim
entsprechenden Screen Eintrag in der Konfigurationsdatei definiert werden. Drei Arten sind möglich: ein weiterer
Screen, ein Dialog oder eine Funktion.
Die Klasse Dialog stellt das Dialog Fenster mit Rahmen und einer „ButtonBox“ am unteren Rand zur Verfügung. In der
Mitte ist der Platz für den Inhalt. Die Art der „ButtonBox“ kann beim entsprechenden Dialog Eintrag in der
Konfigurationsdatei definiert werden. Die Auswahl an Typen ist in Enum EDialogButtons definiert.
6.2.2.2
Inhaltsklassen
Jeder in der Konfigurationsdatei definierter Screen oder Dialog wird mit einem Namen versehen. Dieser Name ist auch
gleich der Name der Inhaltsklasse. Beim Erzeugen eines Screens oder Dialogs wird mit diesem Namen über die
Reflection eine Instanz der Inhaltsklasse erzeugt und in das Fenster eingefügt.
Dadurch ist es möglich eine Inhaltsklasse einem Screen, sowie einem Dialog zuzuordnen. Dies erfolgt mit der
entsprechenden Definition in der Konfigurationsdatei.
008_Schlussbericht.doc
39/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
6.3 Referenz
Refere nznz- Anwendung “Brick Separierer”
Die Referenzanwendung besteht aus fünf Klassen, welche wie folgt beschrieben werden:
-
Klasse „Program“: Darin befindet sich die Main-Methode, die zum Starten der Anwendung dient.
-
Klasse „Top“: Zum Einen befindet sich darin die Logik für das GUI des Top-Bildes definiert und zum Anderen
die Logik des Prozessablaufs des Brick Separierers.
-
Klasse „Measure“: Darin ist die Logik für das GUI des Measure-Bildes definiert.
-
Klasse „OrderID“: Darin ist die Logik für das GUI des OrderID-Bildes definiert.
-
Klasse „Brick“: Diese Klasse beinhaltet die Daten der Bricks, die aus dem Rezept ausgelesen werden, plus
den CustomButton, der für die Anzeige im GUI gebraucht wird.
Im Kapitel 12.4.3 ist das Klassendiagramm ersichtlich. Darin sind die fünf Klassen abgebildet. Die wichtigste Klasse ist
die Top-Klasse, darin befindet sich die ChangeStep(ESteps)-Methode, worin die Abläufe des Bricks Separierers
implementiert sind.
6.4 API
Alle Klassen, Interfaces und Enums sind direkt im Quellcode beschrieben und in einer generierten API Dokumentation
zusammengefasst. Für folgende Komponenten sind API Dokumentationen vorhanden:
-
Label-Drucker
-
Barcode-Leser
-
Framework
Die API Dokumentation sind im HTML Format vorhanden und befinden sich im Unterverzeichnis doc des
entsprechenden Visual Studio Projektes.
008_Schlussbericht.doc
40/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
7 Test
Mit der gewählten Entwicklungstechnik XP (eXtreme Programming) wurden während der gesamten Entwicklungszeit
in der Art “Vorbeugung” bereits viele “Fehler” behoben oder erst gar nicht gemacht.
Trotzdem konnte nicht ganz auf Tests verzichtet werden.
7.1 HardwareHardware - Adapter
7.1.1
UnitUnit-Test
Die Adapter beinhalten nur minimale Logik.
Mit dem Einverständnis des Auftraggebers wurde deshalb vorerst auf Unit-Tests verzichtet.
7.1.2
Test Szenarien
Im Anhang unter dem Kapitel 12.3.1 sind alle Test Szenarien aufgelistet, die zusätzlich als Kontrolle der
Anwendungsfälle geprüft wurden.
7.1.3
TestTest-Anwendungen
Um die Entwicklung der Adapter auf Lauffähigkeit und Funktionalität hin laufend testen zu können, wurde für die
beiden Adapter jeweils eine kleine Test-Anwendung erstellt.
Es wurde bei diesen zwei Test-Anwendungen darauf geachtet, dass die Adapter genau so bedient werden, wie sie
auch innerhalb des Frameworks zum Einsatz kommen. Das heisst, der entsprechende Adapter wird dynamisch
geladen und mittels der vorgesehenen Methode gestartet.
7.1.4
Abnahme
Als Abschlusstest für die beiden Hardware-Adapter dienten das Dokument „Abnahme Der Hardwareadapter.doc“, der
Design und der Quellcode. Die Abnahme erfolgte durch Arjan DJ Paijralbe.
Getestet wurden folgende Punkte zur Grundstruktur der Hardware-Adapter:
-
Wurde C# verwendet
-
Programmierrichtlinien eingehalten
-
Ist das Umschreiben eines Adapters auf ein anderes Modul innerhalb von 1-1.5 Tagen möglich
-
Hat es Beschreibung und Beispiele zu den Adaptern
-
Hat der Adapter Init und Exit Methoden
-
Wie sieht der Fehlermechanismus aus
-
Kann der Adapter konfiguriert werden
Getestet wurden folgende Punkte zum Adapter Barcode-Leser:
-
Wird die Grundstruktur verwendet
008_Schlussbericht.doc
41/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
-
Sind die Programmierrichtlinien eingehalten worden
-
Wird eine Verbindung zur Schnittstelle automatisch aufgebaut
-
Erscheint ein Text beim Einlesen eines Barcodes
-
Ist eine andere COM Schnittstelle benutzbar
Getestet wurden folgende Punkte zum Adapter Label-Drucker:
-
Wird die Grundstruktur verwendet
-
Sind die Programmierrichtlinien eingehalten worden
-
Wird eine Verbindung zur Schnittstelle automatisch aufgebaut
-
Werden die Daten ab Vorlage korrekt ausgegeben
-
Ist eine andere COM Schnittstelle benutzbar
-
Test mit drei verschiedenen Vorlagen (Ascii/UTF-8/UFT-16)
7.2 Framework
7.2.1
UnitUnit-Test
Das Framework beinhaltet nur minimale Business-Logik und stellt vor allem GUI Komponenten zur Verfügung.
Test eines GUI ist in der Regel äusserst aufwendig und nicht unbedingt „messbar“.
Mit dem Einverständnis des Auftraggebers wurde deshalb auf Unit-Tests verzichtet.
7.2.2
Test Szenarien
Im Anhang unter dem Kapitel 12.3.2 sind alle Test Szenarien aufgelistet, die zusätzlich als Kontrolle der
Anwendungsfälle geprüft wurden.
7.2.3
TestTest-Anwendung
Um die Entwicklung des Frameworks auf Lauffähigkeit und Funktionalität hin laufend testen zu können, wurde dafür
eine Test-Anwendung erstellt.
Es wurde darauf geachtet, dass diese Anwendung möglichst alle Anforderungen aus dem Pflichtenheft abdeckt.
7.2.4
Abnahme
Die Abnahme erfolgte als Walkthrough und erfolgte durch Arjan DJ Paijralbe.
Als Abnahmedokument diente das Pflichtenheft, das Design, der Quellcode und die API Dokumentation.
Getestet wurden sämtliche, im Pflichtenheft aufgeführten spezifizierten Anforderungen. Getestet wurden auch Punkte,
wie sie bei der Abnahme der Hardware-Adapter durchgeführt wurden.
008_Schlussbericht.doc
42/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
7.3 ReferenzReferenz- Anwendung “Brick Separierer”
7.3.1
UnitUnit-Test
Die Referenz-Anwendung beinhaltet nur minimale Business-Logik und stellt vor allem GUI Komponenten zur
Verfügung.
Mit dem Einverständnis des Auftraggebers wurde deshalb auf Unit-Tests verzichtet.
7.3.2
Test
Test eines GUI ist in der Regel äusserst aufwendig und nicht unbedingt „messbar“. Die Anwendung wurde einem
Anwender mit Kenntnissen vom Prozess und einem, welcher den Prozess nicht kennt, zum Testen gegeben. Die
daraus resultierenden Erkenntnisse wurden im GUI korrigiert.
7.3.3
Abnahme
Die Abnahme erfolgte als Walkthrough und durch Arjan DJ Paijralbe erfolgte.
Als Abnahmedokument diente das Pflichtenheft, das Design, der Quellcode und die API Dokumentation.
Getestet wurden die im Pflichtenheft aufgeführten spezifizierten Anforderungen.
008_Schlussbericht.doc
43/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
7.4 Integrationstest
Der Integrationstest bestand darin, die erstellte Software auf der dafür vorgesehenen Hardware auszuführen.
Für die Kommunikation mit dem IS (Integration Service) musste zu Testzwecken zusätzlich ein einfacher IS-Simulator
implementiert werden, da der dafür vorgesehene IS bis zum Ende der Diplomarbeit nicht zur Verfügung stand.
Für die Kommunikation mit dem PMS Web-Server musste zu Testzwecken auf einen anderen Web-Server
zurückgegriffen werden, da der dafür vorgesehene Web-Server aus der PMS Testumgebung bis zum Ende der
Diplomarbeit nicht zur Verfügung stand.
Auf den Web-Server wurden folgende Dokumente hochgeladen:
-
Druck-Vorlage für den Hardware-Adapter Label-Drucker
-
HTML Dokumente für: Auftragsinformationen, Informationen zu nächsten Aufträgen, Wartungsinformationen
-
Rezept für den Brick Separierer
7.4.1
Hardware
Folgende Hardware stand für den Integrationstest zur Verfügung:
-
Siemens Panel PC 477 B, ohne Touchscreen, mit Folientastatur, mit 1 COM Schnittstelle
-
Winmate T-series Panel PC, mit Touchscreen, mit 3 COM Schnittstellen
-
Barcode-Leser Powerscan D8330 von Datalogic
Der Test mit einem Label-Drucker konnte nicht durchgeführt werden, da ein solches Gerät nicht zur Verfügung stand.
Die Ausgabe des Label-Drucker Adapters wurde deshalb zu Testzwecken auf einem der Entwicklungs-Laptops in der
Hyper-Terminal Anwendung angezeigt. Das Terminal wurde dazu mittels eines RS232 Kabel mit dem Laptop
verbunden.
Zusätzlich wurden folgende Komponenten eingesetzt:
-
USB zu RS232 Konverter (der Siemens Panel PC hat nur 1 COM Schnittstelle)
-
Normale Tastatur (für den Winmate Panel PC)
7.4.2
Software
Auf den beiden verfügbaren Panel PC’s ist das Betriebssystem Windows XP Embedded installiert.
Um die Terminal-Anwendung ausführen zu können, musste vorgängig das Microsoft .NET Framework Version 3.5
installiert werden.
008_Schlussbericht.doc
44/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
7.4.3
Schlussbericht
Vorgehen
Der Integrationstest wurde mit den folgenden Anwendungen durchgeführt:
-
Testanwendung TestFrameworkApp
-
Referenz-Anwendung „Brick Separierer“
Dabei wurden sämtliche in den Anwendungen integrierten Bestandteile aufgerufen und auf deren Funktionalität
getestet, inklusive der Kommunikation mit der angeschlossenen Hardware, dem IS (Integration Service) und dem
Web-Server.
008_Schlussbericht.doc
45/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
8 Resultate
8.1 HardwareHardware - Adapter
8.1.1
Abnahme
Die Abnahme der beiden Hardware-Adapter ist gemäss Kapitel 7.1.4 durchgeführt worden und hat zu folgendem
Ergebnis geführt:
Die Abnahmepunkte haben verschiedene Wertungen. Dabei ist darauf geachtet worden, dass die Punkte mit der
Wertung „Zwingend“ unbedingt erfolgreich sein müssen.
Die in Kapitel 7.1.4 aufgeführten Punkte sind getestet und der Abnahmetest ist insgesamt als erfolgreich bewertet
worden.
8.1.2
LabelLabel -Drucker
Der in der Diplomarbeit vorgesehene Drucker konnte nicht rechtzeitig zur Verfügung gestellt werden, deshalb wurde
beschlossen, dass der Drucker als solches von der Diplomarbeit gestrichen wird. Die Funktion des HardwareAdapters wurde getestet, indem die Daten an einem anderen Computer am Hyperterminal ausgegeben wurden.
008_Schlussbericht.doc
46/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
8.2 Framework
Anhand der folgenden Abbildung wird gezeigt, wie die Umsetzung des GUI’s vom Framework gestaltet wurde:
Titelleiste
Registerleiste
Bildwechsel
Bildwechsel
Frei wählbarer Inhalt
Buttonleiste
Abbildung 14: GUI Grundelemente Framework
Das Framework besteht aus den folgenden Teilen, welche den frei wählbaren Inhalt einer Anwendung umrahmen und
mit der benötigen Funktionalitäten versieht:
•
Die Titelleiste, welche das Firmenlogo, den Benutzername, die Benutzer-ID, sowie das Datum und die Uhrzeit
beinhaltet.
•
Die Registerleiste beinhaltet Funktionen, wie das Zurückkehren auf das Hauptbild.
•
Die Leisten für den Bildwechsel sind dazu da, um in einer Applikation Bildwechsel zu gewährleisten.
Standardmässig sind im Framework bereits folgende Bildwechsel integriert:
o
Hilfsmittel, wie ein Rechner, ein Kalender, ein Bilderassistent, eine Anzeige für Testbedingungen und
einem Bildschirmreiniger.
o
Konfiguration, worin ein Software-Update oder eine Sprachumschaltung getätigt werden kann.
o
Arbeitshilfe, worin anhand eines Dokumentes, das vom PMS zur Verfügung gestellt wird,
beschrieben wird, wie die Arbeit erledigt werden soll.
008_Schlussbericht.doc
47/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
•
Schlussbericht
o
Auftrag, worin anhand eines Dokumentes, das vom PMS zur Verfügung gestellt wird, Daten zum
aktuellen Auftrag angezeigt werden können.
o
Nächster Auftrag, worin anhand eines Dokumentes, das vom PMS zur Verfügung gestellt wird,
Daten zum nächsten Auftrag angezeigt werden können.
o
Wartung, wo anhand eines Dokumentes, das vom PMS zur Verfügung gestellt wird, Wartungsdaten
angezeigt werden können.
o
SemiE10, wo der SemiE10 Status übersteuert werden kann.
In der Buttonleiste befinden sich die Buttons, die als Funktionstasten frei belegt werden können.
Das Framework bietet an, dass in der Konfigurations-Datei eingestellt werden kann, ob ein Touch-Screen oder eine
Tastatur mit Maus vorhanden ist. Sobald ein Touch-Screen konfiguriert wird, erscheint neben Eingabefeldern ein Icon
mit einer Tastatur darauf. Drückt man auf diese Taste erscheint ein virtuelles Numpad oder eine Tastatur, jenachdem,
ob es sich um eine numerische oder alphanumerische Eingabe handelt. Die folgende Abbildung zeigt ein Bespiel für
das virtuelle Numpad:
Abbildung 15: Virtuelle Tastatur (Numpad)
8.2.1
Software Update
Im Einverständnis mit dem Auftraggeber wurde auf die Trennung der Updates von Applikation und Konfiguration
verzichtet. Ein Software Update beinhaltet nun beides, die Applikation mit all den benötigten Bibliotheken,
Zusatztabellen und die Konfigurationsdatei.
Die gesamte Funktionalität für das Software Update der Anwendung wurde in eine externe Konsolenanwendung, den
so genannten Updater ausgelagert.
8.2.2
Abnahme
Die Abnahme des Frameworks ist gemäss Kapitel 7.2.4 durchgeführt worden und hat zu folgendem Ergebnis geführt:
Nicht alle Punkte konnten direkt getestet werden. Diese fehlenden Punkte werden mit dem Abnahmetest der
Referenz-Anwendung behandelt.
008_Schlussbericht.doc
48/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Die in Kapitel 7.2.4 aufgeführten Punkte sind getestet worden und der Abnahmetest ist insgesamt als erfolgreich
bewertet.
8.3 ReferenzReferenz- Anwendung “Brick Separierer”
Für die Referenzanwendung „Brick Separierer“ muss, wie in der folgenden Abbildung gezeigt, eine Auftrags-ID
eingegeben werden. Ist diese korrekt, wird vom PMS ein Rezept heruntergeladen, worin die benötigten Informationen
abgelegt sind.
Abbildung 16: Bild Eingabe Auftrags-ID
008_Schlussbericht.doc
49/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Anhand dieses Rezeptes werden, wie in der nachfolgenden Abbildung gezeigt, die Bricks angezeigt und markiert. Die
Beschriftung A1,A2,…,B1,B2,…. wird vom Rezept vorgegeben. Die echten Bricks kommen mit derselben
Beschriftung vom vorherigen Arbeitsplatz zu dieser Station. Mittels der Buttons „Pass“ und „Fail“ können die Bricks als
gut oder schlecht befunden werden. Die Farben der Bricks zeigen den Zustand des Bricks an und sind wie folgt
definiert:
•
Grau:
Der Brick ist nicht bearbeitet
•
Gelb:
Markiert den aktuell zu bearbeitende Brick
•
Grün:
Pass
•
Rot:
Fail
Abbildung 17: Bild Übersicht Bricks
008_Schlussbericht.doc
50/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Muss der Brick anhand des Rezeptes vermessen werden, wird automatisch das folgende Bild angezeigt:
Abbildung 18: Bild Messung eines Bricks
In diesem Bild kann der Bediener die gemessenen Werte eintragen und mit dem „Finish“-Button den aktuellen Brick
abschliessen.
8.3.1
Abnahme
Die Abnahme erfolgte als Walkthrough und erfolgte durch Arjan DJ Paijralbe.
Getestet wurden sämtliche, im Pflichtenheft aufgeführten spezifizierten Anforderungen. Getestet wurden auch Punkte,
wie sie bei der Abnahme der Hardware-Adapter durchgeführt wurden.
Als Abnahmedokument diente das Pflichtenheft, das Design, der Quellcode und die API Dokumentation.
8.4 Dokumentation
8.4.1
“Entwicklerhandbuch”
“Entwicklerhan dbuch”
Da das Framework bereits zu einer nicht zu unterschätzenden Grösse herangewachsen ist, ist es unerlässlich, eine
Dokumentation für das Erstellen von weiteren Terminal-Anwendungen zu kreieren.
008_Schlussbericht.doc
51/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Mit dem Ende der Diplomarbeit ist noch lange nicht Schluss mit dem Gesamtprojekt PMS und den diversen
Teilprojekten wie das TerminalPMS. Von daher macht es keinen Sinn, bereits jetzt eine solche Dokumentation zu
erstellen.
8.4.2
API
Die API-Dokumentation ist für folgende Quellcode-Projekte vollumfänglich vorhanden:
-
Hardware-Adapter Barcode-Leser
-
Hardware-Adapter Label-Drucker
-
Framework
Die Dokumentierung des Quellcodes ist direkt im Quellcode integriert und ist mit dem Standardmechanismus des
Visual Studios formatiert.
Zur Generierung der API Dokumentation wurde die Software Doxygen verwendet.
8.5 Integration
8.5.1
Integrationstest
Die in Kapitel 7.4 aufgeführten Punkte wurden getestet und der Integrationstest als erfolgreich bewertet.
8.6 Projektplan
Der Projektplan (siehe Anhang, Kapitel 12.1) konnte mit leichter Verspätung eingehalten werden. Die Verspätungen
resultierten daraus, dass zu Beginn und während der Arbeit notwendige Informationen nicht oder nur schwer
eingeholt werden konnten. Hinzu kam, dass keine Anbindung an den IS oder ans PMS erstellt werden konnte, da
diese bis anhin nicht funktionsfähig waren, was dazu führte, dass selber ein Dummy-IS erstellt wurde. Leider konnte
der Label-Drucker nicht rechtzeitig beschafft werden, was die Abnahme verzögerte.
008_Schlussbericht.doc
52/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
9 Diskussion
Diskussion
Insgesamt verlief das Projekt gut. Wir konnten alle Muss-Anforderungen erfüllen. Aufgrund der sehr guten
Programmierkenntnisse von Herrn Beat Bösiger konnten grössere Schwierigkeiten vermieden werden.
9.1 Projektablauf
Im gesamten Ablauf des Projektes wurde darauf geachtet, möglichst genau nach Vorgabe aus dem Unterricht des
MAS-IT Studiums vorzugehen.
Als absolutes Muss zu bewerten, ist das Pflichtenheft mit den genau spezifizierten Anforderungen des Produktes. Das
Pflichtenheft war Gold wert und hat uns eine Menge Ärger erspart. Es hat uns als Absicherung bestens gedient.
Ebenfalls absolut sinnvoll ist ein zeitlicher Projektplan. Dadurch ist stets ersichtlich, wo man gerade steht.
Durch die oben genannten Punkte ist es uns gelungen, ohne grössere Schwierigkeiten den Termin halten zu können
und die Arbeit fertig abliefern zu können.
Die erlernte und angewendete Vorgehensweise hat uns gezeigt, dass es durchaus sinnvoll ist, sich gut zu organisieren
und möglichst nach einem bewährten Schema vorzugehen.
008_Schlussbericht.doc
53/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
9.2 Framework
Framework
9.2.1
WPF
Mit der gewählten WPF-Technologie von Microsoft traten diverse Schwierigkeiten auf. Da dies eine relativ neue
Technologie ist, traten mehrmals Schwierigkeiten auf, resp. Kinderkrankheiten kamen zum Vorschein. Einige Probleme
konnten bereinigt werden, indem das Service Pack 1 für’s Visual Studio 2008 installiert wurde. Andere Probleme
mussten technisch umgangen werden.
Für ein nächstes Projekt würden wir nicht mehr WPF für das GUI einsetzen. Die Möglichkeiten schränken zu sehr ein.
Vor allem, was objekt-orientierte Programmierung angeht.
Hier zwei Beispiele:
-
Eine Klasse (XAML) mit WPF Technologie kann nicht von einer abstrakten Klasse abgeleitet werden. Es
wurden zwar Basisklassen erstellt, allerdings konnten diese Klassen nicht als abstract definiert werden.
-
Eine Klasse (XAML) mit WPF Technologie benötigt zwingend einen parameterlosen Konstruktor. Da unsere
Klassen zwingend Parameter braucht, wurden die Klassen mit zwei Konstruktoren ausgestattet, wovon wir
nur einen benutzen.
9.2.2
Spezifikation
Die Diplomarbeit wurde erschwert, da beim Auftraggeber das Projekt nicht in allen Punkten klar definiert war und
unterschiedliche Vorstellungen vorhanden waren. Das bewirkte zusätzlichen Aufwand im Projektmanagement.
Ausserdem konnte der Auftraggeber in einigen Punkten sehr lange oder sogar bis zum Ende gar keine genauen
Informationen liefern.
9.2.3
Integration Service (IS)
Da der IS nicht rechtzeitig zur Verfügung gestellt werden konnte, mussten wir einen eigenen, einfachen IS entwickeln,
um unsere Anwendung testen zu können.
9.2.4
SoftwareSoftware-Update
Zu diskutieren gab es auch bei den Software Update Funktionen. Im Pflichtenheft sind die Updates für Applikation und
Konfiguration getrennt aufgeführt. Allerdings ist diese Trennung aufgrund des Lastenhefts entstanden, wobei mit der
Konfiguration nicht unbedingt die Konfigurationsdatei der Terminal-Anwendung gemeint ist. Von daher machte es für
uns nicht viel Sinn, das Update von Applikation und Konfiguration zu trennen.
9.3 ReferenzReferenz- Anwendung “Brick Separierer”
Da der Ablauf des Arbeitsplatzes „Brick Separierer“ nicht fertig definiert ist, wurde ein provisorischer Prozessablauf
definiert und umgesetzt. Grösstwahrscheinlich ist dies nicht der letzte Stand. Die Umsetzung der ReferenzAnwendung hat sich jedoch sehr gut als Test für das Framework geeignet, was uns auf Fehler aufmerksam machte.
008_Schlussbericht.doc
54/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
10 Ausblick
In diesem Kapitel werden verschiedene Verbesserungsvorschläge beschrieben. Ebenfalls sind die anstehenden
Arbeiten aufgeführt, die nach der Diplomarbeit erledigt werden sollten.
10.1 Dokumentation
Um dem Entwickler einer Terminal-Anwendung die Arbeit zu erleichtern, ist es notwendig, ein Benutzerhandbuch zu
verfassen. Die diversen Beispiele und die API Dokumentation ist zwar in vollem Umfang vorhanden, reicht aber nicht
aus.
10.2 HardwareHardware - Adapter
Zu Beginn war der Plan, die Hardware-Adapter nicht direkt in die Terminal-Anwendung (Framework) einzubinden,
sondern Zusatzmodule für den IS (Integrations-Service) zu erstellen. Die Kommunikation sollte dann stets über den IS
laufen. Allerdings hatten wir zu dieser Variante unsere Bedenken ausgesprochen, da überhaupt nicht gewährleistet
war, ob der IS zum benötigten Zeitpunkt verfügbar sein wird. Im Einverständnis mit dem Auftraggeber haben wir uns
auf die direkte Anbindung der Hardware-Adapter im Framework geeinigt. Sobald der IS in vollem Umfang verfügbar
ist, sollten aber von den Hardware-Adaptern neue Module für den IS erstellt werden.
Gegebenenfalls muss das Framework an die neue Situation angepasst werden, sofern die angeschlossene Hardware
über den IS verfügbar sein soll.
10.2.1 Geräte mit EinEin -/Ausgabe
Das Package Adapter im Framework unterstützt nur Eingabe- oder Ausgabegeräte. Geräte mit bidirektionaler
Kommunikation werden zurzeit nicht unterstützt.
Falls benötigt, muss eine weitere Klasse mit dem Inhalt der beiden Data Klassen (ADataInput, ADataOutput) erstellt
werden, um Geräte mit bidirektionaler Kommunikation zu unterstützen.
10.2.2 LabelLabel -Drucker
Da der Laber-Drucker nicht rechtzeitig zur Verfügung gestellt werden konnte, muss der Hardware-Adapter für den
Drucker angepasst werden.
10.2.3 BarcodeBarcode-Leser
Der Hardware-Adapter für den Barcode-Leser konnte ohne offene Punkte realisiert werden.
008_Schlussbericht.doc
55/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
10.3 Framework
Aufgrund des fehlenden IS wurden die benötigten Funktionen über einen Dummy-IS realisiert. Diese Schnittstelle ist
beim Wechsel zum endgültigen IS anzupassen.
10.4 ReferenzReferenz- Anwendung “Brick Separierer”
Da der Ablauf zum jetzigen Zeitpunkt nicht zu endgültig definiert ist, werden grösstwahrscheinlich Änderungen
vorgenommen werden müssen.
008_Schlussbericht.doc
56/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
11 Verzeichnisse
11.1 Abbildungsverzeichnis
Abbildung 1: Gesamtprozessablauf ............................................................................................................................. 7
Abbildung 2: Mindmap Gesamtfunktionalität ............................................................................................................. 13
Abbildung 3: Komponentenübersicht ........................................................................................................................ 14
Abbildung 4: Anwendungsfallmodell für den Label-Drucker ....................................................................................... 15
Abbildung 5: Fachklassendiagramm Label-Drucker ................................................................................................... 17
Abbildung 6: Anwendungsfallmodell für den Barcode-Leser ...................................................................................... 19
Abbildung 7: Fachklassendiagramm Barcode-Leser.................................................................................................. 21
Abbildung 8: Anwendungsfallmodell der Basisfunktionalität im Framework ................................................................ 23
Abbildung 9: Anwendungsfallmodell der Operatorfunktionalität im Framework........................................................... 25
Abbildung 10: Fachklassendiagramm Framework ..................................................................................................... 30
Abbildung 11: Anwendungsfallmodell für den Brick Separierer .................................................................................. 32
Abbildung 12: Ablauf Brick Separierer ....................................................................................................................... 33
Abbildung 13: Paketaufteilung Framework ................................................................................................................ 37
Abbildung 14: GUI Grundelemente Framework ......................................................................................................... 47
Abbildung 15: Virtuelle Tastatur (Numpad)................................................................................................................. 48
Abbildung 16: Bild Eingabe Auftrags-ID..................................................................................................................... 49
Abbildung 17: Bild Übersicht Bricks .......................................................................................................................... 50
Abbildung 18: Bild Messung eines Bricks .................................................................................................................. 51
Abbildung 19: Klassendiagramm Label Drucker ........................................................................................................ 99
Abbildung 20: Klassendiagramm Barcode-Leser ..................................................................................................... 100
Abbildung 21: Klassendiagramm Framework, Teil 1 ................................................................................................ 101
Abbildung 22: Klassendiagramm Framework, Teil 2 ................................................................................................ 102
Abbildung 23: Klassendiagramm Adapter................................................................................................................ 103
Abbildung 24: Klassendiagramm Communication ................................................................................................... 104
Abbildung 25: Klassendiagramm Configuration, Teil 1 ............................................................................................. 105
Abbildung 26: Klassendiagramm Configuration, Teil 2 ............................................................................................. 106
Abbildung 27: Klassendiagramm Configuration, Teil 3 ............................................................................................. 107
Abbildung 28: Klassendiagramm GUI ...................................................................................................................... 108
Abbildung 29: Klassendiagramm Referenz-Anwendung „Brick Separierer“ .............................................................. 109
008_Schlussbericht.doc
57/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
11.2 Tabellenverzeichnis
Tabelle 1: Dokumentversionen .................................................................................................................................... 6
Tabelle 2: Projektspezifisches Glossar ......................................................................................................................... 8
Tabelle 3: Anforderungsspezifisches Glossar............................................................................................................... 9
Tabelle 4: Projektspezifische Referenzen ................................................................................................................... 10
Tabelle 5: Eingesetzte Werkzeuge ............................................................................................................................. 12
Tabelle 6: Synthese Label-Drucker ............................................................................................................................ 16
Tabelle 7: Synthese Barcode-Leser ........................................................................................................................... 20
Tabelle 8: Synthese Framework................................................................................................................................. 26
Tabelle 9: Anwendungsfall-Beschreibung Label-Drucker konfigurieren ...................................................................... 62
Tabelle 10: Anwendungsfall-Beschreibung Vorlage herunterladen ............................................................................. 62
Tabelle 11: Anwendungsfall-Beschreibung Vorlage speichern ................................................................................... 63
Tabelle 12: Anwendungsfall-Beschreibung Vorlageninhalt interpretieren .................................................................... 63
Tabelle 13: Anwendungsfall-Beschreibung Label drucken ......................................................................................... 64
Tabelle 14: Anwendungsfall-Beschreibung Barcode-Leser konfigurieren ................................................................... 65
Tabelle 15: Anwendungsfall-Beschreibung Barcode lesen ......................................................................................... 65
Tabelle 16: Anwendungsfall-Beschreibung HW-Adapter hinzufügen .......................................................................... 66
Tabelle 17: Anwendungsfall-Beschreibung Menü bearbeiten ..................................................................................... 66
Tabelle 18: Anwendungsfall-Beschreibung Fensterinhalt bearbeiten .......................................................................... 67
Tabelle 19: Anwendungsfall-Beschreibung Fenster hinzufügen .................................................................................. 67
Tabelle 20: Anwendungsfall-Beschreibung Sprache hinzufügen ................................................................................ 68
Tabelle 21: Anwendungsfall-Beschreibung Bilder hinzufügen .................................................................................... 68
Tabelle 22: Anwendungsfall-Beschreibung Barcodetyp aktivieren oder deaktivieren .................................................. 69
Tabelle 23: Anwendungsfall-Beschreibung Fenster aktivieren oder deaktivieren......................................................... 69
Tabelle 24: Anwendungsfall-Beschreibung Hilfsmittel aktivieren oder deaktivieren ..................................................... 70
Tabelle 25: Anwendungsfall-Beschreibung URL speichern ........................................................................................ 70
Tabelle 26: Anwendungsfall-Beschreibung Text-/XML-/HTML-Dokumente herunterladen ......................................... 71
Tabelle 27: Anwendungsfall-Beschreibung Text-/XML-/HTML-Dokumente anzeigen ................................................. 71
Tabelle 28: Anwendungsfall-Beschreibung Auftrags-ID senden ................................................................................. 71
Tabelle 29: Anwendungsfall-Beschreibung ID-Antwort speichern .............................................................................. 72
Tabelle 30: Anwendungsfall-Beschreibung Barcode einlesen .................................................................................... 72
Tabelle 31: Anwendungsfall-Beschreibung Barcode aufsplitten ................................................................................. 73
Tabelle 32: Anwendungsfall-Beschreibung Fehler anzeigen ....................................................................................... 73
Tabelle 33: Anwendungsfall-Beschreibung Produktionsstand speichern .................................................................... 74
Tabelle 34: Anwendungsfall-Beschreibung HW-Adapter laden .................................................................................. 74
Tabelle 35: Anwendungsfall-Beschreibung Sprache ändern ...................................................................................... 75
Tabelle 36: Anwendungsfall-Beschreibung Sprachabhängige Bilder anzeigen ........................................................... 75
Tabelle 37: Anwendungsfall-Beschreibung Operator ID eingeben .............................................................................. 76
Tabelle 38: Anwendungsfall-Beschreibung Operator-ID abbrechen ........................................................................... 76
Tabelle 39: Anwendungsfall-Beschreibung Fenster öffnen ......................................................................................... 77
Tabelle 40: Anwendungsfall-Beschreibung Fenster schliessen................................................................................... 78
Tabelle 41: Anwendungsfall-Beschreibung Berechnung eingeben ............................................................................. 79
Tabelle 42: Anwendungsfall-Beschreibung Software Update installieren .................................................................... 79
Tabelle 43: Anwendungsfall-Beschreibung Konfigurations Update installieren ........................................................... 80
Tabelle 44: Anwendungsfall-Beschreibung Produktionsstand ändern ........................................................................ 80
Tabelle 45: Anwendungsfall-Beschreibung Auftrags-ID eingeben .............................................................................. 81
Tabelle 46: Anwendungsfall-Beschreibung Bricks anzeigen ....................................................................................... 81
Tabelle 47: Anwendungsfall-Beschreibung Pass/Fail Eingabe .................................................................................... 82
Tabelle 48: Anwendungsfall-Beschreibung Bricks messen ........................................................................................ 82
008_Schlussbericht.doc
58/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 49: Anwendungsfall-Beschreibung Brick abschliessen .................................................................................. 83
Tabelle 50: Anwendungsfall-Beschreibung Auftrag abschliessen ............................................................................... 83
Tabelle 51: Anwendungsfall-Beschreibung Etikette ausdrucken ................................................................................ 83
Tabelle 52: Test Szenarien Label Drucker konfigurieren ............................................................................................. 84
Tabelle 53: Test Szenarien Vorlage herunterladen ..................................................................................................... 85
Tabelle 54: Test Szenarien Vorlage speichern............................................................................................................ 85
Tabelle 55: Test Szenarien Vorlageninhalt interpretieren ............................................................................................ 86
Tabelle 56: Test Szenarien Label drucken ................................................................................................................. 86
Tabelle 57: Test Szenarien Barcode-Leser konfigurieren ........................................................................................... 87
Tabelle 58: Test Szenarien Barcode lesen ................................................................................................................. 87
Tabelle 59: Test Szenarien HW-Adapter hinzufügen .................................................................................................. 88
Tabelle 60: Test Szenarien Menü bearbeiten ............................................................................................................. 88
Tabelle 61: Test Szenarien Fensterinhalt erstellen ...................................................................................................... 89
Tabelle 62: Test Szenarien Fenster hinzufügen .......................................................................................................... 89
Tabelle 63: Test Szenarien Sprache hinzufügen......................................................................................................... 89
Tabelle 64: Test Szenarien Bilder hinzufügen............................................................................................................. 89
Tabelle 65: Test Szenarien Barcode de-aktivieren ..................................................................................................... 90
Tabelle 66: Test Szenarien Fenster de-aktivieren ....................................................................................................... 90
Tabelle 67: Test Szenarien Hilfsmittel de-aktivieren.................................................................................................... 90
Tabelle 68: Test Szenarien Url speichern ................................................................................................................... 90
Tabelle 69: TestSzenarien Dokumente herunterladen ................................................................................................ 90
Tabelle 70: Test Szenarien Dokumente anzeigen....................................................................................................... 91
Tabelle 71: Test Szenarien Auftrags-ID senden ......................................................................................................... 91
Tabelle 72: Test Szenarien ID-Antwort speichern....................................................................................................... 91
Tabelle 73: Test Szenarien Barcode einlesen............................................................................................................. 92
Tabelle 74: Test Szenarien Barcode aufsplitten ......................................................................................................... 92
Tabelle 75: Test Szenarien Status speichern ............................................................................................................. 93
Tabelle 76: Test Szenarien HW-Adapter laden........................................................................................................... 93
Tabelle 77: Test Szenarien Sprache ändern............................................................................................................... 94
Tabelle 78: Test Szenarien Sprachabhängige Bilder anzeigen ................................................................................... 94
Tabelle 79: Test Szenarien Operator-ID eingeben...................................................................................................... 94
Tabelle 80: Test Szenarien Operator-ID abbrechen ................................................................................................... 95
Tabelle 81: Test Szenarien Fenster öffnen ................................................................................................................. 95
Tabelle 82: Test Szenarien Fenster schliessen ........................................................................................................... 97
Tabelle 83: Test Szenarien Berechnung eingeben ..................................................................................................... 97
Tabelle 84: Test Szenarien SW-Update installieren .................................................................................................... 97
Tabelle 85: Test Szenarien Konfig-Update installieren................................................................................................ 98
Tabelle 86: Test Szenarien Produktionsstand ändern ................................................................................................ 98
008_Schlussbericht.doc
59/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12 Anhang
12.1 Projektplan
008_Schlussbericht.doc
60/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
008_Schlussbericht.doc
Schlussbericht
61/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.2 Anwendungsfall
Anwendungsfallungsfall- Beschreibungen
12.2.1 HardwareHardware-Adapter
12.2.1.1 Label Drucker
Tabelle 9: Anwendungsfall-Beschreibung Label-Drucker konfigurieren
Eigenschaft
Name
Beschreibung
Label-Drucker konfigurieren
Kurzbeschreibung
Auslöser
Die Hardware-Schnittstelle zum Label-Drucker mit den Parametern aus der
entsprechenden Konfigurationsdatei konfigurieren und den Label-Drucker mit
den Parametern aus der entsprechenden Konfigurationsdatei konfigurieren
Start Anwendung
Ergebnis
Akteur
Hardware-Schnittstelle zum Label-Drucker richtig konfiguriert und LabelDrucker richtig konfiguriert
System
Vorbedingungen
Nachbedingungen
Label-Drucker angeschlossen
Konfigurationsdateien vorhanden
Label-Drucker einsatzbereit
Ablauf
Variationen
Ausnahmen, Fehler
1. Konfigurationsdatei Schnittstelle öffnen
2. Parameter lesen
3. Hardware-Schnittstelle konfigurieren
4. Konfigurationsdatei schliessen
5. Konfigurationsdatei Drucker öffnen
6. Parameter lesen
7. Drucker konfigurieren
8. Konfigurationsdatei schliessen
9. Konfigurationserfolg weiterleiten
Schnittstelle besetzt
Falsche Parameterwerte in der Konfigurationsdatei
Konfigurationsdatei nicht vorhanden
Tabelle 10: Anwendungsfall-Beschreibung Vorlage herunterladen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Vorlage herunterladen
Drucklayout-Vorlage vom PMS herunterladen
Neuer Auftrag eröffnet
Drucklayout-Vorlage gespeichert
System
URL vorhanden
URL nicht vorhanden
URL ungültig
PMS Web-Server nicht erreichbar
62/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 11: Anwendungsfall-Beschreibung Vorlage speichern
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Vorlage speichern
Vom PMS heruntergeladene Drucklayout-Vorlage lokal speichern
Drucklayout-Vorlage heruntergeladen
Drucklayout-Vorlage lokal gespeichert
System
Drucklayout-Vorlage heruntergeladen
Datei gespeichert
Datei am richtigen Ort (Ordner) und mit richtigem Dateinamen versehen
Keine Schreibrechte, um Datei lokal zu speichern
Datei vorhanden
Tabelle 12: Anwendungsfall-Beschreibung Vorlageninhalt interpretieren
Eigenschaft
Eigenschaft
Name
Beschreibung
Vorlageninhalt interpretieren
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Den Inhalt der Vorlage interpretieren, das heisst, die Escape-Sequenzen mit
gültigen Werten ersetzen und einen Druckinhalt erzeugen
Label drucken
Druckinhalt vorbereitet
System
Vorlagendatei lokal vorhanden
Druckinhalt im Arbeitspeicher vorhanden
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
1. Drucklayout-Vorlagendatei öffnen
2. Druckinhalt im Arbeitsspeicher vorbereiten
3. Inhalt der Datei lesen und parsen
4. Escape-Sequenzen interpretieren und durch gültige Werte ersetzen
5. Vorlagendatei schliessen
Vorlagendatei nicht vorhanden
Keine Leserechte zum Lesen der Vorlagendatei
Fehler in Vorlagendatei
63/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 13: Anwendungsfall-Beschreibung Label drucken
Eigenschaft
Name
Beschreibung
Label drucken
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Label ausdrucken, indem der erzeugte Druckinhalt an den Drucker gesendet
wird
Druckinhalt vorbereitet
Label ausgedruckt
System
Druckinhalt vorbereitet
Nachbedingungen
Keine Fehlermeldung vom Drucker
Label vom Drucker entnommen
Ablauf
Variationen
1. Hardware-Schnittstelle öffnen
2. Druckinhalt an Drucker senden
3. Druckende vom Drucker abwarten
4. Hardware-Schnittstelle schliessen
Bei Fehler wird kein Etikett ausgedruckt
Ausnahmen, Fehler
Hardware-Schnittstelle kann nicht geöffnet werden
Drucker nicht bereit
Drucker ist im Fehlerzustand (z.B. keine Etiketten, andere Fehler)
Fehler während des Druckvorgangs
008_Schlussbericht.doc
64/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.2.1.2 BarcodeBarcode -Leser
Tabelle 14: Anwendungsfall-Beschreibung Barcode-Leser konfigurieren
Eigenschaft
Name
Beschreibung
Barcode-Leser konfigurieren
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Die Hardware-Schnittstelle zum Barcode-Leser mit den Parametern aus der
entsprechenden Konfigurationsdatei konfigurieren
Start Anwendung
Hardware-Schnittstelle zum Barcode-Leser richtig konfiguriert
System
Vorbedingungen
Nachbedingungen
Barcode-Leser angeschlossen
Konfigurationsdatei vorhanden
Barcode-Leser einsatzbereit
Ablauf
Variationen
Ausnahmen, Fehler
1. Konfigurationsdatei öffnen
2. Parameter lesen
3. Hardware-Schnittstelle konfigurieren
4. Konfigurationsdatei schliessen
5. Konfigurationserfolg weiterleiten
Schnittstelle besetzt
Falsche Parameterwerte in der Konfigurationsdatei
Konfigurationsdatei nicht vorhanden
Tabelle 15: Anwendungsfall-Beschreibung Barcode lesen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Barcode lesen
Ein Barcode mit dem Barcode-Leser einlesen
Barcode muss erfasst werden
Barcode eingelesen
Benutzer
Barcode-Leser einsatzbereit
1. Hardware-Schnittstelle öffnen
2. Meldung lesen
3. Hardware-Schnittstelle schliessen
4. Meldung weiterleiten
Hardware-Schnittstelle kann nicht geöffnet werden
Leser nicht bereit
65/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.2.2 Framework
12.2.2.1 Entwickler
Tabelle 16: Anwendungsfall-Beschreibung HW-Adapter hinzufügen
Eigenschaft
Eigensch aft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
HW-Adapter hinzufügen
Einen Hardware-Adapter zum Framework hinzufügen
Für das Erstellen einer neuer Terminalanwendung wird ein neuer HW-Adapter
wird benötigt
Der HW-Adapter ist in der Konfigurationsdatei eingetragen
Entwickler
Der HW-Adapter ist bereit um dynamisch eingefügt zu werden
1. In der Konfigurationsdatei wird der Pfad und Namen der HWKonfigurationsdatei und Bibliothek eintragen
2. Der Entwickler hat dafür zu sorgen, dass die Konfigurationsdatei für den
HW-Adapter und die dazugehörige Bibliothek zur Verfügung stehen.
Keine Bibliotheke oder Konfigurationsdatei für den HW-Adapter am
vorgehsehenen Ort vorhanden
Ungültiger oder kein Pfad in der Konfigurationsdatei zum HW-Adapter
vorhanden
Tabelle 17: Anwendungsfall-Beschreibung Menü bearbeiten
Eigenschaft
Name
Beschreibung
Menü bearbeiten
Kurzbeschreibung
Auslöser
Die Struktur des Menüs bearbeiten, anhand der zu erstellenden
Terminalanwendung
Ein neues Terminal wird erstellt
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Die Menüstruktur der Terminalanwendung stimmt mit der zu erstellende
Anwendung (pro Screen) überein
Entwickler
1. Das Menü editieren
Variationen
Menüpunkt umplatzieren
Menüpunkt löschen
Menüpunkt einfügen
Ausnahmen, Fehler
Das falsche Menü ist für die falschen Seiten
Das Menüpunkt verweist auf eine nicht existierende Seite
008_Schlussbericht.doc
66/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 18: Anwendungsfall-Beschreibung Fensterinhalt bearbeiten
Eigenschaft
Name
Beschreibung
Fensterinhalt bearbeiten
Kurzbeschreibung
Auslöser
Bei einer neuen Terminalanwendung wird der Inhalt einer Seite bearbeitet
Ein neues Terminal wird erstellt
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Der Inhalt einer neuen Seite ist erstellt worden oder der Inhalt ist bearbeitet
worden
Entwickler
Die zu bearbeitende Seite besteht bereits
Der Inhalt der Seite ist geändert
1. Den Inhalt eines Fensters bearbeiten
Anhand des Platzbedarfs des Fensters, wird das Layout nicht richtig angezeigt
Tabelle 19: Anwendungsfall-Beschreibung Fenster hinzufügen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Fenster hinzufügen
Ein neues Fenster wird der Terminalanwendung hinzugefügt
Eine weitere Seite muss ergänzt werden
Eine neue Seite ist erstellt worden
Entwickler
Eine neue Seite besteht
1. Neue Seite hinzufügen
Bsp. Anzahl Seiten im Register ist voll ausgeschöpft und es kann keine weitere
Seite mehr eingefügt werden.
67/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 20: Anwendungsfall-Beschreibung Sprache hinzufügen
Eigenschaft
Name
Beschreibung
Sprache hinzufügen
Kurzbeschreibung
Auslöser
Bei einer vorhandenen Terminalanwendung kann die Sprachbibliothek
erweitert werden. Dies kann auch für nicht lateinische Sprachen vorkommen
(Bsp. Chinesisch)
Eine weitere Sprache muss ergänzt werden
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Die Sprache für die Terminalanwendung kann anhand der Sprachbibliothek
erweitert werden
Entwickler
Sprachbibliothek ist korrekt vorhanden
1. Die Sprachbibliothek wird in den dafür vorgesehenen Ordner kopiert
2. Das Auswahlelement für die Sprachauswahl muss erstellt werden
3. Die Konfigurationsdatei muss für die Sprache erweitert werden
Falsche Texte für die falschen Variablen
Zeichensatz wird nicht unterstützt
Die SprachBibliotheke kann nicht eingebunden werden
Zu lange Textnamen, damit ein Textfeld den Text nicht vollständig anzeigt
Das Auswahlelement für die Auswahl der Sprache existiert nicht
Sprachbibliothek ist nicht komplett
Tabelle 21: Anwendungsfall-Beschreibung Bilder hinzufügen
Eigenschaft
Name
Beschreibung
Bilder hinzufügen
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Bei einer zu erstellenden oder bestehenden Terminalanwendung können
zusätzliche Bilder hinzugefügt werden
Weitere Bilder müssen hinzugefügt werden
Die Bilder werden korrekt und in der richtigen Reihenfolge angezeigt
Entwickler
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Bilder sind richtig beschriftet
Bilder haben die richtige Grösse
1. Bilder in den vorgesehenen Ordner einfügen
Falsche Bildgrösse
Falsche Bildreihenfolge (falsche Bildernummerierung)
68/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 22: Anwendungsfall-Beschreibung Barcodetyp aktivieren oder deaktivieren
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Barcodetyp aktivieren oder deaktivieren
Jeder Barcodetyp kann mittels einer Konfigurationsdatei aktiviert oder
deaktiviert werden
Der Entwickler will einen Barcodetyp aktivieren oder deaktivieren
Der Barcodetyp ist aktiv oder nicht aktiv
Entwickler
1. Konfigurationsdatei öffnen
2. Barcodetyp aktivieren oder deaktivieren
3. Konfigurationsdatei speichern und schliessen
Konfigurationsdatei kann nicht geöffnet werden
Kein Schreibrecht in der Konfigurationsdatei
Barcodetyp ist in der Konfigurationsdatei nicht vorhanden
Tabelle 23: Anwendungsfall-Beschreibung Fenster aktivieren oder deaktivieren
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Fenster aktivieren oder deaktivieren
Jedes Fenster kann mittels einer Konfigurationsdatei aktiviert oder deaktiviert
werden
Der Entwickler will ein Fenster aktivieren oder deaktivieren
Das Fenster ist aktiv oder nicht aktiv
Entwickler
1. Konfigurationsdatei öffnen
2. Fenster aktivieren oder deaktivieren
3. Konfigurationsdatei speichern und schliessen
Konfigurationsdatei kann nicht geöffnet werden
Kein Schreibrecht in der Konfigurationsdatei
Das Fenster ist in der Konfigurationsdatei nicht vorhanden
69/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 24: Anwendungsfall-Beschreibung Hilfsmittel aktivieren oder deaktivieren
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Hilfsmittel aktivieren oder deaktivieren
Jedes Hilfsmittel kann mittels einer Konfigurationsdatei aktiviert oder deaktiviert
werden
Der Entwickler will ein Hilfsmittel aktivieren oder deaktivieren
Das Hilfsmittel ist aktiv oder nicht aktiv
Entwickler
1. Konfigurationsdatei öffnen
2. Hilfsmittel aktivieren oder deaktivieren
3. Konfigurationsdatei speichern und schliessen
Konfigurationsdatei kann nicht geöffnet werden
Kein Schreibrecht in der Konfigurationsdatei
Hilfsmittel ist in der Konfigurationsdatei nicht vorhanden
12.2.2.2 System
Tabelle 25: Anwendungsfall-Beschreibung URL speichern
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
URL speichern
Die vom AS erhaltene URL speichern
URL von AS erhalten
URL gespeichert
System
1. Die URL im System abspeichern
70/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 26: Anwendungsfall-Beschreibung Text-/XML-/HTML-Dokumente herunterladen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Text-/XML-/HTML-Dokumente herunterladen
Text-/XML-/HTML-Dokumente vom PMS herunterladen
Sobald Dokumente vom Ablauf benutzt werden müssen
Text-/XML-/HTML-Dokumente gespeichert
System
URL vorhanden
URL nicht vorhanden
PMS Web-Server nicht erreichbar
Tabelle 27: Anwendungsfall-Beschreibung Text-/XML-/HTML-Dokumente anzeigen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Text-/XML-/HTML-Dokumente anzeigen
Gespeicherte Text-/XML-/HTML-Dokumente anzeigen
Sobald Dokumente vom Ablauf benutzt werden müssen
Text-/XML-/HTML-Dokumente angezeigt
System
Text-/XML-/HTML-Dokumente heruntergeladen
Text-/XML-/HTML-Dokumente nicht vorhanden
Tabelle 28: Anwendungsfall-Beschreibung Auftrags-ID senden
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Auftrags-ID senden
Die Auftrags-ID ans PMS senden
Neuer Auftrag eröffnen
Die ID ist gesendet
System
Kein offener Auftrag
1. Auftrags-ID eingeben
2. ID ans PMS senden
Falsche oder ungültige ID
AS nicht erreichbar
71/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 29: Anwendungsfall-Beschreibung ID-Antwort speichern
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Regeln
Invarianten
Inkludierte AF
Beschreibung
ID-Antwort speichern
Nachdem die Auftragsdaten ans PMS gesendet worden sind, kommt vom
PMS eine Antwort mit den nötigen Daten
ID senden (neuer Auftrag eröffnen)
Alle benötigten Daten zu einem Auftrag sind lokal gespeichert
System
Auftrag-ID muss ans PMS gesendet werden
1. Die Daten zum Auftrag werden vom PMS als Antwort gespeichert
Keine oder nicht alle Auftragsdaten wurden zurückgegeben
Auftrags-ID senden
Tabelle 30: Anwendungsfall-Beschreibung Barcode einlesen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Barcode einlesen
Der Barcode wird über den HW-Adapter eingelesen
Eine Identifikationsnummer wird benötigt
Der Wert eines Barcodes ist gespeichert
System
Barcode wurde vom HW-Adapter richtig eingelesen
1. System erhält eine Meldung vom HW-Adapter, dass ein Barcode vorhanden
ist
2. Das System liest den Barcode ein
3. Der Wert des Barcodes wird im Arbeitsspeicher gespeichert
Kein oder ein ungültiger Barcode vorhanden
72/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 31: Anwendungsfall-Beschreibung Barcode aufsplitten
Eigenschaft
Name
Beschreibung
Barcode aufsplitten
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Der eingelesene Wert des Barcodes wird dem dazugehörigen Typ zugeordnet
Barcode wurde eingelesen
Der Wert eines Barcodes ist dem richtigen Barcode-Typ zugeordnet
System
Barcode wurde vom HW-Adapter richtig eingelesen
Ablauf
Variationen
Ausnahmen, Fehler
1. Das System liest den Wert des Barcodes aus dem Speicher
2. Das Framework identifiziert den Barcode mit dem jeweiligen Typ
(Brick/Ingot/…)
3. Der Wert des Barcodes wird ins Feld eingetragen, wenn der Typ dazu
übereinstimmt
4. Nach dem Drücken der Enter-Taste wird der Barcode übernommen
Barcode-Identifikation findet den Typ nicht
Falscher Barcode-Typ
Tabelle 32: Anwendungsfall-Beschreibung Fehler anzeigen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Regeln
Invarianten
Inkludierte AF
008_Schlussbericht.doc
Beschreibung
Fehler anzeigen
Wenn der Barcode ungültig ist, wird ein Fehler angezeigt
Keine oder ungültiger Barcode
Ein Dialog mit einer Fehlermeldung wird angezeigt
System
Der Barcode wurde aufgesplittet und es war kein oder ein ungültiger Wert
vorhanden
1. Eine Meldung erscheint, dass kein oder ein ungültiger Wert des Barcodes
vorhanden ist
Dialogfenster wird nicht angezeigt
Barcode aufsplitten
73/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 33: Anwendungsfall-Beschreibung Produktionsstand speichern
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Produktionsstand speichern
Der Status des Produktionsstands wird gespeichert und ans PMS gesendet
Der Status wird geändert
Der Status ist gespeichert
System
Der Status des Produktionsstands hat geändert
1. Status ändert
2. Status wird gespeichert
3. Status wird ans PMS gesendet
PMS ist nicht ansprechbar
Das Speichern ist nicht möglich
Tabelle 34: Anwendungsfall-Beschreibung HW-Adapter laden
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
HW-Adapter laden
Beim Starten der Terminalanwendung werden die konfigurierten HW-Adapter
geladen
Alle HW-Adapter sind im System integriert und können die Aufgaben
wahrnehmen
System
Die Bibliothek muss vorhanden sein
Die dazugehörige Konfigurationsdatei muss vorhanden sein
1. HW-Adapter (Bibliothek) dynamisch laden
2. Die HW gegebenenfalls konfigurieren
HW-nicht angeschlossen
74/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.2.2.3 Operator
Tabelle 35: Anwendungsfall-Beschreibung Sprache ändern
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Sprache ändern
Die Sprache wird anhand der ausgewählten Sprache geändert und angezeigt
Der Bediener ändert die Sprache
Die Terminalanwendung wird in der gewünschten Sprache angezeigt
Operator
Die gewünschte Sprache ist als Sprachtabelle vorhanden und installiert
Die Sprachumstellung kann umgestellt werden
1. Beim Starten wird die in der Konfigurationsdatei eingestellte Sprache
angezeigt
2. Der Benutzer wählt die gewünschte Sprache, indem er auf den jeweiligen
Button drückt
3. Die Anwendung erscheint in der gewünschten Sprache
4. Die gewählte Sprache wird in der Konfigurationsdatei gesetzt
Die Sprache stellt nicht um
Die Bibliothek ist nicht vorhanden
Die Bibliothek ist unvollständig
Die gewünschte Sprache kann nicht umgestellt werden
Tabelle 36: Anwendungsfall-Beschreibung Sprachabhängige Bilder anzeigen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Beschreibung
Sprachabhängige Bilder anzeigen
Anhand der gewählten Sprache, die sprachabhängigen Bilder anzeigen
Sprache ändern (Benutzer)
Die sprachabhängigen Bilder werden angezeigt
Operator
Vorbedingungen
Sprache wurde geändert oder beim Starten wird in der Konfigurationsdatei die
gewählte Sprache initialisiert
Nachbedingungen
Wenn ein Fenster mit Bildinhalt geöffnet wird, dann werden anhand der
ausgewählten Sprache die sprachabhängigen Bilder angezeigt
Ablauf
Variationen
Ausnahmen, Fehler
Regeln
Invarianten
Inkludierte AF
008_Schlussbericht.doc
Wenn ein Fenster mit Bildinhalt geöffnet wird, dann werden anhand der
ausgewählten Sprache die sprachabhängigen Bilder angezeigt
Bilder in der entsprechenden Sprache ist nicht vorhanden
Sprache ändern
75/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 37: Anwendungsfall-Beschreibung Operator ID eingeben
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Beschreibung
Operator ID eingeben
Der Operator gibt seine ID ein
Eine Anmeldung wird verlangt
Der Operator ist angemeldet
Operator
Anmeldefenster offen
Eingabefeld fokusiert
Cursor auf Eingabefeld
Möglichkeit zum Öffnen der virtuellen Tastatur vorhanden
Optional: Barcode-Leser bereit
Ablauf
1. Cursor und Fokus auf entsprechendes Eingabefeld setzen
2. Virtuelle Tastatur öffnen nach Befehl "Öffnen der virtuellen Tastatur"
3. Identifikationsnummer über virtuelle Tastatur eingeben
4. Bestätigen mit Enter
5. Identifikationsnummer wird übernommen
6. Virtuelle Tastatur schliessen
Variationen
Ausnahmen, Fehler
Barcode Leser:
1. Cursor und Fokus auf entsprechendes Eingabefeld setzen
2. Identifikationsnummer über Barcode-Leser einlesen
3. Automatische Bestätigung
Keine oder eine ungültige ID vorhanden
Tabelle 38: Anwendungsfall-Beschreibung Operator-ID abbrechen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Operator-ID abbrechen
Die Eingabe der Operator-ID wird abgebrochen
Der Operator will die Eingabe der Operator-ID abbrechen
Die Operator-ID wird nicht übernommen
Operator
Der Operator versuchte vorher seine ID einzugeben
Abbrechen der Operator-ID
76/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 39: Anwendungsfall-Beschreibung Fenster öffnen
Eigenschaft
Name
Beschreibung
Fenster öffnen
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung wird geöffnet und
angezeigt
Aufruf des Fensters über das Menü
Der Fenster wird angezeigt
Operator
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Regeln
Invarianten
Inkludierte AF
Bemerkungen
008_Schlussbericht.doc
Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung ist vorhanden
Der Aufruf des Fensters ist in mindestens einem Menüpunkt hinterlegt
Das Fenster ist aktiviert
1. Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung wird geöffnet
2. Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung wird angezeigt
Die Datei mit dem Dokument/Beschreibung ist nicht vorhanden
Die Datei mit dem Dokument/Beschreibung ist lese-geschützt
Dieser Anwendungsfall gilt für:
Arbeitsbeschreibungshilfe
Auftragsinformationen
Informationen zu nächsten Aufträgen
Wartungsinformationen
Bildschirm-Reinigerhilfe
Bilder-Assistent
Test-Bedingungshilfe
Rechner
Kalender
Software-Version
77/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 40: Anwendungsfall-Beschreibung Fenster schliessen
Eigenschaft
Name
Beschreibung
Fenster schliessen
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung etc wird
geschlossen
Aufruf eines anderen Fensters über das Menü
Das Fenster ist geschlossen
Operator
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Regeln
Invarianten
Inkludierte AF
Bemerkungen
008_Schlussbericht.doc
Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung etc wird angezeigt
1. Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung etc wird nicht
mehr angezeigt
2. Das Fenster mit dem Dokument/Hilfsmittel/Beschreibung etc wird
geschlossen
Ein Dialog ist nicht als modal offen
Dieser Anwendungsfall gilt für:
Arbeitsbeschreibungshilfe
Auftragsinformationen
Informationen zu nächsten Aufträgen
Wartungsinformationen
Bildschirm-Reinigerhilfe
Bilder-Assistent
Test-Bedingungshilfe
Rechner
Kalender
Software-Version
78/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 41: Anwendungsfall-Beschreibung Berechnung eingeben
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Berechnung eingeben
Es kann eine Rechnung in den Rechner eingegeben werden
Der Operator möchte eine Berechnung ausführen
Das Ergebnis der Berechnung wird angezeigt
Operator
Der Rechner ist geöffnet
Das Resultat der Berechnung wird angezeigt
1. Die erste Zahl wird eingegeben
2. Die Operation wird eingegeben
3. Die zweite Zahl wird eingegeben
4. Das "Gleichheits"-Zeichen wird gedrückt
5. Das Resultat wird angezeigt
6. Das Resultat kann wieder als erste Zahl benutzt werden
Der Ablauf wird nicht eingehalten
Falsche Konfiguration des Touch (virtuelle Tastatur wird nicht angezeigt)
Tabelle 42: Anwendungsfall-Beschreibung Software Update installieren
Eigenschaft
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Software Update installieren
Ein Software Update wird installiert
Der Operator möchte die neuste Software-Version
Die neuste Software ist installiert
Operator
Ein Software Update ist vorhanden
1. Überprüfen ob eine neuere Version der Software auf dem PMS vorhanden
ist
2. Software vom PMS herunterladen
3. Software installieren
4. Software neu starten
Keine neue Software vorhanden
Installation konnte nicht ausgeführt werden
79/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 43: Anwendungsfall-Beschreibung Konfigurations Update installieren
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Konfigurations Update installieren
Ein Konfigurations Update wird installiert
Der Operator möchte die neuste Version oder ein Hilfsmittel de- oder
aktivieren
Die neuste Konfiguration ist installiert
Operator
Ein Konfigurations Update ist vorhanden
1. Überprüfen ob eine neuere Version der Konfiguration auf dem PMS
vorhanden ist
2. Konfiguration herunterladen
3. Konfiguration speichern
4. Konfiguration neu laden
Keine neue Konfiguration vorhanden
Installation konnte nicht ausgeführt werden
Tabelle 44: Anwendungsfall-Beschreibung Produktionsstand ändern
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Beschreibung
Produktionsstand ändern
Der Status des Produktionsstands wird geändert
Der Produktionsstatus ändert sich oder wird vom Operator übersteuert
Der Status ist geändert
Operator oder System
1. Status ändert
Änderung findet im System nicht statt.
80/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.2.3 ReferenzReferenz-Anwendung „Brick Separierer“
Tabelle 45: Anwendungsfall-Beschreibung Auftrags-ID eingeben
Eigenschaft
Name
Beschreibung
Auftrags-ID eingeben
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Der Benutzer gibt die Auftrags-ID von Hand oder mittels Barcode Leser ein.
Ein Auftrag soll abgearbeitet werden
Ein gültiger Auftrag soll bearbeitet werden können
Bediener
Die Anwendung ist gestartet
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Der Auftrag kann bearbeitet werden
Die im Auftrag enthaltenen Bricks werden angezeigt
Eingabe der ID von Hand
Eingabe der ID mittels Barcode Leser
Falsche Auftrags-ID
Tabelle 46: Anwendungsfall-Beschreibung Bricks anzeigen
Eigenschaft
Name
Kurzbeschreibung
Beschreibung
Bricks anzeigen
Alle zu bearbeitenden Bricks werden angezeigt
Auslöser
Ergebnis
Akteur
Eine gültige Auftrags-ID wurde eingegeben und ein Rezept vom Server
geladen
Ein gültiger Auftrag soll bearbeitet werden können
System
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Eine gültige Auftrags-ID wurde eingegeben und ein Rezept vom Server
geladen
Die Bricks werden angezeigt
Ungültiges Rezept
81/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 47: Anwendungsfall-Beschreibung Pass/Fail Eingabe
Eigenschaft
Name
Beschreibung
Pass/Fail Eingabe
Kurzbeschreibung
Auslöser
Der Benutzer gibt anhand einer visuellen Kontrolle ein Pass oder Fail für den
angezeigten Brick
Ein Brick soll bearbeitet werden
Ergebnis
Akteur
Vorbedingungen
Die Anwendung zeigt dem Benutzer ob bei Pass eine Messung durchgeführt
werden muss
Bediener
Ein Auftrag ist aktiv
Nachbedingungen
Ablauf
Bei Pass kann anhand des Rezepts eine Messung verlangt werden
Der nexte Brick wird angezeigt
Der Brick wird als "done" beim PMS gemeldet
1. Eingabe von Pass oder Fail
Variationen
Ausnahmen, Fehler
Bei Pass kann vom Rezept her eine Messung verlangt werden
Bei Fail wird der nächste Brick angezeigt
Tabelle 48: Anwendungsfall-Beschreibung Bricks messen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Beschreibung
Bricks messen
Der Benutzer vermisst die Bricks anhand der vorgegebenen Bedingungen
Ein Brick soll vermessen werden
Ergebnis
Akteur
Vorbedingungen
Die Messdaten werden in der Anwendung eingegeben und ans PMS
weitergeleitet
Bediener
Der zu messende Brick muss vermessen werden
Nachbedingungen
Die Messdaten werden ans PMS gesendet
Anhand der gemessenen Werte müssen nur ein Teil oder alle Bricks
vermessen werden
Ablauf
Variationen
Ausnahmen, Fehler
Regeln
008_Schlussbericht.doc
1. Die Breite 1 wird gemessen und eingegeben
2. Die Breite 2 wird gemessen und eingegeben
3. Die Länge wird gemessen und eingegeben
4. Die Messung wird abgeschlossen
Anhand des Rezeptes gibt es muss und soll Messungen. Ist eine MussMessung nicht inerhalb einer Toleranz müssen allle Bricks vermessen werden
82/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 49: Anwendungsfall-Beschreibung Brick abschliessen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Brick abschliessen
Nach dem Bearbeiten der Bricks muss dem PMS mitgeteilt werden, dass der
aktuelle Brick fertig bearbeitet wurde.
Der zu bearbeitende Brick ist fertig bearbeitet
Der aktuelle Brick ist beim PMS als bearbeitet markiert
Bediener
Der zu bearbeitende Brick ist fertig bearbeitet
Für den aktuellen Brick wird eine Etikette ausgedruckt
Tabelle 50: Anwendungsfall-Beschreibung Auftrag abschliessen
Eigenschaft
Name
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
Beschreibung
Auftrag abschliessen
Nach dem Bearbeiten sämtlicher Bricks muss dem PMS mitgeteilt werden,
dass der aktuelle Auftrag fertiggestellt wurde.
Sämtliche Bricks sind fertig bearbeitet
Das PMS hat den Status abgeschlossen für den aktuellen Auftrag
Bediener
Sämtliche Bricks sind fertig bearbeitet
Tabelle 51: Anwendungsfall-Beschreibung Etikette ausdrucken
Eigenschaft
Name
Beschreibung
Etikette ausdrucken
Kurzbeschreibung
Auslöser
Ergebnis
Akteur
Nach dem Bearbeiten des aktuellen Bricks muss eine Etikette ausgedruckt
werden
Sämtliche Bricks sind fertig bearbeitet
Auf den Brick klebt eine Etikette
System
Vorbedingungen
Nachbedingungen
Ablauf
Variationen
Ausnahmen, Fehler
008_Schlussbericht.doc
Sämtliche Bricks sind fertig bearbeitet
Es ist ein Template zum Drucken der Etikette vorhanden
83/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.3 Test Szenarien
12.3.1 Hardware
Hardware-Adapter
12.3.1.1 Label Drucker
Tabelle 52: Test Szenarien Label Drucker konfigurieren
Nr.
Szenario
LDK1 Normal konfiguriert
LDK2 Schnittstelle besetzt
LDK3 Falsche Parameterwerte in
Konfigurationsdatei
LDK4 Konfigurationsdatei fehlt
008_Schlussbericht.doc
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Die Anwendung startet und
die Hardware-Schnittstelle
zum Label-Drucker wird
mittels den
Parameterwerten aus der
Konfigurationsdatei
konfiguriert
Die Anwendung startet und
versucht die HardwareSchnittstelle zum LabelDrucker mittels den
Parameterwerten aus der
Konfigurationsdatei zu
konfigurieren.
Die Anwendung startet und
versucht die HardwareSchnittstelle zum LabelDrucker mittels den
Parameterwerten aus der
Konfigurationsdatei zu
konfigurieren.
Die Anwendung startet und
versucht die HardwareSchnittstelle zum LabelDrucker mittels den
Parameterwerten aus der
Konfigurationsdatei zu
konfigurieren.
Die Schnittstelle ist bereit
Die Konfigurationsdatei ist
vorhanden
Die Parameterwerte in der
Konfigurationsdatei sind
korrekt
Hardware-Schnittstelle
konfiguriert
Anwendung initialisiert
weiter
ok
Die Schnittstelle ist nicht
bereit
Die Konfigurationsdatei ist
vorhanden
Die Parameterwerte in der
Konfigurationsdatei sind
korrekt
Die Schnittstelle ist bereit
Die Konfigurationsdatei ist
vorhanden
Mindestens 1
Parameterwert in der
Konfigurationsdatei ist
falsch
Die Schnittstelle ist bereit
Die Konfigurationsdatei ist
nicht vorhanden
Fehlermeldung wird
angezeigt
Anwendung beendet
ok
Fehlermeldung wird
angezeigt
Anwendung beendet
ok
Fehlermeldung wird
angezeigt
Anwendung beendet
ok
84/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 53: Test Szenarien Vorlage herunterladen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
VH1
Normal herunterladen
Neuer Auftrag eröffnet
URL in Antwort enthalten
PMS -Web-Server
erreichbar
Vorlage heruntergeladen
und im Speicher
ok
VH2
URL nicht vorhanden
Nach dem Eröffnen eines
neuen Auftrages wird in der
Antwort vom PMS die URL
für die Vorlage
zurückgegeben
Mit dieser URL wird die
Vorlage vom PMS WebServer heruntergeladen
Nach dem Eröffnen eines
neuen Auftrages wird in der
Antwort vom PMS die URL
für die Vorlage nicht
zurückgegeben
Neuer Auftrag eröffnet
URL in Antwort nicht
enthalten
ok
VH3
PMS Web-Server nicht
erreichbar
Nach dem Eröffnen eines
neuen Auftrages wird in der
Antwort vom PMS die URL
für die Vorlage
zurückgegeben
Mit dieser URL wird
versucht, die Vorlage vom
PMS Web-Server
herunterzuladen
Neuer Auftrag eröffnet
URL in Antwort enthalten
PMS -Web-Server nicht
erreichbar
Fehlermeldung wird
angezeigt
Möglichkeit bieten, mit
lokaler Vorlagendatei
weiterzufahren
Möglichkeit bieten, Auftrag
abzubrechen
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
VH4
URL ungültig
Nach dem Eröffnen eines
neuen Auftrages wird in der
Antwort vom PMS eine
ungültige URL für die
Vorlage zurückgegeben
Neuer Auftrag eröffnet
Ungültige URL in Antwort
enthalten
Fehlermeldung wird
angezeigt
Möglichkeit bieten, mit
lokaler Vorlagendatei
weiterzufahren
Möglichkeit bieten, Auftrag
abzubrechen
ok
Erwartetes Resultat
Erfolg
ok
Tabelle 54: Test Szenarien Vorlage speichern
Nr.
Szenario
Beschreibung
Ausgangslage
VH1
Normal speichern
Die heruntergeladene
Vorlage lokal speichern
Vorlage im Speicher
Vorlage lokal gespeichert
Schreibrecht im
entsprechenden Verzeichnis
ok
VH2
Kein Schreibrecht
Versuch, die
heruntergeladene Vorlage
ohne Schreibrecht lokal
abzuspeichern
Vorlage im Speicher
Fehlermeldung wird
Kein Schreibrecht im
angezeigt
entsprechenden Verzeichnis Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
ok
008_Schlussbericht.doc
85/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 55: Test Szenarien Vorlageninhalt interpretieren
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
VII1
Normal interpretieren
Die gespeicherte Vorlage
einlesen, parsen und
interpretieren
Auftrag offen
Teilarbeit beendet
Label soll ausgedruckt
werden
Vorlagendatei ohne
inhaltliche Fehler vorhanden
Druckinhalt vorbereitet zum
ausdrucken
ok
VII2
Vorlagendatei nicht
vorhanden
Versuch, fehlende
Vorlagendatei zu öffen
Auftrag offen
Teilarbeit beendet
Label soll ausgedruckt
werden
Vorlagendatei nicht
vorhanden
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
ok
VII3
Kein Leserecht
Versuch, ohne Leserecht
die Vorlagendatei zu öffnen
Auftrag offen
Teilarbeit beendet
Label soll ausgedruckt
werden
Vorlagendatei ohne
Leserecht vorhanden
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
ok
VII4
Fehler in Vorlage
Die gespeicherte Vorlage
einlesen, parsen und
interpretieren, obschon
Fehler in der Vorlage
Auftrag offen
Teilarbeit beendet
Label soll ausgedruckt
werden
Vorlagendatei mit
mindestens 1 inhaltlichen
Fehler vorhanden
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
ok
Tabelle 56: Test Szenarien Label drucken
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
LD1
Normal drucken
Die gespeicherte Vorlage
einlesen, parsen und
interpretieren
Label ausgedruckt
fail
LD2
Hardware-Schnittstelle
kann nicht geöffnet werden
Der Druckinhalt ist
vorbereitet zum Ausdruck,
jedoch kann nicht gedruckt
werden, weil die HardwareSchnittstelle nicht geöffnet
werden kann
Druckinhalt vorhanden
Hardware-Schnittstelle
bereit
Drucker bereit
Druckinhalt vorhanden
Hardware-Schnittstelle nicht
bereit
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
fail
LD3
Drucker nicht bereit
Der Druckinhalt ist
vorbereitet zum Ausdruck,
jedoch kann nicht gedruckt
werden, weil der Drucker
nicht bereit ist
Druckinhalt vorhanden
Hardware-Schnittstelle
bereit
Drucker nicht bereit
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
fail
LD4
Drucker im Fehlerzustand
Der Druckinhalt ist
vorbereitet zum Ausdruck,
jedoch kann nicht gedruckt
werden, weil der Drucker im
Fehlerzustand ist
Druckinhalt vorhanden
Hardware-Schnittstelle
bereit
Drucker im Fehlerzustand
Fehlermeldung wird
angezeigt
Möglichkeit bieten, erneuter
Druckvorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
fail
008_Schlussbericht.doc
86/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.3.1.2 BarcodeBarcode -Leser
Tabelle 57: Test Szenarien Barcode-Leser konfigurieren
Nr.
Szenario
BLK1 Normal konfiguriert
BLK2 Schnittstelle besetzt
BLK3 Falsche Parameterwerte in
Konfigurationsdatei
BLK4 Konfigurationsdatei fehlt
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Die Anwendung startet und
die Hardware-Schnittstelle
zum Barcode-Leser wird
mittels den
Parameterwerten aus der
Konfigurationsdatei
konfiguriert
Die Anwendung startet und
versucht die HardwareSchnittstelle zum BarcodeLeser mittels den
Parameterwerten aus der
Konfigurationsdatei zu
konfigurieren.
Die Anwendung startet und
versucht die HardwareSchnittstelle zum BarcodeLeser mittels den
Parameterwerten aus der
Konfigurationsdatei zu
konfigurieren.
Die Anwendung startet und
versucht die HardwareSchnittstelle zum BarcodeLeser mittels den
Parameterwerten aus der
Konfigurationsdatei zu
konfigurieren.
Die Schnittstelle ist bereit
Die Konfigurationsdatei ist
vorhanden
Die Parameterwerte in der
Konfigurationsdatei sind
korrekt
Hardware-Schnittstelle
konfiguriert
Anwendung initialisiert
weiter
ok
Die Schnittstelle ist nicht
bereit
Die Konfigurationsdatei ist
vorhanden
Die Parameterwerte in der
Konfigurationsdatei sind
korrekt
Die Schnittstelle ist bereit
Die Konfigurationsdatei ist
vorhanden
Mindestens 1
Parameterwert in der
Konfigurationsdatei ist
falsch
Die Schnittstelle ist bereit
Die Konfigurationsdatei ist
nicht vorhanden
Fehlermeldung wird
angezeigt
Anwendung beendet
ok
Fehlermeldung wird
angezeigt
Anwendung beendet
ok
Fehlermeldung wird
angezeigt
Anwendung beendet
ok
Tabelle 58: Test Szenarien Barcode lesen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
BL1
Brick-Barcode einlesen
Der Operator XY liest mit
dem Barcode-Leser den
Barcode eines Bricks ein
Barcode-Leser bereit
Barcode ist eingelesen
Barcode weitergeleitet
ok
BL2
Hardware-Schnittstelle
kann nicht geöffnet werden
Der Operator XY liest mit
dem Barcode-Leser den
Barcode eines Bricks ein
Barcode-Leser bereit
Hardware-Schnittstelle ist
blockiert
Fehlermeldung wird
ok
angezeigt
Möglichkeit bieten, erneuter
Lesevorgang zu starten
Möglichkeit bieten, Auftrag
abzubrechen
Möglichkeit bieten, Barcode
von Hand eingeben
BL3
Leser nicht bereit
Der Operator XY liest mit
dem Barcode-Leser den
Barcode eines Bricks ein
Barcode-Leser nicht bereit
System wartet auf Barcode
vom Leser
008_Schlussbericht.doc
87/109
ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.3.2 Framework
12.3.2.1 Entwickler
Tabelle 59: Test Szenarien HW-Adapter hinzufügen
Nr.
Szenario
HWAH1 HW-Adapter normal
hinzufügen.
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Der Entwickler trägt in der
Konfigurationsdatei der
Terminalanwendung den
HW-Adapter inkl. dem Pfad
für die Konfigurationsdatei
des HW-Adapters ein. Die
Bibliothek wird in
denselben Ordner
gespeichert, wie die
Anwendung.
Die Bibliothek für den HWAdapter und die
dazugehörige
Konfigurationsdatei ist am
richtigen Ort gespeichert.
Der Namen der Bibliotheke
stimmt.
Der Pfad zur
dazugehörigen
Konfigurationsdatei stimmt.
Die Bibliothek und die
Konfigurationsdatei ist am
richtigen Ort
abgespeichert.
ok
Tabelle 60: Test Szenarien Menü bearbeiten
Nr.
Szenario
MEB1 Menüpunkt erstellen
MEB2 Menüpunkt bearbeiten
MEB3 Menüpunkt löschen
008_Schlussbericht.doc
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Es können beliebig viele
neue Menüpunkte erstellt
werden.
Der Entwickler tauscht zwei
Menüpunkt aus.
Es besteht eine neue Seite
Zwei neue Menüpunkte
sind eingefügt.
ok
Mindestens zwei
Menüpunkte bestehen
Die Menüpunkte sind
vertauscht.
ok
Der Entwickler löscht einen
erstellten Menüpunkt
Es besteht mindestens ein
Menüpunkt.
Der Menüpunkt ist
gelöscht.
ok
88/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 61: Test Szenarien Fensterinhalt erstellen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
FIE1
Fensterinhalt (Text) erstellen
Eine neue Seite ist
hinzugefügt worden
Fensterinhalt (Bild) erstellen
FIE3
Fensterinhalt (Text)
bearbeiten
FIE4
Fensterinhalt (Bild)
bearbeiten
Der Entwickler ersetzt ein
bestehendes Bild
Eine bestehende Seite mit
einem Bild ist vorhanden
In der neuen Seite ist der
eingegebene Text
vorhanden
In der neuen Seite ist das
ausgewählte Bild
vorhanden
In der gegebenen Seite ist
der geänderte Text
vorhanden
In der gegebenen Seite ist
das neue Bild vorhanden
ok
FIE2
Der Entwickler fügt einen
neuen Text in einer neuen
Seite ein.
Der Entwickler fügt ein
neues Bild in der neuen
Seite ein
Der Entwickler ändert den
vorhanden Text
Fensterinhalt ist zu gross
Der Entwickler erstellt in
Es besteht eine Seite
einer Seite viel Inhalt mit
Bildern und Texten, so dass
der Inhalt die Seitengrösse
überschreitet.
Es wird automatisch eine
Scroll-Bar erzeugt
ok
FIE5
Eine neue Seite ist
hinzugefügt worden
Eine bestehenden Seite mit
Text ist vorhanden
ok
ok
ok
Tabelle 62: Test Szenarien Fenster hinzufügen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
FH1
Fenster hinzufügen
Der Entwickler fügt eine
neue Seite ein
Das Grundgerüst für eine
Terminalanwendung ist
vorhanden
Eine neue Seite ist
eingefügt
ok
Tabelle 63: Test Szenarien Sprache hinzufügen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
SH1
Sprachen hinzufügen
Der Entwickler fügt eine
neue Sprache hinzu.
Es besteht eine
Sprachtabelle für die neue
Sprache.
Die Sprache ist hinzugefügt
ok
Tabelle 64: Test Szenarien Bilder hinzufügen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
BH1
Bilder hinzufügen
Der Entwickler fügt neue
Bilder ein
Es besteht ein Fenster,
worin die eingefügten Bilder
angezeigt werden können.
ok
BH2
Grössere Bilder hinzufügen
Einzelne oder alle Bilder
sind zu gross.
BH3
Kleinere Bilder hinzufügen
Der Entwickler fügt neue
Bilder ein, welche zu gross
sind.
Der Entwickler fügt neue
Bilder ein, welche zu klein
sind.
Die eingefügten Bilder
werden in der
vorgegebenen Reihenfolge
und richtigen Grösse
angezeigt
Die eingefügten Bilder
werden zu gross angezeigt
Einzelne oder alle Bilder
sind zu klein.
Die eingefügten Bilder
werden zu klein angezeigt
008_Schlussbericht.doc
89/109
ok
ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 65: Test Szenarien Barcode de-aktivieren
Nr.
Szenario
BDA1 Barcodetyp aktivieren
BDA2 Barcodetyp deaktivieren
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Der Entwickler aktiviert
einen Barcodetyp in der
Konfigurationsdatei.
Der Entwickler deaktiviert
einen Barcodetyp in der
Konfigurationsdatei.
Der Barcodetyp ist in der
Konfigurationsdatei
vorhanden
Der Barcodetyp ist in der
Konfigurationsdatei
vorhanden
Der neue Barcodetyp ist
aktiviert
ok
Der neue Barcodetyp ist
nicht aktiviert
ok
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Der Entwickler aktiviert das
Fenster in der
Konfigurationsdatei
Der Entwickler deaktiviert
das Fenster in der
Konfigurationsdatei
Das Fenster ist in der
Konfigurationsdatei
vorhanden
Das Fenster ist in der
Konfigurationsdatei
vorhanden
Das Fenster ist aktiviert
ok
Das Fenster ist deaktiviert
ok
Tabelle 66: Test Szenarien Fenster de-aktivieren
Nr.
Szenario
FDA1 Fenster aktivieren
FDA2 Fenster deaktivieren
Tabelle 67: Test Szenarien Hilfsmittel de-aktivieren
Nr.
Szenario
HMDA1 Hilfsmittel aktivieren
HMDA2 Hilfsmittel deaktivieren
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Der Entwickler aktiviert das
Hilfsmittel in der
Konfigurationsdatei
Der Entwickler deaktiviert
das Hilfsmittel in der
Konfigurationsdatei
Das Hilfsmittel ist in der
Konfigurationsdatei
vorhanden
Das Hilfsmittel ist in der
Konfigurationsdatei
vorhanden
Das Hilfsmittel ist aktiviert
ok
Das Hilfsmittel ist
deaktiviert
ok
12.3.2.2 System
Tabelle 68: Test Szenarien Url speichern
Nr.
Szenario
Beschreibung
US1
URL speichern
Die URL wird abgespeichert Eine URL ist vorhanden
Ausgangslage
Erwartetes Resultat
Erfolg
Die URL ist abgespeichert
ok
Tabelle 69: TestSzenarien Dokumente herunterladen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
DH1
Text-/XML-/HTML-Dokument
herunterladen
Die URL ist vorhanden
WebServer vom PMS ist
erreichbar
Das Text-/XML-/HTML-File ok
ist im Arbeitspeicher
vorhanden
DH2
URL nicht vorhanden
Ein Text-/XML-/HTMLDokument via einer
gespeicherten URL vom
PMS herunterladen
Ein Dokument via einer
gespeicherten URL vom
PMS herunterladen. Es
existiert keine URL zum
Herunterladen.
Die URL ist nicht
vorhanden.
WebServer vom PMS ist
erreichbar
Fehlermeldung, dass keine ok
URL vorhanden ist.
Die URL ist vorhanden.
WebServer vom PMS ist
nicht erreichbar
Fehlermeldung, dass der
Web Server nicht
erreichbar ist.
DH3
PMS Web Server nicht
erreichbar
008_Schlussbericht.doc
Ein Dokument via einer
gespeicherten URL vom
PMS herunterladen. Der
Web Server ist nicht
erreichbar.
90/109
Erfolg
ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 70: Test Szenarien Dokumente anzeigen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
DA1
Text-/XML-/HTMLDokument anzeigen
Das Dokument ist im
Arbeitsspeicher
gespeichert.
Das Dokument wird im
gewünschten Fenster
angezeigt
ok
DA2
Text-/XML-/HTMLDokument nicht vorhanden
Das im Arbeitsspeicher
vorhandene Dokument wird
im dafür vorgesehenen
Fenster angezeigt.
Im Arbeitsspeicher ist kein
Dokument vorhanden
Das Dokument ist nicht im
Arbeitsspeicher
gespeichert.
Es erscheint eine
Fehlermeldung, dass keine
Dokumente vorhanden sind
ok
Tabelle 71: Test Szenarien Auftrags-ID senden
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
AIS1
Auftrags-ID senden
Eine gültige Auftrags-ID ans
PMS senden.
Eine Auftrags-ID ist
vorhanden.
AS läuft.
Die Auftrags-ID ist beim
PMS angekommen. Das
PMS sendet eine Antwort
mit der Bestätigung, dass
die Antwort korrekt ist.
ok
AIS2
Ungültige Auftrags-ID ans
PMS senden
Eine ungültige Auftrags-ID
ans PMS senden.
Eine Auftrags-ID ist
vorhanden.
AS läuft.
Die Auftrags-ID ist beim
PMS angekommen. Das
PMS sendet eine Antwort
mit einer Meldung, dass die
ID nicht korrekt ist.
ok
AID3
AS kann nicht erreicht
werden
Eine gültige Auftrags-ID ans
PMS senden. Der AS ist
nicht erreichbar.
Eine Auftrags-ID ist
vorhanden.
AS läuft nicht.
Es erscheint eine
Fehlermeldung, dass der
AS nicht erreichbar ist
ok
Tabelle 72: Test Szenarien ID-Antwort speichern
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
IAS1
ID-Antwort speichern
Die Auftrags-ID ist dem
PMS zugestellt worden
Die benötigten Daten sind
im Arbeitsspeicher
abgespeichert.
ok
IAS2
ID-Antwort nicht vorhanden
Die Auftrags-ID ist dem
PMS zugestellt worden
Keine Antwort
Es erscheint eine
Fehlermeldung, dass keine
Auftragsdaten vorhanden
sind.
Es erscheint eine
Fehlermeldung, dass keine
Antwort vom PMS
zurückkommt
ok
IAS3
Nach dem Senden der
Auftrags-ID, kommen mit
der Antwort die benötigten
Auftragsdaten zurück.
Diese Daten werden
gespeichert.
Nach dem Senden der
Auftrags-ID, kommen mit
der Antwort keine
Auftragsdaten zurück.
Nach dem Senden der
Auftrags-ID, kommt keine
Antwort.
008_Schlussbericht.doc
Die Auftrags-ID ist dem
PMS zugestellt worden
91/109
ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 73: Test Szenarien Barcode einlesen
Nr.
Szenario
BE1
Barcode einlesen
BE2
BE3
Beschreibung
Beschreibung
Das System erhält vom
HW-Adapter eine Meldung,
dass ein Barcode
vorhanden ist. Das System
liest den Barcode ein und
speichert ihn im
Arbeitsspeicher ab.
Ungültiger Barcode einlesen Das System erhält vom
HW-Adapter eine Meldung,
dass ein Barcode
vorhanden ist. Das System
liest den Barcode ein und
merkt, dass der Barcode
nicht gültig ist.
Kein Barcode vorhanden
Das System erhält vom
HW-Adapter eine Meldung,
dass ein Barcode
vorhanden ist. Nach dem
Lesen ist kein Barcode
vorhanden.
Ausgangslage
Erwartetes Resultat
Erfolg
Es kommt eine Meldung
vom HW-Adapter, dass ein
Barcode vorhanden ist.
Der Wert des eingelesenen
Barcodes ist im
Arbeitspeicher gespeichert.
ok
Es kommt eine Meldung
vom HW-Adapter, dass ein
Barcode vorhanden ist.
Es erscheint eine
Fehlermeldung, dass der
Barcode ungültig ist.
ok
Es kommt eine Meldung
vom HW-Adapter, dass ein
Barcode vorhanden ist.
Es erscheint eine
Fehlermeldung, dass kein
Barcode vorhanden ist.
ok
Tabelle 74: Test Szenarien Barcode aufsplitten
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
BA1
Barcode aufsplitten
Es ist ein Barcode im
Arbeitsspeicher vorhanden.
Nach dem Einlesen des
Barcodes und dem
Bestätigen mit Enter wird
der Barcode übernommen.
ok
BA2
Unbekannter Barcode-Typ
Es ist ein Barcode im
Arbeitsspeicher vorhanden.
Nach dem Einlesen des
Barcodes und dem
Bestätigen mit Enter
erscheint eine
Fehlermeldung, dass der
Barcode-Typ unbekannt ist.
ok
BA3
Ungültiger Barcode-Typ
Nach dem Einlesen wird der
Barcode nach Typ
identifiziert und ins
fokusierte Feld eingetragen.
Nach dem Drücken der
Enter-Taste wird der Wert
übernommen.
Nach dem Einlesen wird der
Barcode nach Typ
identifiziert und ins
fokusierte Feld eingetragen.
Nach dem Drücken der
Enter-Taste wird der Wert
nicht übernommen.
Nach dem Einlesen wird der
Barcode nach Typ
identifiziert und ins
fokusierte Feld eingetragen.
Nach dem Drücken der
Enter-Taste wird der Wert
nicht übernommen.
Es ist ein Barcode im
Arbeitsspeicher vorhanden.
Nach dem Einlesen des
Barcodes und dem
Bestätigen mit Enter
erscheint eine
Fehlermeldung, dass der
Barcode-Typ ungültig ist
(bekannt, aber z.B. nicht
aktiv).
ok
008_Schlussbericht.doc
92/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 75: Test Szenarien Status speichern
Nr.
Szenario
Beschreibung
Beschreibung
Ausgangslage
SS1
Status speichern
SS2
Status speichern, AS nicht
erreichbar
Der Status des
Der AS ist bereit
Produktionsstands wird
gespeichert und ans PMS
gesendet
Der Status des
Der AS ist nicht bereit
Produktionsstands wird
gespeichert und ans PMS
gesendet. Der AS ist jedoch
nicht erreichbar.
Erwartetes Resultat
Erfolg
Der neue Status ist im PMS
und in der
Terminalanwendung
gespeichert.
Der neue Status ist bei der
Terminalanwendung
gespeichert. Beim PMS
jedoch nicht.
ok
Erwartetes Resultat
Erfolg
Der HW-Adapter ist
eingebunden und
konfiguriert.
ok
Es erscheint eine
Fehlermeldung, dass die
Konfigurationsdatei fehlt.
ok
Es erscheint eine
Fehlermeldung, dass die
Konfigurationsdatei fehlt.
ok
Es wird kein HW-Adapter
eingebunden und es
erscheint eine
Fehlermeldung.
ok
Es wird kein HW-Adapter
eingebunden und es
erscheint eine
Fehlermeldung.
ok
ok
Tabelle 76: Test Szenarien HW-Adapter laden
Nr.
Szenario
HAL1 HW-Adapter laden
HAL2 HW-Adapter laden, jedoch
ohne Konfigurationsdatei.
HAL3 HW-Adapter laden, mit
falschem Konig-Pfad.
HAL4 HW-Adapter laden,
Bibiliotheke nicht
vorhanden
HAL5 HW-Adapter laden,
Falscher Bibiliothek-Namen
008_Schlussbericht.doc
Beschreibung
Ausgangslage
Die Bibliothek ist
vorhanden.
Die dazugehörige
Beim Starten der
Terminalanwendung
Konfigurationsdatei ist
werden die aktivierten HW- vorhanden.
Der konfigurierte Pfad
Adapter geladen und
stimmt.
konfiguriert.
Die Bibliothek ist
Beim Starten der
vorhanden.
Terminalanwendung wird
Die dazugehörige
ein HW-Adapter geladen. Er Konfigurationsdatei ist nicht
kann nicht eingebunden
vorhanden.
werden, da die
Der konfigurierte Pfad
Konfigurationsdatei fehlt.
stimmt.
Die Bibliothek ist
Beim Starten der
vorhanden.
Terminalanwendung wird
Die dazugehörige
ein HW-Adapter geladen.
Konfigurationsdatei ist
Der Pfad für die
vorhanden.
Konfigurationsdatei des
Der konfigurierte Pfad ist
HW-Adapters ist falsch.
falsch.
Es ist keine Bibliothek
vorhanden.
Es ist eine
Konfigurationsdatei
Beim Starten der
Terminalanwendung wird
vorhanden.
versucht einen HW-Adapter Der konfigurierte Pfad
einzubinden.
stimmt.
Es ist eine Bibliothek
vorhanden.
Es ist eine
Konfigurationsdatei
vorhanden.
Beim Starten der
Der konfigurierte Pfad
Terminalanwendung wird
stimmt.
versucht einen HW-Adapter Der konfigurierte Name des
einzubinden.
HW-Adapters ist falsch.
93/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.3.2.3 Operator
Tabelle 77: Test Szenarien Sprache ändern
Nr.
Beschreibung
Ausgangslage
Erwartetes Resultat
SAE1 Sprache ändern
Szenario
Der Operator wechselt die
Sprache.
Die Sprache wurde
hinzugefügt
SAE2 Nicht vollständige
Sprachtabelle
Der Operator ändert eine
Sprache mit einer
unvollständigen
Sprachtabelle.
SAE3 Nicht lateinische Sprache
hinzufügen
Der Operator ändert die
Sprache auf Chinesisch.
Es besteht eine
unvollständige
Sprachtabelle
Die Sprache wurde
hinzugefügt
Es besteht eine
Sprachtabelle für
Chinesisch
Die Sprache wurde
hinzugefügt
Die komplette Anwendung
ok
kann online von Deutsch
auf Englisch und unbekehrt
umgestellt werden
Die fehlenden Texte in der
ok
Sprachtabelle werden in der
Standard-Sprache EN
dargestellt
Erfolg
Der Zeichensatz für China
wird richtig dargestellt
ok
Tabelle 78: Test Szenarien Sprachabhängige Bilder anzeigen
Nr.
Szenario
SABA1 Sprachabhängige Bilder
anzeigen
SABA2 Sprachabhängige Bilder
nicht vorhanden
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Die sprachabhängigen
Bilder werden anhand der
gewählten Sprache
anzeigen
Die sprachabhängigen
Bilder können anhand der
gewählten Sprache nicht
angezeigt werden
Die Bilder für die gewählte
Sprache sind vorhanden
Die Bilder, welche
sprachabhängig sind
werden korrekt angezeigt
ok
Die Bilder für die gewählte
Sprache sind vorhanden
Die Bilder, welche
sprachabhängig sind
werden werden in der
Standardsprache EN
angezeigt.
Sind auch da keine Bilder
vorhanden, erscheint eine
Fehlermeldung.
ok
Tabelle 79: Test Szenarien Operator-ID eingeben
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
OI1
Operator-ID von Hand
eingeben
Nach dem Öffnen des
Anmeldefensters wird das
Eingabefeld fokusiert. Der
Operator gibt via Tastatur
oder virtueller Tastatur seine
ID ein und drückt Enter.
Es wird eine Anmeldung
vom System verlangt oder
der Operator will seine ID
eingeben (Bsp. OperatorWechsel).
Die Anwendung hat die
Identifikationsnummer des
Operators übernommen.
Die virtuelle Tastatur
schliesst.
ok
OI2
Operator-ID mittels
Barcode-Leser eingeben
Nach dem Öffnen des
Anmeldefensters wird das
Eingabefeld fokusiert. Der
Operator gibt mittels eines
Barcode-Lesers seine ID
ein.
Die Bestätigung geschieht
automatisch und der
Identifikationsnummer des
Operators ist übernommen
worden.
ok
OI3
Falsche ID
Nach dem Öffnen des
Anmeldefensters wird das
Eingabefeld fokusiert. Der
Operator gibt eine falsche
ID ein und drückt Enter.
Es wird eine Anmeldung
vom System verlangt oder
der Operator will seine ID
eingeben (Bsp. OperatorWechsel).
Der Barcode-Leser ist
bereit.
Es wird eine Anmeldung
vom System verlangt oder
der Operator will seine ID
eingeben (Bsp. OperatorWechsel).
Die Identifikationsnummer
des Operators wird nicht
übernommen.
Es erscheint eine
Fehlermeldung.
ok
008_Schlussbericht.doc
94/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 80: Test Szenarien Operator-ID abbrechen
Nr.
Szenario
OIA1 Eingabe der Operator-ID
wird abgebrochen
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
Nach dem Öffnen des
Anmeldefensters wird das
Eingabefeld fokusiert. Der
Operator gibt eine ID ein
und drückt Abbrechen.
Es wird eine Anmeldung
vom System verlangt oder
der Operator will seine ID
eingeben (Bsp. OperatorWechsel).
Die Identifikationsnummer
des Operators wird nicht
übernommen.
ok
Tabelle 81: Test Szenarien Fenster öffnen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
FOE1
Arbeitsbeschreibungshilfe
öffnen
Der Operator öffnet das
Fenster.
Das Fenster wird angezeigt
und ist modal offen.
ok
FOE2
Arbeitsbeschreibungshilfe
ohne hinterlegte
Dokumente öffnen
Der Operator öffnet das
Fenster.
Es erscheint eine
Fehlermeldung
ok
FOE3
Auftragsinformationen
öffnen
Der Operator öffnet das
Fenster.
Das Fenster wird angezeigt
und ist modal offen.
ok
FOE4
Auftragsinformationen ohne
hinterlegte Dokumente
öffnen
Der Operator öffnet das
Fenster.
Es erscheint eine
Fehlermeldung
ok
FOE5
Informationen zum
nächsten Auftrag öffnen
Der Operator öffnet das
Fenster.
Das Fenster wird angezeigt
und ist modal offen.
ok
Informationen zum
nächsten Auftrag ohne
hinterlegte Dokumente
öffnen
Der Operator öffnet das
Fenster.
Es erscheint eine
Fehlermeldung
ok
Wartungsinformationen
öffnen
Der Operator öffnet das
Fenster.
Wartungsinformationen
ohne hinterlegte
Dokumente öffnen
Der Operator öffnet das
Fenster.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
FOE6
FOE7
FOE8
008_Schlussbericht.doc
95/109
Das Fenster wird angezeigt
und ist modal offen.
ok
Es erscheint eine
Fehlermeldung
ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Bildschirm-Reinigerhilfe
öffnen
Der Operator öffnet das
Fenster.
Bildschirm-Reinigerhilfe
ohne hinterlegte
Dokumente öffnen
Der Operator öffnet das
Fenster.
Bilder-Assistent öffnen
Der Operator öffnet das
Fenster.
Bilder-Assistent ohne
hinterlegte Dokumente
öffnen
Der Operator öffnet das
Fenster.
FOE9
FOE10
FOE11
FOE12
Test-Bedingungshilfe öffnen Der Operator öffnet das
Fenster.
FOE13
Test-Bedingungshilfe ohne
hinterlegte Dokumente
öffnen
Der Operator öffnet das
Fenster.
Rechner öffnen
Der Operator öffnet das
Fenster.
Kalender öffnen
Der Operator öffnet das
Fenster.
Software-Version öffnen
Der Operator öffnet das
Fenster.
Software-Version ohne
hinterlegte Dokumente
öffnen
Der Operator öffnet das
Fenster.
FOE14
FOE15
FOE16
FOE17
FOE18
008_Schlussbericht.doc
Schlussbericht
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
hinterlegt.
Das Fenster ist aktiviert und
in einem Menüpunkt
hinterlegt.
Das
Dokument/Beschreibung ist
nicht hinterlegt.
96/109
Das Fenster wird angezeigt
und ist modal offen.
Ok
Es erscheint eine
Fehlermeldung
Ok
Das Fenster wird angezeigt
und ist modal offen.
Ok
Es erscheint eine
Fehlermeldung
Ok
Das Fenster wird angezeigt
und ist modal offen.
Ok
Es erscheint eine
Fehlermeldung
Ok
Das Fenster wird angezeigt
und ist modal offen.
Ok
Das Fenster wird angezeigt
und ist modal offen.
Ok
Das Fenster wird angezeigt
und ist modal offen.
Ok
Es erscheint eine
Fehlermeldung
Ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 82: Test Szenarien Fenster schliessen
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
FS1
Arbeitsbeschreibungshilfe
schliessen
Auftragsinformationen
schliessen
Informationen zum
nächsten Auftrag schliessen
Der Operator beendet das
Fenster.
Der Operator beendet das
Fenster.
Der Operator beendet das
Fenster.
Das Fenster wird angezeigt
Das Fenster ist geschlossen ok
Das Fenster wird angezeigt
Das Fenster ist geschlossen ok
Das Fenster wird angezeigt
Das Fenster ist geschlossen ok
Das Fenster wird angezeigt
Das Fenster ist geschlossen ok
Das Fenster wird angezeigt
Das Fenster ist geschlossen ok
Das Fenster wird angezeigt
Das Fenster ist geschlossen
Das Fenster wird angezeigt
Das Fenster ist geschlossen
Das Fenster wird angezeigt
Das Fenster ist geschlossen
Das Fenster wird angezeigt
Das Fenster ist geschlossen
Das Fenster wird angezeigt
Das Fenster ist geschlossen
FS2
FS3
FS4
Wartungsinformationen
schliessen
Bildschirm-Reinigerhilfe
schliessen
Bilder-Assistent schliessen
Der Operator beendet das
Fenster.
Der Operator beendet das
FS5
Fenster.
Der Operator beendet das
FS6
Fenster.
Test-Bedingungshilfe
Der Operator beendet das
FS7 schliessen
Fenster.
Rechner schliessen
Der Operator beendet das
FS8
Fenster.
Kalender schliessen
Der Operator beendet das
FS9
Fenster.
Software-Version schliessen Der Operator beendet das
FS10
Fenster.
Erfolg
ok
ok
ok
ok
ok
Tabelle 83: Test Szenarien Berechnung eingeben
Nr.
Szenario
Beschreibung
Ausgangslage
Erwartetes Resultat
Re sultat
Erfolg
BE1
Berechnung eingeben
Der Operator gibt eine Zahl
ein, anschliessend einen
Operanden und wieder eine
Zahl. Danach wird das
Gleichheitszeichen
gedrückt.
Der Rechner ist gestartet.
Das Fenster ist offen.
Das richtige Resultat der
ok
Berechnung wird angezeigt.
Erwartetes Resultat
Tabelle 84: Test Szenarien SW-Update installieren
Nr.
Szenario
Beschreibung
Ausgangslage
SUI1
Software update installieren
Es ist ein Update vorhanden Das Update ist installiert
ok
SUI2
Software update ohne
vorhandenes update
Es ist kein Update
vorhanden
ok
SUI3
Software update
installieren,
Installationsabbruch
Der Operator führt ein
Update der Software aus.
Die Software wird
heruntergeladen und
installiert
Der Operator führt ein
Update der Software aus.
Die Software wird
heruntergeladen und
installiert
Der Operator führt ein
Update der Software aus.
Die Software wird
heruntergeladen und kann
nicht installiert werden
008_Schlussbericht.doc
Das Update wird
abgebrochen und es
erscheint eine Meldung,
dass kein update zur
Verfügung steht
Es ist ein Update vorhanden Es erscheint eine
Fehlermeldung
97/109
Erfolg
ok
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
Tabelle 85: Test Szenarien Konfig-Update installieren
Nr.
Szenario
KUI1 Konfigurationsdatei update
installieren
KUI2 Konfigurationsdatei update
ohne vorhandenes update
KUI3 Konfigurationsdatei update
installieren
Beschreibung
Ausgangslage
Erwartetes Resultat
Der Operator führt ein
Update der
Konfigurationsdatei aus. Die
Konfigurationsdatei wird
heruntergeladen und
installiert
Der Operator führt ein
Update der
Konfigurationsdatei aus. Die
Konfigurationsdatei wird
heruntergeladen und
installiert
Der Operator führt ein
Update der
Konfigurationsdatei aus. Die
Konfigurationsdatei wird
heruntergeladen und kann
nicht installiert werden
Es ist ein Update vorhanden Das Update ist installiert
ok
Es ist kein Update
vorhanden
ok
Das Update wird
abgebrochen und es
erscheint eine Meldung,
dass kein Update zur
Verfügung steht
Es ist ein Update vorhanden Es erscheint eine
Fehlermeldung
Erfolg
ok
Tabelle 86: Test Szenarien Produktionsstand ändern
Nr.
Beschreibung
Ausgangslage
Erwartetes Resultat
Erfolg
PAE1 Produktionsstand via
Operator ändern
Szenario
Der Operator übersteuert
den Produktionsstand.
Die Terminalanwendung
läuft.
Der Produktionsstand ist
geändert
ok
PAE2 Produktionsstand via
System ändern
Das System ändert den
Produktionsstand
Die Terminalanwendung
läuft.
Der Produktionsstand ist
geändert
ok
008_Schlussbericht.doc
98/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4 Klassendiagramme
12.4.1 HardwareHardware-Adapter
12.4.1.1 Label Drucker
class LD Class Diagram
Component
Adapter
«enumeration»
EParameter
Interface
-
m_rTemplate: Template {readOnly}
+
~
+
Adapter()
GetData(EParameterType) : Parameter
Send(Object) : void
-m_rAdapter
-
INTERFACE_NAME: string = "COM"
m_rAdapter: Adapter
+
+
+
+
~
+
~
Close() : void
Init(string) : void
Interface()
Open() : void
SetParameter(EParameter, string) : void
SetParent(IAdapter) : void
Write(string) : void
PORTNUMBER
BAUDRATE
DATABITS
PARITY
ST OPBIT
Configuration
-m_rTemplate
Template
-
ESCAPE_SEQUENCE_DELIMIT ER: char = ':'
m_bWordSequenceSize: bool
m_nLength: int
m_nPosition: int
m_rUri: Uri
m_sExpression: string
m_sFileName: string
m_sId: string
SEQUENCE_SIZE_BYTE: short = 3
SEQUENCE_SIZE_WORD: short = 5
~
~
~
Delimiter() : void
Download(Uri, string, string) : void
EscapeSequence() : string
Expression() : string
Format(Parameter) : void
hasDelimiter() : bool
hasEndSequence() : bool
hasStartSequence() : bool
IsEndEscapeSequence(string) : bool
IsStartEscapeSequence(string) : bool
NotOnEnd() : bool
NotOnEnd(int) : bool
OnEnd() : bool
Parameter() : Parameter
Parse() : string
Size(Parameter) : void
Template()
«property»
+ FilePath() : string
+
+
+
+
+
+
+
+
+
+
+
+
+
PROPERY_NAME_INTERFACE_BAUDRATE: string = "baudrate"
PROPERY_NAME_INTERFACE_DATABITS: string = "databits"
PROPERY_NAME_INTERFACE_PARITY: string = "parity"
PROPERY_NAME_INTERFACE_PORT: string = "port"
PROPERY_NAME_INTERFACE_STOPBITS: string = "stopbits"
PROPERY_NAME_TEMPLAT E_END_SEQUENCE: string = "endSequence"
PROPERY_NAME_TEMPLAT E_FILE_NAME: string = "fileName"
PROPERY_NAME_TEMPLAT E_FORMAT _PATTERN: string = "formatPattern"
PROPERY_NAME_TEMPLAT E_PARAMETER_PATT ERN: string = "parameterPattern"
PROPERY_NAME_TEMPLAT E_START_SEQUENCE: string = "startSequence"
s_sTemplateEndSequence: string
s_sTemplateFileName: string
s_sTemplateFormatPattern: string
s_sTemplateParameterPattern: string
s_sTemplateStartSequence: string
SECT ION_NAME_DEVICE: string = "librarySetting...
SECT ION_NAME_INTERFACE: string = "librarySetting...
SECT ION_NAME_TEMPLAT E: string = "librarySetting...
+
~
~
~
~
~
Configure(string, Interface) : void
GetT emplateEndSequence() : string
GetT emplateFileName() : string
GetT emplateFormatPattern() : string
GetT emplateParameterPattern() : string
GetT emplateStartSequence() : string
«property»
+ Baudrate() : string
+ DataBits() : string
+ Parity() : string
+ Port() : string
+ StopBits() : string
+ TemplateEndSequence() : string
+ TemplateFileName() : string
+ TemplateFormatPattern() : string
+ TemplateParameterPattern() : string
+ TemplateStartSequence() : string
Exception
ParseException
-
m_nPosition: int {readOnly}
m_sMethod: String {readOnly}
+
+
+
+
GetMethod() : String
GetPosition() : int
ParseException()
ParseException(int, String)
Abbildung 19: Klassendiagramm Label Drucker
008_Schlussbericht.doc
99/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.1.2 BarcodeBarcode -Leser
class BL Class Diagram
Configuration
Adapter
+
~
~
~
Adapter()
SetBarcode(string) : void
SetStatus(EStatus, string) : void
SetStatus(EStatus) : void
+
+
+
+
+
+
PROPERY_NAME_INTERFACE_BAUDRATE: string = "baudrate"
PROPERY_NAME_INTERFACE_DATABITS: string = "databits"
PROPERY_NAME_INTERFACE_PARITY: string = "parity"
PROPERY_NAME_INTERFACE_PORT: string = "port"
PROPERY_NAME_INTERFACE_STOPBITS: string = "stopbits"
SECTION_NAME_INTERFACE: string = "librarySetting...
+
Configure(string, Interface) : void
«property»
+ Baudrate() : string
+ DataBits() : string
+ Parity() : string
+ Port() : string
+ StopBits() : string
-m_rAdapter
Component
Interface
-
INTERFACE_NAME: string = "COM"
m_rAdapter: Adapter
+
+
+
+
~
+
Close() : void
Init(string) : void
Interface()
Open() : void
SerialPort_DataReceived(object, System.IO.Ports.SerialDataReceivedEventArgs) : void
SetParameter(EParameter, string) : void
SetParent(IAdapter) : void
«enumeration»
EParameter
PORTNUMBER
BAUDRATE
DATABITS
PARITY
STOPBIT
Abbildung 20: Klassendiagramm Barcode-Leser
008_Schlussbericht.doc
100/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.2 Framework
class FW Class Diagram
Application
Order
-s_rTerminalPMSFramework
TerminalPMSFramew ork
+
+
+
+
-
CR: string = "\r\n"
CRCR: string = "\r\n\r\n"
m_rOperator: Operator {readOnly}
m_rOrder: Order {readOnly}
MB_NAMESPACE: string = "MeyerBurger.PMS2"
s_rTerminalPMSFramework: TerminalPMSFramework
+
+
+
+
+
+
+
GetOperator() : Operator
GetOrder() : Order
GetTerminalPMSFramework() : TerminalPMSFramework
Init(string) : bool
InitAdapters() : bool
InitConfiguration(string) : bool
InitLanguage() : bool
InitLogin() : bool
InitScreens() : bool
LastWindowClosed(object, EventArgs) : void
LoadAdapter(string, string, int) : void
OnAdapterDataReceived(IAdapter, Object) : void
OnAdapterDataReceivedEventHandlerInternal(object, IAdapter, Object) : void
OnAdapterRequestParameter(IAdapter, EParameterType) : Parameter
OnAdapterStatusChanged(IAdapter, Status) : void
PrepareArguments(string[]) : string
Start() : void
Start(string) : void
TerminalPMSFramework()
UpdateAll() : void
-m_rOrder
Order()
«property»
+ ParentId() : string
+ PartId() : string
+ Weight() : double
Operator
-m_rOperator
-
m_bLoginDialogActive: bool
m_rDispatcher: Dispatcher {readOnly}
m_rLoginIdleTimer: Timer
m_sOperatorId: string
+
+
+
+
Init() : void
LoginIdleTimeout(object) : void
LoginIdleTimeoutDelegate(object) : void
OnLoginIdleT imerElapsed(object, ElapsedEventArgs) : void
Operator(Dispatcher)
ResetLoginTimeout() : void
SetLoginDialogActive(bool) : void
«event»
- LoginDialogClosedEvent() : LoginDialogClosedEventHandler
«property»
+ OperatorId() : string
«event»
+ AdapterDataReceivedEvent() : AdapterDataReceivedEventHandler
Language
«property»
~ AdapterList() : List<IAdapter>
+ ApplicationAssemply() : Assembly
+ Company() : string
+ LibraryAssembly() : Assembly
~ ModalDialog() : Dialog
~ ScreenList() : List<Screen>
+ Solution() : string
«enumeration»
EId
User
Order
Brick
Ingot
WorkpieceFixDev
Wafer
BrickPart
Id
+
Check(string, EId) : bool
GetAltState() : bool
GetCtrlState() : bool
GetShiftState() : bool
LANGUAGE_DEFAULT: ushort = 0
LANGUAGE_DEFAULT_FOLDER_NAME: string = "lang"
LANGUAGE_FILE_EXTENSION: string = ".xml"
LANGUAGE_FILE_NAME_BEGIN: string = "language_"
LANGUAGE_IMAGE_FILE_EXTENSION: string = ".png"
m_rDoc: XmlDocument {readOnly}
m_rImageFileList: string ([]) {readOnly}
m_rTableFileList: string ([]) {readOnly}
s_rLanguage: Language
+
+
+
+
CreateInstance() : void
GetImageSource(ushort) : Uri
GetPath() : string
GetText(string) : string
Language()
Load(ushort) : void
ToString(ushort) : string
-s_rLanguage
«property»
+ Current() : ushort
KeyboardState
+
+
+
+
+
+
+
+
-
KeyCharacter
+
-
Character(Key) : char
GetNormalCharacter(Key) : char
GetShiftCharacter(Key) : char
Softw areUpdate
+
UPDATER_FILE_NAME: string = "Updater.exe"
+
Update() : void
Control
Clock
+
+
-
DateTimeChangedEvent: RoutedEvent = EventManager.Re... {readOnly}
DateTimeProperty: DependencyProperty = DependencyPrope...
timer: DispatcherTimer
#
#
-
Clock()
OnDateTimeChanged(DateTime, DateTime) : void
OnDateT imeInvalidated(DependencyObject, DependencyPropertyChangedEventArgs) : void
OnInitialized(EventArgs) : void
T imer_Tick(object, EventArgs) : void
UpdateDateTime() : void
«property»
+ DateTime() : DateTime
Abbildung 21: Klassendiagramm Framework, Teil 1
008_Schlussbericht.doc
101/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
class FW Class Diagram
«enumeration»
ESemiE10State
Productive
ProductiveRegular
ProductiveRework
ProductiveEngineering
Standby
StandbyOperator
StandbyIdle
StandbyTools
StandbyData
-m_eState
Engineering
EngineeringProcess
EngineeringProduct
SheduleDownTime
SdMaintenanceDelay
SdProductionTest
SdMaintenance
SdChange
SdSetup
SdFacilities
UnsheduleDownTime
UsdMaintenanceDelay
UsdRepair
UsdChange
UsdSpec
UsdFacilities
NssStartup
SemiE10Manager
-
m_eState: ESemiE10State
m_rTimer: Timer {readOnly}
s_eOverload: ESemiE10Overload = ESemiE10Overloa...
s_rSemiE10ManagerList: List<SemiE10Manager>
+
+
+
CreateList() : void
GetSemiE10Manager(ushort) : SemiE10Manager
GetState(ESemiE10State) : short
OnTimerElapsed(object, ElapsedEventArgs) : void
SemiE10Manager()
Send() : void
SetGlobalState(ESemiE10State) : void
«enumeration»
ESemiE10Ov erload
-s_eOverload
UsdRepair
SdMaintenanceDelay
SdChange
Engineering
None
«property»
+ State() : ESemiE10State
+ StateOverload() : ESemiE10Overload
Abbildung 22: Klassendiagramm Framework, Teil 2
008_Schlussbericht.doc
102/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.2.1 Adapter
class FW Adapter Class Diagram
«interface»
IAdapter
+
+
+
+
ConfigurationSection
AConfiguration
Add(string, int) : AdapterType
GetId() : int
GetType() : EAdapter
Remove() : void
«event»
+ StatusChangedEvent() : StatusChangedEventHandler
-
s_rConfiguration: System.Configuration.Configuration
#
#
ConfigureBase(string) : void
GetSection(string) : ConfigurationSection
«interface»
IDataInput
«interface»
IDataOutput
+
«event»
+ DataReceivedEvent() : DataReceivedEventHandl er
Send(Object) : void
«event»
+ RequestParameterEvent() : RequestParameterEventHandler
ADataInput
#
#
ADataOutput
ADataInput(IInterface, EAdapter)
DataReceivedAction(Object) : void
#
#
+
«event»
+ DataReceivedEvent() : DataReceivedEventHandl er
ADataOutput(IInterface, EAdapter)
RequestParameterAction(EParameterT ype) : Parameter
Send(Object) : void
«event»
+ RequestParameterEvent() : RequestParameterEventHandler
«interface»
IInterface
Close() : void
Init(string) : void
Open() : void
SetParent(IAdapter) : void
+
+
+
+
«enumerati on»
EAdapter
«enumeration»
EFormatType
AAdapter
#m_rInterface
-m_eAdapter
None
BarcodeReader
LabelPrinter
#
m_eAdapter: EAdapter {readOnly}
m_nId: int
m_rInterface: IInterface
#
+
+
+
+
+
#
#
AAdapter(IInterface, EAdapter)
Add(string, int) : AdapterT ype
GetId() : int
GetT ype() : EAdapter
LibraryDataPath() : string
Remove() : void
StatusChangedAction(EStatus) : void
StatusChangedAction(EStatus, string) : void
ASCII
BINARY
UT F8
UT F16
AdapterType
«event»
+ StatusChangedEvent() : StatusChangedEventHandler
Exception
AdapterException
+
+
AdapterException()
AdapterException(string)
-
m_bInputAdapter: bool
m_bOutputAdapter: bool
+
+
+
+
AdapterT ype()
AdapterT ype(EAdapter)
Init(EAdapter) : void
IsInputAdapter() : bool
IsOutputAdapter() : bool
«property»
+ Adapter() : EAdapter
Parameter
+
+
+
+
+
+
+
+
+
+
FOMRAT _T YLE_UT F16: string = "16"
FORMAT _T YPE_ASCII: string = "A"
FORMAT _T YPE_BINARY: string = "B"
FORMAT _T YPE_UT F8: string = "8"
m_rValue: Object
m_uSize: ushort
PARAMET ER_T YPE_DAT E: string = "Date"
PARAMET ER_T YPE_ORDER_PARENT: string = "Order.Parent"
PARAMET ER_T YPE_ORDER_PART : string = "Order.Part"
PARAMET ER_T YPE_T IME: string = "T ime"
PARAMET ER_T YPE_USER: string = "User"
PARAMET ER_T YPE_WEIGHT : string = "Weight"
+
+
+
+
+
+
+
+
Parameter(EParameterT ype)
Parameter(EParameterT ype, Object)
Parameter(IComparable<string>)
Parameter(IComparable<string>, Object)
setFormat(string) : void
setParameter(EParameterType) : void
setParameter(IComparable<string>) : void
setSize(ushort) : void
setValue(Object) : void
T oString() : string
«property»
+ FormatT ype() : EFormatT ype
+ ParameterT ype() : EParameterT ype
«enumeration»
EStatus
UnknownStatus
UnknownFailure
Confi gurationFil eNotFound
Confi gurationInvalidFile
Confi gurationInvalidParameter
Confi gurationInvalidFormat
Confi gurationFailed
Confi gurationDone
InterfaceReady
DeviceBusy
DataInvalid
T emplateFileNotFound
DataSendedToDevi ce
Status
+
+
+
Status()
Status(EStatus)
Status(EStatus, string)
«property»
+ Message() : stri ng
+ Value() : EStatus
«enumeration»
EParameterType
Date
OrderPart
OrderParent
T ime
User
Weight
Abbildung 23: Klassendiagramm Adapter
008_Schlussbericht.doc
103/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.2.2 Communication
class FW CommunicationClass Diagram
ISClient
-s_rISClient
Exception
-
m_bErrorMessageDisplayed: bool
m_rServiceProxy: IASService
s_rISClient: ISClient
+
+
+
+
+
+
+
+
CloseConnection() : void
CommunicationMessageFailed(EndpointNotFoundException) : void
CommunicationMessageOk() : void
FinishT ask() : bool
GetISClient() : ISClient
GetNextBrickId() : string
GetUrl(EUrlId) : Uri
ISClient()
NextTaskData(string) : string
OpenConnection() : void
SendId(string) : bool
SetBrickData(string, string) : bool
SetSemiE10State(string) : bool
PMSClientException
+
+
PMSClientException()
PMSClientException(string)
WebClient
PMSClient
+
GetFile(Uri, string) : void
Abbildung 24: Klassendiagramm Communication
008_Schlussbericht.doc
104/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.2.3 Configuration
class FW Configuration Class Diagram
BaseSectionGroup
CommunicationWithASGroup
GeneralSectionGroup
+
SECTION_GROUP_NAME: string = "baseSettings"
+
+
BaseSectionGroup(System.Configuration.Configuration)
+ CommunicationWithASGroup(System.Configuration.Configuration)
+ GeneralSectionGroup(System.Configuration.Configuration)
«property»
+ Endpoint() : EndpointSection
«property»
+ Workflow() : WorkflowSection
«property»
+ Version() : VersionSection
SECTION_GROUP_NAME: string = "communicationW...
+
SECTION_GROUP_NAME: string = "generalSettings"
UtilitiesSectionGroup
GuiSectionGroup
+
SECTION_GROUP_NAME: string = "guiSettings"
+
GuiSectionGroup(System.Configuration.Configuration)
«property»
+ Layout() : LayoutSection
+ Windows() : WindowsSection
+
SECTION_GROUP_NAME: string = "languageSettings"
+
LanguageSectionGroup(System.Configuration.Configuration)
SECTION_GROUP_NAME: string = "utilitiesSettings"
+
UtilitiesSectionGroup(System.Configuration.Configuration)
«property»
+ Calculator() : CalculatorSection
+ Calendar() : CalendarSection
+ PicturesWizard() : PicturesWizardSection
+ ScreenCleaner() : ScreenCleanerSection
+ TestConditionHelp() : TestConditionHelpSection
ASectionGroup
LanguageSectionGroup
+
-
m_rConfiguration: System.Configuration.Configuration {readOnly}
m_sSectionGroupName: string {readOnly}
#
#
ASectionGroup(System.Configuration.Configuration, string)
GetConfigurationSection(string) : ConfigurationSection
IdentificationSectionGroup
+
SECTION_GROUP_NAME: string = "identification...
+
IdentificationSectionGroup(System.Configuration.Configuration)
«property»
+ BrickNumbers() : BrickNumbersSection
+ IngotNumbers() : IngotNumbersSection
+ Operator() : OperatorSection
+ OperatorNumbers() : OperatorNumbersSection
+ OrderNumbers() : OrderNumbersSection
+ WorkpieceFixDevNumbers() : WorkpieceFixDevNumbersSection
«property»
+ Language() : LanguageSection
SemiE10SectionGroup
Hardw areSectionGroup
+
SECTION_GROUP_NAME: string = "semiE10Settings"
+
SECTION_GROUP_NAME: string = "hardwareSettings"
+
SemiE10SectionGroup(System.Configuration.Configuration)
+
HardwareSectionGroup(System.Configuration.Configuration)
«property»
+ StateCycle() : StateCycleSection
«property»
+ Devices() : DevicesSection
+ TouchScreen() : TouchScreenSection
Abbildung 25: Klassendiagramm Configuration, Teil 1
008_Schlussbericht.doc
105/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
class FW Configuration Class Diagram
EndpointSection
+
PROPERY_NAME_ADDRESS: string = "address"
SECTION_NAME: string = "endpoint"
«property»
+ Address() : string
Dev icesSection
+
OperatorNumbersSection
ELEMENT_NAME_ADAPTER: string = "adapter"
PROPERTY_NAME_ADAPT ERS: string = "adapters"
SECTION_NAME: string = "devices"
+
OrderNumbersSection
PROPERY_NAME_VALID: string = "valid"
SECTION_NAME: string = "operatorNumbers"
«property»
+ Valid() : bool
«property»
+ Adapters() : AdapterCollection
+
PROPERY_NAME_VALID: string = "valid"
SECTION_NAME: string = "orderNumbers"
«property»
+ Valid() : bool
LanguageSection
+
IngotNumbersSection
PROPERY_NAME_PATH: string = "path"
SECTION_NAME: string = "language"
OperatorSection
+
«property»
+ Path() : string
PROPERY_NAME_TIMEOUT: string = "timeout"
SECT ION_NAME: string = "operator"
PROPERY_NAME_VALID: string = "valid"
SECTION_NAME: string = "ingotNumbers"
«property»
+ Valid() : bool
«property»
+ Timeout() : int
WorkpieceFixDev NumbersSection
+
+
CalendarSection
PROPERY_NAME_VALID: string = "valid"
SECTION_NAME: string = "workpieceFixDe...
+
SECTION_NAME: string = "calendar"
ConfigurationSection
«property»
+ Valid() : bool
CalculatorSection
ASection
+
SECTION_NAME: string = "calculator"
LayoutSection
+
PROPERY_NAME_SMENU_TOP_MARGIN: string = "sMenuTopMargin"
SECTION_NAME: string = "layout"
BrickNumbersSection
«property»
+ SMenuTopMargin() : short
TouchScreenSection
+
Workflow Section
+
+
PROPERY_NAME_JOB_SPECIFICATION_FILE: string = "jobSpecificati...
SECTION_NAME: string = "workflow"
PROPERY_NAME_ENABLE: string = "enable"
SECTION_NAME: string = "touchScreen"
ScreenCleanerSection
«property»
+ JobSpecificationFile() : string
+
«property»
+ Valid() : bool
«property»
+ Enable() : bool
StateCycleSection
TestConditionHelpSection
PROPERY_NAME_PATH: string = "path"
PROPERY_NAME_PATH_DEFAULT_VALUE: string = "testConditionHelp"
SECTION_NAME: string = "testConditionHelp"
+
PROPERY_NAME_TIMEOUT: string = "timeout"
SECTION_NAME: string = "stateCycle"
+
PROPERY_NAME_TIMEOUT: string = "timeout"
SECTION_NAME: string = "screenCleaner"
«property»
+ Timeout() : int
«property»
+ Timeout() : int
VersionSection
Window sSection
«property»
+ Path() : string
+
PicturesWizardSection
+
PROPERY_NAME_VALID: string = "valid"
SECTION_NAME: string = "brickNumbers"
PROPERY_NAME_PATH: string = "path"
PROPERY_NAME_PATH_DEFAULT _VALUE: string = "pictureWizard"
SECTION_NAME: string = "picturesWizard"
ELEMENT_NAME_DIALOG: string = "dialog"
ELEMENT_NAME_SCREEN: string = "screen"
PROPERTY_NAME_DIALOGS: string = "dialogs"
PROPERTY_NAME_SCREENS: string = "screens"
SECT ION_NAME: string = "windows"
+
PROPERY_NAME_BUILD: string = "build"
PROPERY_NAME_MAJOR: string = "major"
PROPERY_NAME_MINOR: string = "minor"
SECTION_NAME: string = "version"
«property»
+ Build() : short
+ Major() : short
+ Minor() : short
«property»
+ Dialogs() : DialogCollection
+ Screens() : ScreenCollection
«property»
+ Path() : string
Abbildung 26: Klassendiagramm Configuration, Teil 2
008_Schlussbericht.doc
106/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
class FW Configuration Class Diagram
ConfigManager
-s_rConfigManager
-
m_rConfiguration: System.Configuration.Configuration {readOnly}
s_rConfigManager: ConfigManager
+
+
ConfigManager(string)
CreateConfigManager(string) : ConfigManager
GetConfigManager() : ConfigManager
ConfigurationElement
Window sSection::ScreenElement
«property»
+ Base() : BaseSectionGroup
+ CommunicationWithAS() : CommunicationWithASGroup
+ General() : GeneralSectionGroup
+ GUI() : GuiSectionGroup
+ Hardware() : HardwareSectionGroup
+ Identification() : IdentificationSectionGroup
+ Language() : LanguageSectionGroup
+ SemiE10() : SemiE10SectionGroup
+ Utilities() : UtilitiesSectionGroup
RegistryManager
-s_rRegistryManager
-
s_rRegistryManager: RegistryManager
s_sApplicationRegistryKey: string
+
+
+
+
GetRegistryManager() : RegistryManager
GetValue(string, Object) : Object
RegistryManager()
SetValue(string, Object) : void
ConfigurationElementCollection
Window sSection::ScreenCollection
#
#
ConfigurationElementCollection
DialogCollection
#
#
CreateNewElement() : ConfigurationElement
GetElementKey(ConfigurationElement) : object
«indexer»
+ this(int) : DialogElement
CreateNewElement() : ConfigurationElement
GetElementKey(ConfigurationElement) : object
ConfigurationElement
«indexer»
+ this(int) : ScreenElement
DialogElement
ConfigurationElementCollection
Dev icesSection::AdapterCollection
#
#
CreateNewElement() : ConfigurationElement
GetElementKey(ConfigurationElement) : object
«indexer»
+ this(int) : AdapterElement
-
PROPERT Y_NAME_BUTT ONS: string = "buttons"
PROPERT Y_NAME_DISABLE: string = "disable"
PROPERTY_NAME_INT ERNAL: string = "internal"
PROPERT Y_NAME_NAME: string = "name"
«property»
+ Buttons() : EDialogButtons
+ Disable() : bool
+ Internal() : bool
+ Name() : string
ConfigurationElement
Dev icesSection::AdapterElement
-
PROPERTY_NAME_CONFIG_FILE: string = "confFile"
PROPERTY_NAME_NAME: string = "name"
«property»
+ ConfigFile() : string
+ Name() : string
-
PROPERT Y_NAME_DISABLE: string = "disable"
PROPERT Y_NAME_F1: string = "f1"
PROPERT Y_NAME_F10: string = "f10"
PROPERT Y_NAME_F11: string = "f11"
PROPERT Y_NAME_F12: string = "f12"
PROPERT Y_NAME_F13: string = "f13"
PROPERT Y_NAME_F14: string = "f14"
PROPERT Y_NAME_F15: string = "f15"
PROPERT Y_NAME_F16: string = "f16"
PROPERT Y_NAME_F17: string = "f17"
PROPERT Y_NAME_F18: string = "f18"
PROPERT Y_NAME_F19: string = "f19"
PROPERT Y_NAME_F2: string = "f2"
PROPERT Y_NAME_F20: string = "f20"
PROPERT Y_NAME_F3: string = "f3"
PROPERT Y_NAME_F4: string = "f4"
PROPERT Y_NAME_F5: string = "f5"
PROPERT Y_NAME_F6: string = "f6"
PROPERT Y_NAME_F7: string = "f7"
PROPERT Y_NAME_F8: string = "f8"
PROPERT Y_NAME_F9: string = "f9"
PROPERT Y_NAME_INT ERNAL: string = "internal"
PROPERT Y_NAME_NAME: string = "name"
PROPERT Y_NAME_S1: string = "s1"
PROPERT Y_NAME_S10: string = "s10"
PROPERT Y_NAME_S11: string = "s11"
PROPERT Y_NAME_S12: string = "s12"
PROPERT Y_NAME_S13: string = "s13"
PROPERT Y_NAME_S14: string = "s14"
PROPERT Y_NAME_S15: string = "s15"
PROPERT Y_NAME_S16: string = "s16"
PROPERT Y_NAME_S2: string = "s2"
PROPERT Y_NAME_S3: string = "s3"
PROPERT Y_NAME_S4: string = "s4"
PROPERT Y_NAME_S5: string = "s5"
PROPERT Y_NAME_S6: string = "s6"
PROPERT Y_NAME_S7: string = "s7"
PROPERT Y_NAME_S8: string = "s8"
PROPERT Y_NAME_S9: string = "s9"
PROPERT Y_NAME_T OP: string = "top"
«property»
+ Disable() : bool
+ F1() : string
+ F10() : string
+ F11() : string
+ F12() : string
+ F13() : string
+ F14() : string
+ F15() : string
+ F16() : string
+ F17() : string
+ F18() : string
+ F19() : string
+ F2() : string
+ F20() : string
+ F3() : string
+ F4() : string
+ F5() : string
+ F6() : string
+ F7() : string
+ F8() : string
+ F9() : string
+ Internal() : bool
+ Name() : string
+ S1() : string
+ S10() : string
+ S11() : string
+ S12() : string
+ S13() : string
+ S14() : string
+ S15() : string
+ S16() : string
+ S2() : string
+ S3() : string
+ S4() : string
+ S5() : string
+ S6() : string
+ S7() : string
+ S8() : string
+ S9() : string
+ Top() : bool
Abbildung 27: Klassendiagramm Configuration, Teil 3
008_Schlussbericht.doc
107/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.2.4 GUI
class FW GUI Class Diagram
SemiE10
MessageDialog
Config
-
s_rDial ogList: Li st<Di alog>
+
FUNCT ION_NAME_LANGUAGE_BEGIN: string = "Language_"
+
+
+
+
+
+
+
+
+
+
Acti ve() : bool
CreateDial og(EMessageDi alog, stri ng) : voi d
CreateDial ogDel egate(obj ect, EMessageDi alog, stri ng) : voi d
Critical(string) : voi d
Execute(stri ng) : void
GetIconImage(string) : Image
Info(stri ng) : voi d
KeyPressed(Key) : voi d
ListCount() : i nt
MessageDial og()
MessageDial og(AWindow)
OnCreateDial ogDelegate(obj ect, EMessageDi alog, stri ng) : voi d
Warning(string) : voi d
+
+
+
+
+
+
-
ButtonWithCaption(string) : bool
Config()
Config(AWindow)
Execute(stri ng) : voi d
GetMenuButtonIconImage(string) : Image
Update() : void
UpdateLanguageButtons() : voi d
+
+
#
+
+
-
btnEngi neeri ng_Cl ick(obj ect, System.Windows.RoutedEventArgs) : voi d
btnExpendable_Cli ck(object, System.Wi ndows.RoutedEventArgs) : void
btnRepai r_Cli ck(object, System.Wi ndows.RoutedEventArgs) : void
btnServi ce_Cli ck(object, System.Wi ndows.RoutedEventArgs) : void
ButtonWi thCapti on(stri ng) : bool
Execute(string) : void
OnLoaded() : voi d
Semi E10()
Semi E10(AWindow)
SetOverl oad(AButton, ESemiE10Overload) : void
UpdateButtons() : void
«enumerati on»
EMessageDialog
JobSpecification
Critical
Warning
Info
+
+
+
UserControl
JobSpeci fi cation()
JobSpeci fi cation(AWindow)
Update() : void
AContentControl
MaintenanceInformation
+
+
+
+
+
+
+
+
+
+
+
+
+
#
+
Mai ntenanceInformation()
Mai ntenanceInformation(AWindow)
Update() : void
OrderInformation
+
+
+
OrderInformation()
OrderInformation(AWi ndow)
Update() : voi d
AContentControl()
AContentControl(AWindow)
ButtonWi thCapti on(stri ng) : bool
Close() : voi d
Execute(string) : void
GetContentControl(int, bool) : AContentControl
GetContentControl(int, bool, AWi ndow) : AContentControl
GetContentControl(string, bool , AWindow) : AContentControl
GetMenuButtonIconImage(stri ng) : Image
KeyPressed(Key) : voi d
OnLoaded() : voi d
OnLoaded(object, RoutedEventArgs) : voi d
OnVisi bleChanged(obj ect, DependencyPropertyChangedEventArgs) : voi d
Update() : voi d
Help
+
+
Hel p()
Hel p(AWi ndow)
«property»
+ Ful lscreen() : bool
+ MenuButtonCapti onWi thIcon() : bool
+ Window() : AWi ndow
NextOrderInformation
+
+
+
NextOrderInformation()
NextOrderInformation(AWindow)
Update() : voi d
-
m_rOperator: Operator {readOnly}
+
+
+
#
AdapterDataReceivedEventHandler(object, IAdapter, Object) : void
Execute(string) : voi d
Logi n()
Logi n(AWi ndow)
OnLoaded() : voi d
Login
Window Id
+
INIT_WINDOW_ID: i nt = -1
+
GetId(string, bool ) : int
Window
AWindow
VirtualKeyboardAll
+
+
+
btnA_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnB_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnBackspace_Cl ick(object, System.Wi ndows.RoutedEventArgs) : void
btnC_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnD_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnE_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnEight_Cl ick(object, System.Wi ndows.RoutedEventArgs) : void
btnEnter_Cl ick(object, System.Wi ndows.RoutedEventArgs) : void
btnF_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnFi ve_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnFour_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnG_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnH_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnI_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnJ_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnK_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnL_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnM_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnMinus_Cli ck(obj ect, System.Windows.RoutedEventArgs) : voi d
btnN_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnNine_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnO_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnOne_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnP_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnPoint_Cl ick(object, System.Wi ndows.RoutedEventArgs) : void
btnQ_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnR_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnS_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnSeven_Cli ck(obj ect, System.Windows.RoutedEventArgs) : voi d
btnSix_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnSpace_Cli ck(obj ect, System.Windows.RoutedEventArgs) : voi d
btnT _Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnT hree_Cli ck(obj ect, System.Windows.RoutedEventArgs) : voi d
btnT wo_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnU_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnV_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnW_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnX_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnY_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
btnZ_Cli ck(object, System.Windows.RoutedEventArgs) : voi d
btnZero_Cl ick(obj ect, System.Wi ndows.RoutedEventArgs) : void
Update() : void
Vi rtualKeyboardAll ()
Vi rtualKeyboardAll (AWi ndow)
+
#
+
+
+
#
AWi ndow()
KeyPressed(Key) : voi d
OnClosi ng(obj ect, CancelEventArgs) : voi d
OnDeactivated(object, EventArgs) : voi d
OnKeyDown(object, KeyEventArgs) : voi d
OnLostFocus(object, EventArgs) : voi d
OnMouseMove(obj ect, MouseEventArgs) : voi d
OnVisi bleChanged(obj ect, DependencyPropertyChangedEventArgs) : voi d
SetButtonEnabl ed(EButton, bool ) : voi d
SetButtonState(EButton, EButtonMul ti state) : voi d
Update() : voi d
WindowCl osing(CancelEventArgs) : voi d
«property»
+ All waysBringT oFront() : bool
+ IgnoreKeyInputs() : bool
AVirtualKeyboard
#
#
#
m_bAdapterInput: bool
m_rIconCapti onTypeGri d: Grid
m_rIconCapti onUni tGrid: Gri d
m_rInputValueT extBox: T extBox
+
+
+
+
#
+
+
+
+
+
AdapterDataRecei vedEventHandler(obj ect, IAdapter, Obj ect) : void
AVi rtualKeyboard()
AVi rtualKeyboard(AWi ndow)
Execute(string) : void
HasCl ickedEventHandler() : bool
SendKey(Key) : void
SetIconCapti onType(ImageSource, string) : void
SetIconCapti onUni t(ImageSource, stri ng) : voi d
SetIconT ype(ImageSource) : void
SetIconUnit(ImageSource) : voi d
SetInputValue(string, bool ) : voi d
«event»
+ Cli ckedEvent() : Cli ckedEventHandl er
+ ValueEvent() : ValueEventHandl er
VirtualKeyboardNum
+
+
+
btnBackspace_Cl ick(obj ect, RoutedEventArgs) : void
btnEight_Cl ick(obj ect, RoutedEventArgs) : void
btnEnter_Cl ick(obj ect, RoutedEventArgs) : void
btnFi ve_Cli ck(object, RoutedEventArgs) : voi d
btnFour_Cl ick(obj ect, RoutedEventArgs) : void
btnMinus_Cli ck(object, RoutedEventArgs) : voi d
btnNine_Cli ck(object, RoutedEventArgs) : voi d
btnOne_Cli ck(object, RoutedEventArgs) : voi d
btnPoint_Cl ick(obj ect, RoutedEventArgs) : void
btnSeven_Cli ck(object, RoutedEventArgs) : voi d
btnSix_Cl ick(obj ect, RoutedEventArgs) : void
btnT hree_Cli ck(object, RoutedEventArgs) : voi d
btnT wo_Cli ck(object, RoutedEventArgs) : voi d
btnZero_Cl ick(obj ect, RoutedEventArgs) : void
Update() : void
Vi rtualKeyboardNum()
Vi rtualKeyboardNum(AWi ndow)
Abbildung 28: Klassendiagramm GUI
008_Schlussbericht.doc
108/109
19.02.2009
MasterMaster-Thesis MASMAS- IT 0606-02
Schlussbericht
12.4.3 ReferenzReferenz-Anwendung „Brick Separierer“
class Class Model
AContentControl
Top
Program
-
Main(string[]) : void
Brick
+
-
m_rButton: CustomButton
m_rContentControl: AContentControl
+
Brick(AContentControl, string, string, int, bool, bool)
-m_rBrick
«property»
+ m_bIsMeasured() : bool
+ m_bMustMeasure() : bool
+ m_dMaxBrickWidth() : double
+ m_dMinBrickWidth() : double
+ m_iBrickMeasureOrder() : int
+ m_sBrickID() : string
+ m_sBrickName() : string
Measure
+
+
+
+
#
ButtonWithCaption(string) : bool
Execute(string) : void
Measure()
Measure(AWindow)
OnLoaded() : void
OrderID
+
#
+
+
Execute(string) : void
OnLoaded() : void
OrderID()
OrderID(AWindow)
-
m_bActualBrickFail: bool
m_bFailBrick: bool
m_bStarted: bool
m_dLength: double
m_dMaxWidth: double
m_dMinWidth: double
m_dWidth1: double
m_dWidth2: double
m_iColumn: int
m_iCountSteps: int
m_iProcessCounter: int
m_iRow: int
m_isMeasured: bool
m_rBrick: Brick ([,])
m_rLabelPrinterAdapter: IDataOutput
m_rProcessOrder: ProcessOrderIndex ([])
m_rProcessOrderIndex: ProcessOrderIndex
m_rXMLDoc: XmlDocument = new XmlDocument()
m_sOrderID: string
m_sUriLabelPrinterTemplate: string
+
+
+
+
+
+
+
+
ButtonWithCaption(string) : bool
ChangeStep(ESteps) : void
Download(string) : void
Execute(string) : void
Init() : void
OnLoginDialogClosed(object) : void
SetMeasureData(double, double, double) : bool
SetOrderID(string) : void
Top()
Top(AWindow)
Abbildung 29: Klassendiagramm Referenz-Anwendung „Brick Separierer“
008_Schlussbericht.doc
109/109
19.02.2009