Home
Das Beergame
Contents
1. und der Animationsansicht hin und her wechseln 8 2 2 sSpielansicht I Tabelle In der Tabellenansicht hat der Spieler den kompletten Spielverlauf im Blick siehe Abb 8 8 Die Tabelle enth lt f r jede Spielrunde eine Zeile Aus dieser Zeile kann herausgele sen werden in welchen H hen sich die Auftrags und Lagerbest nde sowie die Gesamt kosten in dieser Runde entwickelt haben abh ngig von den eingehenden und ausgehenden Bestellungen und Lieferungen Je nach Spielkonfiguration kann die Tabelle in zus tzlichen Spalten die Endkundennachfrage sowie den Inhalt des Shipping Delay enthalten Um den Ablauf der Spielrunde nachzuvollziehen k nnen die Spalten von links nach rechts gelesen werden Zun chst wird der Wareneingang ins Lager bewegt Wareneingang und bisheriger Lagerbestand ergeben addiert den verf gbaren Bestand also die Menge an Waren die theoretisch ausgeliefert werden k nnte Danach wird die eingehende Bestellung entgegen genommen und zu den bereits vorhandenen offenen Bestellungen addiert Die offenen Be Das Beergame als Softwarevariante 67 stellungen werden so vollst ndig wie m glich gedeckt wonach schlie lich die neuen Be st nde Lager und offene Bestellungen notiert werden k nnen Aus diesen Best nden er geben sich die Kosten der Runde welche zu den bisherigen Gesamtkosten addiert werden oche Wareneingang Verf gbar Kundenauftrag Warenausgang Offen Lagerbestand Kosten Meine Bestellung
2. 0 c TO R WWW ECONSTOR EU Der Open Access Publikationsserver der ZBW Leibniz Informationszentrum Wirtschaft The Open Access Publication Server ofthe ZBW Leibniz Information Centre for Economics Christ Florian Riemer Kai Working Paper Das Beergame Realisierung einer Softwarevariante f r den Einsatz in E Commerce Lehrveranstaltungen Internet konomie und Hybridit t No 54 Provided in Cooperation with European Research Center for Information Systems ERCIS University of M nster Suggested Citation Christ Florian Riemer Kai 2008 Das Beergame Realisierung einer Softwarevariante f r den Einsatz in E Commerce Lehrveranstaltungen Internet konomie und Hybridit t No 54 This Version is available at http hdl handle net 10419 46596 Nutzungsbedingungen Terms of use Die ZBW r umt Ihnen als Nutzerin Nutzer das unentgeltliche The ZBW grants you the user the non exclusive right to use r umlich unbeschr nkte und zeitlich auf die Dauer des Schutzrechts the selected work free of charge territorially unrestricted and beschr nkte einfache Recht ein das ausgew hlte Werk im Rahmen within the time limit of the term of the property rights according der unter to the terms specified at http www econstor eu dspace Nutzungsbedingungen http www econstor eu dspace Nutzungsbedingungen nachzulesenden vollst ndigen Nutzungsbedingungen zu By the first use of the selected work the user agrees and vervielf lt
3. 1 5 20 5 5 0 15 7 5 2 5 20 5 5 0 15 15 0 5 3 5 20 5 5 0 15 22 5 4 0 15 5 5 0 10 27 5 5 5 5 15 5 5 0 10 32 5 5 6 0 10 10 10 0 32 5 10 7 5 5 10 5 5 37 5 15 B 5 5 10 5 10 47 5 15 g 10 10 10 10 10 0 57 5 15 Abb 8 8 Bildausschnitt der Tabellenansicht Nach jedem Start einer neuen Runde wird eine weitere Zeile in die Tabelle eingef gt Bis auf die Bestellung des Spielers 1st die Zeile bereits vollst ndig ausgef llt Der Spieler kann nun mit Blick auf die vorliegenden Daten seine Bestellentscheidung treffen und gibt den gew nschten Bestellwert in das Eingabefeld am rechten unteren Rand der Tabelle ein Nachdem der Spieler seine Bestellung eingegeben und best tigt hat erscheint ein Popup Fenster auf dem Bildschirm welches ihn darauf hinweist dass die getroffene Bestellent scheidung korrigiert werden kann solange sich das Spiel noch in der entsprechenden Run de befindet Wird die n chste Runde vom System freigegeben verschwindet das Popup wieder und die Tabelle wird mit den Werten der neuen Runde aktualisiert 8 2 3 Spielansicht II Animation Die Tabellenansicht bietet einen sehr guten berblick ber die momentane Spielsituation jedoch ist sie eher f r erfahrene Spieler gedacht die das Beergame nicht zum ersten Mal spielen und somit die Material und Informationsfl sse innerhalb einer Supply Chain be reits verinnerlicht haben Beim Brettspiel haben die Spieler eine abstrahiere Supply Chain als Spielbrett
4. 65 AmmielklebtIds CITED esse aeg 66 Bildausschnitt der Tabellenansicht eeeseeeseeeeneeese 67 JATmiattonsatiste DE ae 68 IV Florian Christ Kai Riemer Das Beergame Realisierung einer Softwarevariante 1 Einleitung In Handels und Produktionsunternehmen n mmt das Supply Chain Management SCM eine immer wichtigere Rolle ein da durch eine optimale Ausgestaltung der Lieferkette von der Produktion bis hin zum Kunden Wettbewerbsvorteile geschaffen werden k nnen Durch eine berbetriebliche Optimierung der logistischen und organisatorischen Prozesse sowie der Informationsinfrastruktur soll erreicht werden das Angebot und die Nachfrage an Produkten innerhalb der Supply Chain aufeinander abzustimmen um berproduktionen und erh hte Lagerkosten zu vermeiden Ein Ph nomen das insbesondere in unkoordinier ten Lieferketten auftritt und recht deutlich die Notwendigkeit des Supply Chain Management zeigt ist der sog Bullwhip Effekt Verwaltet jedes Unternehmen der Supp ly Chain seinen Lagerbestand autonom so f hrt dies zu Schwankungen in den Bestell mengen Diese Schwankungen verst rken sich zunehmend je weiter man sich entlang der Supply Chain vom Kunden bis bin zur Produktion bewegt Die Folge sind hohe Kosten die aus gro en Sicherheitsbest nden oder nicht erf llbaren Auftr gen resultieren Mit dem Beergame existiert ein einfaches und anschauliches Instrument welches es er m g
5. taktische Struktur aufweisen um m glichst einfach Methoden zum Auffinden von Text bausteinen bereitstellen zu k nnen Auch hier bietet sich die Verwendung von XML an Zum einen kann mit XML komfortabel eine einheitliche Datenstruktur definiert werden zum anderen k nnen bestehende Funktionen des Datenzugriffs weiterverwendet werden Die hierzu genutzte XML Datenstruktur ist wenig komplex Zumeist ist es ausreichend zu jedem Textbaustein einen Bezeichner und den dazugeh rigen bersetzungstext anzugeben Beispielsweise gibt das XML Element label name label marl Ihre Email Adresse label Das Beergame als Softwarevariante 52 die Beschriftung eines Eingebefelds an Bei manchen Textbausteinen sind jedoch Zusatzin formationen notwendig Etwa wird bei Spaltenk pfen von Tabellen zus tzlich die Breite der Spalte angegeben damit die Spalten f r jede Sprache die optimale Breite aufweisen und die berschriften nicht abgeschnitten werden Eine solche Spaltendefinition ist z B label name column incomingDelivery width 95 gt Wareneingang lt label gt Die Texte der Frontends f r Spieler und Spielleiter befinden sich in verschiedenen Dateien Zudem werden innerhalb der Dateien die genannten label Elemente f r jede Maske in ei nem screen Element gruppiert So k nnen bei Bedarf nur die Texte einer bestimmten Oberfl che geladen werden In der Datei languages xml befinden sich Informationen ber alle derzeit verf gba
6. Did 9 8 9 9 Steigende Variabilit t der Bestellungen in der Supply Chain 4 Spielbrett des Beergame in Ausgangsstellung eeeeeeerreere 6 Alternative Variante des Brettspiels ccccccccccccccssseeeecceeeeeeeaeeeseeeceeeeeeeaas 9 Akteure des Beergame in UML Notation sese 12 Anwendungsfalldiagramm des Spielleiters esssssssssee 16 Anwendungsfalldiagramm des Spielers cccccccsssssesecceeccceeeeeeseceeeeeeaaas 17 Klassendiagramm vor der Implementierungsphase 23 Client Server Architektur der Beergame Software sss 25 Erweiterte Softwarearchite KUUE a u 40 Paketstruktur der Java Klassen des Backend ssssssss 4 URL zur Abgabe einer Bestellung eeeeeeseeeeeeeenrnnn 43 Variationen des Liniendiagramms eese 54 bersicht der laufenden Veranstaltungen 58 Bildschirm zur Festlegung der Spielkonfiguration sssss 59 Bildschirm zur Zuordnung von Spielern zu Spielen 62 Bildausschnitt der Spieliibersichtsmaske cccccccsssseesseeeeeeeeeeeaeeseeeeeees 63 Bildschirm zur detaillierten Beobachtung eines Spiels 64 Fenster zum Senden und Empfangen von Nachrichten
7. Die betroffenen Spieler erschei nen nach der Freigabe wieder in der Liste auf der linken Seite 8 1 4 Alle Spiele beobachten Nach dem Zuordnen der Spieler und dem Starten der Spiele k nnen nun die laufenden Spiele beobachtet werden Hierzu gibt es eine bersichtstabelle in der jedes Spiel eine Zeile einnimmt siehe Abb 8 4 In jeder Zeile finden sich Informationen ber die aktuelle Runde des Spiels den momentanen Status der Spielrunde sowie eine Auswahl wichtiger Werte der Spieler Der Status einer Spielrunde kann drei verschiedene Werte annehmen e l uft wenn noch nicht alle Spieler ihre Bestellungen abgegeben haben e wartet auf Freigabe wenn alle Bestellungen abgegeben wurden in den Einstellungen Jedoch manuelle Rundenfreigabe eingestellt wurde Das Beergame als Softwarevariante 63 e sowie Spiel beendet F r Jede Supply Chain Stufe werden in einer Spalte aktuelle Rundendaten des dazugeh ri gen Spielers zusammengefasst angezeigt Diese sind der aktuelle Lagerbestand bei Liefer r ckstand evtl negativ die Bestellung der letzten Runde sowie die kumulierten Gesamt kosten Ein vorangestelltes X zeigt an ob der Spieler schon seine Bestellung abgegeben hat Spiele beobachten L Lagerbestand B Bestellung K Kosten X Bestellung abgegeben Spiel Rd Brauerei Distributor Gro h ndler Einzelh ndler Status E 16 L20 B2 K 171 5 L 10 BO K 199 5 L B20 K 159 5 L3 B9 K 114 5 l uf
8. ben Maschine befinden und ein entfernter Zugriff ber das Netzwerk erfolgen muss 2 ber die Beergame API Java Programme k nnen die Beergame Klassen als Biblio thek einbinden Beergame Aufrufe k nnen dann direkt in den Programmcode integ riert werden Das Exception Handling des Beergame Backend stellt dabei die Korrek theit der Eingaben und die Konsistenz der Aufrufe sicher 7 3 Externer Zugriff auf gespeicherte Daten des Beergame Schon w hrend eines Spiels liegen die dabei anfallenden Daten in Form von XML Dateien auf dem Server Nach Beendigung kommt ein Excel Spreadsheet dazu welches die Ergeb nisse aufbereitet Die XML Daten liegen in unverschl sselter Form vor Die Datenstruktur der XML Dokumente ist unver nderlich und in einer Dokumenttypdefinition DTD fest gelegt die sich ebenfalls auf dem Server befindet Unter diesen Voraussetzungen ist es problemlos m glich mit selbst entwickelten Applika tionen aber auch mit ausgew hlter Standardsoftware auf diese Daten zuzugreifen Ein Bei spiel f r eine selbst entwickelte Applikation ist etwa ein Programm das die Ergebnisse eines Spiels oder auch einer ganzen Veranstaltung in eine Berichtsform bringt und eine PDF Datei generiert Auch andere Exporte sind ber diesen Weg leicht umzusetzen Als Beispiel f r den Zugriff von Standardsoftware auf Daten des Beergame seien hier Sta tistikpakete wie etwa GNU R genannt Damit kann beispielsweise das Spielerverhalten mir
9. glich vor al lem beim Spiel ber das Internet sich m ndlich abzusprechen so sollte die Software eine eigene Kommunikationsm glichkeit bereitstellen die den Spielern optional zu ganglich gemacht werden kann Das Beergame als Softwarevariante 15 Es wird h ufig vorkommen dass ein Spielleiter bestimmte Konfigurationen die er als an gemessen aussagekr ftig erachtet immer wieder mit verschiedenen Spielergruppen ver wendet Um nicht bei jeder Veranstaltung die Konfiguration vollst ndig neu eingeben zu m ssen sollte eine M glichkeit geschaffen werden komplette Konfigurationen speichern zu k nnen um sie dann bei sp teren Veranstaltungen erneut abrufen zu k nnen Neben der Festlegung der Spielkonfiguration ist es vor Spielbeginn die Aufgabe des Spiel leiters jeden Spieler einem Spiel und darin einer bestimmten Position innerhalb der Supp ly Chain zuzuordnen Es soll dem Spielleiter die M glichkeit gegeben werden Spieler die sich r umlich recht nahe beieinander befinden unterschiedlichen Spielen zuzuweisen um so wiederum Kommunikationsm glichkeiten zu unterbinden Spielen r umliche Aspekte eine untergeordnete Rolle etwa beim Spielen ber das Internet so sollte die Zuordnung der Spieler auch automatisch erfolgen k nnen Sind die Spiele gestartet sollte es dem Spielleiter m glich sein den Spielverlauf aller lau fenden Spiele zu beobachten Dabei sollten zwei Detaillierungsgrade vorhanden sein Zum einen eine gr
10. 2007 S 211 Das Beergame als Softwarevariante 31 Daher stellt die Auswahl eines geeigneten Toolkits eine der Herausforderungen bei der Entwicklung dar Sind die Funktionsumfange der einzelnen Toolkits noch recht einfach zu vergleichen stellt die Sicherstellung der Qualit t durchaus ein Problem dar vor allem im Hinblick auf die Kompatibilit t mit den benutzten Browsern und Betriebssystemen Fehler k nnen zum einen bei der Ausf hrung des Javascripts zum anderen aber auch bei der Interpretation des HTML Codes auftreten Nimmt man dies mit der Anzahl der m glichen Browser Betriebssystem Kombinationen zusammen so kann man die H he des Testauf wands f r Ajax Anwendungen in etwa absch tzen Browser Plugins Ein Browser Plugin ist ein externes Programm das vom Benutzer selbst 1n einen Browser integriert werden kann damit es dort Zusatzfunktionen bereitstellt Alle g ngigen Browser stellen dazu Schnittstellen bereit welche zur Entwicklung und Einbindung von Plugins verwendet werden k nnen Eine Kategorie der Browser Plugins stellen Laufzeitumgebun gen dar die es dem Browser erm glichen weitere Inhalte anzeigen zu k nnen die ber das klassische HTML hinausgehen So existieren z B Laufzeitumgebungen zum Abspie len von Audio und Videodateien aber auch solche zum Interpretieren und Ausf hren von Programmcode Die G ngigsten und Machtigsten dieser Art sind die Java Virtual Machine die Java Applets ausf hren kann sowie der
11. Beergame als Softwarevariante 55 7 M gliche Erweiterungen Die Entwicklung von Software ist nie ein abgeschlossener Vorgang sondern vielmehr ein Prozess der ber die gesamte Lebensdauer einer Software hinweg andauert Dabei ver n dern sich mit der Zeit auch die Anforderungen an die Software selbst etwa an die Qualit t aber vor allem auch an den Funktionsumfang der Applikation Entwickler sollten daher schon zu Beginn der Entwicklung m gliche Erweiterungen antizipieren und deren sp tere Umsetzung bestm glich unterst tzen Die vorliegende Implementierung des Beergame sieht vor allem vier Ansatzpunkte f r sp tere Erweiterungen vor auf die im Folgenden n her eingegangen werden soll Diese sind e die Anbindung einer neuen Benutzerschnittstelle e die Entwicklung externer Applikationen die auf die Programmlogik des Beergame zugreifen e die Entwicklung externer Applikationen die auf vom Beergame gespeicherte Daten zugreifen und schlie lich e die Erweiterung der Programmlogik selbst TA Alternatives Frontend Bei der Planung der vorliegenden Implementierung fiel die Entscheidung zur Benutzung einer bestimmten Frontend Technologie wie zuvor ausf hrlich dargelegt zugunsten von Flash und gegen ein Frontend auf Basis von DHTML Ajax aus Es besteht jedoch durchaus die M glichkeit dass durch die weitere Entwicklung der letztgenannten Technik vor allem im Bereich der Standardisierung und Konsolidierung der Ajax Tool
12. Browser verwendet wird Das von Ajax genutzte DHTML unterscheidet sich von normalem HTML durch die Eigenschaft auch nach dem Laden per Skript in seiner Struktur manipulierbar zu sein 2 JavaScript Nachdem die Seite geladen wurde wird jegliche nachtr gliche Ver nde rung ber Javascript durchgef hrt Javascript beinhaltet dazu eine Schnittstelle ber die das HTML Dokument auch nach dem Laden manipuliert werden kann Diese Schnittstelle ist das Document Object Model DOM Um Daten von Webservern la den zu k nnen ohne dabei die gesamte Seite aktualisieren zu m ssen steht die Javasc ript Methode XMLHttpRequest zur Verf gung mit der Daten in XML Form im Hin tergrund geladen werden und mithilfe des DOM in die Seite eingesetzt werden k n nen 3 XML welches wegen seiner Universalit t zum Datenaustausch verwendet wird Neben der Methode XMLHttpRequest stellt Javascript noch weitere Methoden zur Verarbei tung von XML bereit Da die Umsetzung von RIA mit Ajax die Erstellung vieler komplexer Javascript Funktionen erfordert wurden wichtige Methoden von Entwicklergruppen gesammelt und als so genannte Ajax Toolkits meist unter Open Source Lizenz ver ffentlicht Von diesen Toolkits gibt es eine gro e Anzahl die sich in ihrer Qualit t und 1n ihrem Funktionsum fang unterscheiden Vgl Vossen Hagemann 2007 S 46 i Vgl Vossen Hagemann 2007 S 93 5 Vgl Vossen Hagemann 2007 S 146 9 Vgl Vossen Hagemann
13. Flash als auch in Java Applets durch die Schnittstellen DOM und XPath unterst tzt Funktionen die der Ajax Methode XMLHttpRequest gleichkommen sind ebenfalls vorhanden Im Gegensatz zu Java und auch den meisten Ajax Toolkits baut Flash nicht auf dem Open Source Gedanken auf sondern ist ein propriet res Produkt der Firma Adobe Demzufolge ben tigt man zur Erstellung von Flashdateien eine Entwicklungsumgebung die von eben dieser Firma kostenpflichtig angeboten wird Gl cklicherweise stellte diese Tatsache f r das vorliegende Projekt kein gr eres Hindernis dar da dem Autor f r die Dauer der Ent wicklung von der reflact AG in Oberhausen freundlicherweise ein Flash Arbeitsplatz zur Verf gung gestellt wurde Aufgrund der Unzul nglichkeiten im Bereich der Animations und Zeichenfunktionen die zur Umsetzung der Diagrammen und der animierten Spielansicht unabdingbar sind schei det die Ajax Technologie f r eine Umsetzung des Beergame aus Zudem kann durch das kurze Zeitfenster zur Entwicklung der Anwendung das Risiko eventueller Browserinkom patibilit ten des gew hlten Toolkits nicht eingegangen werden Bei der Abw gung zwi schen Java Applets und Flash geben ebenfalls die gr eren grafischen M glichkeiten der Flash Plattform den Ausschlag da kein Kriterium ausgemacht werden konnte dass den Einsatz der einen oder anderen Methode unm glich machen w rde Sowohl mit Applets als auch mit Flash kann das Beergame ad quat 1mpleme
14. R Die Neuen Informationstechnologien als Gegenstand der konomischen Bil dung Nr 49 Trauten A Langer T Information Production and Bidding in IPOs An Experimental Analysis of Auctions and Fixed Price Offerings Nr 50 Grob H L Vossen G Hrsg Entwicklungen im Web 2 0 aus technischer konomi scher und sozialer Sicht Nr 51 Bockm hl E Ricke T Internetwahlen Ein interdisziplin rer Ansatz Nr 52 Riemer K E Commerce und Supply Chain Management Ma nahmen und Instrumente zur Verbesserung der Koordination in Lieferketten Nr 53 Christ F Riemer K Das Beergame Realisierung einer Softwarevariante f r den Einsatz in E Commerce Lehrveranstaltungen Nr 54
15. chlich administrative T tigkeiten Spieler Spielleiter Abb 3 1 Akteure des Beergame in UML Notation Im Folgenden sollen nun f r jeden dieser Akteure die dazugeh rigen Anwendungsf lle gefunden und im Detail spezifiziert werden 17 Vgl Jacobson 1992 S 129 f I5 Vgl Jacobson 1992 S 127 Das Beergame als Softwarevariante 13 3 1 1 Anwendungsf lle des Spielleiters Neben dem Sichtbarmachen des Bullwhip Effekts ist das Hauptziel des Beergame den Spielern auch die m glichen Ursachen dieses Ph nomens deutlich zu machen um daraus Gegenma nahmen erarbeiten k nnen Es ist also sinnvoll das Beergame als praktische bungseinheit in Lehrveranstaltungen zum Thema Supply Chain Management einzubet ten Ein typischer Ablauf einer solchen bungseinheit sollte sein das Beergame mehrfach und mit unterschiedlichen Konfigurationen zu spielen Um den gr tm glichen Bullwhip Effekt zu bekommen wird zun chst wird ein Durchlauf mit sehr restriktiven Einstellungen gespielt Das heibt den Spielern stehen keinerlei Informationen ber die restliche Supply Chain zur Verf gung Des Weiteren d rfen sich die Spieler untereinander nicht abspre chen Um den Bullwhip Effekt zu reduzieren k nnen nun in weiteren Durchl ufen sukzes sive die Restriktionen gel st werden Der Dozent der Lehrveranstaltung tritt hierbei als Spielleiter des Beergame auf dem die Aufgabe zuf llt das gew nschte Ma an Restriktio nen in der Software einzustell
16. dass durch h here Informationsbereitstellung der Bullwhip Effekt verringert wer den kann Ein hnlicher Effekt kann mit der Mailfunktion erreicht werden Diese ist standardm ig nur f r die bidirektionale Kommunikation zwischen Spielern und Spielleiter aktiviert Alternativ kann jedoch auch die Kommunikation zwischen den Spielern eines Spiels er laubt werden wodurch die Spieler ihre Unsicherheit bei der Bestellentscheidung reduzie ren k nnen Das Diagramm im unteren Bereich des Bildschirms zeigt den Verlauf der Endkundennach frage W hrend auf der horizontalen Achse die Spielrunden von der ersten Runde bis zur oben eingestellten maximalen Rundenzahl abgezeichnet sind zeigt die vertikale Achse die Endkundennachfrage der jeweiligen Runde Die Liste links neben der Grafik enth lt eine zusammengefasste Darstellung Es werden nicht alle Runden aufgef hrt sondern nur sol che in denen sich die Nachfrage im Vergleich zur Vorrunde ndert Endkundennachfrage kann auf zwei Arten ins System eingegeben werden zum einen durch manuelles Anpassen der Liste Dies geschieht durch Eingabe von Wertepaaren der Form ab RundeX Nachfra geY Alternativ kann die Endkundennachfrage auch ber den Knopf Zahlenfolge als Ganzes eingegeben werden Akzeptiert werden Zeichenketten in denen die Nachfragewer Das Beergame als Softwarevariante 61 te durch Kommata voneinander getrennt hintereinander gereiht wurden ber diesen Weg kann der Spi
17. die Angabe trivialer Methoden zum Setzen und Auslesen der Attribute soll hier verzichtet werden technische Details folgen in Kap 6 1 2 Das Beergame als Softwarevariante 2 Bestellung ab Bei jedem Runden bergang bekommt die Klasse Spieler von der Klasse Spiel die aktuelle Lieferung sowie die aktuelle Bestellung bergeben Die Klasse Spieler schlie t damit die aktuelle Runde ab und berechnet die Werte der n chsten Runde Spielleiter Admin Analog zum Spieler werden auch vom Spieleiter Name und Email Adresse aufgenommen Ein Spielleiter ist mit genau einer Veranstaltung verkn pft Nur ihm ist es gestattet die Methoden der Veranstaltung auszuf hren Zudem kann er Nachrichten an Spieler der Ver anstaltung senden sowie Nachrichten von Selbigen empfangen Veranstaltungskonfiguration EventPreferences Die Konfiguration nimmt s mtliche Einstellungen auf die der Spielleiter vor Spielstart t t gt bzw w hrend des Spiels anpasst Nach der Anforderungsanalyse sind diese e Die Benennung der Stufen der Supply Chain durch je einen Wert vom Typ String in einer Liste e Der Verlauf der Endkundennachfrage Da diese oft bis auf wenige Spr nge konstant ist bietet sich an nur die nderungen im Nachfrageverlauf zu speichern Die Nachfra ge wird daher durch eine Menge von Tupeln der Form Runde nderung spezifiziert Die Menge muss zur Initialisierung stets ein Wertepaar mit dem Rundenwert 1 beinhal ten e Die maximale Ru
18. gt shippingsVisible PCDATA gt customerDemandVisible PCDATA gt messagingVisible PCDATA gt Shipping gt level level id PCDATA gt CDATA REQUIRED change PCDATA gt change round CDATA REQUIRED shipping PCDATA gt shipping xd CDATA REQUIRED Das Beergame als Softwarevariante 79 Beispiel preferences lt name gt Standardkonfiguration deutsch lt name gt description Vier Stufen deutsche Bezeichn r lt description gt lt supplyChainLevels gt level id O gt Brauerei lt level gt level id 1 gt Distributor lt level level id 2 gt Gro h ndler lt level gt level id 3 gt Einzelh ndler lt level gt lt supplyChainLevels gt lt customerDemandChanges gt change id 0 gt 5 lt change gt lt change id 4 510 change lt customerDemandChanges gt lt initialShippingIncomingDeliveries gt shipping id 0 55 shipping shipping id 1 55 shipping initialShippingIncomingDeliveries lt advanceToNextRoundStyle gt 1000 lt advanceToNextRoundStyle gt autom lt maxRoundsPerGame gt 40 lt maxRoundsPerGame gt lt costsPerUnitOnStack gt 0 5 lt costsPerUnitOnStack gt lt costsPerUnitNotDelivered gt 1 0 lt costsPerUnitNotDelivered gt lt initialStockBeforeRound gt 15 lt initialStockBeforeRound gt lt initialBackorderBeforeRound gt 0 lt initialBackorderBeforeRound gt lt iInitialimncomingOrder gt 5 lt init
19. im Lager schla gen 0 50 Geldeinheiten zu Buche wohingegen jede Einheit die sich noch auf dem Zet tel mit den offenen Bestellungen befindet mit einer Geldeinheit bestraft wird Die Kos ten der aktuellen Runde werden zu den Kosten der bisherigen Runden addiert und im P Vgl Ossimitz 2002 S 28 f Das Beergame als Softwarevariante 8 Diagramm verzeichnet Lieferr ckst nde werden als negativer Lagerbestand abgetra gen Damit st die Runde vollst ndig durchgef hrt und das Spielbrett kann 1n die n chste Runde berf hrt werden Dazu werden die Einheiten von den rechten Shipping Delay Feldern auf die freien linken Felder verschoben sowie die Bestellungen auf den Feldern Placed Orders auf die Felder Incoming Orders der linken Nachbarn Beim Beergame kann den Spielern eine maximale Rundenzahl vorgegeben werden Be stenfalls jedoch wird das Spiel nach etwa 30 50 Runden durch einen Spielleiter pl tzlich abgebrochen Dadurch wird verhindert dass die Spieler gegen Ende des Spiels ihre Be stellpolitik ndern und die Lager leer laufen lassen 2 4 Alternative Variante des Brettspiels Im Jahr 2002 wurde an der Universitit Klagenfurt in K rnten Osterreich von einer Ar beitsgruppe um Prof G nther Ossimitz eine ver nderte Variante des Beergame Brettspiels entwickelt Die Entwicklung verfolge das Ziel folgende von der Arbeitsgruppe identifi zierte Probleme des klassischen Brettspiels zu berwinden l Mangeln
20. im Zusammenspiel von RIA und Desktopanwendungen etwa ber Drag amp Drop Des Weiteren stellt die Tatsache dass RIA im Browser ausgef hrt werden gewissermaben eine nat rliche Grenze dieses Konzepts dar Aus dem Browser heraus ist es weder m glich uneingeschr nkt auf das lokale Datei system zuzugreifen noch k nnen externe Programme aufgerufen werden Dies sind offen sichtlich f r einen Browser essenzielle Sicherheitsmechanismen jedoch schr nken sie den m glichen Funktionsumfang einer RIA erheblich ein 99 zB Zimbra www zimbra com oder LaszloMail www laszlomail com Vgl O Reilly 2005 Beispielsweise mit dem OpenLaszlo Framework www openlaszlo org Das Beergame als Softwarevariante 30 In den n chsten Abschnitten werden nun die zwei g ngigsten Ans tze zur Realisierung von Rich Internet Applications vorgestellt sowie auf hre Eignung f r die durchzuf hrende Im plementierung des Beergame untersucht Diese sind zun chst der Ajax Ansatz und im An schluss die Verwendung von Browser Plugins Die AJAX Technologie Im Bereich der Softwareentwicklung ist der Begriff AJAX e n Akronym das f r Asynch ronous Javascript and XML steht Ajax st weniger eine Technologie denn eine Kombi nat on bereits vorhandener Ans tze zur Entwicklung von Webseiten die vor allem bei Internetanwendungen des sog Web 2 0 h ufig genutzt wird Ajax verbindet folgende Technologien 1 DHTML welches f r die Anzeige im
21. in der GUI di rekt mit einem Element eines XML Fragments verbunden werden Die Nutzung von XML in Verbindung mit einer Definitionsdatei als Schnittstelle zum Ba ckend hat weitere entscheidende Vorteile Zum einen ist XML ein universell lesbares Da tenformat und somit nicht an die Nutzung eines Flash basierten Frontends gebunden Es besteht ohne weiteres die M glichkeit in Zukunft mit einem alternativen Frontend oder externen Programmen auf die Programmlogik des Beergame zuzugreifen Vgl Lehner Sch ning 2004 S 22 ff zbinJava mithilfe der Bibliothek javax xml validation Das Beergame als Softwarevariante 36 Persistente Datenhaltung Zur dauerhaften Speicherung der anfallenden Daten stehen mehrere M glichkeiten zur Auswahl 1 die Sicherung der Daten in einer relationalen Datenbank 2 die Speicherung propriet rer Dateien im Dateisystem 3 oder die Speicherung im Dateisystem jedoch in einem universellen Datenformat Die Nutzung von Datenbanken ist von daher immer zu bedenken da sie durch die normali sierte Darstellung der Daten eine sehr effiziente Methode der Datensicherung darstellt die zudem ein hohes Ma an Transaktionssicherheit aufweist Bei der vorliegenden Problem stellung sprechen allerdings zwei Punkte gegen die Nutzung einer relationalen Datenbank Erstens ist eines der Hauptziele der Entwicklung die Sicherstellung einer einfachen Instal lation Da relationale Datenbanken jedoch die zus tzliche Installa
22. ist n der Detailansicht eines Spiels einen oder mehrere Spieler in der Spielertabelle auszuw hlen und wiederum den Knopf Nachricht senden zu dr cken In beiden F llen ffnet sich anschlie end eine Maske zum Senden von Nachrichten siehe Abb 8 6 links In dieser Maske befinden sich in einer Liste auf der linken Seite alle m g lichen Empf nger wobei die zuvor getroffene Auswahl des Spielleiters in dieser Liste be reits ber cksichtigt 1st Der Nachrichtentext kann in das Textfeld auf der rechten Seite ein gegeben werden Nachrichten Empf nger der Nachricht N achricht sen d en Spielleiter Empfangene Nachrichten Voll belegt Fertig zum St Hier k nnen Sie eine Textnachricht an einen oder mehrere Datum n E EE Spieler senden Spiele mit freien Pl tzen i Aue i 5 ps Wenn Sie statt eines Spielers ein Spiel markieren wird die Spiellelier AETERNE Y Laufende Spiele Nachricht an alle Spieler des Spiels gesendet Y Spiel 1 Brauerei Klaus Text der Nachricht Distributor Peter Gro h ndler Heinz Einzelh ndler Ger Ich kann nichts daf r dass bei Dir nichts ankommt Die Brauerei ist schuld Text der Nachricht Ihr m sst konstanter bestellen Euer Spiel hat bisher die h phsten Kosten 1 Empf nger gew hlt Seniosen J Arworon Abb 8 6 Fenster zum Senden und Empfangen von Nachrichten Da der Spielleiter auch Nachrichten von Spielern empfangen kann steht eine Post
23. nicht zwingend um Bier handeln jedoch sollte ein Produkt gew hlt werden bei dem von maximalen Lagerzeiten abstrahiert werden und welches zudem in einer festen Verpackungseinheit angeboten wer den kann Beim urspr nglichen Beergame wird das Bier in K sten vertrieben Im Spiel wird jedem Spieler das Management eines der vier Unternehmen der Supply Chain bertragen Ziel jedes Spielers ist es die eingehende Nachfrage bestm glich durch den eigenen Lagerbestand zu befriedigen ohne dabei jedoch den Sicherheitsbestand zu gro werden zu lassen Der Lagerbestand kann durch Bestellungen bei der nachfolgenden Stufe der Supply Chain verwaltet werden Die Bestellungen eines Spielers stellen damit gleichzeitig die eingehende Nachfrage im nachfolgenden Unternehmen dar Der Einzel h ndler erh lt als Input die Endkundennachfrage welche die einzige externe Einflussgr e des Spiels darstellt Da beim Beergame der Fokus ausschlie lich auf den Bullwhip Effekt gelegt werden soll weist die simulierte Supply Chain einen sehr hohen Abstraktionsgrad auf Einzige Gr en von Belang sind Best nde und Liefermengen sowie Kosten die f r Lagerhaltung oder Konventionalstrafen anfallen Es gibt keinerlei H chstgrenzen f r Lager oder Transport mengen auch k nnen die Waren im Lager nicht verfallen Zudem werden bei den Bestel lungen keine Preise veranschlagt Die anfallenden Kosten dienen ausschlie lich der Abw gung des optimalen Lagerbestands De
24. se aa 58 8 1 2 Veranstaltung anlegen Spielkonfiguration festlegen 50 5 1 5 S pteler Zu Spielen ZUOrdnen u 61 8 14 Alle Spiele Deobachten sans 62 8 155 Detailansicht euies Spiels east MI tenia pd dept 63 8 1 6 Nachrichten senden empfangen ssssssssssseeeeeeenensnnnnsenneneenennnnnnnnnnnn 64 8 2 Benutzerschnittstelle des Spieles na a a price 66 8 2 1 Veranstaltun betreten ses 66 8 2 28 Pielansicht IL Fabel ea ame 66 5 2 9 pielansicht Animation aa od ed Ex ERE n an es OR UU De pad xb udin 67 8 2 4 Nachrichten senden empfangen ccccccccccccssssesseecceececeaeeeeseeceeeeeeeaas 70 9 Fazit nach der Entwickluns u a Er 71 et go WU TS EZ TUN uS ET ONES 12 ADIT Sn ee ee 74 MN IBS NI SN cc E 74 A a Event 74 A b Admin 75 A c Game 75 A d Player 76 T MM S RD TELLE 76 A TSOUHGL d auos ied edid es auster te dudum 71 AT IN CMe NGO CS ona E ee ME A out unt 78 B M gliche Anfragen an die Controller u ui 80 Ba AdminGontrollet iei etus u 80 B b PlayerConttolet uu cure idus Em eate cinta ov tem ad dame utto bui eis 81 C Bentitzte exteme Komponenten ices esas io a A 8l Das Beergame als Softwarevariante Abbildungsverzeichnis Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb Abb 3 1 32 3 3 4 1 4 2 4 3 2 1 6 1 6 2 Fn 1 2 dao 9 1 Do 9 3 9 4 9 5 9 6
25. shell de amp Co Nr 7 Trauten A Zur Effizienz von Wertpapieremissionen ber Internetplattformen Nr 8 Aufderheide D Hybridformen in der Internet konomie Gegenstand und Methode eines rechtswissenschaftlichen und institutionen konomischen Forschungsprogramms Nr 9 Grob H L Brocke J vom Hermans J Wissensplattformen zur Koordination verteilter Forschungs und Entwicklungsprozesse Ergebnisse einer Marktstudie Nr 10 Becker J Brelage C Falk T Thygs M Hybrid Information Systems Position the Web Information Systems Artefact Nr 11 Brocke J vom Hermans J Kontextkonstruktion in Wissensmanagementsystemen Ordnungsrahmen und Ergebnisse einer Marktstudie Nr 12 Holznagel B Jungfleisch C Die Verwirklichung von Zuschauerrechten im Rundfunk Regulierungskonzepte zwischen Theorie und Praxis Nr 13 Br cher J Hoffmann L M Sabel T Der Schutzbereich des Markenrechts unter beson derer Ber cksichtigung konomischer Aspekte Nr 14 Holling H Kuhn J T Freund P A Anforderungsanalysen f r Wissensmanagement systeme Ein Methodenvergleich Nr 15 Becker J Hallek S Brelage C Fachkonzeptionelle Spezifikation konfigurierbarer Ge sch ftsprozesse auf Basis von Web Services Nr 16 Brocke J vom Hybriditat Entwicklung eines Konstruktionsprinzips f r die Internet ko nomie Nr 17 Gutweniger A Riemer K Potenzialanalyse Methoden zur Form
26. zu k nnen An den R ndern der Supply Chain werden ans telle der benachbarten Spielbl tter die Fabrik bzw die Endkunden durch entsprechende Grafiken symbolisiert Die Material und Informationsfl sse werden durch Icons darges tellt die sich zwischen den Spielbl ttern der Stufen bewegen Zwischen den Stufen befin den sich analog zum Brettspiel Felder f r den Shipping Delay sowie ein weiteres Feld Postweg welches versendete Bestellungen aufnimmt und an die n chste Stufe weiterlei tet Ahnliche Felder befinden sich auch zwischen Brauerei und Fabrik Diese nehmen den Das Beergame als Softwarevariante 69 Produktionsauftrag der Brauerei Production Request sowie die Produktionsdauer Pro duction Delay auf Nach dem Start einer neuen Runde wird nun eine Animation abgespielt welche die Phasen der Spielrunde welche im oberen Bereich des Spielblatts aufgelistet sind nacheinander durchf hrt Die Animation jeder Phase ist etwa zehn Sekunden lang w hrenddessen wird die Bezeichnung der aktuellen Phase auf dem Spielblatt rot hervorgehoben Zun chst kommt eine neue Lieferung an Der LKW des obersten Shipping Delay Feldes Production Delay im Falle der Brauerei bewegt sich nach rechts auf das Spielblatt der untere LKW r ckt auf das freigewordene Feld Der angekommene LKW wird entladen das LKW Icon ndert sich in das einer offenen Kiste In derselben Zeile des Spielblatts erscheint die Menge der angekommenen Waren die sogle
27. 2004 S 5 ff Siehe Apache Tomcat Project tomcat apache org Das Beergame als Softwarevariante Adobe Flash Player 8 Apache Tomcat 5 5 Admin Admin Frontend E Controller Beergame Player e Player Backend Frontend ET Controller Browser Abb 5 2 Erweiterte Softwarearchitektur Dateisystem 40 Nachdem nun alle zentralen Entscheidungen getroffen wurden die vor der eigentlichen Umsetzung der softwaretechnischen Realisierung des Beergame getroffen werden mussten kann nun auf Grundlage der erarbeiteten Softwarearchitektur die Implementierung der Software beginnen Einen berblick ber die Herausforderungen der Implementierungs phase wird das n chste Kapitel geben Das Beergame als Softwarevariante 41 6 Implementierung 6 1 Backend Ziel dieses Kapitels soll es nicht sein die Umsetzung jeder einzelnen Klasse durch Quell code zu beschreiben Vielmehr sollen diejenigen Aspekte erl utert werden die w hrend der Planungsphase noch nicht abgesehen werden konnten wie etwa solche die eng an Konzepte der Programmiersprache gebunden sind Abb 6 1 zeigt die vollst ndige Aufz hlung aller im Backend verwendeten Java Klassen nach Beendigung der Implementierungsphase sowie deren Aufteilung in Java Pakete In den n chsten Abschnitten werden nun wiederholt einzelne Klassen oder Pakete herausge nommen und deren Umsetzung dargelegt beergame model C Game java j beergame errorhandling C Event ja
28. Adobe Flash Player Zwischen Java Applets und Flashfilmen der aktuellen Generation k nnen viele Gemein samkeiten ausgemacht werden Beide unterst tzen z B objektorientierte Programmierung oder bieten M glichkeiten zur Erstellung grafischer Benutzeroberfl chen oder der Benut zung von Netzwerkfunktionen Dennoch ist die Entwicklung der beiden Ans tze sehr un terschiedlich verlaufen Java 1st urspr nglich eine Plattform zur Entwicklung von Desktop applikationen Das Applet Konzept ist prinzipiell eine Java Erweiterung welche die Nut zung dieser Programme im Browser m glich macht Demgegen ber war Flash urspr ng lich nur eine M glichkeit Vektorgrafiken und Animationen in Internetseiten integrieren zu k nnen Die in Flash integrierte Skriptsprache Actionscript beinhaltete zu Beginn zumeist Funktionen zur Steuerung der Animationen wurde aber im Laufe der Entwicklung mit Jeder neuen Version des Flash Players m chtiger Eine genauere Aufstellung der Funktionsumf nge dieser beiden Ans tze soll im n chsten Abschnitt gegeben werden in welchem ein Vergleich zwischen Browser Plugins und Ajax durchgef hrt wird derzeit Flash Player Version 9 mit ActionScript 3 0 Das Beergame als Softwarevariante 32 5 2 1 3 Vergleich der Alternativen und Auswahl Um die Entscheidungsfindung bez glich der f r das Frontend zu nutzenden Plattform zu verdeutlichen sollen nun die Vor und Nachteile von Ajax Flash sowie Applets gegenei nander
29. Chain bestehend aus Konsument H ndler Produzent und Zulieferer dargestellt Bestellungen des H ndlers Konsumentenk ufe beim Gro h ndler a ails 5 4 L hae 9 dodod aL 0 u Bestellmenge Bestellmenge a SAIS SM UIT Zeit Zeit Bestellungen des Gro h ndlers Bestellungen des Herstellers beim Hersteller beim Zulieferer Bestellmenge 2 Bestellmenge 5 r lt Quelle Lee Padmanabhan Whang 1997a S 94 Abb 2 1 Steigende Variabilit t der Bestellungen in der Supply Chain 2 2 Entstehung des Beergame Das Beergame oder auch Beer Distribution Game wurde bereits in den 1960er Jahren am Massachusetts Institute for Technology MIT in einer Forschungsgruppe um Prof Jay Wright Forrester erarbeitet Sinn des Spiels ist es in einer nachgestellten Supply Chain den Bullwhip Effekt zu reproduzieren Dabei wird den Spielern explizit aufgetragen diesen zu verhindern was ihnen unter den nachfolgend genannten Spielvoraussetzungen aller dings nicht gelingen wird Vgl Simchi Levi Kaminsky Simchi Levi 2003 S 911f Vgl Chopra Meindl 2001 S 360 f vertiefend siehe Hammond 1994 H Vgl Sterman 1992 S 40 Das Beergame als Softwarevariante 5 Es wird eine vierstufige Supply Chain simuliert in der von der Produktion ber einen Dist ributor einen Gro h ndler und schlie lich einem Einzelh ndler ein Produkt zum Verbrau cher gelangen soll Bei dem angebotenen Produkt muss es sich
30. Distributor Factory lt i Current Current Current Current Inventory Inventory Inventory Inventory EEE EEEE ttt 0089 9999 Shipping Shipping Shipping Shipping 9999 Shipping Shipping 9 9 Producti T Delay Delay Delay Delay Delay een a Abb 2 2 Spielbrett des Beergame in Ausgangsstellung Bevor das Spiel beginnen kann m ssen noch die Spieler auf die einzelnen Stufen der Supply Chain aufgeteilt werden Jede Stufe muss mit mindestens einem Spieler besetzt sein Weist man einer Stufe mehrere Spieler zu so spielen diese im Team und treffen ge meinsame Entscheidungen I Sterman 1992 S 40 Das Beergame als Softwarevariante 7 Das Spiel l uft rundenbasiert ab wobei eine Spielrunde etwa die Vorg nge einer Woche abbilden soll In jeder Runde trifft vom links gelegenen Spieler eine neue Bestellung ein Aufgabe des Spielers ist es den eigenen Lagerbestand derart zu verwalten dass eingehen de Bestellungen m glichst zuverl ssig erf llt werden ohne jedoch dabei den Lagerbestand zu gro werden zu lassen Dazu kann der Spieler in jeder Runde selbst neue Ware nachbes tellen Ziel des Spiels ist es die Gesamtkosten des Spiels zu minimieren die sich aus La gerkosten sowie Kosten f r nicht erf llte Bestellungen ergeben Daher werden meist meh rere Spiele parallel ausgetragen um nachher die Gesamtkosten der einzelnen Spiele ver gleichen zu k nnen Eine Spielrunde besteht aus mehr
31. PCDATA gt ELEMENT se levels Tevel gt lt ATTLIST roundData Tl CDATA 4REQUIRED label CDATA REQUIRED gt lt ELEMENT level player gt Beispiel lt game gt lt gameKey gt 12345 lt gameKey gt lt gameState gt 2000 lt gameState gt running lt currentRound gt 2 lt currentRound gt lt hasEnoughPlayers gt true lt hasEnoughPlayers gt Sec dove Lo level id Brauerei oup Le Os a lt level gt lt SC levels lt game gt hasEnoughPlayers 75 76 Das Beergame als Softwarevariante A d Player Definition lt ELEMENT player playerKey Game rounds playerKey PCDATA gt scLevel PCDATA gt name PCDATA gt email PCDATA gt madeTurn PCDATA gt assignedToGame PCDATA gt rounds roundData gt scLevel name lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT Beispiel lt player gt lt playerKey gt 12345 lt playerKey gt lt name gt Florian Christ lt name gt lt email gt florian christ gmx net lt email gt lt madeTurn gt true lt madeTurn gt lt assignedToGame gt true lt assignedToGame gt lt rounds gt x KOUNd Data lt rounds gt lt player gt A e Message Definition lt ELEMENT message content date sender gt lt ELEMENT content PCDATA gt lt ELEMENT date PCDATA gt lt ELEMENT sender player admin gt Beispiel message lt date gt 123123123 lt date gt timestam
32. R HEINZ LOTHAR GROB KOORDINATOR CHRISTIAN BUDDENDIECK LEONARDO CAMPUS 3 48149 M NSTER TEL 0251 83 38000 FAX 0251 83 38009 EMAIL GROB QUNI MUENSTER DE http www wi uni muenster de aw Februar 2008 Das Beergame als Softwarevariante Inhaltsverzeichnis Inlialtsverzelc DIS ee II ADbildunssverzeichn sauna IV i EA TTL UI ana enge l 2 Das Beergame zur Simulation des Bullwhip Effekts eeeeeessssess 3 2 1 Der B llwhip ELeKLDeosasesceszecct stab eeseidiesdvet dci site isi uedto d quoe er boe d ue dut ides natu p dean 3 2 2 Entstehune des Bert same aus tla taie Da tud oto adea tete e ad 4 2 3 Regeln und Ablauf des klassischen Brettspiels eeeeeeeesseeeeeeeess 9 2 4 ATtermattve Varrantesdes Brettsplel u tite iE Dr een 8 2 5 Konsequenzen f r eine softwaretechnische Realisierung ssseee 10 3 Anforderungsanalyse zur softwaretechnischen Realisierung eeessesse 12 3 1 Ermittlung des Funktionsumfangs eeeessssssseeseseeeeeeeeeeee enne eene 12 3 1 41 Anwendungstalle des Spiellettets nii ie oreet eda etatem id ous 13 3 1 2 Anwendunssf lledes Spielers u ange 16 3 2 Technische An ordern ee a ee a 18 4 Objektorientierte Modellierung des Datenmodells eeesssssssssss 19 Dr gt SOILWATEATE MMe SUPR TT t P T 24 3 1 Erarbeitung der Softwarearchitektur nun en 24 5 2 Auswahl der T
33. Realisierung der Software heraus 1 Eine Desktopapplikation die auf den Rechnern der Spieler und des Spielleiters instal liert wird Die Anwendungen kommunizieren ber die explizite Implementierung der Netzwerkfunktionalit ten peer to peer miteinander 2 Eine Browseranwendung die auf einem Webserver betrieben wird und von Spielern im Netzwerk ber eine Eingabe einer URL Adresse in einem Browser zu erreichen ist Es 1st ein Vorteil der Browserl sung dass auf den Rechnern der Spieler keinerlei Installa tionen vorgenommen werden m ssen vorausgesetzt es ist ein Browser vorhanden Dies kann die Vorbereitungszeit auf eine Veranstaltung erheblich reduzieren vor allem wenn das Beergame nicht auf station ren Computern sondern auf den Notebooks der Teilneh mer ablaufen soll Des Weiteren muss die Netzwerkkommunikation zwischen den Spielern nicht explizit konstruiert und implementiert werden da bei dieser L sung die Daten aller Spieler auf einem Webserver zusammenkommen Balzert 1996 S 639 Wgl Peterson Davie 2003 S 690 ff Das Beergame als Softwarevariante 25 F r die Entwicklung einer Desktopanwendung spricht dagegen die Tatsache dass bei einer solchen L sung eine Trennung von Programm und Pr sentationslogik nicht n tig 1st Der Wegfall der Schnittstellen zwischen Browser und Webserver reduziert im Allgemeinen die Komplexit t des Quellcodes Diese Einsparungen werden allerdings durch die komplexere Handhabun
34. abefeld sowie ein offener Briefumschlag Best tigt der Spieler die Bestellung schlie t sich der Umschlag und bewegt sich auf das Feld Postweg links ne ben dem Spielblatt des Spielers Wie auch in der Tabellenansicht erscheint nun das Popup mit dem Hinweis auf die M glichkeit zur Korrektur der Bestellung Die genannten Animationen werden immer f r alle drei sichtbaren Supply Chain Stufen gleichzeitig ausgef hrt Liefert der Spieler beispielsweise in Stufe 3 Waren aus so sieht er Das Beergame als Softwarevariante 70 gleichzeitig dass auch der Spieler auf der linken Seite Waren an ihn liefert Gibt der Spie ler eine Bestellung ab so kommt auch m anderen Postweg auf der linken Seite eine Be stellung an usw So kann der Spieler bereits nach wenigen Runden verstehen welche In formationen bzw Waren sich wann wo befinden Bei Testspielen w hrend der Entwicklung zeigte sich dass Spieler zumeist in den ersten Runden die Animationsansicht bevorzugen F hlen sie sich dann mit dem Spielablauf hin reichend vertraut wechseln sie oft auf f r den Rest des Spiels zur Tabellenansicht 8 2 4 Nachrichten senden empfangen Wie bereits erw hnt k nnen die Spieler w hrend des Spiels Nachrichten vom Spielleiter empfangen Inwieweit den Spielern auch das Senden von Nachrichten m glich ist h ngt von der Konfiguration der Veranstaltung ab Grunds tzlich ist es immer gestattet Nach richten an den Spielleiter zu senden Der Nach
35. aillierte Anforderungsanalyse f r die sp tere softwaretechnische Umset zung Die Entwicklung der Software beginnt mit der Erstellung eines objektorientierten Datenmodells f r das Beergame in Kapitel 4 Kapitel 5 beinhaltet zun chst die Erarbeitung einer angemessenen Softwarearchitektur anschlie end wird ausf hrlich der Entschei dungsprozess bez glich der bei der Umsetzung zu verwendenden Technologien der Soft wareentwicklung nachgezeichnet Schlie lich wird n Kapitel 6 die L sung zentraler He rausforderungen beschrieben die sich w hrend der Implementierung der Software ergaben Der Bericht schlie t mit einem Ausblick auf m gliche zuk nftige Erweiterungen der Soft ware zu deren Umsetzung bereits w hrend der Entwicklung zahlreiche Schnittstellen vor gesehen wurden Schlie lich beinhaltet Kapitel 8 eine detaillierte Beschreibung der Benut zerschnittstelle der Software und kann w hrend der Nutzung als Benutzerhandbuch ver wendet werden Das Beergame als Softwarevariante 3 2 Das Beergame zur Simulation des Bullwhip Effekts 2 1 Der Bullwhip Effekt In mehrstufigen Lieferketten l sst sich beobachten dass trotz relativ geringer Nachfrageva riabilitat auf der Endkundenseite sowohl Bestellmengen wie auch Lagerbest nde auf den h heren Stufen der Lieferkette groben Schwankungen unterliegen So f hren aufgrund von St rungen und Verzerrungen bei der bermittlung des Bedarfs bereits kleine Anderungen der Endkundennachfrage str
36. an Spiel steinen auf den Spielfeldern platziert sowie Bestellungen auf Zetteln notiert Um bei einer softwaretechnischen L sung die h chstm gliche Flexibilit t zu erreichen sollten alle diese Werte durch den Spielleiter vordefinierbar sein Dazu geh ren der anf ngli che Lagerbestand und die eingehenden Bestellungen und Lieferungen der ersten Run Das Beergame als Softwarevariante 14 de Der Shipping Delay sollte sowohl wertm ig als auch in seiner L nge konfigurier bar sein um unterschiedliche Vorlaufzeiten abbilden zu k nnen e Die Kostenstruktur Urspr nglich ist vorgesehen nach jeder Runde f r jede Einheit auf Lager 0 5 Geldeinheiten sowie je eine Geldeinheit f r jede Einheit offener Bestellun gen zu berechnen Um eventuelle Zusammenh nge zwischen der Kostenstruktur und dem Spielverhalten untersuchen zu k nnen sollten die Kostens tze vor Spielbeginn de finierbar sein e Die L nge des Spiels und der Runden bergang Es soll angegeben werden k nnen nach wie vielen Runden das Spiel beendet werden soll Zudem kann es sinnvoll sein dass der Spielleiter f r begleitende Erl uterungen die Spiele zeitweise unterbricht um die ungeteilte Aufmerksamkeit der Spieler auf sich zu ziehen Daher sollte eine Option vorgesehen werden bei der ein Spiel erst dann in die n chste Runde berf hrt wird wenn dies vom Spielleiter explizit veranlasst wird e Die Endkundennachfrage Beim Brettspiel wurde die Nachfrage der Verbr
37. anz zur ckliefert Die verwendeten Schl ssel m ssen zwei Anforderungen gen gen sie m ssen ein Objekt eindeutig identifizieren und sie m ssen in Form eines Strings vorliegen oder zumindest einfach in einen solchen umgewandelt werden k nnen Diesen Anforderungen entspricht eine f r jedes Objekt eindeutige Nummer die problemlos in einen String konvertiert wer den kann Die Klassen Event Game und Player enthalten die Attribute eventKey gameKey und playerKey die im Zahlenformat long vorliegen und beim erstellen einer Instanz mit dem Zeitstempel der aktuellen Systemzeit bef llt werden Auf diese Weise wird eine Eindeutig keit der Schl ssel sichergestellt Die Klassen enthalten weiterhin die Methode getBy Key long key welche die entsprechende Instanz zur ckgibt bzw eine Exception wirft falls keine Instanz mit diesem Schl ssel gefunden werden konnte Es 1st zu beachten dass sich die Methoden zum Auffinden beispielsweise eines Spielers nicht in der Klasse Player befinden sondern in der n chst h heren Hierarchiestufe des Vgl Louis M ller 2005 S 689 f Das Beergame als Softwarevariante 45 Datenmodells der Klasse Game Damit kann sichergestellt werden dass ausschlieblich in der Menge an Spielern gesucht wird die diesem Spiel zugeordnet wurden Selbes gilt ana log f r die Klassen Game und Event Die Methoden zum Auffinden einer Game Instanz befinden sich als statische Methoden in der Klasse Event Die Klass
38. aucher durch einen Kartenstapel repr sentiert auf dem sich f r jede Spielrunde verdeckt eine Karte mit der H he der Nachfrage befand Der Verlauf der Nachfrage ist klassischerweise konstant bis auf einen Sprung in der f nften Runde Bei der Softwarel sung sollte hier h chstm gliche Flexibilit t gew hrleistet werden Es sollte m glich sein f r jede Spielrunde einen eigenen Nachfragewert zu definieren Auf diese Weise kann sowohl der erw hnte klassische Nachfrageverlauf abgebildet werden aber auch komplexere Verl ufe welche etwa saisonale Schwankungen ber cksichtigen oder speziellen Wahr scheinlichkeitsverteilungen gen gen e Die Restriktionen Dazu geh ren die Sichtbarkeit von Informationen ber die restliche Supply Chain w hrend des Spiels sowie die M glichkeit der Spieler w hrend des Spiels miteinander zu kommunizieren Als kritisch in Bezug auf die St rke des Bull whip Effekts wurde bereits in Kapitel Fehler Verweisquelle konnte nicht gefunden werden das Vorhandensein von Informationen ber die in Lieferung befindlichen Waren sowie ber die aktuelle Endkundennachfrage identifiziert Es sollte also den Spielern optional erlaubt werden die Endkundennachfrage sowie den Inhalt der Ship ping Delay Felder einzusehen Urspr nglich ist es den Spielern nicht erlaubt sich unte reinander abzusprechen Es kann jedoch gezeigt werden dass durch Kommunikation der Bullwhip Effekt vermindert werden kann Ist es den Spielern nicht m
39. auf das Feld Warenausgang legen Werte f r Lager und offene Bestellungen aktualisieren 4 Eigene Bestellung notieren und auf das Feld Postausgang legen P Ossimitz 2002 S 34 Das Beergame als Softwarevariante 10 5 Runden bergang Zun chst werden wie in der klassischen Variante die Inhalte der Shipping Delay Felder vorger ckt Der Shipping Delay ist mit den Feldern Warenein eang und Warenausgang der umliegenden Supply Chain Stufen verbunden Danach wird die im Feld Postausgang liegende Bestellung in den Posteingang des vorgelager ten Spielers gelegt Auf das Zeichnen von Diagrammen w hrend des Spiels wird in dieser Variante verzichtet Stattdessen werden in jeder Runde die Werte f r Lagerbestand eingehende und ausgehen de Lieferungen sowie eingehende und ausgehende Bestellungen in eine Tabelle eingetra gen Unter Zuhilfenahme eines Tabellenkalkulationsprogramms k nnen dann die entspre chenden Diagramme aus den Tabellen generiert werden Zus tzlich zu den Spielern werden bei dieser Spielvariante zwei weitere Personen pro Spiel ben tigt Zum einen der Postbote der Waren und Bestellungen von Tisch zu Tisch be f rdert zum anderen ein Buchhalter der w hrend des Spiels die Rundentabellen in ein Tabellenkalkulationsprogramm bernimmt Durch den Einsatz des Postboten kann gew hr leistet werden dass sich alle Spieler eines Spiels n derselben Runde befinden da der Run den bergang nicht mehr von
40. barkeit der Interaktionen mit den anderen Supply Chain Mitgliedern zu erhalten Eine reine Softwaresimulation ist hierf r jedoch nicht ge Vgl Schulte 2005 S 525 ff Das Beergame als Softwarevariante 2 eignet Ziel des in diesem Bericht vorgestellten Projektes war es daher eine Software zu entwickeln mit der das Beergame alternativ zum klassischen Brettspiel durchgef hrt wer den kann Diese sollte an dem sehr einfach gehaltenen Konzept des Beergame festhalten einen Teil der Haptik auf den Bildschirm transferieren dabei jedoch die Unzul nglichkei ten des Brettspiels berwinden Der vorliegende Bericht zeichnet haupts chlich den Entwicklungsprozess der software technischen Umsetzung des Beergame nach In der gleichen Herausgeberreihe gibt es dar ber hinaus einen einf hrenden Arbeitsbericht zu den Grundlagen der Bullwhip Effekts und seinen Ursachen sowie zur Rolle des Beergame zur Simulation des Effekts Dort wer den insbesondere auch Ma nahmen aus Supply Chain Management und E Commerce zur Bek mpfung der Supply Chain Koordinationsprobleme diskutiert Im Weiteren werden zun chst zur Einf hrung in die Problemstellung die Urspr nge des Beergame als Spiel zur praktischen Nachstellung des Bullwhip Effekts nachgezeichnet Kapitel 2 F r zwei Brettspielvarianten des Beergame werden in diesem Kapitel Spielre geln und Spielablauf beschrieben sowie Problemfelder identifiziert Das dritte Kapitel be inhaltet eine det
41. bestellungen bei den Zulieferfirmen erhebli chen Schwankungen unterworfen war Hewlett Packard HP fand heraus dass sich die Absatzschwankungen bei Druckern innerhalb der Supply Chain verst rkten und die Kapa zitats und Produktionsplanung erschwert wurden da eine Unterscheidung zwischen echter und fiktiver Variabilit t des Marktbedarfs erheblich verkompliziert wurde Der italieni sche Nudelhersteller Barilla sah sich bei einem seiner lokalen Verteilerlager w chentlichen Vgl Weber 2001 Vgl Lee Padmanabhan Whang 19972 S 93 Vgl G nthner 2005 Vgl Warburton 2004 S 150 Vgl Lee Padmanabhan Whang 1997b S 547 Forrester 1958 S 37 66 vertiefend vgl Forrester 1961 Wgl Alicke 2005 S 99 Vgl Lee Padmanabhan Whang 1997a S 93 QN tn A W N Das Beergame als Softwarevariante 4 Lieferungen gegen ber die im Jahresablauf um den Faktor 70 schwankten w hrend sich die Lieferungen an die Superm rkte nur um weniger als den Faktor 3 ver nderten Auch in der Textil und Computerbranche konnte dieser Effekt in zahlreiche Fallstudien beobachtet werden Ein erster mathematisch formaler Ansatz zur Erkl rung des Bullwhip Effektes und seiner zentralen Ursachen auf die im Folgenden noch explizit eingegangen wird fin det sich bei LEE PADMANABHAN WHANG 1997b In der folgenden Abbildung ist die steigende Variabilit t der Bestellungen auf den verschiedenen Stufen einer vierstufigen Supply
42. bgesehen werden Durch die zus tzliche Laufzeitumgebung innerhalb des Browsers kann sichergestellt wer den dass sowohl Java Applets als auch Flashdateien unabh ngig von Browser oder Be triebssystem in hnlicher Qualit t funktionieren Da Ajax Anwendungen jedoch direkt 1m Browser ausgef hrt werden h ngt deren Qualit t direkt von der Kombination Betriebssys tem Browser ab wobei Unterschiede zum einen in der Interpretation des HTML Codes als auch bei der Ausf hrung des Javascripts auftreten k nnen Durch diese Umst nde wird der Testaufwand von Ajax Anwendungen aber auch der Aufwand zur Findung eines geeigne ten Ajax Toolkits um ein Vielfaches erh ht Im Bereich der Zeichen und Animationsunterst tzung zeigen sich die St rken der Flash Plattform deren Ursprung schlieblich die Verarbeitung von Vektorgrafik 1st Es stehen Funktionen zur Erstellung von Formen und Linien sowie zur dynamischen Positionierung von Textelementen bereit Des Weiteren k nnen s mtliche Elemente des Bildschirms mit Animationen belegt werden d h ein Parameter des Objekts beispielsweise eine Koordina te kann in einer bestimmten Geschwindigkeit von einem Wert in einen Anderen berf hrt werden Zus tzlich k nnen Spezialeffekte f r die Transformation angegeben werden wie etwa ein stetig langsamer werdendes Einpendeln auf die Zielkoordinate Wenngleich die Zeichenoperationen auch mit Java Applets in hnlicher Qualit t realisierbar sind m ssten die A
43. bjectOutputStream Vgl Riley 2002 S 508 Das Beergame als Softwarevariante 37 Als Ziele f r die n chsten Abschnitte k nnen demnach identifiziert werden 1 Eine Serverplattform zu w hlen welche die Speicherung von Dateien im Dateisystem des Servers erlaubt und Methoden zur Erstellung Manipulation und Validierung von XML Daten bereitstellt 2 Methoden zu implementieren die aus bestehenden Zust nden des Beergame Backend XML Repr sentationen generieren sowie im Umkehrschluss neue Instanzen aus einer zuvor gesicherten XML Date erzeugen k nnen 5 2 3 Technologien f r das Backend Nimmt man die Anforderungsanalyse als Grundlage und ber cksichtigt die bisherigen Ent scheidungen bez glich der Softwarearchitektur so lassen sich diejenigen Funktionen iden tifizieren die vom Backend des Beergame unterst tzt werden m ssen Diese sollen nach stehend erl utert werden Die Hauptfunktion des Backends kann unter dem Oberbegriff Datenmanagement zu sammengefasst werden Dazu geh rt zum einen die permanente Speicherung der Daten in verschiedener Form und zum anderen die Synchronisierung der Datenbest nde der einzel nen Clients Voraussetzung f r beide Funktionen ist zun chst die Zusammenf hrung aller w hrend des Spiels anfallenden Daten Direkt zusammenh ngend mit dem Bereich der Datensynchronisation der Clients ist die Frage an welcher Stelle in der Softwarearchitektur die Spiellogik zu finden ist Hier gibt
44. d markenrechtliche Fragen und ihr konomischer Hintergrund Nr 42 Das Beergame als Softwarevariante 84 Holling Heinz Freund Philipp Alexander Kuhn J rg Tobias Salascheck Martin Be nutzbarkeit von Software Wie usable sind Evaluations Verfahren Nr 41 M ller U Utz R Aufderheide D Meyer L Rodenhausen A Die Zukunft der Inter netadressierung ICANN DNS und alternative Systeme kartell und markenrechtli che Fragen und ihr konomischer Hintergrund Nr 42 M ller U Meyer L Unternehmenstransparenz und Geheimwettbewerb im digitalen Um feld Nr 43 Ahlert D Evanschitzky H Thesing M Kundentypologie in der Multikanalwelt Er gebnisse einer online und offline Befragung Nr 44 M ller U Meyer L Wettbewerb und Regulierung in der globalen Internet konomie Eine rechtsvergleichende Studie zwischen europ ischem und US amerikanischem Recht Nr 45 Becker E B nger B Die Rolle des Internets in politischen Willensbildungsprozessen Ergebnisse einer empirischen Analyse des Internets anl sslich der vorgezogenen Bun destagswahl 2005 Nr 46 Berg C Doge B Pfingsten A Internet konomie im Privatkundenkreditgesch ft deutscher Banken Theoretische und empirische Beobachtungen Nr 47 Ahlert D Heidebur S Michaelis M Kaufverhaltensrelevante Effekte des Konsumen tenvertrauens im Internet eine vergleichende Analyse von Online H ndlern Nr 48 Schr der
45. den Programmiersprache unab h ngig zu sein Diese Zeitstempel sind ganzzahlige numerische Werte Die Zuordnung von Spielern zu Spielen soll von der Klasse Veranstaltung bernommen werden Noch nicht zugeordnete Spieler werden daher zun chst von der Veranstaltung aufgenommen im Attribut pendingPlayers bevor sie anschlie end an ein Spiel weitergegeben werden Eine Methode zur automatischen Zuordnung soll au erdem in der Klasse Veranstaltung verortet sein Spiel Game Ein Spiel geh rt zu genau einer Veranstaltung Es kann mehrere Spieler aufnehmen die genaue Anzahl richtet sich nach der Veranstaltungskonfiguration Ein Spiel hat immer ei nen bestimmten Status es 1st entweder noch nicht gestartet bereits beendet oder es l uft noch In letzterem Fall muss die Rundenzahl gespeichert werden in der sich das Spiel ge rade befindet Der Spielstatus kann durch eine eindeutig vergebene Identifikationsnummer abgebildet werden Die Klasse Spiel koordiniert den Spielfluss indem Methoden bereitges tellt werden die das Spiel anf nglich initialisieren und danach bei jedem Runden bergang Lieferungen und Bestellungen zwischen den Spielern transferieren Spieler Player Ein Spieler wird durch seinen Namen und seine Email Adresse identifiziert die jeweils durch eine Zeichenkette abgebildet werden k nnen Ein Spieler geh rt immer zu genau einem Spiel und absolviert darin mehrere Spielrunden Pro Runde gibt der Spieler eine 21 22 Auf
46. den Spielern selbst sondern zeitgleich f r alle vom Postboten vollzogen wird Der Buchhalter berpr ft die Werte in den Tabellen der Spieler in der Ta bellenkalkulation und kann die Spieler so fr hzeitig ber eventuell falsche Berechnungen informieren 2 5 Konsequenzen f r eine softwaretechnische Realisierung Durch die im vorherigen Abschnitt beschriebene Abwandlung des Beergame konnten eini ge der Probleme des klassischen Brettspiels behoben werden Allerdings bringt diese Va riante wiederum neue Schwierigkeiten mit sich vor allem in r umlicher und personeller Hinsicht Wurde beim klassischen Brettspiel pro Spiel nur ein Tisch ben tigt fallen nun ein Tisch pro Supply Chain Stufe sowie ein eigener Tisch f r den Shipping Delay an Zu dem verlangt die ge nderte Variante pro Spiel einen Postboten und einen Buchhalter Soll eine gr ere Anzahl an Spielen gleichzeitig ablaufen so kann dies schnell zu Problemen f hren Abhilfe kann hier durch den Einsatz von Informationstechnik geschaffen werden Auf Spielbrett Spielsteine Zettel und K rtchen w rde vollst ndig verzichtet stattdessen sabe Jeder Spieler vor einem Computer der die aktuelle Spielsituation anzeigt und die Bestel lung des Spielers entgegennimmt Sind die Computer der einzelnen Spieler in einem Netzwerk miteinander verbunden so k nnen die Computer selbst die Weiterleitung aller notwendigen Daten bernehmen Liegen die Bestellungen aller Spieler vor kann der Co
47. der Informationsaustausch innerhalb der Supply Chain ist einer der Ursachen des Bullwhip Effekts Da beim klassischen Brettspiel jedoch alle Spieler auf demsel ben Spielbrett spielen k nnen beispielsweise die Lagerbest nde von allen Spielern eingesehen werden Auch Absprachen unter den Spieler sind durch deren r umliche N he nur schwer zu unterbinden Beim klassischen Brettspiel kann es vorkommen dass sich nicht alle Spieler eines Spiels in der gleichen Runde befinden Dies ist durch die unabh ngige Abarbeitung der Spielschritte durch die Spieler zu erkl ren Gehen die Bearbeitungsgeschwindigkeiten der Spieler auseinander so liegen manchen Spielern zur selben Zeit mehr Informatio nen vor als anderen In der klassischen Variante m ssen die Spieler den Wert der offenen Bestellungen per Hand berechnen und auf einem Zettel notieren Durch falsch berechnete Werte werden zuvor bestellte Mengen nicht ordnungsgem nachgeliefert wodurch die Aussagekraft des Spielergebnisses leidet Vgl Ossimitz 2002 S 30 32 Das Beergame als Softwarevariante 9 Als Ergebnis wurde eine ge nderte Form des Beergame vorgestellt Anstatt die komplette Supply Chain auf einem Spielbrett anzuordnen gibt es bei dieser Variante separate Spiel bretter f r jede Stufe der Supply Chain die auf unterschiedlichen Tischen platziert werden Dadurch soll der Informationsaustausch zwischen den Spielern unterbunden werden siehe Abb 3 2 Das Spielbrett i
48. derherstellen kann F r etli che Datentypen sind diese Repr sentationen bereits vorhanden Als Beispiel sei hier die bergabe von Zeit bzw Datumsangaben genannt In vielen Programmiersprachen wird die Benutzung von sog Zeitstempeln unterst tzt beispielsweise vom Datentyp Date in Flash oder von java util Date in Java Unter einem Zeitstempel versteht man eine Zahl welche die Differenz zwischen dem angegebenen Datum und dem 1 Januar 1970 n Milli sekunden darstellt Zu bestehenden Datumsobjekten k nnen Zeitstempel berechnet wer den zudem k nnen aus Zeitstempeln neue Datumsobjekte erzeugt werden Die Umwand lung von Zahlen in Strings zur Verwendung als URL Parameter und umgekehrt ist danach problemlos Nicht so trivial wie die bergabe von Datumsangaben ist der Verweis auf bestehende Ob Jekte im Backend Sollen beispielsweise Informationen ber eine bestimmte Veranstaltung abgefragt werden so verlangt das Frontend nach einer ganz bestimmten Instanz der Klasse Event Es musste eine M glichkeit geschaffen werden diese Instanz aufzufinden unter der Einschr nkung dass das Frontend keine direkte Objektreferenz vorh lt sondern nur Strings zur Identifizierung der Instanz bergeben kann Dazu wurden f r die Klassen Event Game und Player Schl sselattribute angelegt wie es hnlich auch bei relationalen Datenbanken bekannt ist Zudem gibt es in jeder dieser Klassen Methoden die zu einem gegebenen Schl ssel die entsprechende Inst
49. dke J Wireless LAN Drahtlos gl cklich M nchen 2005 Das Beergame als Softwarevariante 73 Riley D The Object of Java Introduction to Programming using Software Engineering Principles Boston u a 2002 Sch nsleben P Integrales Logistikmanagement Operations und Supply Chain Management in umfassenden Wertsch pfungsnetzwerken 5 Aufl Berlin u a 2007 Schulte C Logistik Wege zur Optimierung der Supply Chain 4 Aufl M nchen 2005 Simchi Levi D Kaminsky P Simchi Levi E Designing amp Managing the Supply Chain 2 Aufl Boston MA u a 2003 Sterman J D Teaching Takes Off Flight Simulators for Management Education The Beer Game In OR MS Today Oktober 1992 S 40 44 auch unter http web mit edu jsterman www SDG beergame html Tanenbaum A Steen M v Verteilte Systeme Grundlagen und Paradigmen M nchen u a 2003 Vossen G Hagemann S Unleashing Web 2 0 From Concepts to Creativity Amsterdam u a 2007 Warburton R An Analytical Investigation of the Bullwhip Effect In Production and Op erations Management 13 2004 2 S 150 100 Weber J Components of the Bullwhip Effect 2001 http www stud fernuni hagen de q5153735 research bullwhiptop htm Abrufdatum 2005 08 23 W he G Einf hrung in die Allgemeine Betriebswirtschaftslehre 20 Auflage M nchen 2000 Das Beergame als Softwarevariante 74 Anhang A XML Datenstruktur A a Event Definition lt ELEMENT e
50. e Player verf gt neben der Identifikationsnummer ber einen weiteren Schl ssel Da die Eindeutigkeit der Kombination aus Benutzername und Email Adresse verlangt wird kann die Player Instanz eines Spielers ber diese beiden Werte eindeutig identifiziert werden Daher verf gt die Klasse Game zus tzlich ber die Methode getPlayer String username String email Prinzipiell h tte dieser Schl ssel zur Identifikation einer Player Instanz ausgereicht aus Gr nden der Einfachheit wurde aber auch in der Klasse Player die Identifikationsnummer vorgesehen 6 1 3 Exception Handling Die Benutzung von Exceptions zur Fehlerbehandlung ist eines der zentralen Konzepte von Java Exceptions k nnen dazu genutzt werden Fehler die w hrend der Laufzeit des Prog ramms auftreten zu erkennen und entsprechend darauf zu reagieren Zu diesen Fehlern geh ren beispielsweise ung ltige Benutzereingaben es k nnen aber auch inkonsistente Programmzust nde abgefangen werden die aus Fehlern im Programm selbst resultieren Somit stellen Exceptions ein wichtiges Feedbackmedium sowohl f r Entwickler als auch f r Benutzer dar Bei der Frage in welcher Form die R ckmeldung nach Auftritt einer Exception geschehen soll muss nach Art des Fehlers unterschieden werden Systemfehler also Fehler die durch mangelhafte Implementierung hervorgerufen wurden sind vor allem f r den Entwickler relevant Da der Entwickler naturgem nicht bei jeder Veranstaltung v
51. e bereits erw hnt dazu kommt dass die Anzei ge weniger die Erscheinung von Eingabemasten und Dialogen besitzt sondern mehr das Aussehen von formatierten Textseiten aufweist Zudem stellt das f r Webanwendungen benutzte HTML viele aus Desktopanwendungen bekannte Funktionen wie Men leisten oder auch Drag amp Drop origin r nicht zur Verf gung Rich Internet Applications verbinden die beiden genannten Ans tze Um ein vollst ndiges Neuladen der Seite zu verhindern wird die Verbindung zum Server ausschlieBlich zum Datenaustausch verwendet Die Einbindung der empfangenen Daten in die Seite geschieht nicht mehr wie bei klassischen Webanwendungen auf dem Server sondern direkt im ee Vgl Vossen Hagemann 2007 S 136 Vgl Allaire 2002 S 2 Das Beergame als Softwarevariante 20 Browser des Benutzers Neben der Unterbindung des Neuladens ergibt sich noch ein weite rer Vorteil dieses Ansatzes Die zur Verf gung stehende Bandbreite der Netzwerkverbin dung wird effizienter genutzt da die Benutzeroberfl che nur noch beim ersten Aufruf der Seite geladen werden muss und danach ausschlie lich Daten ausgetauscht werden Zudem wird versucht ber einen sehr groben Einsatz von browserseitig ablaufenden Skripten wie z B JavaScript oder Flash die oben genannten Eigenschaften komplexer Benutzeroberfl chen nachzuahmen Einer der Ziele bei der Entwicklung von Rich Internet Applications ist es die Funktionali t ten von Desktopappl
52. e noch zahl reiche weitere M glichkeiten gibt die Software oder die aus ihrer Benutzung hervorge hende Datenmenge zu nutzen Die vorliegende Umsetzung stellt hierf r eine angemessene Grundlage dar Architekturen und Datenformate wurden so offen wie m glich gew hlt um eine gr tm gliche Anzahl an Schnittstellen f r weitere Entwicklungen bereitzustellen denen sich weitere Arbeiten widmen k nnten Das Beergame als Softwarevariante 72 Literaturverzeichnis Alicke K Planung und Betrieb von Logistiknetzwerken Unternehmens bergreifendes Supply Chain Management 2 Aufl Berlin 2005 Allaire J Macromedia Whitepaper Flash MX A Next Generation Rich Client March 2002 Balzert H Lehrbuch der Software Technik Bd 1 Software Entwicklung Heidelberg 1996 Becker J Sch tte R Handelsinformationssysteme 2 Aufl Frankfurt Main 2004 Bergsten H Java Server Pages Peking u a 2002 Chopra S Meindl P Supply Chain Management Upper Saddle River NJ 2001 Forrester J W Industrial Dynamics A major breakthrough for decision makers In Har vard Business Review 36 1957 4 S 37 66 Forrester J W Industrial Dynamics Cambride MA 1961 Gamma E Helm R Johnson R Vlissides J Entwurfsmuster Elemente wieder ver wendbarer objektorientierter Software M nchen u a 2004 G nthner W A Wissenschaft in der Logistik 14 Deutscher Materialfluss Kongress Intralogistik Innovation und Prax
53. echniken zur Umsetzung der Architektur 26 3 2 1 Technologien f r das Frontend u aaa aa 26 5 2 1 1 Serverseitiges Skript und Servlets orosei i 26 32 1 2 Rich Internet Dp dto eoi eins are 28 5 2 1 3 Vergleich der Alternativen und Auswahl sussss 32 5 2 2 Datenaustausch und persistente Datenhaltung eeeeeessssss 35 2 2 2 Lechnolosien Turdas Backend esine te E tes dudes 31 6 Implementietine a see 4 GL DICK an een 4 0 121 2 MEOD KL ee en seen 42 6 12 Anfragen an die Controller en ea ikea 43 6 1 3 Excep onsElandlig ans as 45 6 1 4 Export der Spieldaten als Excel Spreadsheet eeeessssuse 46 O2 SO TESI NEN T ETE 47 6 2 1 Verbindung zum Server und Aktualisierung in Echtzeit 47 06 22 Verwendune der XML Daten ae en coche catenin 49 6 23 Mehis prach S kensa A 51 0 2 2 DIOS AN oii cose ates udsd N 52 7 M gliche Erweiterungen na a 55 7 1 Alterna yes Frontend aueh ee 55 7 2 Alternativer Zugriff auf das Beergame Backend 2000ssneneneeeeeen 56 7 3 Externer Zugriff auf gespeicherte Daten des Beergame ssssee 56 T Erweiterung der Progsrammlos k 22h 57 8 Bedienung Ger SOllware ne een 58 8 1 Ben tzerschnittstelledes Spielleiters 45 e e etm Estuve E M d Nus 58 Das Beergame als Softwarevariante III o 11 Veranstaltungs a s wahlen
54. eigabe der n chsten Runde kann eingestellt werden ob der bergang von einer Spielrunde zur N chsten automatisch vollzogen werden soll sobald alle Spieler ihre Bestellung f r entsprechende Runde abgegeben hat oder ob der Spielleiter manuell f r jedes der laufenden Spiele die n chste Runde freigeben muss Letztere Variante erfordert zwar etwas mehr Interaktion seitens des Spielleiters jedoch es l sst sich so leichter errei chen dass die parallel und generell unabh ngig voneinander ablaufenden Spiele der Ver anstaltung in ihrer Fortschrittsgeschwindigkeit nicht allzu sehr voneinander abweichen Weiterhin kann der Spielleiter eine verz gerte Freigabe der Runde dazu nutzen mit den Spielern m ndlich oder ber die Mailfunktion s u zu kommunizieren ohne das die Spie ler durch das laufende Spiel abgelenkt werden Rechts daneben kann mit den Auswahlboxen des Bereichs Restriktionen f r die Spieler eingestellt werden welche Informationen den Spielern w hrend des Spiels zur Verf gung gestellt werden Angezeigt werden k nnen der Shipping Delay sowie die aktuelle End kundennachfrage die ansonsten nur f r den Spieler in der Rolle des Einzelh ndlers sich tbar ist Das klassische Beergame sieht vor dass die Spieler keinerlei bersicht ber den Verlauf der Endkundennachfrage oder die in den n chsten Runden eintreffenden Lieferun gen haben Es kann jedoch sinnvoll sein den Spielern in einem weiteren Spiel zu verdeut lichen
55. ein gangsmaske zur Verf gung die ber das Brief Icon am oberen Bildrand erreicht werden kann siehe Abb 8 6 rechts Trifft eine neue Nachricht ein so erscheint neben dem Icon ein Hinweistext solange die Nachricht nicht gelesen wurde Der Posteingang besteht aus einer Tabelle in der Informationen ber alle eingegangenen Nachrichten aufgelistet wer den sowie einem Textfeld welches den Nachrichtentext der ausgew hlten Nachricht an zeigt Ist eine Nachricht markiert kann ber die Schaltfl che Antworten wiederum das Sendenfenster ge ffnet werden Das Beergame als Softwarevariante 66 8 2 Benutzerschnittstelle des Spielers 8 2 1 Veranstaltung betreten Zu Beginn muss ein Spieler zun chst eine Veranstaltung betreten siehe Abb 8 7 Alle derzeit laufenden Veranstaltungen sind im entsprechenden Dropdown Feld aufgelistet Zum Betreten einer Veranstaltung werden vom Spieler dessen Name und Email Adresse erfragt Veranstaltung ausw hlen TIBI Florian Christ Ihre E Mail Adresse Norian christ gmx net Scheren Bitte ausw hlen betreten Abb 8 7 Anmeldebildschirm Nach dem Betreten wird dem ein Wartebildschirm angezeigt Erst wenn das Spiel beginnt verschwindet dieser Bildschirm wieder und der Spieler wird automatisch zur Spielansicht weitergeleitet ber das Dropdown Feld in der rechten oberen Ecke des Bildschirms kann der Spieler anschlie end zwischen den beiden alternativen Spielansichten der Tabellen
56. ektur 5 1 Erarbeitung der Softwarearchitektur Nachdem in Kapitel 4 die Datenstruktur des Beergame definiert wurde ist es nun Ziel die ses Abschnitts eine Softwarearchitektur zu erarbeiten Als Softwarearchitektur wird hier die strukturierte oder hierarchische Anordnung der Systemkomponenten sowie die Be schreibung ihrer Beziehungen verstanden Bei der Erstellung der Architektur wird der Fokus vor allem darauf zu legen sein die sp tere Einsatzsituation der Software bestm g lich abzubilden Damit st haupts chlich der Zugriff der Benutzer auf das Beergame ge meint sowie die Frage auf welcher Maschine sich die Programmlogik und die anfallenden Daten der Software befinden werden Nach der Festlegung der Architektur wird schlie lich herausgearbeitet welche Techniken d h welche Programmiersprachen Laufzeitumge bungen und Datenformate bei der Umsetzung der Anwendung sowie f r Datenaustausch und Datenhaltung zum Einsatz kommen sollen In Kapitel 3 wurde herausgearbeitet dass es haupts chlich zwei Einsatzsituationen f r das Beergame gibt Eine Seminarsituation bei welcher der Zugriff auf die Software ber ein lokales Netzwerk erfolgt oder der entfernte Zugriff ber das Internet Der Zugang zum lokalen Netzwerk kann entweder ber die pers nlichen Laptops der Teilnehmer oder ber fest installierte Rechner eines Computerpools erfolgen Fasst man diese Anforderungen zusammen so stellen sich zwei alternative Ans tze zur
57. el verlo ren geht sollte die M glichkeit geschaffen werden nach einem Fehler ein Spiel in ei nem m glichst aktuellen Zustand wieder aufnehmen zu k nnen Das Beergame als Softwarevariante 19 4 Objektorientierte Modellierung des Datenmodells Bereits im vorherigen Kapitel wurden die Anwendungsfalldiagramme mit der Begr ndung eingesetzt dass sie sich gut als Grundlage zur Erarbeitung eines objektorientierten Daten modells eignen Die Verwendung objektorientierter Programmiertechniken 1st keine expli z te Anforderung an die zu entwickelnde Software allerdings ist die Objektorientierung Grundlage fast aller moderneren Programmiersprachen und kann somit als geltender Stan dard angesehen werden Ziel dieses Kapitels ist die Identifizierung von Objektklassen im Beergame sowie deren Beziehungen untereinander Zusammen mit elementaren Attributen und Methoden der Klassen soll ein erstes Klassendiagramm erstellt werden das als Grundlage der sp teren Implementierung dienen soll Dieses Klassendiagramm ist noch unabh ngig von einer Programmiersprache es werden ausschlie lich elementare oder abstrahierte Datentypen verwendet In der Regel werden in der Implementierungsphase die Klassen dann um weite re Hilfsmethoden erweitert werden zudem werden Hilfsklassen hinzukommen die jedoch unabh ngig vom Datenmodell des Beergame sind Ein blicher Weg zur Identifizierung der Klassen besteht darin die Beschreibungen der Anwendungsf lle nac
58. elleiter Zahlenfolgen eingeben die in externen Programmen generiert wurden und denen beispielsweise Wahrscheinlichkeitsverteilungen zugrunde liegen Beim Anlegen einer neuen Veranstaltung werden die Felder der Einstellungsmaske stets mit Standardeinstellungen vorbef llt Es besteht jedoch die M glichkeit get tigte Ande rungen ber die Schaltfl chen Konfiguration laden bzw Konfiguration speichern auf dem Server zu sichern und bei sp teren Veranstaltungen wieder zu verwenden 8 1 3 Spieler zu Spielen zuordnen Nachdem die Spielkonfiguration festgelegt wurde wird der Spielleiter zur n chsten Maske weitergeleitet In dieser Maske geht es darum die bereits angemeldeten Spieler auf die Supply Chain Stufen der einzelnen Spiele aufzuteilen siehe Abb 8 3 Auf dem Bild schirm sind zwei Listen zu sehen In der Linken werden die Spieler angezeigt die bereits bei dieser Veranstaltung angemeldet sind jedoch noch nicht zugeordnet wurden Auf der rechten Seite befindet sich eine baumartig verschachtelte Liste In dieser werden alle Spie le der Veranstaltung angezeigt Die Spiele werden je nach Status in einen der drei Ordner auf der ersten Ebene des Baums einsortiert Der erste Ordner enth lt Spiele bei denen noch eine oder mehrere Supply Chain Stufen nicht mit einem Spieler besetzt wurden Der zwei te Ordner enth lt alle voll besetzten Spiele die jedoch noch nicht gestartet wurden Im drit ten Ordner befinden sich letztlich al
59. empirischen Methoden statistisch analysiert werden etwa um herauszufinden wie hoch die Korrelation zwischen den Bestellungen der Spieler und der Endkundennachfrage ist nachdem diese f r den Spieler sichtbar gemacht wurde 9 Zurm Import von XML Daten in R siehe http cran r project org doc Abschnitt 1 3 Das Beergame als Softwarevariante 37 7 4 Erweiterung der Programmlogik Eine Anpassung der im Backend implementierten Programmlogik wird beispielsweise dann notwendig wenn die geplante Erweiterung eine Anderung der Datenstruktur zur Fol ge hat Sollen etwa von einem Spieler mehr Informationen erfragt werden als dies bisher der Fall ist so m ssten der Klasse Player weitere Attribute hinzugef gt und in die XML Struktur dieser Klasse integriert werden Weiterhin m ssten die Controller Aufrufe ange passt werden sodass sie die zus tzlichen Informationen als Parameter anfordern Bei An passungen dieser Art ist jedoch zu bedenken dass Anderungen an der Datenstruktur even tuell zur Folge haben k nnen dass Daten die vor der Anderung gespeichert wurden nach der Anderung nicht mehr geladen werden k nnen Ein weiteres Beispiel f r eine m gliche Erweiterung des Backends besteht darin den Computer als Mitspieler einsetzen zu k nnen Derzeit erfordert das Beergame in jedem Spiel die gleiche Anzahl an Spielern Bei Gruppen unterschiedlicher Gr e kann es jedoch vorkommen dass bei einer Beergame Veranstaltung in einem Spiel ein
60. en und einen neuen Spieldurchlauf zu starten Die B ndelung mehrerer parallel ablaufender Beergame Spiele mit einer bestimmten Konfiguration soll im Folgenden als Beergame Veranstaltung bezeichnet werden Die Anwendungsf lle des Spielleiters k nnen in drei Kategorien unterteilt werden in sol che die vor Beginn des Spiels w hrend des Spiels oder nach Beendigung des Spiels durchgef hrt werden Zur Spielvorbereitung muss zun chst eine Veranstaltung angelegt werden Eine Veranstaltung sollte eindeutig 1dentifizierbar sein daher sollte zu einer Ver anstaltung sowohl einen Titel als auch eine Kurzbeschreibung erfragt werden Weiterhin sollten Datum und Uhrzeit der Veranstaltung f r sp tere Auswertungen gesichert werden Vom Spielleiter sollten dessen Name sowie seine Email Adresse erfragt werden Beim Anlegen der Veranstaltung soll nun durch den Spielleiter die Konfiguration festgelegt wer den die f r alle Spiele der Veranstaltung identisch sein wird Zur Veranstaltungskonfigu ration sollte z hlen e Die L nge der Supply Chain Das klassische Brettspiel kann aufgrund des statischen Spielbretts ausschlie lich mit vier Stufen gespielt werden Bei der abge nderten Va riante kann die Supply Chain durch Einf gen weiterer Spieltische und Shipping Delays verl ngert werden Daher sollte die L nge der Supply Chain auch bei der Softwarel sung w hlbar sein e Der Startzustand des Spiels Beim Brettspiel wurden dazu gewisse Anzahlen
61. enarien durchgespielt Bei dem ersten Szenario befand sich der Webserver mit der Software bereits auf dem Lap top des Spielleiters Da die Laptops der Spieler teilweise mit unterschiedlichen Betriebs systemen ausger stet sein k nnen sollte der Spielleiter in diesem Fall jedoch ber entspre chendes technisches Hintergrundwissen verf gen um die Laptops ber ein ad hoc Draht losnetzwerk zu verbinden Das zweite Szenario stellte den Betrieb der Software in einem fest installierten Rechnerverbund dar wobei sich der Webserver auf einem vorkonfigurier ten USB Stick befand Diese Variante stellte weitaus weniger Konfigurationsaufwand f r den Spielleiter dar da die Rechner sind in diesem Fall bereits vernetzt waren Nach dem Starten des Servers direkt vom Stick musste den Spielern nur noch die URL des Servers mitgeteilt werden Vergleicht man die vorliegende Software mit den eingangs angef hrten Brettspielvarian ten wird man feststellen dass die wesentlichen zur Durchf hrung des Beergame notwen digen Funktionen umgesetzt wurden Wird mit der Software das Beergame in Standard konfiguration gespielt werden ann hernd dieselben Ergebnisse erzielt wie durch das Brett spiel Dar ber hinaus bietet die Software allerdings durch die vielf ltigen Konfigurations m glichkeiten den Vorteil gezielter die Ursachen und Wirkungen des Bullwhip Effekts erarbeiten zu k nnen In Kapitel 7 wurde deutlich dass es neben den Grundfunktionen des Beergam
62. enziell bei komplexeren Projekten JSP gegen ber PHP zu bevorzugen Diese Skriptelemente werden dazu genutzt die HTML Seite mit genau dem Inhalt zu bef llen wie er in den Aufrufparametern verlangt wurde Bei einem Aufruf der Seite werden die der Adresse angef gten Parameter vom Server ausgelesen und die im Dokument enthaltenen Skriptbausteine ausgef hrt Ergebnis ist ein konventionelles HTML Dokument das der Server zum Browser des Benutzers zur cksendet Bei Java Servlets wird in gewisser Weise ein umgekehrter Weg beschritten Ein Servlet 1st eine Java Klasse die genau wie eine HTML Seite ber einen Webserver per Internetad resse erreichbar ist Bei einer Anfrage wird eine bestimmte Methode des Servlets aufgeru fen und die Parameter der Anfrage bergeben In dieser Methode kann nun der HTML Code generiert und als R ckgabewert der Methode zum Browser zur ckgeschickt werden Anstelle einer HTML Seite die an bestimmten Stellen mit Programmcode versehen wird dient bei Servlets eine Java Klasse als Grundlage Technisch gesehen sind sowohl mit JSP als auch mit Servlets dieselben Funktionen um setzbar da der Webserver eine JSP Seite bei jeder Anfrage zun chst 1n ein Servlet ber setzt Die Entscheidung zwischen JSP und Servlets wird daher meist anhand des dynami schen Anteils am Inhalt der HTML Seiten getroffen Sowohl mit serverseitigem Skript als auch mithilfe von Servlets st es m glich die beim Beergame anfallenden Da
63. er Abfrage Um aus einer Liste von Elementen nur eine bestimmte Teilmenge zu extrahieren k nnen Bedingungen in Listenabfragen integriert werden Nachfolgende Abfrage gibt nur den Spieler mit dem Namen p1 zur ck XPathAPI selectSingleNode xmlObj event game player name pl 4 Zugriff auf Attribute Um auf Attribute eines Elements zugreifen zu k nnen muss dem Attributnamen ein vorangestellt werden So kann beispielsweise ber die folgende Abfrage der Name desjenigen Spielers erfragt werden dem die Rolle des Gro h ndlers zugewiesen wurde XPathAPI selectSingleNode xmlObj event game player level Gro h ndler name nodeValue 6 2 3 Mehrsprachigkeit Beim Frontend des Beergame besteht die M glichkeit die Sprache aller angezeigten Texte w hrend des Betriebs ndern zu k nnen In der ersten Version sind dies Deutsch und Eng lisch es soll jedoch zudem m glich sein zu einem sp teren Zeitpunkt weitere bersetzun gen hinzuf gen zu k nnen ohne Anpassungen am Quellcode durchf hren zu m ssen Um dies zu gew hrleisten sind mehrere Schritte durchzuf hren S mtliche in der Benutzeroberfl che vorkommenden Texte m ssen aus dem Quellcode extrahiert und n externe Dateien ausgelagert werden Im Quellcode darf ausschlie lich auf diejenigen Positionen in diesen Dateien verwiesen werden an denen sich der ben tigte Textbaustein in der gew hlten Sprache befindet Die Dateien sollten eine einheitliche syn
64. er oder mehrere Pl tze frei bleiben In diesem Fall k nnten die frei gebliebenen Pl tze durch Computerge gner aufgef llt werden die ihre Bestellungen nach einer vorher vom Spielleiter festgeleg ten Bestellstrategie tatigen Zu diesen Strategien z hlt z B das Bestellen konstanter Men gen in jeder Runde das Bestellen einer konstanten Menge bei Erreichung eines gewissen Mindestbestands oder das kontinuierliche Auff llen des Lagers auf einen bestimmten Be stand 9 Mehr zu Bestellstrategien siehe Becker 2004 S 295 ff Das Beergame als Softwarevariante 58 8 Bedienung der Software Nachdem mit Kapitel 6 die Implementierung der Beergame Software abgeschlossen wur de soll nun ein Rundgang durch die fertige Applikation die Ergebnisse dieser Arbeit auf zeigen Die Vorgehensweise orientiert sich dabei an der praktischen Durchf hrung einer Beergame Veranstaltung angefangen bei der Konfiguration der Veranstaltung durch den Spielleiter bis hin zur Durchf hrung der Spiele 8 1 Benutzerschnittstelle des Spielleiters 8 1 1 Veranstaltung ausw hlen Nach Aufruf des Programms wird dem Spielleiter zun chst eine bersicht ber alle derzeit auf diesem Server gestarteten Veranstaltungen siehe Abb 8 1 angezeigt F r jede Verans taltung werden der Veranstaltungstitel ein kurzer Beschreibungstext sowie das Datum der Veranstaltung aufgelistet Der Spielleiter hat nun die M glichkeit entweder eine dieser Veranstaltungen auszu
65. er oder von der Software bernommen werden bleibt die Hauptaufgabe des Spielers die Verwaltung sei nes Lagerbestands Zun chst jedoch muss sich jeder Spieler bei der vom Spielleiter erstellten Veranstaltung anmelden Dabei sollten Daten vom Spieler erfragt werden die den Spieler identifizieren und einen sp teren Kontakt m glich machen ber den Kontakt kann der Spielleiter dem Spieler evtl nachtr glich eine Nachbereitung der Veranstaltung zukommen lassen Die Abfrage des Namens und einer g ltigen Email Adresse des Spielers erscheint hier ausrei chend Nachdem das Spiel vom Spielleiter gestartet wurde muss es dem Spieler m glich sein sich die aktuelle Datenlage des Spiels sowie auch den Spielverlauf anzusehen Es soll vi sualisiert werden in welcher Weise die einzelnen Daten des Spiels miteinander in Bezie hung stehen also wie sie berechnet werden Hier bietet sich an zwei alternative Spielan Das Beergame als Softwarevariante 17 sichten zu realisieren zwischen denen der Spieler frei wechseln kann Zum einen eine ta bellarische Ansicht aller Daten der bisher gespielten Runden zum anderen eine Ansicht welche nur die Daten der aktuellen Runde enth lt und Transformation der Daten bei jedem Runden bergang in einer Animation verdeutlicht Die Aktualisierung der Benutzeroberfl che soll wie beim Spielleiter automatisch und 1n ann hernder Echtzeit also ohne gr eren Zeitverzug geschehen Au erdem soll angedeutet
66. eren Aktionen die nacheinander ausgef hrt werden m s sen 1 Die eingehende Bestellung wird aufgedeckt Kann die Bestellung durch den Lagerbe stand gedeckt werden so werden die bestellte Menge an Spielsteinen auf das Shipping Delay Feld links vom Lager gelegt Der Einzelh ndler liefert direkt an den Endkunden die betreffenden Spielsteine werden aus dem Spiel genommen Danach kann der Be stellzettel vom Brett entfernt werden Sind zu wenige Spielsteine 1m Lager so wird die Bestellung so weit wie m glich erf llt Auf dem Bestellzettel wird die noch ausstehen de Menge notiert und der Zettel wieder zur ck an seinen Platz gelegt Diese Fehlmen gen werden nachgeliefert sobald sich wieder Spielsteine 1m Lager befinden Bei der Brauerei k nnen keine Fehlmengen auftreten Sie bekommt immer die auf dem Feld Production Request geforderte Menge an Spielsteinen und legt diese auf das oberste Production Delay Feld 2 Die Spielsteine aus dem Shipping Delay Feld rechts neben dem Lager werden nun ge liefert und k nnen ins Lager berf hrt werden 3 Unter Ber cksichtigung des eigenen Lagerbestandes und der noch nachzuliefernden Fehlmengen ist nun die eigene Bestellung aufzugeben Die gew nschte Bestellmenge wird auf einem Zettel notiert und verdeckt auf dem Feld Placed Orders abgelegt 4 Jedes Team zeichnet den Lagerbestand und die Bestellmenge der aktuellen Runde so wie die kumulierten Kosten in ein Diagramm ein F r jeden Spielstein
67. erf gbaren Java Bibliotheken des Apa che POI Frameworks verwendet Diese Bibliotheken enthalten Methoden mit denen es 52 53 Siehe hierzu Absatz Tabellenansicht in Kapitel 8 2 Siehe http poi apache org Das Beergame als Softwarevariante 47 recht komfortabel m glich st Excel Dateien entweder von Grund auf neu zu erstellen oder aber bereits existierende Dateien zu ffnen und diese dann zu ver ndern Im vorlie senden Fall wurde letztere Variante gew hlt da es so m glich war s mtliche Formatie rungen des Dokuments vor allem Schriftarten Hintergrundfarben und Zellumrandungen bereits in einem Vorlage Dokument vorzukonfigurieren Das u erst umst ndliche For matieren von Tabellen per Java Code kann somit entfallen Bei jedem Export wird unter Verwendung die POI Bibliotheken die Vorlage kopiert und mit den entsprechenden Daten gef llt 6 2 Frontend 6 2 1 Verbindung zum Server und Aktualisierung in Echtzeit Um XML Daten von einem Webserver senden und empfangen zu k nnen steht in Flash ein spezielles XML Objekt zur Verf gung Darin wird das geladene XML direkt in eine Objektstruktur berf hrt durch die anschlie end auf die Daten zugegriffen werden kann Falls das XML nicht vollst ndig vom Server geladen oder durch falsche Formatierungen nicht in das genannte Objekt konvertiert werden konnte werden vom XML Objekt ent sprechende Ereignisse ausgel st die der Entwickler ber cksichtigen kann hnl
68. ergame k nnen zwei Gruppen von Anforderungen unterschieden werden Auf der einen Seite der Funktionsumfang den die Software bereitstellen soll und auf der anderen Seite technische Anforderungen die sich beispielsweise aus den zur Verf gung stehenden Computer und Netzwerkinfrastrukturen ergeben Beide Arten von Anforderungen sollen in diesem Kapi tel identifiziert und erl utert werden 3 1 Ermittlung des Funktionsumfangs Um bei der Ermittlung des Funktionsumfangs m glichst strukturiert vorzugehen empfiehlt s ch die Zuhilfenahme eines geeigneten standardisierten Vorgehensmodells Eines der ak tuell meistgenutzten Ans tze zur Anforderungsanalyse ist die Beschreibung von Anwen dungsf llen in Anwendungsfalldiagrammen Anwendungsfalldiagramme sind zentraler Bestandteil der Unified Modelling Language UML und zielen darauf ab f r jede Art von Benutzer alle m glichen Interaktionen mit der Software zu identifizieren Zudem k nnen Anwendungsfalldiagramme gut als Grundlage zur Ermittlung eines objektorientierten Da tenmodells herangezogen werden Ausgangspunkt eines jeden Anwendungsfalldiagramms ist ein Akteur Als Akteur wird in diesem Zusammenhang eine Gruppe von Nutzern gesehen welche die Software in ahnli cher Weise und mit hnlichen Intentionen verwendet Beim Beergame ergeben sich nach dieser Definition zwei Akteure Der Spieler und der Spielleiter W hrend ein Spieler am Beergame teilnimmt bernimmt der Spielleiter haupts
69. ergame wie folgt vorgegangen Die einzige Methode die Anfragen an den Server stellen kann ist die Methode xmlLoad deren Hauptbestandteil ein XML Objekt ist Diese Methode verlangt als Parameter zum einen die vollst ndige URL des Aufrufs sowie den Verweis auf eine Funktion die nach erfolgreichem Laden der XML aufgerufen werden soll Die M glichkeit Funktionszeiger zu setzen ist eine Eigenheit des Actionscript die in diesem Falle sehr n tzlich ist In der onLoad Methode des XML Objekts wird nach Ankommen der XML zun chst gepr ft ob es sich um die XML Repr sentation einer Exception handelt Ist dies der Fall wird die XML an die Fehlerbehandlung weitergeben Falls nicht wird die zuvor bergebene Me thode aufgerufen und das XML Objekt als Parameter bergeben Da die Methode xmlLoad eine URL verlangt und es aus Gr nden der Fehlervermeidung nicht sinnvoll ist an vielen verteilten Stellen des Codes die Zusammenstellung der URL vorzunehmen wird die Methode xmlLoad nie direkt vom Programm aus aufgerufen Statt dessen gibt es f r jeden m glichen Controller Aufruf eine eigene Methode welche die vom Controller ben tigten Parameter verlangt daraus die URL zusammenstellt und schlie lich die xmlLoad Methode aufruft Alle diese Methoden befinden sich an derselben Stelle des Quellcodes sodass nderungen die alle Aufrufe betreffen einfach vorgenom men werden k nnen Zum genauen Ablauf einer Anfrage nun ein kurzes Beispiel Nach dem S
70. es zwei M glichkeiten 1 Der Server sorgt daf r dass alle Clients auf demselben Informationsstand sind indem er Eingaben also Bestellungen eines Spielers an alle anderen Spieler weiterleitet Die Berechnung aktueller Rundendaten wie beispielsweise der Wareneingang oder der eingehende Kundenauftrag werden clientseitig in Flash berechnet 2 Der Server sammelt die Eingaben der Spieler und berechnet den neuen Datenbestand des Spiels Den Clients werden nur genau die Informationen zugef hrt die auf der Be nutzeroberfl che angezeigt werden sollen Berechnungen finden damit nur zentral auf dem Server statt Variante 2 ist aus mehreren Gr nden als vorteilhaft anzusehen Ein Grund ist die bereits angesprochene Vorgabe den aktuellen Stand sowie den gesamten Verlauf eines Spiels Das Beergame als Softwarevariante 38 speichern zu k nnen Dies wird erheblich vereinfacht wenn alle dazu ben tigten Informa tionen an einer Stelle zusammenlaufen Ein weiterer Grund ist die sich dadurch ergebene Unabh ngigkeit von einem bestimmten Frontend Befinden sich sowohl Spieldaten als auch Spiellogik zentral auf dem Server so kann ohne Weiteres ein alternatives Frontend erstellt werden welches mit dem Backend des Beergame kommunizieren kann solange es die zuvor festgelegte XML Schnittstelle beachtet Auch ein v llig anders gearteter Zugriff beispielsweise ber statistische Analysetools ist m glich In Kapitel 7 wird n her auf diese M gl
71. estellung Bestellung Der Bestellwert st bereits eines der Attribute der Spielrunde Zudem s nd s mtliche Me thoden zur Handhabung von Bestellungen letztlich Aktionen des Spielers und werden da her dessen Klasse zugeordnet Spielverlauf Der Spielverlauf kann durch eine Liste von Spielrunden abgebildet werden Diese kann direkt als Attr but des Spielers umgesetzt werden Zudem k nnen dem Spielverlauf keine eigenen Methoden zugewiesen werden da die Klasse Spieler den Runden bergang koordi niert Somit wird f r den Spielverlauf keine eigene Klasse ben tigt Das Beergame als Softwarevariante 23 Nachricht Message Eine Nachricht hat typischerweise einen Sender und einen oder mehrere Empf nger So wohl beim Sender als auch bei den Empf ngern kann es sich um Spieler oder Spielleiter handeln Weiterhin enth lt eine Nachricht einen Nachrichteninhalt f r den n diesem Fall eine rein textliche Darstellung ausreichend ist Auf eine sonst bliche Betreffzeile wird in diesem Kontext verzichtet um den Vorgang des Nachrichtenschreibens im oft etwas hekti schen Spielbetrieb zu beschleunigen EventPreferences name UString description String RoundData shippinglncomingD eliv eries ListeNumber gt initialShippinglncomingDeliv eries ListzNumber initialStock Bet oreRound Humber initialBackorderBef oreR ound Number stockBeforeR ound backorderBef oreRound incomingD eliv ery incomingOrder outgoingDeli
72. g der Netzwerkkommunikation zum Teil wieder aufgehoben Die geforderte Echtzeitfahigkeit des Beergame also der regelm ige Abgleich der Daten aller Spieler und die automatische Aktualisierung der Benutzeroberfl che sind sowohl mit einer Desktop als auch mit einer Browseranwendung zu bewerkstelligen Dabei ist zu beachten dass bei einer Browseranwendung die Auslastung des Webservers mit der An zahl der gleichzeitig verbundenen Spieler ansteigt Es 1st Jedoch nicht davon auszugehen dass durch die bliche Anzahl der Spieler eine berlastung des Servers verursacht werden k nnte da auch Aktualisierungsintervalle von etwa 2 bis 5 Sekunden f r diesen Fall durchaus akzeptabel sind Somit f llt die Wahl auf die Entwicklung einer Browseranwendung womit wir es mit einer klassischen Client Server Architektur zu tun haben werden Bei einer solchen werden die Programmlogik und die Datenhaltung vom Server bernommen wohingegen die Clients nur die Anzeige der vom Server zur Verf gung gestellten Daten sowie das Entge gennehmen von Benutzereingaben bernehmen Server und Clients kommunizieren ber das Netzwerk wobei es f r die Entwicklung der Anwendung keinen Unterschied ergibt ob sich Clients und Server im selben lokalen Netz befinden oder ber das Internet verbunden sind Die nachfolgende Abbildung zeigt eine erste Zusammenfassung der Architektur wel che im Folgenden noch vervollst ndigt werden wird C Gilont Spieler x
73. gestellt und mit den Anforderungen an die Umsetzung des Beergame abgeglichen werden Tabelle 5 1 zeigt vorweg das Ergebnis dieser Evaluation welches dann nachfolgend erl u tert werden soll Die Entwicklung einer klassischen Webanwendung wurde bereits in Kapi tel 5 2 1 1 als nicht Ziel f hrend bewertet und wird damit in dieser Evaluation nicht mehr ber cksichtigt Ajax Flash Applets Performance Start Benutzung Systemvoraussetzungen 2 Kompatibilit t J 4 Zeichenfunktionen GUI Komponenten Animationen z E XML Funktionen ES kostenlose Verf gbarkeit Tabelle 5 1 Vergleich der Frontend Alternativen Der Punkt Performance n der oben stehenden Aufstellung beinhaltet die Ladezeit der Applikation sowie der Belastung von Prozessor und Arbeitsspeicher w hrend des Ge brauchs Dazu kommt die tats chliche Ausf hrungsgeschwindigkeit zentraler Funktionen Als Ladezeit der Applikation 1st zum einen die Zeit zu sehen die zwischen Aufruf der Sei te im Browser und dem vollst ndigen Laden der Eingangsmaske verstreicht Zum anderen spielt aber auch die Zeit eine Rolle die das Programm ben tigt um nach einer Aktion des Benutzers die Anzeige zu aktualisieren Bei Flash und Applets h ngen die anf ngliche La dezeit und weitere Wartezeiten w hrend des Gebrauchs direkt voneinander ab Der Ent wickler kann entscheiden welche der grafischen Elemente in die Hauptdatei integriert und damit zu Beginn ge
74. goingDelivery gt 10 lt outgoingDelivery gt outgoungOrderst0 outgolugOrder lt backorderAfterRound gt 0 lt backorderAfterRound gt lt stockAfterRound gt 15 lt stockAfterRound gt roundCostso7 5 roundCosLts lt roundData gt Das Beergame als Softwarevariante A g Definition lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt ELEMENT lt FATTLIST gt lt ELEMENT lt ATTLIST gt lt ELEMENT lt LATTLIST gt 78 EventPreferences preferences name description supplyChainLevels customerDemandChanges initialShippingIncomingDeliveries advanceToNextRoundStyle maxRoundsPerGame costsPerUnitOnStack costsPerUnitNotDelivered initialStockBeforeRound initialBackorderBeforeRound initialIncomingOrder initiallncomingDelivery shippingsVisible messagingVisible gt name PCDATA gt description PCDATA gt supplyChainLevels level gt customerDemandChanges change gt initialShippingIncomingDeliveries advanceToNextRoundStyle PCDATA gt maxRoundsPerGame PCDATA gt costsPerUnitOnStack PCDATA gt costsPerUnitNotDelivered PCDATA gt initialStockBeforeRound PCDATA gt initialBackorderBeforeRound PCDATA gt initialIncomingOrder PCDATA gt initialIncomingDelivery PCDATA
75. h Begriffen zu durchsuchen die im vorliegenden Modellierungskon text untereinander in Verbindung stehen und denen Attribute oder Operationen zugeordnet werden k nnen Wendet man diese Methode auf die in Kapitel 3 1 gefundenen Anwen dungsf lle an so k nnen die folgenden Begriffe extrahiert werden e Veranstaltung e Spiel e Spielrunde e Spieler e Spielleiter e Veranstaltungskonfiguration e Spielverlauf e Bestellung e Nachricht P Vgl Jacobsen Booch Rumbaugh 1999 S 218 ff Vgl Balzert 1996 S 360 N Das Beergame als Softwarevariante 20 Im Folgenden soll nun zun chst f r jeden dieser Begriffe berpr ft werden ob die Schaf fung einer eigenen Klasse angemessen erscheint Ist dies der Fall sollen die dazugeh rigen Attribute und Methoden gefunden werden insofern sie bereits aus der Anforderungsanaly se hervorgehen Da zur internationalen Lesbarkeit des Quellcodes Klassennamen stets mit englischen Bezeichnungen versehen werden soll dieser Umstand nachfolgend zwar bereits ber cksichtigt aber erst in der Implementierungsphase endg ltig angewendet werden Veranstaltung Event Eine Veranstaltung enth lt einen Spielleiter mehrere Spiele sowie eine Veranstaltungskon figuration Weitere Attribute sind ein Titel und eine Beschreibung in Form von Zeichen ketten sowie das Datum der Veranstaltung Zur Speicherung des Datums sollten universel le Zeitstempel verwendet werden um von der unterliegen
76. h Client bezeichnet eine Anwendung mit komplexer Benutzerschnittstelle Zur Interaktion zwischen Benutzer und Software steht eine Reihe von Steuerelementen zur Verf gung die ber einfache Formularelemente wie Schaltfl chen und Eingabefelder hinausgehen Zu diesen z hlen beispielsweise verschach telte Men strukturen Drag amp Drop Funktionalit ten baumartig strukturierte Listen oder voneinander abh ngige Dialogfenster Dabei ist eine wesentliche Eigenschaft von Rich Clients dass sich die Anzeige selbstst ndig und unverz glich an genau den Stellen aktuali siert an denen sich die dahinter liegenden Daten ge ndert haben Haupts chlich findet man Anwendungen mit Rich Client Eigenschaften als installierte Desktopanwendungen auf PCs In letzter Zeit wird jedoch vermehrt daran gearbeitet Rich Client Funktionalit ten auch auf anderen Plattformen wie z B Handhelds Mobiltelefonen oder wie im Folgenden dargelegt wird auch innerhalb eines Browsers lauff hig zu machen Dem gegen ber steht die Internet Application die im bisherigen Verlauf dieser Arbeit als Webanwendung bezeichnet und bereits beschrieben wurde Diese sollen im weiteren Verlauf als klassische Webanwendungen bezeichnet werden um sie st rker von den hier eingef hrten Rich Internet Applications abzugrenzen Klassische Webanwendungen unter scheiden sich in Aussehen und Benutzerf hrung stark von Desktopanwendungen Das Problem des vollst ndigen Neuladens wurd
77. ia lLincomingOrder gt lt initialIncomingDelivery gt 5 lt initialIncomingDelivery gt lt shippingsVisible gt false lt shippingsVisible gt lt customerDemandVisible gt false lt customerDemandVisible gt lt messagingVisible gt 1000 lt messagingVisible gt nur Spielleiter lt preferences gt Das Beergame als Softwarevariante B Mogliche Anfragen an die Controller B a AdminController Action Parameter R ckgabe XML adminmessages_get adminmessages_add preferences_getfilebyname preferences_delete preferences_get preferences_set preferences_saveas preferences_getall event_getall event_getold event_load event_getinfo event_create event_addgame event player2pending event player2game event players2game random event startgames game getinfo bykey game goto nextround eventkey long eventkey long content String receivers String filename String filename String eventkey long eventkey long xmlstr XML filename String xmlstr X ML folder String eventkey long title String desc String eventkey long eventkey long playerkey long eventkey long gamekey long playerkey long position int eventkey long eventkey long eventkey long gamekey long eventkey long gamekey long message multiple preferences preferences mult event multiple event multiple event event event game Mogl Exceptions SystemException EventNotFoundException SystemExcepti
78. ich ins Lager berf hrt werden Kommen etwa 5 Einheiten an erscheint neben dem Betrag des Lagerbestands zun chst die Information 5 danach ndert sich der Lagerbestand dementsprechend In der zweiten Phase wird die neue Bestellung entgegengenommen Der Auftrag wird von der Post zugestellt der Brief wandert vom Feld Postweg in die Zeile der zweiten Phase Danach wird der Brief ge ffnet woraufhin die Bestellmenge erscheint Diese Menge wird nun zum Wert der offenen Bestellungen addiert die Animation hierzu verl uft wie schon das Buchen des neuen Lagerbestands zuvor Die Fabrik nimmt in dieser Phase den Auftrag vom Feld Production Request entgegen die gew nschte Produktionsmenge wird dann auf dem unteren der Production Delay Felder platziert In der dritten Phase werden die offenen Bestellungen ausgeliefert Dazu erscheint in der entsprechenden Zeile eine offene Kiste die nun bef llt werden muss Die Liefermenge ergibt sich aus dem kleineren der Werte Lagerbestand und offene Bestellungen Diese Menge wird nun aus beiden Best nden ausgebucht und erscheint danach neben der offenen Kiste Die Kiste wird zun chst geschlossen danach ndert sich Icon der Kiste in einen LKW der daraufhin auf das untere Shipping Delay Feld f hrt Im Falle des Einzelh ndlers werden die Waren direkt an die Endkunden geliefert In der letzten Phase muss der Spieler seine Bestellung abgeben Dazu erscheinen in der vierten Zeile ein Eing
79. ich zum XMLHttpRequest bei Ajax erfolgt das Laden der Daten asynchron d h die load Methode des Objekts wird sofort nach dem Abschicken der Anfrage an den Server beendet Sind die Daten vollst ndig geladen wird diejenige Methode aufgerufen die mit dem onLoad Ereignis des XML Objekts verkn pft wurde Das sofortige Beenden der load Methode birgt sowohl Vor als auch Nachteile Als vorteilhaft ist anzusehen dass das Programm w hrend des Ladens normal weiterl uft statt durch eine langsame Netz werkverbindung oder die bertragung gr erer Datenmengen blockiert zu werden Ein f r die Programmgestaltung nicht unerheblicher Nachteil ist aber dass urspr nglich zusam mengeh rige Programmteile in unterschiedliche Methoden verteilt werden m ssen Alle Anweisungen die erst nach vollst ndigem Empfang der Daten ausgef hrt werden d rfen k nnen nicht direkt unterhalb der oad Anweisung platziert werden sondern m ssen in der onLoad Methode ausgef hrt werden Dadurch nimmt die Komplexit t des Quellco des zu die bersichtlichkeit des Codes leidet Die Vorlagedatei export template xls befindet sich im Hauptordner des Beergame Backend gt Vgl Macromedia 2005 a S 1285 ff Das Beergame als Softwarevariante 48 Um die Befehle zur Anfrage an den Server an genau einer Stelle im Code zu kapseln und dennoch eine h chstm gliche Flexibilit t bei der Verwendung von Serveraufrufen zu ge w hrleisten wurde im Frontend des Be
80. ichkeiten eingegangen In Kapitel 5 2 2 wurde erarbeitet dass das Backend Methoden zur Verarbeitung und Vali dierung von XML bereitstellen soll Neben der Datensicherung in XML soll zudem die M glichkeit bestehen die Daten f r Tabellenkalkulationsprogramme lesbar zu machen Die eleganteste L sung ist sicherlich die Spieldaten direkt in ein Excel Spreadsheet zu exportieren Dazu muss eine M glichkeit gefunden werden Spreadsheet Dateien zu erstel len bzw Daten in eine bestehende Vorlage einf gen zu k nnen Zusammenfassend wurden f r das Backend die folgenden Aufgaben identifiziert e Speichern Laden von Dateien im Dateisystem e Unterst tzung von XML e Zugriff auf Excel Spreadsheets e Bereitstellung der Spiellogik und objektorientierte Abbildung des Datenmodells e Die Annahme und Beantwortung von Anfragen der Clients Zur Erf llung dieser Anforderungen bietet sich die Benutzung der Java Plattform an Java ist eine objektorientierte Programmiersprache die jedem Entwickler kostenfrei zur Verf gung steht Bibliotheken mit Methoden zur Verarbeitung von XML und dem Zugriff auf das Dateisystem sind bereits in Java enthalten Zudem werden von der Apache Foundation Bibliotheken zum Zugriff auf Excel Spreadsheets angeboten die ebenfalls kostenlos und einschr nkungsfrei nutzbar sind Zur Beantwortung von Clientanfragen stellt Java zwei Methoden zur Verf gung Java Ser ver Pages und Servlets Beide Konzepte wurden bereits zur Um
81. ig die eine Laufzeitumgebung f r Servlets sog Servlet Container bereitstellt Weitere Anforderungen an die Server Software sind eine m glichst einfache Installation sowie eine m glichst kostenfreie Bereitstellung Diese Anforderungen erf llt der Apache Tomcat Tomcat ist ein Open Source Projekt der Apache Foundation und ist zum Zeitpunkt der Entwicklung in der Version 5 5 stabil f r die Plattformen Windows Linux und Mac OS X verf gbar Die Nutzung des Tomcat ist kos tenlos Zudem ist Tomcat vollst ndig in Java entwickelt worden ben tigt somit nur eine Java Laufzeitumgebung und muss nicht gesondert installiert werden Dieser Umstand bie tet dem Spielleiter eine h chstm gliche Flexibilit t beim sp teren Gebrauch beispielswei se k nnen der Tomcat und die Java Laufzeitumgebung von einem USB Speicherstick ge laden werden Der Spielleiter kann dann jeden beliebigen Computer im Netzwerk zum Beergaqme Server machen in dem der Tomcat direkt vom Stick auf diesem Rechner ge startet wird Dazu sind keinerlei weitere Anpassungen des Computers n tig Abb 5 2 zeigt abschlie end eine weitere grafische Darstellung der in diesem Kapitel erar beiteten Softwarearchitektur Sie enth lt ein detailliertes Bild der vorliegenden Client Server Architektur welches nun die gew hlten Laufzeitumgebungen enth lt sowie die Konzepte zum Datenaustausch zwischen Client und Server und zur Datensicherung is Vgl Gamma Helm Johnson Vlissides
82. igation durch das Dokument verlangt Zudem ist einem XPath Aufruf durch den bergebenen Ab frage String meist auf einem Blick anzusehen welche Daten die Abfrage liefern wird Bei DOM ist die Lesbarkeit des Quellcodes weniger intuitiv was nat rlich eine subjektive Pr ferenz des Entwicklers darstellt Im Folgenden soll an einigen pr gnanten Beispielen die Benutzung von XPath verdeutlicht werden Dazu diene der folgende XML Ausschnitt als Grundlage lt event gt trtlie Vorlesung IOS 23 07 0J 7t tle game player level Grosshandler gt lt name gt pl lt name gt lt player gt player level Spediteur lt name gt pl lt name gt lt player gt lt game gt lt event gt Die Xpath API von Flash bietet die Methoden selectSingleNode zur Abfrage eines einzel nen XML Elements sowie selectNodeList falls das Ergebnis mehrere Elemente umfasst Diese werden in den folgenden Abfragen genutzt l Abfrage eines Elements Die folgende Abfrage liefert den Titel der Veranstaltung XPathAPI selectSingleNode xmlObj event title nodeValue 2 Abfrage einer Liste von Elementen Um alle vorhandenen Spieler auszulesen kann durch den folgenden Aufruf die Liste aller Spieler der Veranstaltung in ein Array gela den werden 8 Vgl Klettke Meyer 2003 S 156 ff Vgl Macromedia 2005 b S 3 f Das Beergame als Softwarevariante 51 XPathAPI selectNodeList xmlObj event game player 3 Einschr nken d
83. igen mit denen die Nutzerin der Nutzer sich durch die declares to comply with these terms of use erste Nutzung einverstanden erkl rt Mitglied der 1 B U Leibniz Informationszentrum Wirtschaft c Leibniz Information Centre for Economics Laibitis Gemeinschsft S D oO O gt 3E O C oO O O X 1o zu P mi Prof Dr Dieter Ahlert PD Dr Detlef Aufderheide Prof Dr Klaus Backhaus Prof Dr J rg Becker Prof Dr Heinz Lothar Grob Prof Dr Karl Hans Hartwig Prof Dr Thomas Hoeren Prof Dr Heinz Holling Prof Dr Bernd Holznagel Prof Dr Stefan Klein Prof Dr Thomas Langer Prof Dr Andreas Pfingsten Nr 54 FLORIAN CHRIST KAI RIEMER Das Beergame Realisierung einer Softwarevariante f r den Einsatz in E Commerce Lehrveranstaltungen European Research Center for Information Systems i Ne Lm ee et n ATLETEN f Sr buy i Fe o iara ua etm he i cin po g HHA n oiu Wiems Britones st M nster Gef rdert durch R Bundesministerium s f r Bildung und Forschung F rderkennzeichen 01 AK 704 Projekttr ger DLR INTERNETK KONOMIE Internet konomie und Hybriditat Sprecher Prof Dr Heinz Lothar Grob www ercis org NR 54 Florian Christ Kai Riemer Das Beergame Realisierung einer Softwarevariante f r den Einsatz in E Commerce Lehrveranstaltungen KOMPETENZCENTER INTERNET KONOMIE UND HYBRIDIT T SPRECHER PROF D
84. ikationen ber das Internet verf gbar zu machen und ber diesen Weg die Benutzer unabh ngig von einem bestimmten Computer zu machen So existieren beispielsweise Implementierungen von Email Programmen als RIA die sich in der Art der Bedienung von ihren lokal installierten Gegenst cken nur wenig unterscheiden Die Da ten werden bei solchen Anwendungen meist nicht lokal sondern auf einem Server gehal ten sodass der Benutzer unabh ngig von seinem Standort nur einen Browser ben tigt um auf Programme und Daten zugreifen zu k nnen Es wird in diesem Zusammenhang auch von einer kontinuierlichen Verlagerung des Desktops ins Internet gesprochen Einige Anbieter von Entwicklungsframeworks f r Rich Internet Applications geben sogar an dass RIA die auf diesen Frameworks basieren ohne Anpassungen sowohl in Browsern als auch auf Mobiltelefonen und Handhelds angezeigt werden k nnen Damit wird nicht nur die Unabh ngigkeit von einem bestimmten Computer angestrebt sondern n Zukunft auch vermehrt die Unabh ngigkeit von einem bestimmten Ger tetyp Gleichwohl m ssen auch kritische Punkte zum RIA Konzept erw hnt werden Zum einen darf nicht angenommen werden dass man mit einer RIA die Benutzerfreundlichkeit oder die Leistungsf higkeit von Desktopanwendungen vollst ndig erreichen kann Zwar k nnen die grafischen Steuerelemente eines Betriebssystems mittlerweile hinreichend genau app roximiert werden jedoch zeigen sich die Grenzen z B
85. ion PlayerNotFoundException player_undoorder eventkey long SystemException playerkey long EventNotFoundException PlayerNotFoundException C Benutzte externe Komponenten Name Beschreibung Vers Lizenz Quelle Apache POI HSSF Framework zur Verarbei 2 5 1 Apache License 2 0 poi apache org hssf tung von Microsoft Excel Dateien in Java Apache Tomcat Java Servlet Container 5 5 20 Apache License 2 0 tomcat apache org Apache Log4J Logging Framework f r 1 2 13 Apache License 2 0 logging apache org log4j Java Das Beergame als Softwarevariante 82 Arbeitsberichte des Kompetenzzentrums Internet konomie und Hybriditat Grob H L Hrsg Internet konomie und Hybriditat Konzeption eines Kompetenzzent rums m Forschungsverbund Internet konomie Nr 1 Brocke J vom Hybride Systeme Begriffsbestimmung und Forschungsperspektiven f r die Wirtschaftsinformatik Nr 2 Holznagel D Krone D Jungfleisch C Von den Landesmedienanstalten zur L nderme dienanstalt Schlussfolgerungen aus einem internationalen Vergleich der Medienauf sicht Nr 3 Z mmerlich A Aufderheide D Herausforderungen f r das Wettbewerbsrecht durch die Internet konomie Nr 4 Ahlert D Evanschitzky H Erfolgsfaktoren des Multi Channel Managements Nr 5 Holling H Freund P A Kuhn J T Usability Analysen von Wissensmanagementsys temen Nr 6 Br cher J Domain Names und das Priorit tsprinzip im Kennzeichenrecht Nochmals
86. is In VDI Berichte Nr 1882 D sseldorf 2005 Jacobson I Booch G Rumbaugh J The Unified Software Development Process Read ing MA u a 1999 Jacobson I Christerson M Jonsson P vergaard G Object Oriented Software Engi neering A Use Case Driven Approach Wokingham u a 1992 Klettke M Meyer H XML amp Datenbanken Konzepte Sprachen Systeme Heidelberg 2003 Lee H L Padmanabhan V Whang S The Bullwhip Effect in Supply Chains Sloan Management Review 38 1997 3 S 93 102 Lehner W Sch ning H XQuery Grundlagen und fortgeschrittene Methoden Heidel berg 2004 Louis D M ller P Java 5 Praxis der objektorientierten Programmierung M nchen 2005 Macromedia Developer Network Flash 8 ActionScript 2 0 Language Reference 2005a http download macromedia com pub documentation en flash fl8 fl8 as2lr pdf Macromedia Developer Network Flash 8 XPath Class API Macromedia 2005b http download macromedia com pub documentation en flash f18 Xpath API pdf O Reilly T What is Web 2 0 Design Patterns and Business Models for the Next Genera tion of Software http www oreillynet com Ipt a 6228 09 30 2005 Ossimitz G Endbericht zum Projekt Simulation von Supply Chain Management Syste men Klagenfurt 2002 http www uni klu ac at gossimit pap bg_endbericht pdf Peterson L L Davie B S Computer Networks A System Approach Edition 3 San Francisco 2003 Radke H D Ra
87. keit von action werden anschlie end s mtliche f r die Anfrage ben tigten Parameter abgefragt Im genannten Beispiel player join event sind dies der Name des Spielers sowie dessen Email Adresse Sind einer oder mehrere dieser Parameter nicht spe z f z ert worden oder enthalten unzul ssige Werte so wird eine entsprechende Exception ausgegeben und die Bearbeitung der Anfrage abgebrochen Die genaue Funktionsweise des Exception Handling im Beergame wird im n chsten Abschnitt erl utert Eine vollst ndige Aufstellung aller m glichen Controller Aufrufe befindet sich im Anhang dieser Arbeit Die Aufstellung enth lt f r Jede action die weiteren ben tigten Parameter mit Informationen ber die g ltigen Wertebereiche der Parameter Zudem werden die XML Struktur der Antwort sowie die m glichen Exceptions angegeben Die nachstehende Grafik zeigt exemplarisch eine URL f r die Abgabe einer Bestellung durch einen Spieler Abb 6 2 URL zur Abgabe einer Bestellung Die Verwendung von URL Parametern muss bei der Implementierung des Backend spezi ell ber cksichtigt werden Das liegt vor allem daran dass eine URL und damit auch die Vgl Loius M ller 2005 S 924 Das Beergame als Softwarevariante 44 darin enthaltenen Parameter nur als Zeichenkette zur Verf gung steht Daher muss f r Jeden Datentyp der als Parameter bergeben wird eine String Repr sentation gefunden werden aus der das Backend den urspr nglichen Datentyp wie
88. kits die Entwicklung eines solchen Frontends f r das Beergame ein sinnvoller Schritt sein k nnte Bei der Planung wurde daher gesteigerter Wert darauf gelegt die Programmlogik m g lichst v llig vom Frontend zu trennen und die Kommunikation zwischen Front und Ba ckend auf den Webstandard XML aufzubauen Dadurch ist es weiterhin m glich ein auf HTML basierendes Frontend zu bauen das asynchron ber die Ajax Schnittstelle XMLHttpRequest mit dem Backend kommuniziert Das Backend und die Controller des Beergame m ssen f r eine solche Erweiterung nicht angepasst werden Es wird lediglich die Frontend Sektion der Softwarearchitektur ausgetauscht 5 Vgl Jacobson Booch Rumbaugh 1999 S 8 ff Das Beergame als Softwarevariante 56 7 2 Alternativer Zugriff auf das Beergame Backend Neben der Benutzerschnittstelle k nnen auch externe Programme mit dem Backend kom munizieren Ein nahe liegendes Beispiel f r eine solche Applikation ist etwa ein Simulati onsprogramm welches automatisch und in k rzester Zeit eine grobe Anzahl von Spielen durchf hren kann ber diesen Weg lassen sich beispielsweise leicht die Auswirkungen verschiedener Anpassungen an der Konfiguration testen Ein Programm dieser Art kann auf zwei Arten auf die Programmlogik des Beergame zugreifen 1 ber die Controller Analog zur Vorgehensweise des Frontends Diese Methode ist unumg nglich wenn sich das Beergame und die externe Applikation nicht auf dersel
89. ktionen bereitzustellen wurde das Interface XMLObject eingef hrt welches sich im Paket beergame model befindet und von den oben genannten Klassen implemen tiert wird Kern des Interface XMLObject ist die Methode toXML int depth Diese Metho de liefert eine XML Repr sentation des Objekts als Zeichenkette zur ck Die explizite Zusammenstellung des XML Strings wird in jeder Klasse gesondert implementiert Der Parameter depth gibt die Tiefe der XML Verschachtelung an Dies funktioniert folgender ma en Befinden sich in dem betreffenden Objekt Referenzen auf andere Objekte die auch das Interface XMLObject implementieren so wird w hrend des Zusammenstellens der XML innerhalb der Methode toXML int depth dieselbe Methode auch in den untergeord neten Objekten aufgerufen jedoch mit einer um Eins dekrementierten Tiefe In den toXML Methoden der Unterobjekte wird analog verfahren solange die bergebene Tiefe gr er ist als Null Die Methode toXML wird zum einen von den Controllern aufgerufen um das Frontend in geeigneter Form mit der aktuellen Datenlage des Beergame zu versorgen Zum anderen wird bei jedem Runden bergang der aktuelle Stand eines Spiels gesichert indem die Me thode toXML in der Klasse Game mit maximaler Tiefe aufgerufen wird Das Ergebnis wird in der Datei gameDump xml im Ordner des Spiels auf dem Server gesichert Zus tzlich zu der oben beschriebenen Methode toXML enthalten alle XMLObjekt imple mentierenden Klassen einen
90. l cht spielerisch innerhalb einer Lern Gruppe die Material und Informationsfl sse in Supply Chains zu simulieren und so die Ursachen und Wirkungen des Bullwhip Effekts verstehen und analysieren zu lernen Seit seiner Einf hrung in den 60er Jahren des vergan genen Jahrhunderts erfreut sich das Beergame daher gro er Beliebtheit und wird h ufig in Seminaren oder Workshops zum Thema Supply Chain Management oder E Commerce angewendet Dabei existieren mittlerweile eine ganze Reihe verschiedener Umsetzung des Beergame als Brettspiel als Rollenspiel oder als Softwaresimulation Die praktische Durchf hrung der klassischen Variante des Beergame als Brettspiel kann jedoch schnell zu Problemen f hren Beispielsweise unterlaufen den Spielern hierbei w hrend des Spiels gelegentlich Rechenfehler wodurch die Aussagekraft des Spiels und seiner Ergebnisse beeintr chtigt wird Auch ist die Verwendung des Brettspiels meist nur in kleineren Grup pen praktikabel da mit steigender Teilnehmerzahl der Bedarf an Platz und an Koordination nicht mehr ausreichend gedeckt werden kann Der Einsatz von Informationstechnik kann zur L sung der angesprochenen Probleme bei tragen berl sst man die Berechnungen einer Software k nnen fehlerhafte Spielst nde vermieden werden Zudem kann die Nutzung von Netzwerktechnik die rtliche Bindung der Spieler aufheben Wichtig hierbei 1st es jedoch den Rollenspielcharakter des Spiels zu erhalten um die unmittelbare Erfahr
91. laden werden und welche erst bei Bedarf nachgeladen werden So k nnen Elemente mit grober Ladezeit etwa aufwendige Animationen zu Beginn im Hin tergrund geladen werden damit sie bei Bedarf unverz glich zur Verf gung stehen Diese Das Beergame als Softwarevariante 33 M glichkeiten stehen bei Ajax nur eingeschr nkt zur Verf gung Die anf ngliche Ladezeit ist bei Ajax zwar sehr gering auch da keine zus tzliche Laufzeitumgebung geladen werden muss jedoch k nnen grafische Elemente nicht im Voraus geladen werden Es ist sicherlich ein Vorteil der Ajax Technologie dass au er einem Browser keinerlei zus tzliche Komponenten installiert werden m ssen w hrend Flashfilme das Vorhanden sein eines Flash Players in einer bestimmten Version und Applets eine in den Browser in tegrierte Java Laufzeitumgebung erfordern Diese Laufzeitumgebungen sind sowohl f r Flash als auch f r Java zwar f r alle g ngigen Betriebssysteme und Browser verf gbar werden jedoch teilweise auf betrieblich genutzten Computern oft wegen Sicherheitsbeden ken nicht installiert Dennoch geh rt der Flash Player in der Version 7 zum Lieferumfang von Microsoft Windows XP und Studien des Herstellers Adobe geben an dass auf mehr als 95 Prozent aller zu privaten Zwecken genutzten Rechner ein Flash Player installiert ist Aufgrund des haupts chlich lokalen Einsatzes des Beergame sowie der nur geringen Vertraulichkeit der Daten kann zudem von Sicherheitsbedenken a
92. le laufenden Spiele der Veranstaltung Klappt man einen der Ordner auf werden darunter alle Spiele sichtbar Wird ein Spiel aufgeklappt erscheinen die Supply Chain Stufen mit den Namen der zugeordneten Spieler Das Beergame als Softwarevariante 62 Seminar eCommerce Micht zugeordnete Spieler Alle Spiele dieser Veranstaltung F Voll belegt Fertig zum Start Spiele mit freien Pl tzen T c Laufende Spiele Y c Spiel 1 F Brauerei Klaus 1 Distributor Peter Gro h ndler Heinz Einzelh ndler Gerd Spieler automatisch zuordnen leeres Spiel anlegen Voll besetzte Spiele starten Abb 8 3 Bildschirm zur Zuordnung von Spielern zu Spielen Die Zuordnung der Spieler kann auf zwei Weisen erfolgen Bei Wahl der Funktion Spie ler automatisch zuordnen f llt das System selbst freie Pl tze in den Spielen mit wartenden Spielern auf und legt 1m Bedarfsfall neue Spiele an M chte der Spielleiter explizit be stimmte Spieler gruppieren so kann er manuell leere Spiele anlegen und diese im An schluss bef llen Dazu m ssen zun chst ein Spieler aus der Liste auf der linken Seite sowie eine Position innerhalb eines Spiels in der rechten Liste markiert werden Per Klick auf den Knopf mit den rechtsgerichteten Pfeilen gt gt wird die Zuordnung durchgef hrt ber die Schaltfl che mit den linksgerichteten Pfeilen lt lt k nnen einzelne markierte Positionen in Spielen wieder zur Neubesetzung freigegeben werden
93. lich betragen die Aktualisierungsintervalle im Frontend zwei Sekunden F r das kontinuierliche Ausf hren von Methoden bietet Flash die Methode set nterval der zum einen die aufzurufende Me thode sowie die Intervalll nge in Millisekunden bergeben wird Ein gesetzter Intervall aufruf kann mithilfe von clearInterval wieder beendet werden Aus Gr nden der Performanz wurde darauf geachtet zwei Regeln konsequent umzusetzen 1 Nach dem Empfang neuer Daten werden diese zun chst mit den bisherigen Daten ver glichen Nur falls Anderungen vorliegen wird der Bildschirm aktualisiert Aus diesem Grund muss stets eine Kopie der empfangenen Daten zum Vergleich gesichert werden 2 Aktualisierungsintervalle laufen nur dann wenn eine Anpassung des Bildschirms auch m glich ist Beispielsweise muss die Spielansicht Animation oder Tabelle im Spieler Frontend nur dann aktualisiert werden wenn der Spieler bereits seine Bestellung abge geben hat und auf die n chste Runde wartet Hat die n chste Runde begonnen und dem Spieler liegen die aktuellen Daten vor so kann die Aktualisierung bis zur Abgabe der Bestellung ausgesetzt werden 6 2 2 Verwendung der XML Daten Im vorherigen Abschnitt wurde dargelegt dass die XML Daten nach erfolgreichem Emp fang an eine daf r spezifizierte Methode bergeben werden in der sie anschliebend aus gewertet werden k nnen Haupts chlich sind dies Methoden die anhand der empfangenen Daten Bereiche der Ben
94. lich im Verzeichnis languages Das Beergame als Softwarevariante 53 e eine Information ob eine Legende gezeichnet werden soll und wenn ja e die Position der Legende sowie ein Array mit einem Legendentext f r jede Linie e zudem ein Array das f r jede Linie die Information enth lt in welcher Art deren Punk te miteinander verbunden werden sollen Sind diese Informationen vorhanden kann mittels der Methode drawGraphs das Diag ramm gezeichnet werden Dies geschieht in mehreren Schritten Zuerst wird das Koordina tenkreuz gezeichnet und die Einteilung der Achsenbeschriftungen ermittelt Auf der waa gerechten Achse werden beim Beergame ausschlie lich Rundenzahlen und damit ganzzah lige Werte abgetragen Neben der ersten und der letzten Runde wird der verbleibende Platz auf der Achse durch einen Algor thmus gleichm ig aufgeteilt Dabei k nnen maximal f nf jedoch mindestens zwei Teilstriche entstehen je nach ganzzahliger Teilbarkeit der maximalen Rundenzahl Auf der vertikalen Achse m ssen auch Werte mit Dezimalstellen abgetragen werden k n nen Dies ist beispielsweise bei Diagrammen ber Kostenverl ufe der Fall Zudem muss ber cksichtigt werden dass f r Beschriftungen auf der vertikalen Achse tendenziell weni ger Platz zur Verf gung steht als auf der horizontalen Achse Daher werden auf der verti kalen Achse neben dem in den Daten gefundenen H chstwert noch die H lfte bzw die Quartile des H chstwerts auf de
95. m Das Beergame als Softwarevariante 11 puter das Spiel selbstst ndig die n chste Runde berf hren Der Rolle des Postboten w re somit vollst ndig vom Computer bernommen worden Auch der Buchhalter entf llt da sich die Spieldaten bereits auf den Computern befinden Diese Daten sind so kein Prog rammfehler aufgetreten ist immer in einem konsistenten Zustand da alle Berechnungen von der Software bernommen werden und die Software ausschlie lich g ltige Eingaben vom Spieler akzeptiert Was die r umlichen Voraussetzungen betrifft so muss n erster Linie die informations technische Infrastruktur vorhanden sein Geht man von einer Situation im Netzwerk ver bundener Computer aus so ergeben sich prinzipiell drei M glichkeiten ein softwarebasier tes Beergame einzusetzen 1 In einem fest installierten Rechnerverbund z B einem Computerpool 2 In einem tempor ren Verbund Ein solcher ist beispielsweise die Verbindung mehrerer Laptops in einem drahtlosen ad hoc Netzwerk 3 Eine v llig ortsungebundene Verbindung der Computer ber das Internet Im weiteren Verlauf soll nun ein detailliertes Konzept zur softwaretechnischen Umsetzung des Beergame erarbeitet und anschlie end vollst ndig implementiert werden l Vgl Radtke 2005 S 35 f Das Beergame als Softwarevariante 12 3 Anforderungsanalyse zur softwaretechnischen Realisierung Zur Ermittlung der Anforderungen an eine softwaretechnische Umsetzung des Be
96. n muss die Art des Fehlers vom Frontend eindeutig identifizierbar sein um gef eine spezielle Fehlerbehandlung ausf hren zu k nnen Zur Sicherstellung der beiden genannten Punkte wurde die abstrakte Klasse GameExcepti on eingef hrt welche die Oberklasse f r alle im Beergame vorkommenden Exceptions darstellt Diese Klasse enth lt die Attribute errorKey und details die von der Unterklasse gesetzt werden Dabei enth lt errorKey den geforderten eindeutigen Identifizierungs schl ssel in details kann eine Fehlerbeschreibung abgelegt werden Tritt ein Fehler auf so kann wiederum ber die Methode toXML die XML Repr sentation des Fehlers ausgege ben werden welche f r alle Fehler die gleiche Struktur aufweist sowie die Parameter er rorKey und details enth lt 6 1 4 Export der Spieldaten als Excel Spreadsheet Beim Beergame wird nach Spielende f r jedes Spiel eine Datei im Microsoft Excel Format angelegt die sich neben den XML Daten im Ordner des Spiels befindet Diese Datei be steht aus mehreren Tabellenbl ttern ein Titelblatt mit allgemeinen Informationen ber Veranstaltung und Spiel sowie je ein Tabellenblatt pro Spieler Der Inhalt eines Spieler Tabellenblatts 1st praktisch identisch mit dem Inhalt der Rundendaten Tabelle im Frontend des Spielers wobei die Hintergrundfarben der Tabellenbl tter zur besseren Unterschei dung der einzelnen Supply Chain Stufen variieren Zur Erstellung von Excel Dateien wurden die frei v
97. ndenzahl als numerischer Wert Die Art der Rundenfreigabe automa tisch oder manuell kann analog zum Spielstatus durch eine eindeutige Nummer identi fiziert werden e L nge und anf ngliche Bef llung des Shipping Delays Hierzu kann eine Liste dynami scher L nge genutzt werden deren Inhalt je ein numerischer Wert pro Eintrag ist e Anf ngliche Bef llungen des Lagerbestands sowie der eingehenden Bestellung und Lieferung durch je einen ganzzahligen numerischen Wert e Die Kostens tze f r Lager und Fehlmengen Hier sind numerische Werte mit Dezi malstellen erlaubt e Sichtbarkeit von Endkundenachfrage und Shipping Delay f r Spieler sowie die Ver f gbarkeit der Kommunikationsfunktion durch boolesche Ausdr cke Das Beergame als Softwarevariante 22 Da Veranstaltungskonfigurationen dauerhaft gespeichert werden sollen um sie in weiteren Veranstaltungen wieder zu verwenden werden zu jeder Konfiguration ein Name sowie eine Kurzbeschreibung als String aufgenommen Spielrunde RoundData Eine Spielrunde muss alle Daten aufnehmen die in einer Runde bei einem Spieler anfallen Diese sind e der Lagerbestand zu Beginn der Runde e offene Bestellungen zu Beginn der Runde e der Inhalt des Shipping Delays e die eingehende Lieferung e die eingehende Bestellung e die ausgehende Lieferung e der neue Lagerbestand e der neue Auftragsbestand e die kumulierten Gesamtkosten sowie e die eigene ausgehende B
98. netbasier ter Interaktionen Nr 30 Holznagel B Bonnekoh M Auswirkungen der TK Regulierung auf die Internetm rkte dargestellt am Beispiel von Voice over IP Nr 31 vom Brocke J Hermans J Anreizsysteme zur Wissensteilung 1n Netzwerken Fachkon zeptionelle Modellierung und Prototypische Implementierung f r die OpenSource Plattform HERBIE Nr 32 vom Brocke J Altfeld K Nutzung von Semantic Web Technologien f r das Manage ment von Wissen in Netzwerken Konzeption Modellierung und Implementierung Nr 33 Ahlert D Evanschitzky H Thesing M Zahlungsbereitschaft 1m Online Handel Eine empirische Untersuchung mittels der Conjoint Analyse Nr 34 Holling H Freund P A Kuhn J T Webbasierte Evaluation eines Wissensmanage mentsystems Nr 35 Trauten A Schulz R C IPO Investment Strategies and Pseudo Market Timing Nr 36 Hoffmann M L Marken und Meinungsfreiheit Virtuelle Brand Communities auf dem kennzeichenrechtlichen Pr fstand Nr 37 Trauten A The perceived benefit of internet based Commercial Paper issuance in Europe A survey Nr 38 Ricke Thorsten Triple Play Zugangsanspr che bei vertikalen Verflechtungen Nr 39 Ricke Thorsten Neue Dienstekategorien 1m Zuge der Konvergenz der Medien Nr 40 M ller Ulf Utz Rainer Aufderheide Detlef Meyer Lena Rodenhausen Anselm Die Zukunft der Internetadressierung ICANN DNS und alternative Systeme kartell un
99. ng des Spiels drehen Da der Spielleiter stets Einsicht in den aktuellen Verlauf der Spiele hat kann er jedem Spieler gezielt Feedback zu seiner Spiel weise geben Da Spieler und Spielleiter wie bereits erw hnt nicht zwingend am selben Ort sein m ssen sollte auch f r diesen Zweck ein zus tzlicher Kommunikationskanal vorhan den sein Das Beergame als Softwarevariante 16 Nach Beendigung der Spiele sollten dem Spielleiter s mtliche w hrend der Veranstaltung angefallenen Daten dauerhaft zur Verf gung stehen Diese k nnen dann nach der Verans taltung aufbereitet und den Spielern vorgelegt werden mit dem Ziel Ursachen und Wir kung des Bullwhip Effekts zu analysieren und Gegenma nahmen zu erarbeiten Zur Ver einfachung der Datenaufbereitung ist es sinnvoll die Daten in einer f r die Verwaltung und Aufbereitung numerischer Daten geeigneten Form ausgeben lassen zu k nnen die beispielsweise von einem Tabellenkalkulationsprogramm gelesen werden kann Spiel anlegen Aktionen vor Veranstaltung run Spielbeginn anlegen voreinstellen Spieler zu Spielen zuordnen Spielverlauf beobachten Aktionen w hrend des Spiels o freigeben Konfiguration Nachrichten Spielleiter anpassen senden amp N chste Runde empfangen Aktionen nach Spielende Daten auswerten Abb 3 2 Anwendungsfalldiagramm des Spielleiters 3 1 2 Anwendungsf lle des Spielers Nachdem s mtliche administrativen Funktionen entweder vom Spielleit
100. nimationseffekte manuell durch den Entwickler erstellt werden was einen erheblich gr Deren Aufwand zur Folge h tte Ajax Entwickler m ssen diese Funktionalit ten selbst Siehe http www adobe com products player_census flashplayer PC html Das Beergame als Softwarevariante 34 implementieren oder auf Bibliotheken externer Entwickler zur ckgreifen was die Hetero genitat der verwendeten Ajax Toolkits bzw Bibliotheken noch weiter erh ht Die Verf gbarkeit von Komponenten zur Umsetzung der komplexen Benutzeroberfl che ist bei allen drei Alternativen gegeben In Java Applets k nnen die bei der Entwicklung von Desktopanwendungen blichen Bibliotheken AWT und Swing uneingeschr nkt ver wendet werden Flash beinhaltet eine Komponentenbibliothek in der zum einen bereits die g ngigsten Steuerelemente im Lieferumfang enthalten sind die zum anderen aber auch durch eigene Steuerelemente oder solche externer Entwickler aufgef llt werden kann Bei Ajax h ngt der Umfang an Steuerelementen sowie deren Qualit t wiederum vom verwen deten Toolkit ab jedoch sind auch hier die g ngigsten Komponenten in den meisten Tool kits enthalten Zentraler Bestandteil der Ajax Technnologie ist die Auswertung von Daten im XML Format per JavaScript wobei die Verwendung von XML durch die Universalit t und Kompatibilit t dieses Datenformats begr ndet wird Die Verarbeitung von XML ist jedoch keine Spezialit t von JavaScript sondern wird sowohl von
101. nml nicht sichtbar v Endkundennachfrage ab Runde 1 5 Einheiten Andern ab Runde 5 10 Einheiten l schen Zahlenfolge 2 36 40 Konf laden Konf speichern Veranstaltung anlegen Abb 8 2 Bildschirm zur Festlegung der Spielkonfiguration Auf der Konfigurationsseite kann zun chst die Lange der Supply Chain festgelegt werden Hierzu befindet sich auf der oberen rechten Seite eine Liste die bereits mit Standardwerten gef llt wurde und vom Spielleiter angepasst werden kann Die L nge der Supply Chain sowie die Bezeichnung der Supply Chain Stufen sind variabel Im oberen linken Bereich befinden sich Steuerelemente zum Einstellen der Anfangswerte der Spieler zu Spielbeginn also in der ersten Runde Eingestellt werden k nnen der Lager bestand der Wareneingang und der eingehende Kundenauftrag Des Weiteren kann die Lieferdauer zwischen den Stufen der Supply Chain also der Shipping Delay auf eine be stimmte Anzahl Runden festgelegt und mit einer festen Anzahl an sich unterwegs befindli chen Einheiten gef llt werden Im mittleren Bereich kann zun chst links die Spieldauer auf eine bestimmte Anzahl Run den festgelegt werden Sollte sich w hrend des Spielverlaufs herausstellen dass diese ma Das Beergame als Softwarevariante 60 ximale Rundenzahl in der zur Verf gung stehenden Zeit nicht absolviert werden kann so kann die maximale Rundenzahl auch w hrend des Spiels angepasst werden ber die Auswahlbox Fr
102. ntiert werden daher geben die ein In Java org w3c dom und org w3c dom xpath In Flash XMLNode XML sowie mx xpath XpathAPI 40 Vormals Macromedia Das Beergame als Softwarevariante 35 fachere Handhabung der Animationsfunktionen sowie die nat rlich vom Entwickler sub jektiv eingesch tzt ansprechende optische Anmutung der Flash basierten Benutzerober fl chen den Ausschlag 5 2 2 Datenaustausch und persistente Datenhaltung Datenaustausch zwischen Client und Server Im vorherigen Abschnitt wurde dargelegt dass Flash zahlreiche Methoden zur Verarbei tung von XML Daten anbietet Diese sind vor allem ein spezielles Objekt zum Senden und Empfangen von XML Daten ber das Netzwerk sowie die bereits erw hnte Implementie rung der XPath Schnittstelle zur Datenextraktion aus XML Damit bietet Flash die M g lichkeit Daten die in Form von XML von einem Server empfangen wurden ohne weitere Transformationen im Programm zu nutzen Ein weiterer Vorteil von XML ist die M glichkeit die gew hlte Datenstruktur in einer Definitionsdatei DTD oder einem XML Schema festzulegen Ein Server kann empfan gene XML Daten ber bereits existierende Validierungsmethoden mit der Definition ab gleichen und eine gezielte Fehlerbehandlung durchf hren falls eine Differenz vorliegen sollte Im Frontend kann zudem das sog Data Binding genutzt werden Da die Struktur der empfangenen Daten im Voraus feststeht k nnen Variablen oder Texte
103. obe bersicht die f r alle Spiele die aktuelle Situation anzeigt zum anderen eine Ansicht in der detaillierte Informationen eines einzelnen Spiels abgerufen werden k nnen W hrend der Spielleiter in der gr beren Ansicht einen berblick ber den Ge samtfortschritt der Veranstaltung erh lt soll in der Detailansicht der vollst ndige Spielver lauf sichtbar sein ber eine zus tzliche Ausgabe der Daten in Diagrammform kann der Spielleiter die Auspr gung des Bullwhip Effekts in jedem Spiel berpr fen W hrend des Spielbetriebs kann es die Situation erfordern einige der vor dem Spiel ge setzten Einstellungen anpassen zu m ssen So kann es z B passieren dass die gew hlte maximale Rundenzahl nicht in der zur Verf gung stehenden Zeit durchzuf hren ist Hier muss dem Spielleiter die M glichkeit gegeben werden die maximale Rundenzahl bei lau fendem Spiel anpassen zu k nnen hnliche Probleme k nnen auch die Endkundennach frage betreffen Stellt sich w hrend des Spiels heraus dass der gew hlte Nachfrageverlauf nur zu einem unzureichenden Bullwhip Effekt f hrt so sollte der Spielleiter die Nachfrage der kommenden Runden anpassen k nnen W hrend Kommunikation zwischen den Spielern zumeist nicht erw nscht ist steht den noch der Spielleiter in st ndigem Kontakt zu den Spielern Zum einen kann er den Spielern theoretische Hintergr nde zum Thema vermitteln zum anderen kann sich die Kommunika tion auch um die Durchf hru
104. omaufw rts in der Lieferkette zu immer gr eren Ausschl gen in den Bestellmengen Dieses Ph nomen ist allgemein als Bullwhip Effekt in einigen Wirtschaftszweigen auch als Whiplash oder Whipsaw Effekt bekannt Als Konsequenz dieser Koordinationsprobleme ergeben sich unter anderem erh hte Lagerbest nde ineffi ziente Bedarfsplanung und schlechte Kapazit tsauslastung die wiederum zu h heren Kos ten und schlechtem Service f hren k nnen Erstmals beschrieben wurde dieses Ph nomen durch FORRESTER 1961 der in einem S mulationsmodell den Zusammenhang zwischen Bestellungen und Lagerbest nden in mehreren Fallstudien erforschte Als Ursache f r das Aufschaukeln der Nachfragevariabi lit t nannte er industriedynamische Prozesse und im Zeitablauf unkonstantes Verhalten industrieller Organisationen und er wies erstmals auf die Wichtigkeit der ganzheitlichen Betrachtung des Systems hin Der Begriff Bullwhip Effekt wurde zu Beginn der 1990er Jahre des letzten Jahrhunderts gepr gt als verschiedene Firmen den Effekt erstmals in der Praxis untersuchten Der Konsumg terhersteller Procter amp Gamble P amp G beobachtete bei einer Marktuntersuchung f r sein Produkt Pampers Windeln dass die Verkaufszahlen bei den Endh ndlern im Zeitablauf erwartungsgem relativ konstant waren Bei der weiteren Betrachtung der Lieferkette stellte man fest dass die Nachfrage der Zwischenh ndler be reits st rker variierte und die eigenen Rohstoff
105. on EventNotFoundException SystemException SystemException SystemException EventNotFoundException SystemException EventNotFoundException SystemException SystemException SystemException SystemException SystemException SystemException EventNotFoundException SystemException SystemException EventNotFoundException SystemException EventNotFoundException PlayerNotFoundException ystemException EventNotFoundException GameNotFoundException PlayerNotFoundException SystemException EventNotFoundException NotEnoughPlayersExeption SystemException EventNotFoundException GameNotFoundException EventNotFoundException GameNotFoundException 80 Das Beergame als Softwarevariante 8l B b PlayerController Action Parameter R ckgabe XML M sl Exceptions messages_get eventkey long message multiple SystemException playerkey long EventNotFoundException PlayerNotFoundException messages_add eventkey long SystemException content String EventNotFoundException sender long PlayerNotFoundException receivers String game getstatus eventkey long game SystemException playerkey long EventNotFoundException PlayerNotFoundException player joinevent eventkey long player SystemException username String EventNotFoundException email String player getstatus eventkey long player SystemException playerkey long EventNotFoundException PlayerNotFoundException player placeorder eventkey long SystemException playerkey long EventNotFoundExcept
106. or Ort sein kann musste eine M glichkeit geschaffen werden auftretende Fehler hinreichend aussagekr ftig zu dokumentieren und dauerhaft zu sichern Zu diesem Zweck wurde bei der Implementie rung auf das Java Logging Framework og4J zur ckgegriffen Log4J bietet die folgenden M slichkeiten 1 Textausgaben die einer von drei Fatalit tsgraden zugeordnet wurden Debug Info oder Error k nnen in den Java Code integriert und im Bedarfsfall ausgegeben wer den Vgl Louis M ller 2005 S 415 ff Siehe logging apache org log4j docs Das Beergame als Softwarevariante 46 2 Ausgaberegeln f r jedes dieser Grade zu definieren Beispielsweise die Sicherung von Error Meldungen in Protokolldateien jedoch die Ausgabe von Debug Meldungen ausschlie lich 1n der Java Konsole 3 Die Fehlermeldungen k nnen um zus tzliche Daten erweitert werden wie etwa der exakten Zeit des Fehlerauftritts So kann das sp tere Auffinden der Fehlerursache er leichtert werden Neben der Benutzung von log4J zum Festhalten von Fehlern musste auberdem eine M g lichkeit geschaffen werden den Benutzer ber aufgetretene Programmfehler zu informie ren Auch bei der Behandlung falscher Eingaben ist eine R ckmeldung an den Benutzer unerl sslich Bei der R ckgabe einer Exception an das Frontend mussten zwei Aspekte erm glicht werden Zum einen die bersetzung der Exception in ein einheitliches XML Format zum andere
107. p lt content gt Dies ist eine Nachricht lt content gt sender cace2ld Ves ws sender lt message gt oder admin email madeTurn assignedTo Das Beergame als Softwarevariante 77 Af RoundData Definition lt ELEMENT roundData shippingIncomingDeliveries stockBeforeRound backo derBeforeRound incomingDelivery incomingOrder outgoingDeliv ery outgoingOrder stockAfterRound backorderAfterRound roundCosts gt TATTLIST roundData round CDATA REQUIRED gt lt ELEMENT shippingIncomingDeliveries delivery t gt lt ELEMENT delivery PCDATA gt lt ATTLIST delivery are CDATA REQUIRED gt lt ELEMENT stockBeforeRound PCDATA gt lt ELEMENT backorderBeforeRound PCDATA gt lt ELEMENT incomingDelivery PCDATA gt lt ELEMENT incomingOrder PCDATA gt lt ELEMENT outgoingDelivery PCDATA gt lt ELEMENT outgoingOrder PCDATA gt lt ELEMENT backorderAfterRound PCDATA gt lt ELEMENT stockAfterRound PCDATA gt lt ELEMENT roundCosts PCDATA gt Beispiel lt roundData round 2 gt lt shippingIncomingDeliveries gt delivery id 0 55 delivery delivery id 1 7 delivery lt shippingIncomingDeliveries gt lt stockBeforeRound gt 20 lt stockBeforeRound gt lt backorderBeforeRound gt 0 lt backorderBeforeRound gt lt incomingDelivery gt 5 lt incomingDelivery gt lt imcomingOrder gt 1l0 lt 1 necomingoOrder gt lt out
108. r Achse markiert Als N chstes werden die Linien in das vorbereitete Koordinatensystem eingezeichnet Jede Linie erh lt dazu eine Farbe aus einer global im Voraus gef llten Liste Wie bereits er w hnt muss f r jede Linie definiert werden auf welche Weise deren Punkte verbunden werden sollen Zur Auswahl stehen zwei M glichkeiten zum einen eine direkte Verbin dung zweier aufeinander folgender Punkte Luftlinie durch genau eine Verbindungslinie Die zweite M glichkeit ist besteht darin zuerst die horizontale Distanz mit einer Linie und danach senkrecht dazu die vertikale Distanz mit einer weiteren Linie zu berbr cken Mit letzterer Variante k nnen sprunghafte Anstiege wie sie z B bei der Endkundennachfrage auftreten visualisiert werden wohingegen die erstere Variante das klassische Linien diagramm darstellt wie es auch aus Tabellenkalkulationsprogrammen bekannt ist Abb 6 3 zeigt nochmals beide Varianten im Vergleich Das Beergame als Softwarevariante 54 lb dike Punttverbindung E diskete Punktverbindung Abb 6 3 Variationen des Liniendiagramms Zuletzt wird falls gew nscht die Legende an die gew nschte Position gezeichnet Links neben der Linienbezeichnung wird ein in der jeweiligen Farbe der Linie gef lltes Quadrat angezeigt Jedes dieser Quadrate hat die Funktion einer Checkbox Bei einem Klick auf eines der Quadrate wird das Diagramm neu gezeichnet jedoch ohne die zuvor markierten Linien Das
109. r Verlauf des Bullwhip Effekts kann ber die Endkundennachfrage gesteuert werden Im vorherigen Kapitel wurde jedoch deutlich dass der Effekt selbst bei nahezu konstantem Verlauf der Endkundennachfrage entstehen kann Daher wird beim Beergame zumeist ein Nachfrageverlauf gew hlt der ber das gesamte Spiel konstant ist abgesehen von einem sprunghaften Anstieg in einer fr hen Phase des Spiels Dieser Sprung soll als Ausl ser des Bullwhip Effekts dienen 2 3 Regeln und Ablauf des klassischen Brettspiels Dreh und Angelpunkt des Spiels st das Spielbrett Abb 3 1 Das Spielbrett stellt die zu simulierende Supply Chain stilisiert dar In der unteren H lfte des Bretts wird der Materi alfluss zwischen den Stufen der Supply Chain von rechts nach links 1n der Oberen der Informationsfluss von links nach rechts dargestellt Seitens des Materials gibt es f r jede Stufe ein Feld das den aktuellen Lagerbestand anzeigt Zwischen den Lagerfeldern befin den sich jeweils zwei Felder Shipping Delay G ter die sich in einem der Shipping Delay Das Beergame als Softwarevariante 6 Felder befinden wurden bereits von der vorgelagerten Stufe versendet und befinden sich auf dem Weg zum Empf nger Die Brauerei ben tigt zur Herstellung des Gutes eine ge wisse Zeit Auf den Feldern Production Delay werden Produkte abgelegt die sich noch in der Produktion befinden Seitens des Informationsflusses befinden sich in der oberen H lf te des Spielbretts Felde
110. r zur Verwaltung der Bestellungen Jede Stufe der Supply Chain besitzt ein Feld auf dem alle unbearbeiteten eingegangenen Bestellungen abgelegt werden und eines auf dem sich die eigene Bestellung neuer G ter befindet Der Einzelh ndler bekommt seine Auftr ge nicht von einem Mitspieler sondern direkt vom Endkunden Die Endkundennachfrage befindet sich auf dem Feld Customer Orders Vor Beginn des Spiels wird zun chst das Spielbrett in die Ausgangsstellung gebracht Die Ausgangsstellung ist eine ausgeglichene Supply Chain also eine Situation in der alle ein gehenden Bestellungen erf llt werden k nnen und die Lagerbest nde nur um den Wert der ausgehenden Lieferungen aufgef llt werden Dazu werden auf jedes Lagerfeld 12 Spiel steine gelegt sowie 4 auf das jeweils linke Shipping Delay Feld Ein Spielstein repr sentiert einen Kasten Bier Auch s mtliche Bestellungsfelder werden mit einem Wert von 4 initia lisiert indem die Bestellmenge auf einem Zettel notiert und dieser verdeckt auf das jewei lige Feld gelegt wird Auf dem Feld f r die Endkundennachfrage wird ein Zettelstapel platziert in dem f r jede Runde ein Zettel mit der jeweiligen Nachfrage existiert Auch die Endkundennachfrage startet bei einem Wert von 4 Einheiten Orders sold Raw to Customers Materials Customer Orders Incoming Orders Incoming Orders Incoming Production Orders Paced Orders Haced Orders Paced Orders Requests died Retailer Wholesaler
111. ren Sprachen Zu jeder Sprache wird ein Sprachk rzel angegeben ber welchen die einzelnen Sprachdateien identifiziert werden k nnen Beispielsweise lauten die K rzel f r Deutsch und Englisch de bzw en Die deutschen Sprachdateien werden dann unter den Namen texts player de xml bzw texts admin de xml gesucht F r weitere bersetzungen sind die jeweiligen K rzel in die Dateinamen einzusetzen Zudem wird f r jede Sprache ein Verweis auf eine Grafik angegeben welche in der Benut zeroberfl che ausgezeigt wird und als Schaltfl che zur Auswahl dieser Sprache dient F r gew hnlich handelt es sich dabei Icons entsprechender Landesflaggen Bei der Initialisie rung des Frontends wird die Datei languages xml ausgelesen und die Auswahlschaltfl chen f r die zur Verf gung stehenden Sprachen angezeigt 6 2 4 Diagramme Zur grafischen Visualisierung des Verlaufs der Endkundenachfrage sowie bei der Spielbe obachtung werden Liniendiagramme angezeigt Zu deren Umsetzung k nnen die Zeichen funktionen von Flash genutzt werden Die Methoden zum Zeichnen der Diagramme sind in einem Movieclip enthalten der frei auf der Benutzeroberfl che positioniert werden kann Bevor das Diagramm gezeichnet werden kann m ssen in diesem Movieclip essenzielle Werte gesetzt worden sein Diese sind e die Abmessungen des Diagramms e ein mehrdimensionales Array die Koordinaten der zu zeichnenden Linien enth lt 9 Gesucht wird ausschlie
112. rgame als Softwarevariante 18 3 2 Technische Anforderungen Damit bei der Nutzung der Software keinerlei Nutzeneinbu en gegen ber dem Brettspiel zu verzeichnen sind sind folgende zus tzliche Anforderungen zu ber cksichtigen welche nicht zum direkten Funktionsumfang der Software zu z hlen sind sondern vielmehr auf den Einsatz der Informat onstechnik zur ckzuf hren s nd e Der Aufwand zur technischen Vorbereitung einer Beergame Veranstaltung sollte unter allen Umst nden minimiert werden Bestenfalls sind auf den Computern der Spieler keinerlei Installationen n tig Auf dem Computer des Spielleiters sollte nach einer einmaligen Vorkonfiguration die Software dauerhaft nutzbar sein e Durch den Einsatz der Software sollten keine laufenden Lizenzkosten entstehen d h es sollten nur solche externe Komponenten verwendet werden die sowohl f r private als auch f r kommerzielle Zwecke kostenlos nutzbar sind e Die Benutzerschnittstelle der Software sollte derart angelegt sein dass s mtliche darin enthaltenen Textelemente in ihrer Sprache w hlbar sind Die Auswahl der Sprache ob liegt dem Benutzer Die M glichkeit des sp teren Hinzuf gens weiterer Sprachen sollte vorgesehen werden e Beim Einsatz von Informationstechnik ist das Auftreten von Fehlern nie auszuschlie ben M gliche Fehlerquellen sind neben der Software selbst z B das Betriebssystem oder die Netzwerkverbindung Damit durch einen Fehler nicht ein ganzes Spi
113. richtenaustausch mit Mitspielern muss da gegen explizit vom Spielleiter erlaubt werden Grunds tzlich sind die Benutzeroberfl chen zum Senden und Empfangen von Nachrichten sowohl beim Spielleiter als auch bei den Spielern gleich aufgebaut weshalb hier auf die Erl uterungen in Kapitel 8 1 6 verwiesen sei Das Fenster zum Senden von Nachrichten kann im Falle der Spieler ber eine zus tzliche Schaltfl che in der Posteingangsmaske er reicht werden Das Beergame als Softwarevariante 71 9 Fazit nach der Entwicklung Die ersten Tests mit der fertigen Software konnten als durchaus viel versprechend bewertet werden Es zeigte sich dass innerhalb k rzester Zeit eine Beergame Veranstaltung gestar tet und durchgef hrt werden konnte Dabei spielte die Anzahl der Spieler eine wie erhofft geringe Rolle Nachdem den Spielern zu Beginn einige einleitende Worte zum Thema Bullwhip Effekt und dem Ziel des Beergame mit auf den Weg gegeben wurden waren den Meisten die Funktionsweise der Software und der Ablauf des Spiels schnell klar Wie eine nachtr gliche Befragung ergab war den Spielern dazu vor allem die Animationsansicht eine grobe Hilfe da die Animation die durch den Wegfall von Spielbrett und Spielsteinen fehlenden haptischen und visuellen Elemente des Spiels ad quat kompensieren konnte Die technischen Vorbereitungen zu Beginn einer Veranstaltung nahmen bei den durchge f hrten Tests meist nur geringe Zeit in Anspruch Es wurden zwei Sz
114. setzung des Frontends er l utert und w rden hier in hnlicher Weise genutzt Zuvor ging es darum serverseitig HTML Code zusammenzustellen und an den Browser zu senden Nun kommen die Anfra Siehe Apache POI Project poi apache org Das Beergame als Softwarevariante 39 gen aus den Flash Filmen und erwarten XML als R ckgabe Die Verwendung von Servlets erleichtert zudem die Anwendung des Model View Controller MVC Konzepts Bei MVC geht es darum zwischen dem Frontend und der Programmlogik eine weitere Ebene einzu f gen An diese werden alle Aufrufe des Frontends gerichtet und nur aus dieser Ebene werden Aufrufe der Programmlogik vorgenommen Diese Ebene wird in diesem Muster Controller genannt und ist zwischen Frontend View und Programmlogik Model an geordnet Der Controller bernimmt die Annahme sowie die Validierung der Anfragen Nur g ltige Anfragen werden an die Programmlogik weitergeleitet so bleiben die laufen den Spiele stets in einem konsistenten Zustand Mittels Servlets kann MVC sehr einfach umgesetzt werden Wird f r s mtliche Server Aufrufe nur ein Servlet genutzt so laufen alle Anfragen in einer Methode des Servlets zusammen Die Aufrufe k nnen daraufhin durch ihre Parameter unterschieden und berpr ft werden Der genaue Ablauf einer sol chen Anfrage wird in Kapitel 6 1 2 n her erl utert Um Java und im Speziellen Servlets als Grundlage f r einen Webserver zu benutzen ist eine Server Software notwend
115. st f r die gesamte Supply Chain gleich aufgebaut Es hat quadratische Form und beinhaltet wiederum f nf quadratische Spielfelder jeweils eins in jeder Ecke sowie eines in der Mitte Auf den Feldern in den oberen Ecken werden Bestellungen abge legt rechts eingehende Bestellungen Posteingang links die eigenen Bestellungen des Spielers Postausgang Analog bilden die unteren Felder die Materialwirtschaft ab links Wareneingang rechts Warenausgang Das mittlere Feld 1st f r offene Bestellungen sowie den Lagerbestand vorgesehen Wie beim klassischen Brettspiel gibt es auch hier Felder f r den Shipping Delay Diese befinden sich auf einem separaten Spielbrett und Tisch Verz gerung Verz gerung Tisch Distributor Tisch Gro h ndler Tisch Einzelh ndler Kunde Abb 2 3 Alternative Variante des Brettspiels Vor Beginn des Spiels werden die Felder Lager Shipping Delay Wareneingang und Post eingang analog zum klassischen Brettspiel derart bef llt das sich das Spiel in einem aus geglichenen Startzustand befindet Eine Spielrunde wird nun nach folgendem Ablauf durchgef hrt der sich von dem der klassischen Variante etwas unterscheidet l Angekommene Waren vom Wareneingang ins Lager berf hren 2 Bestellung vom Feld Posteingang entgegennehmen zu evtl bereits vorhandenen offenen Bestellungen addieren und in die Mitte legen 3 Den kleineren Wert aus Lagerbestand und offenen Bestellungen auf einem Zettel notie ren und
116. t Abb 8 4 Bildausschnitt der Spiel bersichtsmaske Diese Seite stellt f r den Spielleiter w hrend des Spiels eine wichtige Informationsquelle dar Hier k nnen der Spielverlauf verfolgt die Werte verschiedener Spiele miteinander verglichen und bei Bedarf per Knopfdruck n chste Runden freigegeben werden Des Wei teren kann ber die Schaltfl che Spieldetails anzeigen oder auch per Doppelklick auf eine Tabellenzeile in eine Detailansicht gewechselt werden in der rundengenaue Daten des jeweiligen Spiels in tabellarischer und grafischer Form angezeigt werden Nicht vergessen werden darf dass der Spielleiter jederzeit die M glichkeit hat ber die Navigation an oberen Bildrand zu den zuvor beschriebenen Seiten Konfiguration ndern und Spieler zuordnen zur ckzuspringen um neu hinzugekommenen Spielern ein Spiel einzurichten oder um w hrend des Spielbetriebs die Spiell nge oder die Endkundennach frage anzupassen 8 1 5 Detailansicht eines Spiels W hrend in der zuvor beschriebenen Spiel bersicht nur Informationen ber den aktuellen Stand der Spiele angezeigt wurden kann in der Detailansicht der genaue Verlauf eines Spiels nachvollzogen werden siehe Abb 8 5 Die Tabelle auf der linken Seite enth lt hnliche Spalten wie die Spiel bersichtstabelle d h wiederum eine Auswahl aus den Rundendaten der Spieler Jede Zeile enth lt die Auspr gungen dieser Werte in einer be stimmten Runde Der Spielfortschrit
117. t Spieler geben ihre Bestellungen ab L Lagerbestand B Bestellung K Kosten im Chart anzeigen E Brauerei m Distributar m GroBhandler L Einzelh ndler Abb 8 5 Bildschirm zur detaillierten Beobachtung eines Spiels Die Tabelle in der rechten oberen Ecke zeigt Informationen ber die Spieler dieses Spiels an deren Name die zugewiesene Rolle sowie ein Indikator ob der Spieler in der aktuellen Runde schon seine Bestellung abgegeben hat An unteren Bildrand befindet sich ein Liniendiagramm In diesem Diagramm kann sich der Spielleiter die Entwicklung eines Wertes im Rundenverlauf grafisch ansehen Zur Verf gung stehen die Werte Lagerbestand Lieferr ckstand Bestellung und Gesamtkos ten Das Diagramm enth lt die Werte aller Spieler wobei jeder Spieler durch eine Linie anderer Farbe repr sentiert wird Per Klick auf die Quadrate neben den Legendentexten k nnen einzelne Linien ein bzw ausgeblendet werden 8 1 6 Nachrichten senden empfangen W hrend einer Veranstaltung hat der Spielleiter jederzeit die M glichkeit einem oder mehreren Spielern eine Textnachricht zukommen zu lassen Dies kann ber zwei Wege geschehen Zum einen befindet sich in der Spiel bersicht unter der Tabelle eine Schaltfl che Nachricht senden Hier ber kann eine Nachricht an alle Spieler der in der Tabelle Das Beergame als Softwarevariante 65 markierten Spiele gesendet werden Die andere M glichkeit
118. t sowie der Status der aktuellen Runde befinden sich Das Beergame als Softwarevariante 64 rechts neben der Tabelle Auch hier taucht der Benutzerfreundlichkeit halber der Knopf zum Freigeben der n chsten Runde wieder auf Spieldetails Rd Brauerei o cO oo 0 RR OQ Im L 15 B 5 K 7 5 L 15 B2 K 15 0 L 15 B 5 K 22 5 L 15 BO K 30 0 L 17 B1 K 38 5 L22 B 1 K 49 5 L 17 B 5 K 58 0 L 8 B 11 K 62 0 L 0 B 25 K 73 0 L 0 B30 K99 0 L 0 B 30 K 129 0 LO B20 K 144 0 L 0 B30 K 159 0 Distributor L 15 B 5 K 7 5 L 20 B 5 K 17 5 L 20 B 5 K 27 5 L 25 B 0 K 40 0 L 25 B0 K 52 5 L 25 B 5 K 65 0 L 15 B 10 K 72 5 L 0 B20 K 72 5 L 0 B 20 K 82 5 LO B 15 K 97 5 L 0 B 10 K 113 5 LO B 30 K 139 5 LO B 15 K 169 5 Gro h ndler L 15 B0 K 7 5 L 15 B 5 K 15 0 L 15 B0 K 22 5 L 10 B 5 K 27 5 L 10 BS K 32 5 LO B 10 K32 5 LO B 15 K 37 5 LO B 15 K 47 5 L 0 B 15 K 57 5 L 0 B 10 K 62 5 LO B 15 K 72 5 LO B 15 K 82 5 L 0 B 15 K 98 5 Einzelh ndler L 15 B 5 K 7 5 L 15 B 5 K 15 0 L 15 B 5 K 22 5 L 15 B 5 K30 0 L 10 B 10 K35 0 L 5 B 10 K 37 5 LO B 10 K 37 5 LO B 10 K 37 5 LO B 10 K 42 5 L 0 B 10 K 52 5 L 0 B 10 K 62 5 LO B 15 K 67 5 LO B 15 K 77 5 Nachricht senden Runde 16 40 Brauerei Distributor GroBh ndler Einzelh ndler bestellt nein nein nein nein N chste Runde freigeben Status Runde l uf
119. tart des Spieler Frontends erscheint die Anmeldemaske in welche der Spieler seinen Namen und seine Email Adresse eingibt sowie aus der Dropdown Liste eine Veranstaltung ausw hlt Um diese Liste mit den aktuell auf dem Server laufenden Veranstaltungen zu f llen muss vom Server eine Liste aller Veranstaltungen abgefragt werden Der dazu passende action Parameter f r den PlayerController lautet event getall die Zusammenstellung der URL und der Serveraufruf wird von der Methode getEventList bernommen Beim Anzeigen der Anmeldemaske wird nun die Methode getEventList aufgerufen und als Parameter ein Ver weis auf die Methode fillCombo bergeben Nach erfolgreichem Empfang der Liste wird automatisch fillCombo mit der XML der Veranstaltungsliste aufgerufen und innerhalb die ser Methode die Dropdown Liste gef llt Anhand dieses Beispiels kann noch ein weitere Funktionalit t des Frontends erl utert wer den die automatische Aktualisierung der Daten auf dem Bildschirm ohne weiteres Zutun des Benutzers Dazu muss um im Beispiel zu bleiben die Abfrage der Veranstaltungsliste sowie das F llen des Dropdowns in regelm igen Abst nden wiederholt werden Ist das Intervall hinreichend kurz kann durchaus von einer Aktualisierung in angen herter Echt Das Beergame als Softwarevariante 49 zeit gesprochen werden Hierbei muss nat rlich ein Kompromiss zwischen der Aktualit t der Daten und der Belastung des Servers gefunden werden F r gew hn
120. ten aufzubereiten und den Benutzern im Browser darzustellen Auch die Eingaben der Benutzer k nnen ber HTML mit Verweisen und Formularen reali s ert werden Leider kann jedoch die f r das Beergame geforderte Aktualisierung des Bild schirms n angen herter Echtzeit nur unzureichend umgesetzt werden Wie bereits erl u tert wird bei jeder Anfrage an den Server die HTML Seite neu aufgebaut und an den Browser geschickt Zur Umsetzung der Echtzeitaktualisierung m sste diese Anfrage im Abstand weniger Sekunden kontinuierlich wiederholt werden Als Konsequenz w re ein st ndiges Neuladen der kompletten Seite auf dem Bildschirm zu sehen was offensichtlich erstens durch die unvorteilhafte optische Anmutung sowie zweitens durch ein st ndiges Verwerfen der vom Benutzer get tigten Eingaben nicht akzeptabel ist Vol Bergsten 2002 S 25 f Vg Bergsten 2002 S 6 Das Beergame als Softwarevariante 28 5 2 1 2 Rich Internet Applications Die L sung des Problems des vollst ndigen Neuladens von Webseiten ist als eines der wichtigsten Errungenschaften des Konzepts der Rich Internet Applications RIA abgek rzt anzusehen Der Begriff Rich Internet Application geht auf das Jahr 2002 zur ck und stammt urs pr nglich aus einem Whitepaper der Firma Macromedia ber die Ver ffentlichung des neuesten Flash Players Der Begriff stellt eine Verbindung aus den Bezeichnungen Rich Client und Internet Application dar Ein Ric
121. tion eines Datenbankma nagementsystems DBMS erfordern sollte von dieser Methode Abstand genommen wer den Des Weiteren ist absehbar dass die anfallende Datenmenge und die Anzahl der Tran saktionen w hrend des Betriebs wohl zu gering sind um den Einsatz eines DBMS zu rech tfertigen In objektorientierten Programmiersprachen wie z B Java ist es m glich Objektinstanzen auf dem Dateisystem abzulegen und zu einem sp teren Zeitpunkt als vollwertige Instanz wieder herzustellen Da dazu keinerlei Transformation der Daten notwendig ist findet somit durch das Speichern und Laden kein Informationsverlust statt Allerdings sind auch bei dieser Methode zwei Nachteile zu nennen Erstens sind die erstellten Dateien an die Programmiersprache und das Klassenmodell gebunden Mit Java erstellte Dateien k nnen somit auch nur von Java Programmen gelesen werden und auch nur von solchen welche die Ursprungsklassen der gesicherten Dateien kennen Somit w rde eine zus tzliche Bar riere geschaffen was den Zugriff externer Programme auf Daten des Beergame betrifft Es empfiehlt sich daher auch bei der dauerhaften Datensicherung auf ein universelles Da tenformat zur ckzugreifen Da XML ein solches ist und bereits f r den Datenaustausch als vorteilhaft erachtet wurde bietet sich an dieses Format auch zur Datensicherung zu ver wenden 5 InJava durch die Implementierung des Interface java io Serializable sowie der Verwendung eines java 1o O
122. ulierung von E Business Strategien Nr 18 Riemer K Totz C Der Onlinemarketingmix Ma nahmen zur Umsetzung von Internet strategien Nr 19 Riemer K Web Design Konzeptionelle Gestaltung von Internetanwendungen Nr 20 Das Beergame als Softwarevariante 83 Riemer K M ller Lankenau C Web Evaluation Einf hrung in das Internet Qualit tsmanagement Nr 21 M ller Lankenau C Kipp A Steenpab J Kallan S Web Evaluation Erhebung und Klassifikation von Evaluationsmethoden Nr 22 M ller Lankenau C Terwey J Web Assessment Toolkit Systemdokumentation Nr 23 M ller Lankenau C Terwey J Web Assessment Toolkit Benutzerhandbuch Nr 24 M ller Lankenau C Rensmann B Schellhammer S Web Assessment Toolkit Ent wicklerleitfaden Nr 25 Gauer S S Evantschitzky H Ahlert D Kolhatkar A A Marketing innovative Service Solutions with Inter organizational Service Networks Opportunities and Threats Nr 26 Holznagel B Rosengarten V Der Zugang zu Premium Inhalten insbesondere f r Mul timedia Anbieter Nr 27 Zimmerlich A David D Veddern M bersicht B2B Marktpl tze im Internet Bran chenspezifische B2B Marktpl tze empirische Erhebung Nr 28 Becker E Akzeptanz von Internetwahlen und Volksabstimmungen Ergebnisse der Um frage zum Wahl O Mat in Schleswig Holstein Nr 29 Totz C Potenziale und Herausforderungen der Markenf hrung im Kontext inter
123. ung von HTML zusammen mit clientseitigem JavaScript zur Einbindung dynamischer Inhalte auch bekannt als AJAX Webseiten oder 3 die Verwendung von clientseitigen Plugins welche im Browser ablaufen und ihre Da ten von Servern beziehen k nnen wie z B Java Applets oder Adobe Flash Filme 5 2 1 1 Serverseitiges Skript und Servlets Dynamische Webseiten funktionieren nach folgendem Prinzip Der Benutzer stellt ber einen Link oder die Eingabe einer Adresse eine Anfrage an den Webserver Der Server wertet diese Anfrage aus und stellt die angeforderten Daten zusammen Diese Daten wer den ins HTML Format konvertiert und zusammen mit weiteren HTML Bausteinen zu ei ner Webseite zusammengef gt Dem Benutzer bleibt die Dynamik der Seite verborgen denn letztlich kommt 1m Browser nur das fertige HTML Dokument an so wie es auch bei statischen Seiten der Fall ist Eine M glichkeit zur Umsetzung solcher dynamischer Seiten ist die Verwendung von ser verseitig ausgef hrten Scriptsprachen Zu diesen z hlen etwa die g ngigen Sprachen PHP und JSP Java Server Pages Bei diesen bildet ein HTML Dokument die Grundlage in das Das Beergame als Softwarevariante 27 Skriptelemente integriert werden k nnen Dazu geh ren typische Skriptelemente wie Schleifen und Verzweigungen aber auch Funktionen zur Anbindung von Datenbanken und XML Dokumenten In JSP k nnen prinzipiell alle existierenden Javabibliotheken angesp rochen werden daher sind tend
124. utzeroberfl che aktualisieren Methoden dieser Art hei en im Frontend des Beergame oft fillTable fillCombo oder updateGUI Die bergebenen XML Daten liegen in Form eines Objekts vom Typ XML vor Dieser Datentyp wurde zuvor bereits zum Empfang der Daten benutzt Um nun auf die Inhalte dieses XML Objekts zugreifen zu k nnen bietet Flash im Wesentlichen zwei M oglichkei ten an 1 Die Navigation durch die Elementhierarchie des XML Dokuments mittels des Docu ment Object Models DOM 2 Die direkte Extraktion der gew nschten Elemente ber die XPath Schnittstelle ii Vgl Macromedia 2005 a S 96 gt Vgl Klettke Meyer 2003 S 46 ff Das Beergame als Softwarevariante 50 Mit beiden Verfahren ist der Zugriff auf s mtliche Informationen m glich die in einem XML Dokument enthalten sind Der wesentliche Unterschied zwischen beiden Ans tzen liegt darin dass es sich bei DOM um eine standardisierte Datenstruktur f r XML Dokumente handelt bei der ber festgelegte Methoden auf Elemente und Attribute des Dokuments zugegriffen werden kann Demgegen ber ist XPath abfragebasiert d h die Datenextraktion erfolgt ber Abfrage Strings die einer gewissen Syntax gen gen m ssen Dass bei der vorliegenden Umsetzung auf XPath zur ckgegriffen wurde ist hauts chlich dessen komfortablerer Handhabung zuzuschreiben F r die meisten Abfragen ist mit XPath nur genau ein Methodenaufruf notwendig wohingegen DOM die manuelle Nav
125. v ery outgoingOrder stockAfterRound backorderAfterRound roundCosts Number Number Number Number Number Number Number Number Number Floating initial ncomingOrder initiallneomingDeliv ery supply ChainLev els custmerDemandChanges costsPerUnitOnStock cosisPerUnitMotDeliv ered maxRoundsPerGame adv ance ToNextRound3Sty le customerDemand Visible shippingDelay Visible messaging Visible Number Number ListeString List Number Number Number Floating Number Floating Number Number Boolean Booelan Boolean name String event Event tithe String email String players List lt Player gt description Number game Game currentRound Number date Number madeTurn Boolean gameState Number admin Admin rounds List lt RoundData gt games List Game gt messages List lt Message gt preferences Ev entPref erences startGame pendingPlayers List Play er gt placeOrder Number adv ancePlay ers ToNextRound undoOrder hasEnoughPlay ers Boolean finishCurrentRoundData allPlay ersMadeTurn Boolean initNextRoundDataf sendMessagelMessage sender Play er Admin name String rev eiv ers List lt Play en Admin email String messages List lt Message gt content String date Number sendMessagel Abb 4 1 Klassendiagramm vor der Implementierungsphase Das Beergame als Softwarevariante 24 5 Softwarearchit
126. va GameException java SystemException java E Player java c RoundData java j E EventPreferences java c EventNotFoundException java y xMLobject java j beergame controller E GameAlreadyStartedException java c GameNotFoundException java um AdminController java E MoveAlreadyMadeException java C PlayerController java j beergame utils E XMLUtils java j C BufferedRandomAccessFile java v NotEnoughPlayersException java C PlayerNotAssignedException java E PlayerNotFoundException java c FileUtils java c RoundNotFinishedException java ve StringUtils java beergame messaging beergame export 9 Message java j vm ExcelExport java v AdminMessage java C Klasse abstrakte Klasse Ti Interface Abb 6 1 Paketstruktur der Java Klassen des Backend Das Beergame als Softwarevariante 42 6 1 1 XML Objekte Wie bereits erl utert wird zum Datenaustausch zwischen Frontend und Backend sowie zur dauerhaften Datenhaltung das XML Format verwendet Dies hat zur Folge dass eine M g lichkeit geschaffen werden musste Instanzen verschiedener Klassen des Backends in XML umwandeln zu k nnen Dies betrifft alle Klassen der Pakete beergame model und berga me messaging Um bestehende Konfigurationen oder Veranstaltungen von der Festplatte laden zu k nnen ist es zudem notwendig aus XML Dateien neue Objektinstanzen initiali sieren zu k nnen Um diese Fun
127. vent eventKey title description date eventFolder prefer ences pendingPlayers games admin lt ELEMENT eventKey PCDATA gt lt ELEMENT title PCDATA gt lt ELEMENT description PCDATA gt lt ELEMENT date PCDATA gt lt ELEMENT eventFolder PCDATA gt lt ELEMENT date PCDATA gt lt ELEMENT pendingPlayers player gt lt ELEMENT games game gt Beispiel sevent gt lt eventKey gt 12345 lt eventKey gt lt date gt 12345 lt date gt lt title gt Titel der Veranstaltung lt title gt desorrpulorn Beschreibung der Veranstaltung description lt eventFolder gt Speicherort auf der Festplatte lt eventFolder gt lt preferences gt preferences lt preferences gt lt pendingPlayers gt players lt pendingPlayers gt lt games gt games lt games gt lt admin gt baa mof ss lt admin gt lt event gt Das Beergame als Softwarevariante A b Admin Definition lt ELEMENT admin name email lt ELEMENT name PCDATA gt lt ELEMENT email PCDATA gt Beispiel lt admin gt lt name gt Name des Spielleiters lt name gt lt email gt Dessen Email Adresse lt email gt lt admin gt A c Game Definition lt ELEMENT game gameKey gameState currentRound SC levels lt ELEMENT gameKey PCDATA gt lt ELEMENT gameState PCDATA gt lt ELEMENT currentRound PCDATA gt lt ELEMENT hasEnoughPlayers
128. vor sich liegen auf dem Waren und Bestellungen nach einem genau be stimmten Ablauf bewegt werden m ssen So bekommt der Spieler schnell ein Gef hl f r das Spiel In der vorliegenden Software gibt es daher eine weitere Spielansicht welche die Herkunft bzw die Entstehung der in der Tabellenansicht zu sehenden Daten grafisch dar stellt siehe Abb 8 9 Das Beergame als Softwarevariante 68 Ne Animation Lieferung annehmen Bestellung annehmen ausliefern Meine PONE Bestellung Offene Bestellungen nochmal berspringen Abb 8 9 Animationsansicht In der Animationsansicht sieht der Spieler haupts chlich einen Ausschnitt der Supply Chain sich selbst sowie die beiden umliegenden Stufen An welcher Position in der Supp ly Chain sich dieser Ausschnitt genau befindet wird in einer stilisierten Abbildung der gesamten Supply Chain am oberen Bildrand angezeigt Jede Stufe der Supply Chain wird durch eine Art Spielblatt symbolisiert das in zwei Be reiche unterteilt ist Im unteren Bereich befinden sich die aktuellen Best nde f r offene Bestellungen und Lager sowie die laufenden Gesamtkosten Im oberen Bereich sieht man die einzelnen Phasen einer Spielrunde Diese werden in jeder Runde wie eine Checkliste abgearbeitet Die Spielblatter der umliegenden Stufen sind nur angedeutet es sind keine Daten sichtbar Sie werden jedoch angezeigt um die Material und Informationsfl sse w hrend der Runde darstellen
129. w hlen eine neue Veranstaltung anzulegen oder eine Veranstaltung von der Festplatte zu laden Letztere Option kann beispielsweise dazu genutzt werden sich die grafischen Auswertungen vergangener Veranstaltungen erneut anzusehen Zudem k n nen ber diese Funktion Veranstaltungen die wegen Zeitmangels nicht beendet werden konnten wieder aufgegriffen und beendet werden Veranstaltung ausw hlen Laufende Veranstaltungen Beschreibung Datum Seminar eCommerce Wise 07 08 Anlegen Ausw hlen Abb 8 1 bersicht der laufenden Veranstaltungen Das Beergame als Softwarevariante 59 8 1 2 Veranstaltung anlegen Spielkonfiguration festlegen Zum Anlegen einer Veranstaltung m ssen zun chst einige beschreibende Informationen bez glich der Veranstaltung und des Spielleiters angegeben werden Danach wird der Spielleiter auf die Konfigurationsseite siehe Abb 8 2 weitergeleitet um vor Beginn der Spiele die Spielkonfiguration festzulegen Spielkonfiguration Anfangsbest nde Shipping Delay Kosten Supply Chain Stufen Lagerbestand Lange Runden 2 5 pro Einheit auf Lager Level 1 Brauerei Wareneingang 5 Menge 5 2 pro Einheit Fehlmenge 1 Level 2 Distributor Backorder 0 Torhen 1 Level 3 Gro h ndler ackorder sche Level 4 Einzelh ndler Kundenauftr ge 5 bergang zur n chsten Runde Restriktionen f r die Spieler n chste Runde Sede nicht sichtbar Y Eee auch Spieler Y max Rundenzahl re Fazit a
130. werden welche Daten wegen unzureichendem Supply Chain Management nicht zur Verf gung stehen beispielsweise die in den n chsten Runden an kommenden Liefermengen Dadurch soll dem Spieler ein Hinweis auf eine m gliche Ursa che des Bull whip Effekts gegeben werden Der Spieler nimmt die ihm angezeigten Daten als Grundlage f r seine Bestellentscheidung in der jeweiligen Runde Die Bestellung neuer Ware ist 1m Grunde die einzige verbliebene Spielaktion des Spielers Da irrtiimliche Fehleingaben nie ausgeschlossen werden k nnen sollte es dem Spieler m glich sein seine Bestellung zu noch korrigieren solange die n ch ste Runde noch nicht freigegeben wurde Durch den bereits beim Spielleiter eingef hrten Kommunikationsdienst kann der Spieler Nachrichten vom Spielleiter empfangen Da unzureichende Kommunikation innerhalb der Supply Chain einer der Gr nde f r den Bullwhip Effekt ist sollte es den Spielern zudem erlaubt werden k nnen den Kommunikationsdienst auch untereinander zu nutzen Auf diese Weise k nnen die Spieler den Bullwhip Effekt reduzieren indem sie diesen Kom munikationskanal zur Angleichung des Informationsstandes ber die gesamte Supply Chain hinweg nutzen Veranstaltung betreten Spielverlauf beobachten Zug durchf hren Spieler Bestellung abgeben Rundendaten Tabelle ansehen Bestellung korrigieren Nachrichten senden amp empfangen Abb 3 3 Anwendungsfalldiagramm des Spielers Das Bee
131. x mJ ZEIG Benut jaben Server r a N oapiellogik Dat oer Inti OK O Client Spieler y Gz Anzeige Benutzereingaben Dc Client Mibi Abb 5 1 Client Server Architektur der Beergame Software i Vgl Tanenbaum Stehen 2003 S 61 ff Das Beergame als Softwarevariante 26 3 2 Auswahl der Techniken zur Umsetzung der Architektur Bei der Entscheidung auf welche Techniken die Umsetzung des Beergame fu en soll er scheint es am sinnvollsten zun chst der Frage nachzugehen auf welche Weise das Fron tend umgesetzt werden soll Unter dem Begriff Frontend ist hier der Teil der Software gemeint der auf den Clients ausgef hrt wird also haupts chlich die Umsetzung der Benut zerschnittstelle Erst danach 1st es m glich ad quate Aussagen dar ber zu treffen in wel cher Form der Server Daten und Anfragen entgegennimmt und beantwortet 5 2 1 Technologien f r das Frontend Wie bereits beschrieben wurde soll das Beergame als Webanwendung implementiert wer den d h es soll den Benutzern ber einen Browser zug nglich sein Daten und Programm logik liegen auf einem Webserver Zur Umsetzung eines solchen Ansatzes kommen grunds tzlich drei Techniken in Frage die im Folgenden n her untersucht und evaluiert werden sollen Diese sind 1 die Verwendung dynamisch generierter Webseiten ber serverseitige Scriptsprachen wie PHP oder Java Server Pages JSP oder ber Java Servlets 2 die Verwend
132. zus tzlichen Konstruktor welcher die Attribute eines beste henden Objekts aus einem XML Dokument f llen kann Im Falle der Klasse EventPrefe rences wird dieser Konstruktor von zwei statischen Factory Methoden verwendet mit deren Hilfe eine neue Instanz der Klasse entweder aus einer Datei auf der Festplatte oder aus einer XML formatierten Zeichenkette erzeugt werden kann Diese Methoden werden Vgl Gamma Helm Johnson Vlissides 2004 S 62 ff Das Beergame als Softwarevariante 43 dazu genutzt gespeicherte Konfigurationen zu laden oder zu speichern oder die aktuelle Konfiguration durch eine vom Frontend kommende XML Zeichenkette anzupassen 6 1 2 Anfragen an die Controller Anfragen des Frontends an das Backend laufen stets nach demselben Muster ab Der Client ruft eine URL auf die auf eines der beiden Controller Servlets zeigt In dieser URL m s sen alle f r den Aufruf ben tigten Parameter enthalten sein Sind die Parameter vollst n dig und vom Backend als g ltige Werte best tigt worden wird das Ergebnis generiert und in Form von XML an das Frontend zur ckgesendet Zentraler Parameter eines jeden Controller Aufrufs ist der Parameter action Durch den Wert von action kann der Controller die Art der Anfrage identifizieren Ein h ufig benutz ter Wert f r action ist beispielsweise player join event wodurch eine Anfrage zum Hinzuf gen eines Spielers zu einer Veranstaltung gekennzeichnet wird In Abh ngig
Download Pdf Manuals
Related Search
Related Contents
形番変更等のお知らせ (P.610~)(PDF:707.3KB) Beafon S31 1.77" 70g Black InLine MTRJ/ST 1m mGuard Device Manager - Innominate Security Technologies AG Page 1 Page 2 Il `1 ¿POOLE & SFRS Bienvenue à Freedom piscines Ce qu`il faut retenir hvrhd1000u Garmin 700 Series GPS Receiver User Manual SnapShotHD User Manual Copyright © All rights reserved.
Failed to retrieve file