Home
- HSR - Institutional Repository
Contents
1. Platform for Deployment of Web Services Fig 2 The architecture of Coins run s multaneously This and some other conditions force administrators to distribute GAPs and web services across computers in enterprise environments Accessibility technologies cannot control distributed appli cations If an integrated system e g a composite web service and the GAPs it controls are located on different computers then the service cannot use any accessibility technology to control these GAPs A solution to this problem is to use proxies to control GAPs by sending commands to them from integrated systems A Proxy is a generic program that receives requests from integrated systems extracts data from GAPs in response to these requests and sends the extracted data back to these integrated systems Proxies use the accessibility layer to control and manipulate GAPs The Dispatcher is the central point for coordinating proxies in the distributed environment It is a daemon program that collects information from proxies and makes decisions to which proxy to forward requests from composite web services that represent integrated systems For example if copies of the same GAP are installed on different computers the Dispatcher assign the instances of this GAP to different requesting clients thereby enabling their execution in parallel Since web services and GAPs may be moved around the enterprise computers for different reasons e g to i
2. Abbildung 61 Sequenzdiagramm MEF Prototyp Import Annotations MEF bietet sehr viele erweiterte Funktionen an F r das Projekt EistCockpit wurden jedoch nur die Basisfunktionen eingesetzt Die nachfolgenden Definitionen geben einen kurzen berblick f r eine vollst ndige Dokumentation wird auf die msdn Seite http msdn microsoft com en us library dd460648 aspx von Microsoft verwiesen Import Die Import Annotation enth lt einen optionalen Vertragsnamen sowie ein Interface welches von genau einem Plugin erf llt werden muss Import Services Logging LoggingService typeof ILoggingService public ILoggingService logger get set ImportMany Der einzige Unterschied zu der Many Annotation liegt darin dass ImportMany mehrere Plugins die das Interface implementieren einbinden kann ImportMany ExtensionPoints Host Views typeof ResourceDictionary private IEnumerable lt ResourceDictionary gt Views get set Technischer Bericht Prototypen EistCockpit 184 256 8 4 3 3 8 4 3 4 Export Die Export Annotation markiert eine Klasse als f r das MEF exportierbar Wichtig ist dabei dass das angegebene Interface vollst ndig implementiert wird Export ExtensionPoints Host Styles typeof ResourceDictionary partial class ButtonStyle ResourceDictionary Eingesetzte Technologien amp Frameworks Nachfolgend werden kurz alle Technologien aufgelistet die f r die Entwicklung des MEF Plugin Prototyps n
3. 4 4 EistCockpit Plugins MessagesPlugin Loader Debug 4 EistCockpit Plugins MessagesPlugin Loader gt OperationPluginlnitializer 4 EistCockpit Plugins MessagesPlugin Model Debug 4 EistCockpit Plugins MessagesPlugin Model gt Message gt MessagesCollection d ei EistCockpit Plugins MessagesPlugin Test Debug a Test gt MessagesCollectionTest b MessagesViewModelTest gt MessageTest gt MessageViewModelTest 4 EistCockpit Plugins MessagesPlugin View Debug 4 EistCockpit Plugins MessagesPlugin View gt DateToStringConverter gt MessagesPluginButton gt PriorityToColorConverter 4 EistCockpit Plugins MessagesPlugin ViewModel Debug 4 EistCockpit Plugins MessagesPlugin ViewModel gt i MessageEventArgs gt MessageFilterParameter gt MessagesViewModel gt MessageViewModel Abbildung 80 Metrics MessagesPlugin Technischer Bericht Realisierung amp Test EistCockpit 90 87 93 58 100 34 LO 100 79 D 52 Mainta 2 alal8ls 74 TA 78 71 79 80 80 94 82 68 77 6 960 47 Depth Cyclo 10 10 10 72 72 50 ER 47 47 11 8 11 17 15 15 4 A T 3 47 66 58 1 3 KA je Pw me OF h bi Fi Class C Depth Eee bh bh bh 1 bh 1 bh 1 Eech 1 eh jl m or O O 22 83 Class C Lines of C gg 1 577 L
4. EXTENDED MANAGEMENT SUMMARY c cccccesssseeeseeeeeseeesees 1 9 Dokumenteninformation 1 nenne nnnnnennnnnennnnnnnnnnnnnennenn 110 AUSGaNGS EE 1 11 Vorgehen amp Technologien 1 12 ele 13 Eer TECHNISCHER BERICHT 22222222 0 24222202020000000000annnnnnnonnnnnnn anne 1 14 Dokumentenmmiormaton LIS ENEON anne wen MON ee en 2 1 Dokumentenmiormmafion 22 AJENO irn 23 POSIION rUNG WE DOUEKTMANAGEMENT 3 1 DOKUMENTONINGOLIMATION 0 ccs secccseccccseeccssesceseeecsseeeessneessaueessaesessneeess 32 AJOON eine ee 3 3 Womgehensmocdell Eeer 34a el E gege el e e ME 3 5 Pisikomanadermenf ssseccccscvecccsanseccnscseccnsecesecsuuseessausesenssesensaeees 9360 ee E ten Te 4 1 Dokumenteninformation 0 1 cccccceccccseeeccseeeccsesessueecsseeeesseeessansessaeeeees 42 SACHEN EE 4 3 Iotermpreiaionssesseion 4 4 Behaviour Pattern 0 cecccccccccssceccsescccanscccaescsseeecsseseesseessseeessaeeessneeens AO ee ANFORDERUNGEN REENEN EEN 5 1 Dokumentenumtormaion 0 ssecccseccccseecccsecccceeeceseeeeeseeessueessaesessneeess Die AONO eisen E MODS r essen ren reader EEE 5 4 Funktionale Antorderungen 5 5 Nichtfunktionale Antorderungen nennen 560 Design KOREA rer ee 5 7 Zug nglichkeit Accessibility nee nennnennnnnennnenneenne We 6 1 Dokumentenintiormaton 62 le 21 212 EE Verzeichnisse EistCockpit 6 3 Domainmodell E pal OV SESS SR NENNE et TE EINE NE ae re ee
5. Ei HOCHSCHULE F R TECHNIK Abteilung Informatik Fr hjahrssemester 2012 Seite RAPPERSWIL u Aufgabenstellung Studienarbeit EistCockpit f r Dave Sch ttl Diego Steiner amp Remo Waltensp l 1 3 Aufgabenstellung Studienarbeit Abteilung I FS 2012 Diego Steiner Dave Sch ttl Remo Waltensp l EistCockpit 1 Auftraggeber und Betreuer Praxispartner und informeller Auftraggeber dieser Studienarbeit ist das Richtstrahl Bataillon 20 der Schweizer Armee Ansprechpartner Auftraggeber Major Hans Andrea Veraguth hans andrea veraguth qruenenfelder ch 081 650 30 65 Hauptmann Michael Kl tzli michael kloetzli li 077 422 03 41 Betreuer HSR Hauptbetreuung und fachliche Unterst tzung Thomas Corbat Assistent IFS tcorbat hsr ch Benotung und Verantwortung Prof Dr Markus Stolze mstolze hsr ch 2 Ausgangslage Innerhalb des Stabs eines Richtstrahlbataillons Ristl Bat in der Schweizer Armee existiert ein Teilbereich die Einsatzstelle Telematik Eist Tm Deren Verantwortung ist die Planung und das Management des integrierten militarischen Fernmeldesystem Netzes IMFS welches aus Richstrahverbindungen Ristl Vrb Richstrahlknoten Ristl Kn und diversen Funkgeraten besteht Ein wichtiger Punkt dieser Arbeit besteht darin einen genauen Uberblick Uber den Status und die Disponibilitat der einzelnen Standorte und Ger te zu verf gen Die Eist Tm ist zudem die Anlaufstelle f r die Ristl Stao bez glich aller Belange dies beinhalte
6. Projekt Retrospektive EistCockpit 239 256 11 5 Methoden amp Technologien F r EistCockpit wurde aufgrund der speziellen zeitlichen Situation ein Hybridvorgehensmodell aus RUP und Scrum verwendet Das bedeutet dass w hrend den ersten 4 Wochen f r die Aufnahme der Anforderungen und die Vorstudie mehrheitlich ein RUP hnliches Vorgehen benutzt wurde w hrend in der Entwicklungszeit mehr nach Scrum gearbeitet wurde In den 4 Wochen der Anforderungsaufnahme konnten zwar alle gesteckten Ziele erreicht werden das dadurch entstandene Loch im Zeitbudget hatte aber noch bis zum Ende des Projektes Auswirkungen Der sp te Startschuss f r die Entwicklung der Prototypen sorgte f r kaskadierende Verz gerungen und schlussendlich daf r dass nicht alle Wunschfeatures umgesetzt werden konnten Die Scrum Methodik wurde leider nicht konsequent durchgezogen so wurden beispielsweise im Sprint 2 die vorgegebene Laufzeit deutlich berschritten und der Sprint wurde zu sp t abgeschlossen Als ussert hilfreich haben sich die regelm ssigen Meetings mit dem Betreuer erwiesen Nicht nur bekamen wir ein Feedback ob wir auf dem richtigen Weg sind sondern waren es auch Kontrollpunkte f r uns die eine gewisse Konsistenz ins Schaffen brachte Mit dem net Framework und WPF bekamen wir solide und m chtige Tools in die Hand mit denen sich unsere Vorstellungen der Applikation relativ leicht umsetzen liessen Innerhalb des Projektteam zeigte sich ei
7. http en wikipedia org wiki Windows Presentation Foundation 04 06 2012 url1 3 Model View ViewModel http en wikipedia org wiki MVVM 04 06 2012 Technischer Bericht Entwurf EistCockpit 158 256 7 2 4 7 2 4 1 7 2 4 2 7 2 4 3 Server Client System Aufgrund der vorhandenen Hardware der Verf gbarkeit eines Netzwerks sowie der inh renten Natur des Systems liegt eine Server Client Architektur basierend auf NET auf der Hand W hrend serverseitig in jedem Fall ein Service als Schnittstelle zum Einsatz kommt tritt clientseitig die Frage auf welche Form der Client haben soll Nachfolgend werden Varianten f r die Client Software n her beleuchtet Varianten Variante 1 Webapplikation In der heutigen Zeit von Web 2 0 dr ngt sich der Gedanke an eine Webapplikation schnell in den Vordergrund sobald die Begriffe Service und Netzwerk fallen Unter dem Begriff Webapplikation wird hierbei eine Applikation verstanden mit welcher innerhalb eines Browsers z B Internet Explorer interagiert wird Vorteile e Minimaler bis nicht existenter Installationsaufwand da nur ein Web Browser zur Verf gung stehen muss e Kein Aufwand durch Software Updates Nachteile e User Interface schwierig umzusetzen e Probleme mit unterschiedlichen Browser Versionen und Implementationen e Erfahrungsgem ss sehr aufw ndig in der Entwicklung e Einschr nkungen welche aus der Laufzeitumgebung Web Browser
8. A 7 1 A 7 2 A 7 3 A 7 3 1 Sitzungsprotokoll 28 03 2012 Traktanden Anwesend dsteiner rwaltens tcorbat Abwesend dsch ttl Krank mstolze e Abnahme der Sitzungsprotokolle und der Phasen e R ckblick WK gesteckte Ziele erreichte Ziele Auswertung Risikomanagement Konsequenzen e Ausblick Planung Aufgaben e Alle Dokumente berarbeiten reviewen e Abgabedatum bei allen Dokumenten anpassen e Abkl ren wie hoch Verf gbarkeit von Teplas Server ist e Backlog erstellen e berlegen wie auf einen Stromausfall reagiert wird Protokoll Abnahme der Sitzungsprotokolle und der Phasen e Sitzungsprotokoll 22 02 2012 wurde von Thomas Corbat abgenommen e Sitzungsprotokoll 24 02 2012 wurde von Thomas Corbat mit folgenden Einw nden abgenommen Geheimhaltungsdokument wird von Thomas Corbat erstellt explizit erw hnen Zitate aus der HSR Libraries IEEE oder wissenschaftlichen Berichts k nnen nicht durch Milit re Dokumente ersetzt werden Fallback unbedingt implementieren im Falle eines Stromausfalles Ev St ndlich Meldungen ausdrucken und zust ndigen Personen in F cher legen Termine der Anwesenheit von Thomas Corbat nicht ganz korrekt Kapitel Architektur beschreibt ein System mit einem Webinterface dies wurde jedoch durch ein Fat System ersetzt e Sitzungsprotokoll 05 03 2012 14 00 Uhr wurde von Thomas Corbat abgenommen Pr ziser spezifizieren wer alles die Aufgabenstellung reviewed A 7 3 2
9. A 7 3 3 A 7 3 4 A 7 3 5 A 7 3 6 A 7 3 7 e Sitzungsprotokoll 05 03 2012 19 00 Uhr mit folgenden Einw nden abgenommen e Verf gbarkeit von Teplas System muss noch abgekl rt werden e 3 Frage noch nicht bekannt wie Meldungen auf nicht digitalem Weg erfasst werden e Einzelner Punkt anpassen wer ist Entscheidungsorgan Funktion amp Person sowie nachfolgende zust ndige Person Abnahme der Projektphasen e Inception wurde durch Thomas abgenommen e Weitere Phasen enthalten noch Arbeitspakete vorwiegend Reviews und werden deshalb beim n chsten Meeting abgenommen R ckblick WK e Diego Steiner amp Remo Waltenspul berichten kurz ber die Eindr cke und positiven Erkenntnisse w hrend dem WK Risikomanagement e Risikomanagement Anmerkungen von Thomas e Weitere Risiken Produktspezifisch Bsp Produkt wird nach Fertigstellung abgelehnt Papierprototyp e Papierprototyp wird an Thomas auf Benutzbarkeit erprobt Zeitplanung e Antrag zur Verl ngerung der Arbeitszeit f r Studienarbeit um 1 Woche genehmigt e Impliziert neuen Abgabgetermin Freitag 08 06 2012 e Frage von Thomas ob geplante Arbeitszeit wirklich realisierbar ist e Diego Steiner amp Remo Waltenspul best tigen dass Zeit f r die Durchf hrung der Arbeit reichen sollte e Anmerkung von Thomas Diagramm mit akkumulierter Zeit fur Ubersichtlichere Darstellung Allgemeine Anmerkungen e Namen der Interviewpartner anonymisieren e Diverse Rec
10. IE COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE in agents using different GAPs that provide different services for different steps of the purchasing process Consider a typical e procurement scenario Employees order items using an electronic shopping cart service of the web based application OfficeDepot OD Department managers review selected items in the shopping cart approve and order them and enter the ordered items into Quicken Expensable 98 OE a third party closed and monolithic Windows GAP that the company uses internally to keep track of purchases The OD service sends a notification to a company accoun tant who uses a closed and monolithic GAP called ProVenture Invoices and Estimates PIE to create invoices for ordered goods When the ordered goods are received from OD a receiving agent compares them with the entries in QE The accountant can view but cannot modify records in QE and likewise no other agent but the accountant can insert and modify data in PIE If the received goods correspond to the records in QE the receiving agent marks the entries for the received goods in QE and notifies the accountant After comparing the invoices in PIE with the marked entries in QE and determining that they match the accountant authorizes payments In this example each procurement agent uses different GAPs to accomplish different goals Someti
11. Meldungerfassen Priorit t Zeit Typ Medium 07 06 2012 16 00 TelematicStandbyTime_SHF FachOf Hans Meier FachOf Hans Meier Zus tzliche Informationen die hier Normal 07 06 2012 16 00 FachOf Hans Meier FachOf Hans Meier Zus tzliche Informationen die hier Normal 07 06 2012 15 59 FachOf Hans Meier FachOf Hans Meier Zus tzliche Informationen die hier Medium Normal Normal Normal Medium Normal Normal Medium Medium 04 06 201219 00 None e eee HOST PLUGINS G Service Manager App Config FachOf Hans Meier WK2012 U CALANDA Abbildung 90 Externes Design Meldung Ubersicht Technischer Bericht Realisierung amp Test EistCockpit 218 256 9 8 2 2 Meldungen erfassen Die Abbildung 91 Externes Design Meldung erfassen gibt einen berblick ber das Formular zum Erfassen von neuen Meldungen Dabei wurde auf eine gute Benutzerf hrung mittels unterst tzenden Beschriftungen geachtet Begr ssung Wer ruft an Was F r wen Priorit t Eist Tm lt Rang gt lt Name gt FachOt Hans Meer R ckruf Information O Berrm erreicht _ Berrm verlassen D Stao erreicht D Stao verlassen TBZ SHF TEZ IMFS O Antrag O Bestellung Sofort sehr dringend FachOt Hans Meier Normal Mittel Hoch Abbildung 91 Externes Design Meldung erfassen EistCockpit 219 256 Technischer Bericht Realisierung amp Test 9 8 3 Service Manager Mitt
12. We present a birds eye view of how our approach works by giving examples of composing GAPs with each other and web services to create integrated systems First we describe how to compose a simple integrated EPS from QE PIE and a web service and then we show how to extend the functionality of QE with a web service A Composing GAPs with Each Other And a Web Service We have built a tool called COmposer of INtegrated Systems Coins that enables users to create intergrated systems by composing GAPs with each other and web services Coins out puts integrated systems as composite web services that control and manipulate GAPs and other web services thereby making these components interoperate with one another Specifically we show how to compose an integrated system that extracts information about ordered items from the service OD and creates and enters invoices into PIE using this information After these invoices are paid the information about them is extracted from PIE and entered as expenses into QE The front end of Coins is shown in Figure 1 Using Coins a user enters the name of the composite web service and the name of the exported method of this service the defaults are Servicel and operationl The user also specifies that the service controls GAPs QE and PIE and the web service OD by providing information about them e their locations and Web Service Definition Language WSDL data This information is shown in the leftmost
13. 11 2 3 1 Allgemein Um die Benutzbarkeit und die geforderten nicht funktionalen Anforderungen zu verifizieren sind Usability Tests notwendig Zurzeit existiert noch keine Bedienungsanleitung diese muss f r ein produktives System zwingend erstellt werden F r eine Installation der Anwendung auf dem Server wird eine Installationsanleitung ben tigt die klar Schritt f r Schritt definiert wie das Vorgehen ist um die Applikation zu installieren Eine benutzergef hrte automatische Installation installer w re praktisch und w rde die Einrichtung massgeblich erleichtern Die Benutzeroberfl che sollte einheitlicher gestaltet werden F r das Aufrufen von bestimmten Funktionen Commands sollen Shortkeys verwendet werden Falls es zu einem Stromunterbruch kommt oder das System nicht mehr erreichbar ist m ssen die erfassten Meldungen regelm ssig ausgedruckt werden 11 2 3 2 Plugin Meldungen Die Kombobox bei der Auswahl des Anrufers Empf ngers m sste die M glichkeit bieten nach Personen zu suchen Personen Selektor Es sollte m glich sein mehrere Empf nger beim Erfassen von Meldungen anzugeben Beim Erfassen von Meldungen sollte mittels einer Validierung gepr ft werden dass eine Meldung nur versendet werden kann wenn s mtliche notwendigen Felder ausgef llt wurden Es soll m glich sein eine Meldungshistory anzuzeigen und daraus zu erkennen wer zuletzt diesen Meldungstyp entgegengenommen hat Die Erreichbarkeit von Zellenche
14. 4 3 5 2 Auflistung Die Eintrittswahrscheinlichkeit von den geschilderten Problemen gehen aus den durchgef hrten Interviews sowie aus Sch tzungen hervor Technischer Bericht Vorstudie liegen Tagesablauf EistCockpit Eintritts Schadens wahrschei Problem Standort Zeitpunkt ausmass _ n lichkeit Meldung W hrend normalem S unvollst ndig DEER Tagesablauf ech SE Meldung geht Tage W hrend normalem mittel 5o verloren Tagesablauf Unklar wer Triage Wahrend normalem niedri 10 Meldungsempf nger gt Tagesablauf J bertragungszeit W hrend normalem _ S Meldungen zu lange nr Tagesablauf Ss me Meldungen z enthalten fehlerhafte Triage Welle mittel 5 Tagesablauf Informationen Meldungen bleiben Tags W hrend normalem nedig 10 Tabelle 34 Auflistung von Problemen 72 256 4 3 5 3 Ursachen Wirkung Ursache Wirkung Hektische Situation fehlendes Nachfragen Mitarbeiter zu wenig informiert Mitarbeiter arbeiten nachl ssig und sind unachtsam Meldung geht verloren Fehlende Mitarbeiterinformation Einf hrung keine Unklar wer oder fehlende Unterlagen Meldungsempf nger Weiterleitung an falsche Person Mitarbeiter schlecht bertragungszeit von informiert Kompetenzen nicht klar geregelt Meldungen zu lange Meldungen enthalten fehlerhafte Informationen Meldungen werden an Personen statt Positionen weitergereicht Erreichbarkeit von Personen in ZSA nicht bekannt Unsorgf ltige Arbeitsweise von Mitarbeitern be
15. El Configuration D HF Pollinverval E Navigation Properties E AdminRoles a PluginAccesses Properties mD an PluginName RequireAdmin ConfigurationID E Navigation Properties El Configuration 128 256 6 5 6 1 AdminRole Diese Tabelle legt fest welche im ActiveDirectory des Teplas vorhandenen Rollen im EistCockpit Administrationszugriff haben Administratoren k nnen Dienstleistungen erstellen Property Typ Beschreibung ID Int Eindeutige Identifikation ADGroup String Der Name der Gruppe im ActiveDirectory die innerhalb des EistCockpits als Administratoren gehandhabt werden soll ConfigurationID Int Die ID der der AdminRole zugeordneten Konfiguration Configuration Relation Die der AdminRole zugeordnete Konfiguration Tabelle 51 Beschreibung Entit t AdminRole 6 5 6 2 Configuration Diese Tabelle beinhaltet alle f r das EistCockpit notwendigen Konfigurationsfelder Property Typ Beschreibung ID Int Eindeutige Identifikation Pollintervall Int Sagt aus wie oft die Clientapplikation die Datenbank abfragen soll AdminRoles Relation Die AdminRoles die der Konfiguration zugeordnet sind PluginAccesses Relation Die Plugins die der Konfiguration zugeordnet sind Tabelle 52 Beschreibung Entitat Configuration 6 5 6 3 PluginAccess Diese Tabelle beinhaltet Alle ladbaren Plugins f r eine Konfiguration und gibt an ob ein Benutzer ber Administratorenrechte verf gen muss um das Plugin zu laden Property Typ Be
16. Folgende Arbeiten sind wahrend dem Sprint 1 vorgesehen e Subtasks aus den im Backlog aufgelisteten Arbeitspaketen erstellen e Domainmodel im Team erarbeiten e Arbeitspakete DAL amp Host Application implementieren e Paper Prototype entwerfen und mit Thomas testen A 9 A 9 1 A 9 2 A 9 3 A 9 3 1 A 9 3 2 A 9 3 3 Sitzungsprotokoll 25 04 2012 Traktanden Anwesend dsch ttl tcorbat rwaltenspuel mstolze teilweise Abwesend dsteiner e Abnahmen e Abnahme des letzten Sitzungsprotokolls e Abnahme SP1 e Prototypen zeigen PoC e Ul Plugin Prototyp e WCF Prototyp e Ausblick Aufgaben e Burndown Chart erstellen e Besprechen ob DoD Definition of Done sinnvoll ist und in Projekt eingesetzt werden soll e Schichtenarchitektur berarbeiten e Architektur bersicht klarer illustrieren Unidirektionale Verbindung e Pr fen ob Vertragsnamen beim Pluginimport n tig sind e Dokumentieren wie Plugins eingesetzt werden Prozess Kompetenzen e berlegen wo man die Hilfe anzeigen k nnte Protokoll Abnahme der Sitzungsprotokolle Sitzungsprotokoll 04 04 2012 wurde von Thomas Corbat mit folgendem Einwand abgenommen e Im Sitzungsprotokoll muss erw hnt werden dass die Architektur auf einem Pluginsystem aufbaut und dadurch einfach erweitert werden kann Abnahme der Projektphasen Sprint 1 wurde von Thomas Corbat mit folgender Anmerkung abgenommen e Burndown Chart sollte unbedingt vorhanden sein da es
17. On optimistic methods for concurrency control ACM TODS 6 2 213 226 June 1981 OASIS Oasis web services reliable messaging wsrm tc November 2004 http www oasis open org committees tc _home php wg _abbrev wsrm H OASIS Oasis web services security wss tc February 2006 http www oasis open org committees tc _home php wg _abbrev wss OASIS Oasis web services transaction ws tx tc July 2007 http www oasis open org committees tc _home php wg _abbrev ws tx OASIS Web services coordination ws coordination July 2007 http docs oasis open org ws tx wscoor 2006 06 L Richardson and S Ruby RESTful Web Services O Reilly amp Associates Sebastopol California May 2007 G T Santos L C Lung and Montez FTWeb A fault tolerant infrastructure for web services In EDOC pages 95 105 IEEE Computer Society 2005 T Strandenzes and R Karlsen Transaction compensation in web services Norsk Informatikkonferanse NIK november 2002 W3C Naming and addressing Uris urls http www w3 org Addressing URL uri spec html access date March 2008 W3C Simple object access protocol soap 1 1 May 2000 http www w3 org TR 2000 NOTE SOAP 20000508 W3C Web services description language wsdl 1 1 Note March 2001 http www w3 org TR 2001 NOTE wsd1 20010315 10 11 EistCockpit Anhang A Sitzungsprotokolle Risikomanagement David Sch ttl Remo Waltensp l amp Dieg
18. Technischer Bericht Domain Analyse EistCockpit e Krank e Handlungsunf hig e Gefangen e Vermisst 123 256 Rang Eine Person der Schweizer Armee kann einen der folgenden R nge innehaben e Rekrut e Soldat e Gefreiter e Obergefreiter e Korporal e Wachtmeister e Fourier e Feldweibel e Stabsadjutant e Hauptadjundant e Chefadjundant 6 5 4 2 Unit e Leutnant e Oberleutnant e Hauptmann e Major e Oberstleutnant e Oberst e Fachof e Brigadier e Division r e Korpskommandant e General Reprasentiert eine der WK untergeordnete Einheit wie zum Beispiel eine Kompanie einen Zug oder ein Detachement Property Name ParentlD Parent 6 5 4 3 Function Relation Beschreibung Eindeutige Identifikation Name der Einheit Die ID der der Einheit bergeordneten Einheit Die der Einheit bergeordnete Einheit Tabelle 48 Beschreibung Entit t Unit Repr sentiert eine Funktion die eine Person annehmen kann Property Name Description Persons LocationsPersons String Text Relation Relation Beschreibung Eindeutige Identifikation Bezeichung der Funktion Bsp Stao Chef Beschreibung der Funktion Personen die diese Funktion innehaben Personen welche diese Funktion f r einen Standort haben Tabelle 49 Beschreibung Entit t Function url3 Dienstgrade der Schweizer Armee http de wikipedia org w index php title Dienstgrade_der Schweizer Armee amp old
19. accessibility technology For each node of the tree 1 e a GUI element Coins emits code for classes are linked to these GUI elements and these classes contain methods for setting and getting values and performing actions on these elements Coins also emits the code that handles exceptions that may be thrown when web services control GAPs VII PROTOTYPE IMPLEMENTATION We implemented Coins in Windows using C and Java The prototype implementation is based on the MSAA toolkit version 2 0 and an MS XML parser as all communications between the components of Coins are in XML format Our prototype implementation included the front end the Dis patcher the composite service code generator the Proxy and the hook We wrote the front end and the generator in Java and the rest of components of Coins in C We used sockets as an IEE Ss COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE interprocess communication mechanism For our prototype we used Apache Axis 2 which is a platform for development and deployment of web services http ws apache org axis2 For a full scale deployment of web services using the Web Services Deployment Descriptor under Axis we refer the reader to the Axis documentation 2 Our implementation contains close to 12 800 lines of code VIII EXPERIMENTAL EVALUATION In this section we describe the methodology and provide the result
20. much performance penalty GAP based integrated incur versus pure programmatic ones In addition we show that using batch data exchanges results in significant performance gain 1 Performance Stress Test We designed the performance test to measure the reliability and sustainability of transaction processing throughput of our implementation of the EPS system The test script simulated users who individually order 100 items from the web service OD For each invoice entered in IPIE the process included extracting this invoice and creating a corresponding expense in IQE with the last step in this process being either the return to the initial screen of the GAP or the termination of the GAPs Each virtual user therefore completes 100 individual transactions during a user session The test was run at a user load for duration of 24 hours in order to minimize various effects of other applications and services running on the same computer as well as network irregularities over the extended period of time We repeated this test four times for our implementations of IQE and IPIE to collect more data The first test was run with the IQE and IPIE implemented as purely programmatic components libraries with no GUI interfaces used to transfer data The second test was run against IQE and IPIE whose screens were reused by returning to original screens not restarting the GAPs The third test was run against the IQE and IPIE which were restarted after each tr
21. nderung Li tr O OO 07 06 2012 Erste Version des Dokuments 07 06 2012 Kleinere Fehler behoben 08 06 2012 Technischer Bericht Developer Manual EistCockpit 224 256 10 2 10 2 1 10 2 1 1 10 2 1 2 10 2 2 bersicht Das vorliegende Dokument beschreibt wichtige Informationen und gibt Hinweise welche f r die Weiterentwicklung von EistCockpit bekannt sein m ssen Es wird davon ausgegangen dass der Leser ein Softwareentwickler ist welcher mit den verwendeten Technologien NET WCF WPF vertraut ist Komponenten Nachfolgend werden die Komponenten von EistCockpit beschrieben dabei wird zwischen Server Komponenten und Client Komponenten unterschieden Serverseitig Serverseitig besteht EistCockpit aus folgenden Komponenten e Datenbank SQLite Datenbank f r die Persistenz e DAL Data Access Layer e Webservice WCF basierter REST JSON Service Clientseitig Clientseitig besteht EistCockpit aus folgenden Komponenten e Host Applikation Die Host Applikation stellt das Ul Grundger st zur Verf gung welches von den eingebundenen Plugins genutzt wird um Inhalte darzustellen e Plugins Verschiedene Plugins welche von der Host Applikation eingebunden werden und spezifische Funktionalit t Features einschliesslich Ul implementieren Es wird zwischen den Typen Host Plugin Operation Plugin und Standalone Plugin unterschieden Voraussetzungen Nachfolgend werden die Systemv
22. nnen uns daher sehr gl cklich sch tzen dass unser Aufkl Sdt Waltensp l einem Aufkl rer fehlt das n tige Fachwissen im Bereich Richtstrahl auf der Wache des Stabs KP eingeteilt wurde und so einen geregelten Tagesablauf hatte Dadurch konnte er ausreichend Zeit f r die Semesterarbeit aufbringen um die Ausf lle von Diego und mir auszugleichen Nach dem WK begann dann die wirkliche Arbeit am Projekt SCRUM hatte ich bisher noch nie direkt in einem Projekt angewandt weshalb ich mich zuerst etwas an diese Arbeitsweise gew hnen musste Ebenfalls neu f r mich war die Projektumgebung Redmine da ich f r meine anderen Projekte TRAC verwende Mir wurde bald klar dass der vorgenommene Feature Umfang nicht im Rahmen der SA vollst ndig umgesetzt werden kann Dies war aber auch so angedacht Im Rahmen der SA werden die n tigen Vorarbeiten wie Benutzerbefragung Requirements Definition etc behandelt und ein erster Teil des Systems implementiert Im Rahmen der BA wird das System verbessert erweitert und zu einem kriegstauglichen System komplettiert Nachdem die Prototypen erstellt waren und wir wussten wie wir bei der Implementation vorgehen wollen ging die Entwicklung relativ z gig voran In den seltenen F llen in denen Probleme auftauchten konnten diese jeweils innert kurzer Zeit gel st werden Die vier fehlenden Wochen verursacht durch den WK waren w hrend der ganzen Projektarbeit in Form von notorischem Zeitma
23. r Alles durchnummeriert bis zum Anhang Verbindung mit Ulnt2 Die Verbindung mit Ulnt2 wurde sich anbieten und ist von MS bewilligt Die wirkt sich aber nicht auf die SA Note aus Tipps e Fokus auf Code Testing amp Documentation statt auf zBsp perfekte Anforderungsanalysen e Kellersche Tipps beachten e Zeit gut einteilen nicht herausschieben Blockzeiten definieren Documentation Driven Refactoring Kriterienliste genau beachten lieber fters Nachfragen Unterst tzer sind da um bei Entscheidungen zwischen Alternativen zu helfen nicht um L sungsvorschl ge zu generieren Traktandenliste und Probleme f r das folgende Meeting vorbereiten A 2 A 2 1 A 2 2 A 2 3 A 2 4 A 2 4 1 A 2 4 2 Sitzungsprotokoll 22 02 2012 Traktanden Anwesend mstolze tcorbat dschoett rwaltens dsteiner Abwesend e bereink nfte treffen e Zeitplan erstellen R ckblick e WKeinsatzrwaltenstteerbat Erledigt rwaltens kann teilnehmen e Aufgabenstellung mstolze e Infrastruktur Serveraufsetzen fdsteiner Erledigt Infomail folgt e Richtlinien definieren alle Subjekt dieses Meetings e Projektplan grob definieren alle Subjekt dieses Meetings Aufgaben e MS und Sprints in Redmine erfassen dsteiner e Loginmails versenden e Kleine Architektur bersicht erstellen dschoett Siehe Architecture e Updates mstolze via tcorbat und Redmine Protokoll bereink nfte e Namensk rzel ist HSR Login konkret e
24. t der Code Base auswirken Ich bin zufrieden und erfreut Heute ein Jahr nachdem die Idee f r EistCockpit entstand haben wir eine erste Version des System erschaffen eine solide Grundlage bzw ein Framework welches nun im Rahmen der BA verfeinert erweitert wird und womit weitere Features f r EistCockpit implementiert werden k nnen Mein besonderer Dank gilt meinen beiden Teampartnern Diego Steiner und Remo Waltensp l ohne deren grossen Einsatz das Projekt nicht h tte umgesetzt werden k nnen Ich freue mich darauf EistCockpit im Rahmen der BA und in der darauf folgenden Zeit weiterentwickeln zu k nnen Projekt Retrospektive EistCockpit 243 256 11 6 2 Remo Waltenspul Etwa drei Monate vor dem ersten Kick Off Meeting weihte uns David Sch ttl in sein Vorhaben ein die Studienarbeit im Auftrag der Schweizer Armee durchzuf hren Anf nglich war ich noch nicht so berzeugt da die vorgeschlagene Programmiersprache NET C mir noch nicht wirklich gel ufig war Doch nach reichlicher berlegung bin ich zum Schluss gekommen dass dies zwar eine Herausforderung darstellt jedoch aufgrund des w hrend dem letzten Semester angeeigneten Wissens aus dem Modul Microsoft Technologien realistisch sein sollte Das zum Teil fehlende Knowhow bzw der routinierte Umgang versuchte ich mit einem gr sseren Arbeitseinsatz wett zu machen Deshalb resultierte ein Arbeitsaufwand der deutlich ber dem erwarteten Wert liegt W hrend der in d
25. tig waren e Plugin Framework MEF Teil des PRISM Framework e NEI C Ablauf Plugin Integration zur Laufzeit Vorbedingungen e Interface von Import Anweisung muss mit Interface von zu exportierenden Klasse bereinstimmen e Falls in der Hauptapplikation ein Plugin ber die Anweisung Import eingebunden wird d rfen nicht mehrere Plugins diesen Vertrag erf llen ansonsten f hrt dies zu einem Fehler Ablauf e Das Plugin wird in den vorgesehenen Plugin Ordner verschoben Verweis siehe Abbildung Abbildung 62 Plugin Ordner e Der FileSystemWatcher erkennt die neu hinzugef gte dll e Daraufhin ruft der FileSystemWatcher eine registrierte Callback Methode auf e Die Methode veranlasst die Klasse welche fur das Binden von Plugins zustandig ist die Klassen neu zu importieren e Sobald der Import Vorgang beendet ist werden Methoden aufgerufen um die User Controls aus den importierten Klassen in die Benutzeroberflache zu integrieren amp A LA PrototypeUL tr Plugins ka Di Search Plugins Organize Include in library Share with Burn He 7 e Name Date modified Fr Favorites ME Desktop S PrototypeUIPlugin Contracts dll 05 06 2012 15 40 Downloads A SE PrototypeUlPlugin Contracts pdb 05 06 2012 15 40 Recent Places amp PrototypeUIPlugin Host dll 05 06 2012 15 40 amp Google Drive SE PrototypeUIPlugin Host pdb 05 06 2012 15 40 PrototypeUIPlugin TBZ dll 05 06 2012 15 40 Libraries P
26. w hrend ein Viertel f r die Dokumentation aufgebracht werden musste mFeature m Documentation 350 300 250 200 150 Mannstunden 100 50 Diego Steiner Projekt Retrospektive EistCockpit m Collaboration mPM QM mBug Support Remo Waltensp l Support David Sch ttl 255 256 istCockpit David Sch ttl Remo Waltensp l amp Diego Steiner Projekt Retrospektive EistCockpit 256 256 EistCockpit Anhang A Verzeichnisse Referenzen David Sch ttl Remo Waltensp l amp Diego Steiner A 1 Glossar A 1 1 Begriffserklarung Begriff Beschreibung Die Triage ist die primare Anlaufstelle far Meldungen per Telefon Fax etc RESTful Bezeichnet ein Programmierparadigma fur Webanwendungen URL stellt genau einen Seiteninhalt als Ergebnis einer serverseitigen Aktion dar ADO NET Framework zur objektrelationen Abbildung Product Scrum Artefakt enth lt alle User Stories f r ein Projekt Backlog Design Bedingungen Vorschriften f r die Implementierung eines Systems Constraints Requirements Anforderungen Redmine Webbasiertes Projektmanagement Tool Root Cause Ursachen Analyse f r bestimmte Probleme Analysis Code Codier Standards Conventions i url16 Representational state transfer http de wikipedia org wiki RES Tful 04 06 2012 A 1 2 Abk rzungserl uterung Abk rzung Beschreibung XAML Extensible Application Markup Language ist eine Beschreibungssprache f r die
27. which in turn complements SOA Therefore ROA is only a term coined by Richardson and Ruby to make clear the difference between REST and a concrete implementation of that architectural style According to them 10 in order to identify a resource ROA uses URI Universal Resource Identifiers 13 URI is the name and the address of a resource If an information does not have a URI it is not a resource and may not be di rectly accessed on the web because the URI is which allows the access of such information providing a single address It is important that URIs have a clear correspondence with the resources they identify ROA proposes the use of HTTP fundamental methods for the most common operations to address the need for a uniform interface 10 The common operations are refer enced as CRUD create retrieve update delete The fun damental HTTP methods include HTTP GET retrieves information about a resource HTTP PUT creates a new resource when new URI is provided by the client i e the client defines the URI that will become available HTTP POST creates a new resource without providing new URI i e the service itself defines the URI that will become avail able HTTP PUT updates an existing resource and HTTP DELETE erases an existing resource 2 1 2 Transactions as Resources In ROA each HTTP request has one resource as a des tination but some services exposes operations that gener ate multiple reso
28. 1 Schlechter Ablauf Die Meldung soll s mtliche ben tigten Informationen enthalten Ist Szenario 3 Aus Meldung wird Auftrag generiert Ausgangssituation Ausl ser Schritte Technischer Bericht Vorstudie Frank hat eine Meldung einer Person zugestellt Die auf dem Meldezettel stehende Information impliziert einen neuen Auftrag Der Empf nger liest die Meldung Daraus entsteht ein Auftrag EistCockpit 82 256 wiederum an de Triage einer bestimmten Kompanie anzurufen und etwas mitzuteilen Probleme Die Distanz zwischen FGG3 und Triage f hrt zu einer Versp tung der Meldungen Ziele Der Meldungsfluss zwischen den verschiedenen Abteilungen und der Triage soll beschleunigt werden Ist Szenario 4 Nachfrage Name Ausgangssituation Frank hat soeben ein Telefon entgegengenommen wobei der Anrufer ihm bereits den Namen geschildert hat Ausl ser Anruf eines Stao Chefs an die Triage Anrufer spricht undeutlich Schritte Leider hat Frank den Namen nicht ganz verstanden deshalb weiss er nicht welchen Namen er notieren soll Aus diesem Grund fragt er nochmals in h flichem Ton nach dem Nachname K nnen Sie bitte ihren Namen nochmals wiederholen ich habe ihn leider nicht ganz verstanden vielen Dank Der Anrufer hat es eilig darum wiederholt er den Namen nur kurz Dies reicht Frank jedoch nicht da der anrufende Soldat zu wenig deutlich gesprochen hat Er fordert ihn nochmals auf seinen Familienname langsam zu b
29. 53 Feature CLO Normal Prototypen EistCockpit Alle Sprint 1 PoC 38 Documentation CLO Normal Paper Prototype erstellen Alle Sprint 1 und durchspielen 19 PM QM CLO Normal Reviews SP1 Alle Sprint 1 Tabelle 73 Tickets zu Sprint 1 Auswertung In diesem Sprint standen die Entwicklung des User Interfaces und der technischen Prototypen sowie die Einarbeitung in die Technologie im Vordergrund Weil die technische Vorgehensweise noch ein wenig unklar war gab es am zu Beginn Schwierigkeiten Projekt Retrospektive EistCockpit 249 256 11 7 1 4 Sprint 2 Dauer 5Wochen Gesch tzter Aufwand 319h Tats chlicher Aufwand 347 25h Tickets 45 Tickets Aktivit t Status Prio Name Verantwortlich Phase en EE implementieren a ee Ss ur u EE EEN er Ss EE EE EE u io a erstellen SS EREECHEN Speichern SCENE D u re een Ss SCENE D oo SC CO eee ce D a 7 EE D ENEE Guide Se a a a a r oman ie a E ee Sa u a a u u NEE EE Se er C u eae y ead weed eee ee u u u u cane Ss pace co Ace Pca waco oe 7 cies i er u or Cs wa mado hein Tabelle 74 Tickets zu Sprint 2 Projekt Retrospektive EistCockpit 250 256 99 Documentation 93 Feature 92 Feature 91 Feature 88 Feature 87 Feature 86 Feature 85 Feature 84 Feature 82 Feature 81 Feature 80 Feature 79 Feature 78 Feature 77 Feature 76 Feature 20 PM QM Auswertung Normal Normal Kognitiver Test dokumentiert Papier Prototyp auswerten UI Operat
30. ACM Beitrag hiane09 An Optimistic Technique for Transaction Control using REST Architectural Style untersucht diese Thematik und zeigt eine L sung auf wie Optimistic Concurreny Control f r einen REST JSON umgesetzt werden kann Im Rahmen der Studienarbeit wird aus Gr nden des Zeitmangels auf ein entsprechendes Transaktionsmanagement verzichtet dies ist jedoch f r die Bachelorarbeit vorgesehen Siehe auch Unterlagen zum HSR Modul Microsoft Technologien MsTe Technischer Bericht Entwurf EistCockpit 165 256 7 3 Architektur S0 90 Z LOZ O L Uols aA NISNMTI 439VNVW 397A3J35 NISNMTIF NISNMITI sSs3IIA335 ejep uo sy1oda1 pue smala gt y Dads ap no d sul njdg sul njdg SNOUeA 10 uono Iddy son dno19 wy 4513 Aq pas JdM p seq LIN uono ddy jualy gt 7 3 1 System bersicht Ssagvss3aw NIINI SIANOD ddV NIgmnN Te SNOILVIO7 IAN3I1D HOSA LIdNIO0D51513 BIIAIBSUAYIODISIF VIA SS DY BANPPNAJSEAJU ABAIVS UO P JSOH GNU 104 a2ej49 U UOWWOY suonesiddy wua Aq pas JDM p3seg L3N giga NOST IN LS3Y emm wn emm as J9vsJolsS lc aseg eyeq aus NW1 IJ9OMIA3N 3JI1IAS3S LIdNI051513 syu3uodwo 1oleuw Uu uda2ousn MALA NJAO aJ NLIJIAJLIHJNY Abbildung 52 System bersicht 166 256 EistCockpit Technischer Bericht Entwurf 7 3 1 1 7 3 1 2 7 3 1 3 7 3 1 4 7 3 1 5 Al
31. Aufnahme von Bed rfnissen einzelner Benutzer mittels Benutzerbefragungen Diese Interviews wurden als Grundlage f r den Entwurf der Personas verwendet Im folgenden Kapitel Anforderungen siehe Abschnitt 5 Anforderungen werden haupts chlich die nicht funktionalen sowie die funktionalen Anforderungen definiert Weiter werden die verwendeten Tools aufgelistet und kurz die Design Constraints f r das Projekt dokumentiert Das Kapitel Domain Analyse siehe Abschnitt 6 Domain Analyse geht auf die Prozesse ein die f r das Projekt relevant sind Anschliessend an die Abl ufe wird das Domain Model erl utert welches aus den Vorstudien hervorgeht Danach wird die Entwicklung der Benutzeroberfl che ber mehrere Testzyklen und das Redesign genau dokumentiert Das Kapitel Entwurf siehe Abschnitt 7 Entwurf widmet sich in einem ersten Teil den wichtigsten Design Entscheiden In einem weiteren Schritt wird die Architektur beschrieben Abschliessend werden in diesem Dokument die benutzten Patterns nochmals aufgef hrt und kurz vorgestellt Im Kapitel Prototyp siehe Abschnitt 8 Prototypen werden alle entwickelten Prototypen eingehend beschrieben dies umfasst die Architektur sowie gewonnene Erkenntnisse Das Kapitel Realisierung und Test siehe Abschnitt 9 Realisierung amp Test dient in erster Linie dazu mit System Unittests nachzuweisen dass die geforderten Anforderungen korrekt implementiert wurden Im letzten Abschnitt werden zudem Screens
32. Begriff z B IMFS eck ek fee E Si CG CO Ui B WK 2942 eldua TRE Strack Hi U CALANDA U CARDINAL Eick Te H Triage Suchen GISO H erg SES Water es Wen afls ier L ese b id Kee u _lorresron ze T62 IMFS Ei a een a ir er u ar u Er EN WE e pe Se Se re ee VE EE ee es EE eee SSS eT es pre ST Si a Es ea Bee PES eee EE SS Se eee et cee Bau Dee Pe er Sera pe es 2S Bee Se ee a oS Se el aaa EE DEE 2 Saas GEN E Bee B DOTA u E Abbildung 45 Paper Prototype filtered Messages Technischer Bericht Domain Analyse EistCockpit 146 256 6 6 4 6 6 4 1 Redesign Anhand der Erkenntnisse aus den durchgef hrten Papier Prototypen Tests wurde das gesamte Design nochmals berarbeitet Besonderes Augenmerk wurde auf eine einfachere Benutzbarkeit sowie einer intuitiveren Bedienung gerichtet Host Applikation Redesign Entscheide Vergr ssern der Schaltfl che zur Konfiguration von Dienstleistungen Note 1 Die Schaltfl chen waren f r einen weniger ge bten Benutzer zu klein berschrift in Kontextfenster Note 2 Gibt dem Benutzer eine bessere bersicht Hilfe aus Plugin leiste entfernt Note 3 Bei der Schaltfl che Hilfe handelt es sich nicht um ein Plugin deshalb sollte es nicht direkt in der Plugin leiste sondern spezifisch im Plugin UI Container angezeigt werden Mockup nach Redesign EistCockpit Dienstleistungen WK 2011 U HI THERE U COMBAT
33. Bericht Anforderungen EistCockpit 105 256 EistCockpit 6 Domain Analyse David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Domain Analyse EistCockpit 106 256 6 1 Dokumenteninformation Datum Vession adrung OO Autor 05 06 2012 Erste Version des Dokuments 06 06 2012 Dokumentation Datenmodel 07 06 2012 UI Design Entscheide 08 06 2012 Technischer Bericht Domain Analyse EistCockpit 107 256 6 2 Allgemein 6 2 1 Zweck des Dokumentes Dieses Dokument beschreibt das Domainmodell die Prozesse innerhalb der Einheit sowie das daraus geschlossene Datenmodell f r das EistCockpit In einem zweiten Teil wird auf das Userinterface Designentscheidungen sowie auf die Designguides eingegangen 6 2 2 Gultigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 6 2 3 Definitionen und Abk rzungen Siehe Glossar Technischer Bericht Domain Analyse EistCockpit 108 256 6 3 6 3 1 1 6 3 1 2 6 3 1 3 6 3 1 4 Domainmodell Nachfolgend ist das gesamte Domainmodell dargestellt 1 1 ra Das Einsatzgebiet fur das EistCockpit ist primar die Einsatzstelle Telematik innerhalb eines der j hrlichen Wiederholungskurse einer WK Einheit Weil die Daten nicht WK bergreifend verf gbar sein m ssen ist als Grundrahmen f r die Daten jeweils eine Dienstleistung vorgesehen Abbi
34. Breitengrad Koordinate im LV95 Format LongitudeLV95 Double Langengrad Koordinate im LV95 Format Location Relation Der Standort dem die Koordinaten zugeordnet sind Tabelle 45 Beschreibung Entit t Coordinate Technischer Bericht Domain Analyse EistCockpit 120 256 6 5 3 4 Connection Repr sentiert eine Kommunikationsverbindung zwischen zwei Standorten Property Typ Beschreibung re ee 2 an Se S 2 CECR ne SecondLocationID Int Die ID des untergeordneten Standortes SetupPhaselD Int Die ID der Phase in welcher die Verbindung hergestellt wird TeardownPhaselD Int Die ID der Phase in welcher die Verbindung abgebaut wird MasterLocation Relation Der bergeordnete Standort SlaveLocation Relation Der untergeordnete Standort SetupPhase Relation Die Phase in welcher die Verbindung hergestellt wird TeardownPhase Relation Die Phase in welcher die Verbindung abgebaut wird Tabelle 46 Beschreibung Entit t Connection Technischer Bericht Domain Analyse EistCockpit 121 256 6 5 4 Person E Navigation Properties El Locations El Persons 8 unitID SP functionID Navigation Properties El LocationResponsibilities El LocationsPersons amp Unit El ReceivedMessages El SentMessages El CreatedMessages El Function E ModifiedMessages ig function SP description Navigation Properties EI LocationsPersons El Persons Abbildung 30 Datenmodell Person Technischer Bericht Domain Analyse EistCoc
35. Mai 2012 http en wikipedia org wik DRY letzter Zugriff 08 06 2012 Wikipedia Dienstgrade der Schweizer Armee Mai 2012 http de wikipedia org w index php title Dienstgrade der Schweizer Armee amp oldid 103 606123 letzter Zugriff 08 06 2012 Microsoft Corporation Windows User Experience Interaction Guidelines September 2010 http msdn microsoft com de ch library windows desktop aa511258 aspx letzter Zugriff 08 06 2012 Wikipedia Active Directory Juni 2012 http en wikipedia org wiki Active Directory letzter Zugriff 28 05 2012 Wikipedia Java programming language Juni 2012 http en wikipedia org wiki Java programming language letzter Zugriff 29 05 2012 Wikipedia C Sharp programming language Juni 2012 http en wikipedia org wiki C Sharp programming language letzter Zugriff 29 05 2012 Wikipedia NET Framework Juni 2012 http en wikipedia org wiki NET Framework letzter Zugriff 03 06 2012 Microsoft Corporation Download Microsoft NET Framework 4 0 eigenst ndiger Installer Februar 2011 http www microsoft com de de download details aspx id 17718 letzter Zugriff 03 06 2012 Wikipedia Windows Communication Foundation Juni 2012 http en wikipedia org wiki Windows Communication Foundation letzter Zugriff 04 06 2012 Microsoft Corporation What Is Windows Communication Foundation 2012 http msdn microsoft com en us library ms731082 aspx letzter Zugriff 04 06 2012 Wikiped
36. Meldezettel Milit risches Strategisches Denken Auffassungsgabe Fachliche Kompetenz Eist Tm Effizienz der Meldungen verbessern Verlieren von Meldezetteln vermeiden Abl ufe optimieren Alle notwendigen Informationen auf Zettel Kommunikation im Team verbessern EistCockpit 88 256 4 5 2 1 Day in the Live Szenario lwo ist ein Morgenmensch deshalb hat er kein Problem bereits um 06 45 Uhr aufzustehen Nach der obligaten Dusche und dem blichen Morgenritual Gesicht waschen Gang auf Toilette etc begibt er sich zum Fr hst ck Diese St rkung ist ihm sehr wichtig deshalb isst er ausgiebig P nktlich um 07 30 Uhr betritt er den Kommandoposten und schaut sich kurz die anstehenden Arbeiten f r den aktuellen Tag an Es handelt sich um ein dicht gedr ngtes Programm da derzeit bungen durchgef hrt werden bei denen viele Personen ben tigt werden Zuerst berblickt er kurz den gegenw rtigen Arbeitsplan auf Anhieb sieht er dass einzelne Mitarbeiter unterbesch ftigt sind Aus diesem Grund teilt er zwei Personen weiteren Arbeiten zu dadurch k nnen Kapazit ten freiger umt werden die f r andere Arbeiten dringend ben tigt werden Nach diesen Anpassungen druckt er den neuen Plan aus und teilt dies den betroffenen Soldaten mit Die Soldaten nehmen es ein bisschen m rrisch zu Kenntnis da dies zu zus tzlichem Arbeitsaufwand f hrt Nichts desto trotz wird der neue Plan eingesetzt Iwo f llt zudem auf dass an einem Arbeitsplatz e
37. MessagesPlugin kann eine Meldung als Entwurf gespeichert werden Messages refreshen Im MessagesPlugin werden die neue Meldungen in der bersicht angezeigt Locations anzeigen Im LocationsPlugin wird eine bersicht der Standorte angezeigt Im LocationsPlugin wird nach auswahl eines Standortes Dieser angezeigt Im LocationsPlugin kann ein neuer Standort erfasst werden Location bearbeiten Im LocationsPlugin kann ein ausgew hlter Standort bearbeitet werden Location speichern Im LocationsPlugin kann ein bearbeiteter Standort gespeichert werden Locations refreshen Im LocationsPlugin werden neue Standorte in der bersicht angezeigt Die Applikation kann beendet werden EistCockpit Dsteiner Tabelle 62 Systemtests nach Sprint 2 201 256 Technischer Bericht Realisierung amp Test Sprint 3 04 06 2012 Webservice starten Clientplugins laden Clientplugins ausw hlen Hostplugins anzeigen Hostplugins ausw hlen Ausgew hlter Service anzeigen Operation anzeigen Operation ausw hlen Ausgew hlte Operation anzeigen Messages anzeigen MessageFilter anzeigen MessagesFilter anwenden Messages sortieren Message anzeigen Message speichern Message als Draft speichern Messages refreshen Locations anzeigen Location bearbeiten Location speichern Locations refreshen Die Applikation kann beendet werden Beschreibung Der Webservice star
38. Oberfl chengestaltung von Anwendungen A 1 3 Quellenverzeichnis gloger11 grechanik 07 heini12 hiane09 hunt07 url1 url2 url3 url4 url5 url6 url7 url8 url9 url10 url11 url12 url13 url14 url15 url16 url17 Boris Gloger Scrum Produkte zuverlassig und schnell entwickeln 1 Auflage Hanser Fachbuchverlag ISBN 978 3 446 42524 8 2011 Mark Grechanik Kevin M Conroy Composing Integrated Systems Using GUI Based Applications And Web Services IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 2007 Heini R Funktionale nicht funktionale Anforderungen http www anforderungsmanagement ch in_depth_ vertiefung funktionale_ nicht funktiona le anforderungen letzter Zugriff 08 06 2012 Luiz Alexandre Hiane da Silva Maciel Celso Massaki Hirata An Optimistic Technique for Transactions Control using REST Architectural Style ACM SAC 09 March 8 12 978 1 60558 166 8 09 03 2009 Lance Hunt C Coding Standards for NEI Document Version 1 15 Lance Hunt http www lance hunt net 2007 verf gbar unter http se inf ethz ch old teaching ss2007 251 0290 00 project CSharpCodingStandards pdf letzer Zugriff 08 06 2012 Wikipedia F hrungsunterst tzungsbrigade 41 Januar 2012 http de wikipedia org wiki F hrungsunterst tzungsbrigade 41 letzter Zugriff 08 06 2012 Wikipedia Don t repeat yourself
39. Phases Relation Die Phasen die f r diese Operation definiert sind TBZ Messages Relation Die Meldungen die w hrend dieser Operation erfasst wurden Tabelle 40 Beschreibung Entit t Operation Operationstypen Eine Operation kann verschieden Type annehmen e bung e Einsatz Technischer Bericht Domain Analyse EistCockpit 115 256 6 5 2 2 Phase Property Name Description Order OperationiD From To TeardownConnections SetupConnection Operation Achievments Technischer Bericht Domain Analyse Int Datetime Datetime Relation Relation Relation Relation EistCockpit Beschreibung Eindeutige Identit t Name der Phase Bsp ALPHA Beschreibung der Phase Numerisches Gewicht f r die Reihenfolge der Phasen Die ID der Operation der die Phase zugeordnet ist Beginn der Phase Ende der Phase Die Verbindungen die in dieser Phase abgebaut werden Die Verbindungen die in dieser Phase aufgebaut werden Die Operation der die Phase zugeordnet ist Die Errungenschaften dieser Phase Spezifischer die TBZ Tabelle 41 Beschreibung Entitat Phase 116 256 6 5 2 3 Achievment Repr sentiert eine Errungenschaft die in einer Phase von einem Standort zu einem bestimmten Zeitpunkt erreicht werden muss Property Typ Beschreibung 7 e gt EEE meer nnn Description Text Beschreibung der Errungenschaft Type Enum Typ der Errungenschaft PhaselD Int Die ID der Phase der die
40. Sprint 0 mit den User Stories einteilen die sich in der Vorstudie angesammelt hatten Projekt Retrospektive EistCockpit Sprint 0 248 256 11 7 1 3 Sprint 1 Dauer 2 Wochen Gesch tzter Aufwand 126h Tats chlicher Aufwand 116h Tickets 18 Tickets Aktivit t Status Prio Name Verantwortlich Phase 75 Feature CLO Normal Style von Buttons laden Remo Waltensp l Sprint 1 74 Feature CLO Normal Dynamisch w hrend Remo Waltensp l Sprint 1 Laufzeit Plugins laden 73 Feature CLO Normal Test Ul entwerfen Remo Waltensp l Sprint 1 72 Support CLO Normal Einarbeiten in WPF Remo Waltensp l Sprint 1 71 Feature CLO Normal UI Plugin Prototyp Remo Waltensp l Sprint 1 erstellen 70 Feature CLO Normal Models mittels Entity Diego Steiner Sprint 1 Framework umsetzen 69 Documentation CLO Normal Dokumente berarbeiten Remo Waltensp l Sprint 1 68 Feature CLO Normal DLL Plugin Prototype Remo Waltensp l Sprint 1 67 Feature CLO Normal SQLite Adapter Diego Steiner Sprint 1 implementieren 66 Feature CLO Normal WCF Prototyp bauen David Sch ttl Sprint 1 65 Documentation CLO Normal Schichtenarchitektur Remo Waltensp l Sprint 1 berarbeiten 64 Feature CLO Normal Domain Model erstellen Diego Steiner Sprint 1 63 Documentation CLO Normal Schichtenarchitektur Remo Waltensp l Sprint 1 dokumentieren 62 Collaboration CLO Normal Sitzung 02 04 2012 Remo Waltensp l Sprint 1 61 Support CLO Normal Projekt aufsetzen Remo Waltensp l Sprint 1
41. Sprint werden dann die gewonnenen Erkenntnisse ins Backlog bertragen und priorisiert sodass man sich w hrend den drei darauffolgenden Sprints auf die Entwicklung konzentrieren kann Elemente Rollen Product Owner Wird wegen des Platzmangels von David Sch ttl besetzt der Aufgrund seiner Fachkenntnisse und Erfahrung am besten geeignet ist Scrum Master bernimmt Diego Steiner weil auch hier keine bessere L sung m glich ist Tabelle 17 Projektrollen Technischer Bericht Projektmanagement EistCockpit 41 256 3 3 1 2 Sitzungen Sprint Planung Am Ende des vorherigen Sprints wird der jeweils n chste Sprint mit der Absch tzung der Tickets geplant Daily Scrum Meeting Am Anfang jedes Arbeitstages werden w hrend 5 Minuten die vergangenen Arbeitspakete sowie die Ziele des Tages besprochen Betreuer Sitzung m Abstand von ein bis zwei Wochen sitzt das Entwicklungsteam mit dem Betreuer zusammen um ihm den aktuellen Stand zu schildern und Fragen zu stellen Sprint Review Am Ende eines jeden Sprints werden alle Tickets und deren Ausf hrung von einem anderen Projektmitglied gereviewt und anschliessend im Redmine auf Closed gesetzt siehe 3 6 1 Review der Tickets Tabelle 18Sitzungstypen 3 3 1 3 Artefakte Product Backlog Das Product Backlog wir ber eine Unbefristete Version Backlog im Redmine realisiert in welchem alle unangetasteten Userstories gelagert werden Sprint Backlog Das Sprint Backlog wi
42. State Transfer Schnittstelle angesprochen werden k nnen und Daten im JSON JavaScript Object Notation Format liefern Im Gegensatz zu WSDL stellt REST den Datenzugriff ber spezielle virtuelle URLs zur Verf gung und verwendet f r die grundlegenden CRUD Operationen entsprechende HTTP Kommandos Damit kann sogar mit einem Web Browser auf die rohen Daten zugegriffen werden JSON stellt ein Datenformat dar welches seinen Ursprung in der Programmiersprache JavaScript hat Es ist ein sehr simples Format welches einfach ausgedr ckt Strukturen bestehend aus Arrays und Dictionaries beschreibt 18 Turl14 Web Services Description Language http en wikipedia org wiki WSDL 04 06 2012 url15 SOAP http en wikipedia org wiki SOAP 04 06 2012 Ein Sprichwort des Autors zum Thema SOAP welches eine Ausgeburt des SE 2 Projekts BudgetGuard ist lautet Mit Seife muss man vorsichtig sein sonst rutscht man aus furl16 Representational state transfer http en wikipedia org wiki REST 04 06 2012 url17 JSON http en wikipedia org wiki JSON 04 06 2012 Technischer Bericht Entwurf EistCockpit 161 256 Im Gegensatz zu SOAP bietet JSON keine ausgefeilten M glichkeiten f r die Validierung von Nachrichten Daf r ist das Datenformat extrem kompakt 2 woraus ein sehr gutes Verh ltnis zwischen Gr sse und Informationsgehalt f r einzelne Nachrichten resultiert Zudem ist JSON f r einen Menschen l
43. amp Remo Waltensp l unter der Betreuung von Markus Stolze geregelt 2 Urheberrecht Die Urheberrechte stehen den Studenten zu 3 Verwendung Die Ergebnisse der Arbeit d rfen sowohl von den Studenten von der HSR wie von der Schweizer Armee nach Abschluss der Arbeit verwendet und weiter entwickelt werden Rapperswil den Gl EL Lei EEE HR HE FF RE FT EEE EEE RT ER BEE EEE EEE TER ET TE Student David Sch ttl eee WWW vu TEE HET TE KKK Rapperswil den R 8 Vie EE Der Betreuer der Projektarbeit i T 5 Rapperswil den Ll 2 i EEN Der Studiengangleiter Composing Integrated Systems Using GUI Based Applications And Web Services Mark Grechanik and Kevin M Conroy Systems Integration Group Accenture Technology Labs Chicago IL 60601 Email mark grechanik kevin m conroy accenture com Abstract Integrated systems are composed of components that exchange information i e interoperate 5 These compo nents include Graphical User Interface GUI APplications GAPs and web services It is difficult to make GAPs interoperate especially if they are closed and monolithic Unlike GAPs web services are applications that are designed to interoperate over the Internet We propose a novel generic approach for creating integrated systems by composing GAPs with each other and web services efficiently and non invasively This approach combines a nonstan dard use of accessibility technologies for ac
44. aus einem AdA Bei den Empf nger handelt es sich in der Regel um die Abteilungsleiter der betroffenen Zellen Abteilungen anderseits k nnen auch normale Mitarbeiter Soldaten Meldungen entgegennehmen sofern sie die ben tigten Kompetenzen dazu haben Die Dauer f r einen gesamten Meldungszyklus kann stark variieren dies ist vor allem abh ngig ob es sich nur um eine Information handelt oder ob daraus ein weiterer Auftrag entsteht Es ist m glich dass der Meldeprozess nur ein paar Minuten dauert oder bei komplexeren Meldungen mehrere Stunden Das System wird nur innerhalb von Geb uden meist ZSA Bunker eingesetzt eine mobile Verwendung ist zurzeit nicht vorgesehen Es existieren weitere Anwendungen auf dem Teplas Server gegenw rtig ist jedoch keine Anbindung an bestehende Applikationen geplant mit der Ausnahme vom Active Directory Damit Personen direkt ber eine Auswahlliste ausgew hlt werden k nnen wird das AD des MS Servers integriert Profile Interessensvertreter H heres Kader Beschreibung Erteilt Befehle Koordiniert die Abl ufe und Auftr ge trifft Entscheidungen Typ Kader hat durchschnittliches technisches Wissen Anwenderkenntnisse Verantwortlichkeiten Meldungen entgegennehmen aus Meldungen neue Auftr ge generieren Status von bungen beobachten Erfolgskriterien Meldungen vollst ndig an zust ndige Personen bermittelt werden Meldungszyklus effizient abgewickelt wird Wie Involviert Versuchsper
45. bei der Arbeit Erfahrungen in diesem Bereich Regelm ssigkeit der Verwendung Genauigkeit Ausf hrlichkeit Meldezettel Milit risches Strategisches Denken Auffassungsgabe Fachliche Kompetenz Eist Tm Effizienz der Meldungen verbessern Verlieren von Meldezetteln vermeiden Abl ufe optimieren Alle notwendigen Informationen auf Zettel Kommunikation im Team verbessern Ist Szenario 1 Uninformierte Mitarbeiter Falsche Infos Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Viktor plant in seinem B ro gerade die anstehenden Inspektionen der Staos als ein Mitarbeiter der Triage an die T re klopft und eintritt Er bergibt Viktor einen Meldezettel der besagt einem Stao gehe der Treibstoff aus und sie br uchten dringend Nachschub Auf dem Meldezeitel ist jedoch kein Stao erw hnt lediglich ein schwer leserlicher Name Wm Gewehla Anruf eines Stao Chefs an die Triage Viktor bringt den Meldezettel sofort in die Triage zur ck und fragt nach dem Stao Der Mitarbeiter hat aber keine Ahnung und gibt an nicht gewusst zu haben dass man das nachfragen muss In den Standortlisten findet sich keine Person mit diesem Namen offenbar hat der zust ndige Mitarbeiter den Namen nicht richtig verstanden und auch nicht nachgefragt Erst nach einigem Suchen kommt der Name von Wm Andi Gewehre vom Stao 3 zum Vorschein Viktor bestellt den Nachschub Uninformierte Mitarbeiter Kennen die zu stellend
46. chlich detailliert Genauigkeit Austihrlichkeit Meldezettel Abbildung 17 Genauigkeit Meldezettel Milit risches Strategisches Denken Q GO gt schwach stark Militarisches Strategisches Denken Abbildung 18 Milit risches Strategisches Denken Auffassungsgabe QO gt schlecht gut Auffassungsgabe Abbildung 19 Auffassungsgabe Fachliche Kompetenz Eist Tm o D o schwach stark Fachliche Kompetenz Eist Tm Abbildung 20 Fachliche Kompetenz Konzentrationsf higkeit GO gt schwach Stark Konzentrationsfahigkeit Abbildung 21 Konzentrationsfahigkeit Technischer Bericht Vorstudie EistCockpit 76 256 4 4 2 Persona Linien 3 ww Ze e Technisches Know How EI D EH Motivation w hrend Arbeit Zufriedenheit mit aktuellem Ablauf Effizienz bei der Arbeit Erfahrungen in diesem Bereich Regelm ssigkeit der Verwendung Genauigkeit Ausf hrlichkeit Milit risches Strategisches Denken Auffassungsgabe B D Fachliche Kompetenz Eist Tm Konzentrationsf higkeit Abbildung 22 Persona Linien 4 4 2 1 Fazit Die drei interviewten Benutzer welche in der Triage arbeiten haben wir zu zwei Personas zusammengefasst Zum einen w re das die Gruppe der Soldaten zum anderen die Gruppe der F hrungskr fte Aus diesem Grund resultieren drei Personas f r unser System Technischer Bericht Vorstudie EistCockpit 77 256 4 5 Personas TE 4 5 1 Persona Frank Fleissig TS e
47. chlich aufgrund des vorinstallierten NET Frameworks Die Benutzeroberflache wird mit der deskriptiven Beschreibungssprache Extensible Application Markup Language XAML entworfen Extemded Management Summary EistCockpit 19 256 1 12 1 12 1 1 12 2 Ergebnisse Arbeitsergebnisse Trotz verschiedenen kleineren Hurden wurde ein stabiles lauffahiges System entwickelt welches auf einer ausbaufahigen Plugin Architektur aufsetzt Dabei wurden bereits die zwei Erweiterungen Plugins fur die Anzeige bzw das Erfassen von Meldungen sowie der Verwaltung von Standorten zu einem ausgew hlten Kontext implementiert Wobei der Kontext eine Liste mit erfassten Diensten und dazugeh rigen bungen darstellt Der Zugriff von den Clients wird ber einen RESTful Webservice durchgef hrt Folge dessen w re es auch m glich mit weiteren Ger ten auf die Objekte zuzugreifen Dies stellt jedoch gegenw rtig keine Option dar da von Seiten des Auftraggebers gefordert war dass keine zus tzliche Hardware verwendet wird Die Anwendung wurde mit dem NET Framework 4 0 entwickelt Es handelt sich um eine Client Server Architektur bei der ber einen RESTful WCF Webservice auf die per JSON serialisierte Objekte zugegriffen wird Dabei werden die Daten serverseitig in einer SQLite Datenbank persistiert Die Datenbank umfasst bereits einige Tabellen welche zurzeit mit den bestehenden Plugins noch nicht ben tigt werden Diese k nnen jedoch f r zuk nftige Erweit
48. dass die Applikation f r allf llige zuk nftige Erweiterungen einfach ausgebaut werden kann Es wurde bereits in vergangen Jahren eine Softwarel sung eingesetzt die jedoch nach einem Systemwechsel nicht mehr kompatibel war Seit diesem Zeitpunkt wurden die Daten bzw Statusmeldungen in einer Excel Tabelle gespeichert Extemded Management Summary EistCockpit 18 256 1 11 Vorgehen amp Technologien Um die Anforderungen an das zu entwickelnde System zu eruieren nahmen alle Projektmitglieder an einem vierw chigen Dienst der Schweizer Armee teil Dabei wurden Benutzerbefragungen durchgef hrt um die Bed rfnisse der potentiellen Benutzer zu erkennen Die gewonnen Erkenntnisse wurden in einem weiteren Schritt analysiert Aus diesen Analysen wurden drei verschiedene generische Benutzergruppen mit bestimmten Charakteristiken Personas geschaffen Die Personas wurden in der Entwurfsphase rege genutzt da es ein zentrales Anliegen war dass die Handhabung sowie die Oberfl che ideal auf die Benutzertypen zugeschnitten sind W hrend des Wiederholungskurses wurde das Projekt dem h heren Kader vorgestellt Die anschliessende Diskussionsrunde brachte diverse neue Aspekte und Inputs welche wiederum in der weiteren Entwurfsphase miteinbezogen wurden Die Erfahrungen Einblicke die im Laufe des WK gesammelt wurden waren usserst hilfreich f r das Gestalten der Benutzeroberfl che sowie der Konzeption des Systems Nach dem Absolvieren der Dienstlei
49. der Unterhalt des Servers von daf r zust ndigen Personen durchgef hrt wird haben wir keine M glichkeiten darauf einfluss zu nehmen W hrend dem Wiederholungskurs soll die verf gbare Zeit m glichst effizient genutzt werden Zudem soll durch die Planung beim Beginn des WK klar sein welche Ziele bis am Ende erreicht werden sollen Aktionen beim Eintreffen Sobald SVN wieder verf gbar ist werden Daten mit dem Server abgeglichen Die Zeiterfassung wird mittels einem tempor ren Excel File solange berbr ckt bis der Server wieder erreichbar ist Um Dokumente zu erstellen bzw zu bearbeiten wird auf die alternative Google Docs ausgewiechen Der Projektplan m sste berarbeitet werden indem man einzelne Arbeitspakete sp ter durchf hrt Eventuell m sste die Arbeitszeit f r die restliche Projektzeit Massn ahmen nur beim Eintreffe n n e oder Alle Alle 1 Projektpl an Projektplan berarbei wurde ten 2 berarbeitet Arbeitspa Woche kete beantragt verschieb en 3 Betroffene Arbeitspaket Massnahme Sp tester Zeitpunkt der Risikobeseitigu ng Iteration Risiko berein igt Bis Ende Projekt X Bis Ende Projekt X Bei Beginn Elaboration Arbeitspakete erh ht werden Zus tzlich zu erledigen e Woche beantrag en Es kommt Bei Aufkommen von vermehrt zu ner i o unstimmigkeiten und gr sseren Durch viele Team H cks Problemen inerhalb rent Konfli
50. dschoett Dave Sch ttl e dsteiner Diego Steiner e rwaltens Remo Waltensp l e mstolze Markus Stolze e tcorbat Thomas Corbat e Dokumentationssprache Deutsch Wiki ist gemischt deutsch english e Codedoku mit Doxygen e Als SCM wird SVN eingesetzt e Als Kollaborationtag sei der Montag Nachmittag ab 1300 Uhr festgesetzt Vorgehensmodell e Design und Planungsphase RUP Orientiert e Entwicklung des Prototyps SCRUM Orientiert A ZA A ZA A A 2 4 5 Benutzerbeobachtung e Ist Analyse erstellen e Szenarien und Personas erstellen Zeitplanung Milestones RUP Ortientiert e MS1 Affinity A Personas e MS2 Anfordungen und Analyse e MS3 Personas amp Szenarien SCRUM Orientiert e MS4 GUI Prototyp und Testresults e MS5 Architekturprototyp e MS6 End of Elaboration e MS7 Architektur amp Design e MS8 Beta Release e MS9 Final Release e MS10 Dokumentation Der Plan ist dass wir im WK die gesamte Anforderungsanalyse MS1 bis MS3 fertigstellen Ab dann wollen wir auf ein agiles Vorgehen umsteigen Bis Ende Woche 17 ist die Architektur und das Design spezifiziert Bis Ende Woche 22 ist die Software in einer ersten finalen Version fertiggestellt und dokumentiert Der Projektplan wird noch genauer durch dsteiner spezifiziert Wichtige Punkte aus der Matrix of Doom Technologie Entscheid ab MS4 A 3 A 3 1 A 3 2 A 3 3 A 3 4 A 3 4 1 A 3 4 2 A 3 4 3 A 3 4 4 Sitzungprotokoll 24 02 2012 Trak
51. ein Kernartefakt von Scrum ist UI Plugin Prototyp e Abh ngigkeiten zu Host Application und weiteren Projekten verringern A 9 3 4 A 9 3 5 A 9 3 6 e Viewmodel besser in gleiches Projekt dadurch werden Plugins unabh ngiger e Frage von Thomas ob Vertragsnamen bei Pluginimport wirklich ben tigt werden e Dave schl gt vor die Strings in einer XML Datei zu definieren dadurch k nnte man auf diese Referenz verzichten WCF Prototyp e Thomas findet es sei zu wenig klar aus dem Architekturdokument dass man einen Webservice verwenden m chte e David berichtet ber die Nachteile einer L sung mit einem Webservice e Grunds tzlich handelt es sich eher um eine unidirektionale Verbindung e Um von Server Daten an Client zu bermitteln wird regelm ssig Zustand abgefragt Polling e Vorschlag von David ca jede Minute und vor kritischen Operationen z B Bearbeiten aktuelle Daten von Server an Clients schicken Ausblick e Alle anstehenden Arbeitspakete im Sprint 2 werden Thomas kurz erl utert e Ziel ist es am Ende des Sprint 2 eine erste Beta Version fertiggestellt zu haben e Remo fragt nach ob es m glich ist ein Codereview gegen Ende des 2 Sprints durchzuf hren Dies wird durch Thomas best tigt Kurze Wiederholung Demo Prototypen Anmerkungen durch Herr Stolze e Genau definieren wer die Plugins erh lt und wie entschieden wird welche wirklich ben tigt werden e Die Hilfe Schaltfl che ist eventuell in de
52. einen definierten Ort kopiert Der Pfad zu dieser Working DB wird im App config bzw Web config File des entsprechenden Projekts 32 url20 C Coding Conventions http msdn microsoft com en us library ff926074 aspx 05 06 2012 Beispiel Privat Members beginnen mit einem Lower Case Buchstaben w hrend Public Members mit einem Capital Case Buchstaben beginnen Turl19 Doxygen http www doxygen org 06 06 2012 url21 Documenting the Code http www stack nl dimitri doxygen docblocks htmi 06 06 2012 url22 Commands http www stack nl dimitri doxygen commands html 06 06 2012 Technischer Bericht Developer Manual EistCockpit 226 256 welches mit der DB arbeiten will definiert Da diese Config Files im Repository eingecheckt sind und mehrere Mitarbeiter auf verschiedenen Maschinen an der Entwicklung beteiligt sind gilt es einen Pfad zu definieren welcher auf allen Entwicklungs Maschinen vorhanden ist Der Webservice verwendet folgenden Pfad f r die Working DB e C ProgramData EistCockpit EistCockpitDB db Das UnitTest Projekt f r den DAL verwendet folgenden Pfad f r die DB e C ProgramData EistCockpit EistCockpitDB_Test db Das ExampleDataGenerator Projekt verwendet folgenden Pfad f r die DB e C ProgramData EistCockpit EistCockpitDB_ExampleData db Es liegt in der Verantwortung des Entwicklers sicherzustellen dass die Pfade in den Config Files g ltig sind 10 3 3 2 DAL De
53. folge dessen wird die Nummer durch die Standortbezeichnung ersetzt Weitere Meldungsoption Zur Information Note 4 Aus dem Papier Prototypen Test wurde ersichtlich dass eine zus tzliche Meldungsoption Zur Information hilfreich w re wenn auf eine Meldung keine Antwort mehr ben tigt wird Gleichen Symbole wie auf bersicht verwendet Note 5 F r ein einheitliches Design wird darauf geachtet dass f r gleiche Funktionen die gleichen Symbole benutzt werden Einheitliche Priorit tsbezeichnungen Note 6 Neu werden die Priorit ten wie folgt bezeichnet Hoch Normal Niedrig Dies f rdert die Konsistenz und folge dessen die Benutzbarkeit Beschriftung der Schaltfl chen berarbeitet Note 7 Die Schaltfl chen waren vor dem Redesign zu wenig aussagekr ftig Die Benutzer wurden durch die Namensgebung verunsichert deshalb wird nun die Schaltfl che zum bermitteln von Meldungen als Senden und die Schaltfl che zum Zwischenspeichern als Zwischenspeichern beschriftet Schaltfl che Senden hervorheben mit gr sserer Schrift Note 8 Da im Normalfall die Meldung nach dem Erfassen direkt bermittelt wird wird die Schrift der Senden Schaltfl che gr sser dargestellt Technischer Bericht Domain Analyse EistCockpit 150 256 Mockup nach Redesign 1 Integriertes Fenster wurde durch Modales Fenster ersetzt Meldung erfassen v2 0 Meldung erfassen Begr ssung Eist Tm Ran
54. for applications that require a more complex infras tructure In those applications aspects such as security and reliability are essential to meet the business goals SOAP currently is more used to implement remote pro cedure call RPC In SOAP the HTTP protocol is used to transport an XML document which holds information such as method invoked input parameters and output expected 10 SOAP envelope is transported inside HTTP envelope REST is an architectural style for web services implemen tation Services implementation that follows this architec tural style makes extensive use of HTTP protocol character istics That form of implementation is called RESTful web services RESTful web services are simpler to understand and im plement than those which adhere to the WS However many of the non functional requirements in web services are not yet addressed such as security reliability and con trol of transactions In the transaction control in general various resources have to be updated in a consistent way through distributed transactions The goal is to ensure the ACID properties atomicity consistency isolation durabil ity However not all of the properties can be ensured in web services context For web services there are alterna tives to accomplish data consistency and integrity as the transaction compensation This work aims to provide a proposal to support transac tion implementation in RESTful web services The pr
55. in der Triage kann ich erfasste Meldungen bearbeiten ich sehen welchen Zweck eine Klass Methode verfolgt Im Meldungsplugin k nnen bereits 2 erfasste Meldungen ge ffnet und bearbeitet werden Klasse generiert Als Benutzer in der Triage sehe ich Nachdem der Senden Knopf im 2 wenn ich eine Meldung abgeschickt Fenster zu Meldungserfassung habe das Diese versandt wurde gedr ckt und die Meldung versandt wurde wird in der Statusleiste eine entsprechende Meldung angezeigt Als Benutzer in der Eist kann ich die Im Standorteplugin wird eine bersicht 2 zu einer Operation erfassten der Standorte zur aktuellen Operation Standorte anzeigen angezeigt Als Benutzer in der Eist kann ich Im Standorteplugin werden die 2 Details zu einem Standort anzeigen Informationen zu einem ausgew hlten Standort angezeigt Als Benutzer in der Eist kann ich neue Im Standorteplugin kann ein neuer 2 Standorte anlegen Standort hinzugef gt werden Als Benutzer in der Eist kann ich Im Standorteplugin kann ein Standort 2 vorhandene Standorte bearbeiten bearbeitet werden Als Benutzer in der Eist kann ich Im Standorteplugin kann ein Standort 2 vorhandene Standorte l schen gel scht werden Als Benutzer in der Eist kann ich keine Im Standorteplugin werden s mtliche 3 ung ltigen Angaben zu einem Eingaben berpr ft sobald Standort machen Anderungen vorliegen Als Administrator kann ich neue Im Dienstleistungsplugin kann eine 3 Dienstleistungen hinzuf gen neue Dienstleistun
56. llig auf Fehler in der Formatierung der einzelnen Datenfelder Die Kompaktheit des Formats resultiert in weniger Traffic bzw Netzbelastung im LAN e EistCockpit wird zwar f r eine Windows Umgebung entwickelt und verwendet weitgehend Microsoft Technologien Da die Daten aber letztendlich ber REST JSON abgegriffen werden kann so auch ohne Probleme z B ein iOS Mobile Client oder eine Browser basierte Webapplikation entwickelt werden Business Model Der Business Model Layer stellt verschiedene Methoden zur Verf gung welche die Businesslogik implementieren und CRUD Operationen auf dem Datenbestand erm glichen Der Zugriff auf diese Funktionalit t geschieht dabei durch den dar berliegenden Service Model Layer Der Business Model Layer greift auf den darunterliegenden DAL Data Access Layer zu um die gestellten Anfragen auszuf hren Dadurch wird die Business Logik von der verwendeten Datenbank entkoppelt Data Access Layer Der DAL Data Access Layer abstrahiert den Zugriff auf den Persistenz Layer z B Datenbank XML Files etc D h der DAL bietet Methoden an welche grundlegende CRUD Operationen auf dem Datenbestand erm glichen Zu diesem Zweck bietet das NET Framework unter der Bezeichnung ADO NET sog OR Object Relation Mapper an welche basierend auf dem Schema einer relationalen Datenbank entsprechende Klassen generieren Technischer Bericht Entwurf EistCockpit 170 256 7 3 2 6 7 3 3 EistCockpit verwendet a
57. nur noch den Typ der Meldung definieren Nach dem Aufh ngen des Telefons kann Frank noch eine kurze Beschreibung angeben und die Empf ngerabteilung festlegen Das Datum wird automatisch beim Erstellen einer neuen Meldung bestimmt Sobald alle ben tigten Felder ausgef llt sind kann der Triage Benutzer die Meldung versenden Benutzer hat M he w hrend dem Telefonieren das Notebook zu bedienen Meldungen werden immer vollst ndig ausgef llt Die Meldung muss nicht mehr physisch zu Fuss verteilt werden EistCockpit 86 256 4 5 2 Persona Iwo Informiert Alter 26 Jahre Zivilstand Ledig keine Kinder Ausbildung Kaufm nnische Lehre Bachelor f r Betriebswirtschaft Lehrlingbetreuer T tigkeit Arbeitet in einer Grossfirma als Betriebs konom Technische Kenntnisse Funktion Arbeitskontext Arbeitsstil Technischer Bericht Vorstudie Abbildung 24 Persona Iwo Informiert Erfahren im Umgang mit Computer Grundkenntnisse in Informatik lwo hat den Rang Wachtmeister deshalb ist er auch zust ndig f r die F hrung der Triage Gruppe Er koordiniert und leitet Befehle bzw Auftr ge vom h heren Kader weiter Zudem gibt er dem Team i d R bestehend aus Soldaten Inputs und Verbesserungsvorschl ge um die Effizienz zu steigern Der Arbeitsort von Frank ist in der Regel eine ZSA oder eine geheime Bunkeranlage wichtig ist zudem aufgrund von vielen Telefonaten ein abgeschlossener Raum nahe der FGG 3 Das Arbeitsz
58. service OD and the values of GUI elements of other GAPs For example the value of the property Item of the service OD should be put into the GUI element labeled Description of the invoice screen of PIE which in turn should be put into the GUI element labeled optional of the expense screen of QE We discuss accessibility technologies in Section IV A IEE Ss COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE File Edit Tools Window Help PY g F SD Publish as Web Service ES Publish as BPEL ze service Explorer 7 5 Servicei H sp operationi E Properties 3 Property Value General Name operation Fig 1 To create mappings between these properties and GUI elements the user moves the cursor over some GUI element of a GAP and Coins uses the accessibility Application Pro gramming Interface API calls to obtain information about this element To confirm the selection a frame is drawn around the element with the tooltip window displaying the information about the selected element Then the user clicks the mouse button and drags this element or rather its image onto the Coins middle tab labeled with the name of the exported method Ge operationl of the composite web service After releasing the mouse button the dragged element is dropped onto the Coins dataflow palette under the label of the corresponding component
59. soll es m glich sein die API automatisch zu generieren Folge dessen sollte der Code mittels der Code Dokumentation schnell zu verstehen und allf llige Fehlerquellen einfach zu identifizieren sein Modifizierbarkeit Eine grundlegende Anforderung ist es dass die Software einfach erweitert modifiziert werden kann Um diese Anforderung zu erf llen soll das System auf einer Plugin Architektur aufsetzen Zudem sollen Programmteile bei denen eine grosse nderungswahrscheinlichkeit besteht m glichst nur an einem Ort implementiert werden Technischer Bericht Anforderungen EistCockpit 103 256 5 6 Design Constraints Die Schweizer Armee beschr nkt die IT Mittel innerhalb der Eist auf das TEPLAS Dieses setzt sich aus einem Dom nencontroller einem Citrix Server mehreren Windows XP Clients und Druckern zusammen Diese Umgebung bildet die Rahmenbedingungen f r das EistCockpit Es d rfen keine zus tzlichen Hardwarekomponenten verwendet werden Technischer Bericht Anforderungen EistCockpit 104 256 5 7 Zug nglichkeit Accessibility Laut Major Hans Andrea Veraguth sind in der Schweizer Armee keine AdAs mit schwerwiegenden Wahrnehmungsst rungen zugelassen Siehe Anhang Sitzungsprotokoll vom 5 M rz Abend Es ist also keine Anforderung EistCockpit auf besondere Bed rfnisse auszulegen Es k nnen jedoch F lle von Rot Gr n Schw che vorkommen weshalb bei Status die Farbe nicht der einzige Indikator sein darf Technischer
60. state with clients Session state is kept en tirely on the client Cache the responses to prior requests can be reused in response to later requests that are equiva lent and likely to result in a response identical to that in the cache if the request were to be forwarded to the server Uni form Interface A central feature of REST is the uniform interface between the components The overall system archi tecture is simplified and there is an improvement in visibility of interactions Layered System System hierarchically or ganized in which each layer provides services for the top layer and uses those of the bottom layer Code on demand the client can extend its functionality by downloading and executing code from the server as he needs Thus the client is simplified since it reduces the number of features required to be pre implemented While REST is not be a standard RESTful services im plementation uses standards such as HTTP URL XML HTML GIF JPEG In general Web can be considered as a REST system 1 Many of the services used in the Web as search services booking ordering services dictionary serv ices can be considered RESTful web services at least par tially Richardson and Ruby 10 define a new term to indicate a concrete architecture that implements the REST architec tural style called the Resource Oriented Architecture ROA Basically it makes use of URI HTTP and XML ROA is an implementation of REST
61. 00nnnennnnnnn nennen nnnnnnnnnnnnnne nennen 29 Tabelle 4 Interessensvertreter Projektleiter nennen nnnnnnnennnnnn 29 Tabelle 5 Interessensvertreter F hrungsunterst tzungsbrigade nenne nennen 29 Tabelle 6 Interessensvertreter Soldaten cccccccccccssseceeeeeesseceeeceeeseceeecaeeeceeesaeneeeeeseaeaseeesseeaaseeeseeaees 30 Tabelle 7 Beschreibung Benutzer ee een 30 Tabelle 8 Beschreibung Gruppenf hrer Triage cccccccsseccccesscceceeseeeceeeeceeceesceesaueeeesseecesseaeeeeseaneeeeas 30 Tabelle 9 Beschreibung Empi nger 30 Tabelle 10 Profil Interessensvertreter h heres Kdaer nenne nnnnnennnnnnnenne nenne nennen 31 Tabelle 11 Profil Interessensvertreter Projektleiter nennen 32 Tabelle 12 Profil Interessensvertreter Goldaten nennen nennen 32 Tabelle 13 Benutzerprofil Gruppenf hrer Triage nennen 33 Tabelle 14 Benutzerprofil Empi nger ccc ccccceccccceeseceeceeceeceeeceeceeeeeeseeeeeeeseuseeesseaeeeseeeeeessaueeessaeeeeeas 33 Tabelle 15 bersicht Benutzerbed rinlese c ccccccecccecsessessessescescessesececseesaesareaesssersersseesaesarvnenneeneereee 34 Tabelle 16 Zusammenfassung Produkit bugketen nennen 35 TabellE 17 Get tg 41 Tabelle OtGutzungstvpen ec eee 42 Tabelle 19 Serum Arlefakten u ee ee ee 42 Tabelle 20 Releasebeschreibungen ccsccccccsseccecseeececeeeeceeceeeceeceuseceseeeeceeseaeeessaeeesseaecesseaeeeeseeeeesas 43 Tabelle 21 Beschreibung Phase INCEPTION nennen 43 Tabelle 22 Be
62. 03981552 0200 Abbildung 56 JSON Rohdaten Eintrag 3 gel scht Technischer Bericht Prototypen EistCockpit 178 256 8 4 1 5 8 4 2 8 4 2 1 8 4 2 2 r 20 Minuten Online Nur e Directory Listing localhost 1210 CombatJou s e G fi W localhost 1210 CombatlournalS Ice entries W Ka 20 Minuten Online Google EistTm Cockpit Ov DI iPhone 3GS iPhone amp Re installing WAN CJ SA C Privat Za Diese Seite ist auf Englisch Soll sie bersetzt werden bersetzen Nein Optionen Creator Fw Sch ttl Id 1 Message First Entry TimeStamp Date 1338903981552 0200 Abbildung 57 JSON Rohdaten Eintrag 2 gel scht Erkenntnisse W hrend bis anhin nur mit NET Webservices auf Basis von WSDL SOAP gearbeitet wurde konnte mit dem vorliegenden Prototypen die Arbeitsweise Konfiguration f r einen REST JSON Webservice in Erfahrung gebracht werden Der Prototyp hat bewiesen dass das Zusammenspiel zwischen WCF Webservice und WPF Prototyp gut funktioniert nach anf nglichen Startschwierigkeiten traten keine signifikanten Probleme auf Da neben dem WCF Service auch ein WPF Client entwickelt wurde konnten die Kenntnisse im Bereich WPF aufgefrischt werden Ebenso wurde im Bereich WPF erkannt dass das standardm ssige NET Framework 4 0 Client Profile f r unsere Zwecke ungen gend ist und entsprechend auf NET Framework 4 0 g
63. 06 2012 Dokument berarbeitet 05 06 2012 dsch ttl Extemded Management Summary EistCockpit 17 256 1 10 Ausgangslage Innerhalb des Stabs eines Richtstrahlbataillons Ristl ein Teilbereich die Einsatzstelle Telematik Eist Tm und das Management des integrierten milit rische welches aus Richtstrahlverbindungen Ristl Vrb Ricl Funkger ten besteht Datum Telefon Die Eist Tm ist die prim re Anlaufstelle bez glich c Probleme Versorgungsanfragen Planungsanderung Ges blint R ckruf Triage neue Statusmeldungen entgegengenommen eg iii weitergeleitet werden Zurzeit werden diese Informati Beschreibung siehe Abbildung 1 Meldezettel in Papierform verwal zu diversen Problemen zudem ist es ineffizient und t glichen Betrieb bestehen die Bed rfnisse Meldunge bestimmten Kriterien zu filtern dies kann jedoch mi Bearbeitet durch durchgef hrt werden Triage H BS H Kat Stv H au E ege FGG 4 Abbildung 1 Meldezettel Aufgrund von den festgestellten Missst nden wurde im Projektteam beschlossen dass man eine Anwendung entwickeln m chte die die Abl ufe vereinfacht und die Effizienz massgeblich verbessert Das prim re Ziel lag dabei bei der Konzeption eines Systems zum Erfassen von Statusmeldungen sowie der M glichkeit Nachrichten anhand von Kriterien zu filtern Die Informationen zu allen Standorten sollten bersichtlich dargestellt werden sowie neue Standorte erfasst werden k nnen Eine weitere Anforderung war
64. 2 143 144 145 146 5 256 Abbildung 46 Host Application Service Mockup Redesign Abbildung 47 Messages Overview Mockup Redesign Abbildung 48 Message Mockup Redesign Abbildung 49 Location Mockup Redesign Abbildung 50 UI Container Abbildung 51 Vererbungshierarchie Plugin Interfaces Abbildung 52 System bersicht Abbildung 53 EistCockpit Layers Abbildung 54 Projektstruktur CombatJournalPOC Abbildung 55 UI CombatJournalClient Abbildung 56 JSON Rohdaten Eintrag 3 gel scht Abbildung 57 JSON Rohdaten Eintrag 2 gel scht Abbildung 58 Abbildung 59 Abbildung 60 Abbildung 61 Abbildung 62 Abbildung 63 Abbildung 64 Abbildung 65 Projektstruktur SQLite Prototyp Datenmodell SQLite Prototyp Projektstruktur MEF Prototyp Sequenzdiagramm MEF Prototyp Plugin Ordner Screenshot MEF Prototyp 1 Screenshot MEF Prototyp 2 Unit Tests DAL Abbildung 66Unit Tests DAL Abbildung 67 Abbildung 68 Abbildung 69 Abbildung 70 Abbildung 71 Abbildung 72 Abbildung 73 Abbildung 74 Abbildung 75 Abbildung 76 Abbildung 77 Abbildung 78 Abbildung 79 Abbildung 80 Abbildung 81 Abbildung 82 Abbildung 83 Abbildung 84 Abbildung 85 Abbildung 86 Abbildung 87 Abbildung 88 Abbildung 89 Abbildung 90 Abbildung 91 Abbildung 92 Verzeichnisse Unit Test ServiceOperationContext Unit Test Location Unit Tests Coordinates Unit Tests ShowLocationViewModel Unit Tests EditLocationViewModel Unit Tests M
65. 256 Tickete Aktivit t Status Prio Name Verantwortlich Phase sa ie Ne ee es D oa oS Mae UCC we a fie is el er ee Cis lo ee ee ee a Se a ee Ce ee Die ENEE Te ian ec ge EE EE E EE erstellt Mr ENEE un EEN ST Ne eee Pe EE D SE Co CG a en ar I ee ee ee ee und bisherige Stunden buchen m anes a S a ar ise en ee er Remo Waltenspul SE ee ee verfassen Remo Waltensp l u EECHER Ss a Featureabdeckung on ENEE un um FE ee re i er u a Se EE EE erstellen es inane FE eae y EEN u ee Tabelle 71 Tickets der ersten drei Phasen Auswertung Nachdem die Vorbereitungswoche relativ speditiv ablief waren die 4 Wochen des Wiederholungskurses nicht besonders produktiv Allerdings musste mit diesem Risiko gerechnet werden weil dem Projektteam keine freie Arbeitszeit garantiert werden konnte Trotz dieses R ckschlages konnten in diesen Phasen alle wichtigen Ziele erreicht werden Projekt Retrospektive EistCockpit 247 256 11 7 1 2 Sprint 0 Dauer Gesch tzter Aufwand Tats chlicher Aufwand Tickets Tickets Aktivit t Status 50 Collaboration CLO 49 Collaboration CLO 36 PM QM CLO 35 PM QM CLO 18 PM QM CLO 52 PM QM CLO 51 Documentation CLO Auswertung Nach dem schwachen Start konnte das Projektteam sich nun die verbleibenden Wochen 1 Woche 34h 32h 7 Prio Name Normal Sitzung 28 03 2012 vorbereiten Normal Plugin Ideas Verantwortlich David Sch ttl Tabelle 72 Tickets zu
66. 4 3 App Config Allgemein Rollen Benutzer welche in den hier spezifizierten AD Gruppen sind erhalten Admin Rechte in EistCockpit Beachten Sie dass die Gruppe Administrators automatisch hinzugef gt wird und nicht gel scht werden kann Rollen Plugin Zugriff Admin Gruppen Admin Gruppe Details Administrators Se Name AD Gruppe Administrators Abbildung 95 AD Gruppen Plugin Zugriff Das Register Plugin Zugriff enth lt eine Auflistung s mtlicher geladener Plugins mitsamt n tzlichen Informationen wie Name Version Typ Beschreibung etc App Config T ma Allgemein Plugin Zugriff Rollen Installierte Plugins Flugin Details Plugin Zugriff gns Dh Name AppConfigPlugin AppConfigPlugin Version 1 0 0 0 ServiceManagerPlugin Seer high Copyright Copyright 2012 by Fw Dave Sch Operation Plugins Typ Hast Plugin LocationsPlugin J Admin ben tigt MessagesPlugin Beschreibung The AppConfigPlugin provides a configuration UI for the Host application The plugin offers the following features Define refresh interval manage Admin roles restrict Plugin access Standalone Plugins Abbildung 96 Plugin Access Technischer Bericht Realisierung amp Test EistCockpit 222 256 EistCockpit 10 Developer Manual David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Developer Manual EistCockpit 223 256 10 1 Dokumenteninformation Datum Version
67. 8 aen ere EE D EE re Pr nn EE nn mmm oo B a Ee e Stellvertreter und k nnen abgearbeitet werden Tabelle 30 Auflistung Affinity Ziele Technischer Bericht Vorstudie EistCockpit 67 256 Strategien Die Strategien beschreiben bestimmte Abl ufe welche durch die Mitarbeiter durchgef hrt werden um ein bestimmtes Ziel zu erreichen Dadurch wird sichtbar welches die Kernprozesse im t glichen Betrieb sind Abbildung 9 Affinity Strategien Technischer Bericht Vorstudie EistCockpit 68 256 Strategie Meldung wird vom Mitarbeiter erfasst und einer Zelle bzw einer Funktion in der Zelle weitergeleitet Anstatt einer Einzelperson 2 Ziel Meldungen kommen zeitgerecht an Mitarbeiter nehmen Anruf entgegen und m ssen in einem ersten Schritt die richtigen Informationen anhand der Plakate ausfindig machen 4 Ziel Meldungen werden vollst ndig erfasst Meldezettel ausf llen anschliessend Meldung in der Excel Datei erfassen Ziel Meldungen werden vollst ndig erfasst Empf nger liest Meldung interpretiert sie und erstellt neuen Auftrag Ziel Auftrag aus Meldung generieren Abteilungsleiter stellen Informationen zusammen die f r die Mitarbeiter relevant sind anschliessend werden Mitarbeiter informiert 3 Ziel Mitarbeiter besser informiert Damit Meldungen ankommen die wichtig sind wird Meldung direkt m ndlich berbracht 1 Ziel Meldungen gehen nicht verloren Alle sechs W Fragen m ssen ausgef llt
68. AL Technischer Bericht Realisierung amp Test Success Success SUCCESS Success SUCCESS SUCCESS Success Success Success Success SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS Success SUCCESS Success SUCCESS Success Success Success Success SUCCESS SUCCESS EistCockpit 192 256 ServiceOperationContextTest 5 W 0 0 o A Eb W 4 lt EistCockpit Testing gt 5 tests Success EistCockpit Testing 5 fests Success Fl iy ServiceOperationContextTest 5 fests SUCCESS yf CanGetInstance Success f CanSetOperation Success wi CanSetService Success yf IsSamelnstance Success i 4 NotifiesContextChange Success Abbildung 67 Unit Test ServiceOperationContext 9 3 2 2 EistCockpit Plugins LocationsPlugin Test LocationUnitTest Wa 34 W 34 E PE wo E w l lt EistCockpit LocationsPlugin Test gt 34 fests Success E W EistCockpit LocationsPlugin Test 24 fests SUCCESS LocationUnitTest 34 fests Success AddressDisplayNoErrorMessage Success W AddressValidationCorrect Success W CanClearErrorDictionary Success ig CanCloneLocation Success wv CanDiscare it ig CanLoadLocation Success W CanReloadLocation SUCCESS yf CanSaveNewLocation Success gf CanSelectLocation Success w CanUpdateValidLocation SUCCESS W ChangeOfValidityOfLocations SUCCESS w ContactDisplayNoErrorMessage Success 4 ContactValidationCorrect Success w CorrectStringRepresentation Succe
69. Bataillonskommandant Maj Veraguth e Projektbeteiligten verpflichten sich erlangte Kenntnisse ber Personen oder System vertraulich zu behandeln Arbeit w hrend dem WK e Es wurde durch Maj Veraguth versichert dass im Minimum ein Zeitkontingent von 4 5 Arbeitsstunden Woche w hrend dem WK erm glicht wird e Anmerkung Der milit rische Auftrag muss selbstverst ndlich trotzdem einwandfrei erf llt werden Feedback zur Pr sentation e Einzelne Passagen w hrend der Pr sentation waren gespickt mit F llw rtern ah hm etc diese sollten zugute des Pr sentationsflusses vermieden werden Hptm Furrer Inhalt der Pr sentation sollte kurz erl utert werden damit klar ist was besprochen wird Oblt Helfenberger Bei der Nutzung des Laserpointer sollte man darauf achten dass man keinen nerv sen Eindruck macht indem man schnell auf verschiedene Dinge zeigt Oblt Helfenberger Eventuell sollten englische Fachausdr cke besser erl utert werden damit auch Personen mit weniger hohem technischem Verst ndnis den Inhalt verstehen Hptm Furrer A 6 A 6 1 A 6 2 A 6 3 A 6 4 A 6 5 Sitzungsprotokoll 26 03 2012 Traktanden Anwesend dschoet rwaltens dsteiner Abwesend R ckblick WK e Projekts und Qualitatsmanagement e Redmine Cleanup e Stunden buchen Planung e Ul Prototyp besprechen Aufgaben e Upcoming Deadlines Abnahme Phasen 28 03 2012 Protokoll e Arbeit gem ss Traktandenliste A
70. Benutzerdokumentation ben tigt Weil das Produkt aber noch nicht die Einsatzreife erreicht hat muss im Rahmen der Studienarbeit auf diese Punkte verzichtet werden Technischer Bericht Schlussfolgerung EistCockpit 232 256 11 2 2 Vergleich zur bestehenden L sung Wie aus der Vorstudie hervorgeht wird zurzeit keine Software eingesetzt um Meldungen zu verwalten Ein Einsatz der Anwendung EistCockpit bietet nachstehende Vorteile Meldungen k nnen beinahe ohne Zeitverlust an einen bestimmten Empf nger bermittelt werden Die bersicht ber bereits erfasste Meldungen ist bei weitem gr sser Die Mitarbeiter in der Triage werden durch Hilfetexte beim Erfassen von Meldungen unterst tzt Alle relevanten Informationen zu einem Standort werden bersichtlich dargestellt Mittels Filtern k nnen Meldungen nach bestimmten Kriterien angezeigt werden Meldungen k nnen anhand einer Priorisierung nach Wichtigkeit unterschieden werden damit kann der Empf nger wichtigere von weniger wichtigen Meldungen auseinander halten Die Erfassung von Meldungen ber das elektronische Formular ist f r einen AdA der nur eine Hand frei hat einfacher durchzuf hren Technischer Bericht Schlussfolgerung EistCockpit 233 256 11 2 3 Ausblick Die Applikation EistCockpit kann gegenw rtig noch nicht produktiv w hrend dem normalen Dienstbetrieb eingesetzt werden Um dies zu erm glichen m sste man folgende Anforderungen in einer Folgearbeit umsetzen
71. Errungenschaft zugeteilt ist LocationID Int Die ID des Standortes dem die Errungenschaft zugeteilt ist Due Datetime Zeitpunkt bis wann die Errungenschaft erreicht werden muss Achieved Boolean Ist die Errungenschaft erreicht Location Relation Der Standort dem die Errungenschaft zugeordnet ist Phase Relation Die Phase der die Errungenschaft zugeteit ist Tabelle 42 Beschreibung Entit t Achievment Errungenschaftstypen Eine Errungenschaft kann folgende Typen annehmen e Bereitschaftsraum erreicht e Bereitschaftsraum verlassen e Standort erreicht e Standort verlassen e Telematikbereitschaftszeit SHF e Telematikbereitschaftszeit IMFS Technischer Bericht Domain Analyse EistCockpit 117 256 6 5 3 Standorte id 57 fullName 2 shortName 8 ownerAddress Sf ownerContact F personResponsiblelD amp P unitID SF coordinatelD amp contact T operationID EP from to SF description Navigation Properties EN SlaveConnections SS MasterConnections E Coordinate EN Operation amp Unit EN ResponsiblePerson SS LocationsPersons SS Achievements 8 id altitude Z latitudeGPS F longitudeGPS FP latitudeLVO3 SF longitudeLV03 FP latitudeLV95 FP longitudeLv95 E Navigation Properties El Location firstLocationID Si secondLocationID setupPhaselD teardownPhaselD Navigation Properties El MasterLocation El SlaveLocation El TeardownPhase El SetupPhase Sal locationID Bal person
72. Erweiterte Suchfunktionalit t um Text erg nzt Note 6 Aus dem Papier Prototyp Test ging eindeutig hervor dass die erweiterten Suchm glichkeiten nur schwer zu finden waren Um dies zu vermeiden wird die Schaltfl che um einen zus tzlichen beschreibenden Text Erweitert erg nzt Schaltfl chen gruppiert Note 7 Die verschiedenen Funktionen werden so gruppiert dass das Auffinden und lokalisieren einfacher ist Hilfe Schaltfl che hinzugef gt Note 8 Das Plugin Nachrichten wird um eine Schaltfl che Hilfe erweitert Diese Schaltfl che wurde von der Pluginleiste in den Pluginbereich verschoben da es sich bei der Hilfe um eine spezifische Hilfestellung zum Plugin handelt Datetimepicker f r die Auswahl der Uhrzeit Note 9 F r eine einfachere und intuitivere Bedienung wird f r die Eingabe der Zeit ein Datetimepicker Control verwendet Eindeutige Beschriftungen gew hlt f r die Tabellen berschriften sowie die verschiedenen Filterkriterien Note 10 Damit die Konsistenz gew hrleistet ist und der Benutzer nicht irritiert wird werden s mtliche Tabellen berschriften gleich benannt wie die Filterkriterien Technischer Bericht Domain Analyse EistCockpit 148 256 Mockup nach Redesign Meldungsplugin 2 0 Filter y D l Entw rfe search i d Standort Entwarte Q search N ken ZO O Phase nennen Nd Leede see DI cf L nn E Standorte Kn01 UBG Phase 1 Phase 2 Kn02 ZBG
73. HOCHSCHULE F R TECHNIK Conf d ration suisse D fz RAPPERSWIL ANTROSTBEIONE Svizzera Confederaziun svizra E H S R Schweizerische Eidgenossenschaft FHO Fachhochschule Ostschweiz EistCockpit Studienarbeit Abteilung Informatik Hochschule f r Technik Rapperswil Fr hjahrssemester 2012 Autoren David Sch ttl Diego Steiner Remo Waltensp l Betreuer Thomas Corbat Projektpartner Schweizer Armee Ristl Bat 20 Experte Prof Dr M Stolze Gegenleser 1 1 Dokumenteninformation Datum Version __ Anderung N Aorr UOO 07 06 2012 Erste Version des Dokuments 08 06 2012 Verzeichnisse hinzugef gt 08 06 2012 16 AbschiesendsReview de DD Verzeichnisse EistCockpit 2 256 1 2 Inhaltverzeichnis 1 1 DOKUIM NTENINFOLIMATION 0 eccecsecccseeeccsneeccsesecseeecsseeeessueessausessaesessnes 1 2 Jnbhalfiverzechns 0 seccssecccssecccsseeccseecsasccssusessausesseesessesessausessausessges 1 3 Abbildungsverzeichnis 11cccccccsseeececccsaeesecsssaneeecessaeeseessaaansneesaaas 1 4 TabellenverzeichniS ccccsceccccssecccccaeeececseesceesseeecesaueeeessneeeessaeeseeeas ABSTRACT eege 1 5 DOKUIM NTENINFOLIMATION 0 ccc cssecccssecccseeccseeecsseeecsseeesausessseeessneeeeaes LO PRD ST AGN EE MANAGEMENT SUMMARY ccceeceeesecssneeeeeeeeeeceeneneeeeeeseeeoeeens 1 7 Dokumenteninformation 0 ccc csseccceseccceseeccseeeecseeecsseeeesseessseeesseeesans 1 8 Management Summary
74. Hilfetext k nnte in separatem Fenster angezeigt werden Technischer Bericht Domain Analyse EistCockpit Tabelle 54 Heuristischer Test Meldung erfassen 138 256 6 6 2 2 Meldungs bersicht 2 Enger Bezug zwischen System und realer Welt 3 Nutzerkontrolle und Freiheit 4 Konsistenz amp Konformit t mit Standards 6 Besser Sichtbarkeit als Sicherinnern M ssen mere Tr ee diagnostizieren und zu beheben 2 Enger Bezug zwischen System und realer Welt 3 Nutzerkontrolle und Freiheit 4 Konsistenz amp Konformit t mit Standards 6 Besser Sichtbarkeit als Sicherinnern M ssen E 7 BESSE 8 E diagnostizieren und zu beheben Technischer Bericht Domain Analyse EistCockpit Spalten berschriften m ssen konsistent sein Hilfestellungen zu erwartetem Eingabeformat k nnte angezeigt werden Tabelle 56 Heuristischer Test Plugin Standorte 139 256 6 6 3 6 6 3 1 6 6 3 2 Papiertprototyp Test Einf hrung zu den Tests Wir m chten Sie herzlich willkommen heissen zu unserem Papierprototyp Test Nachfolgend haben wir zwei Szenarien vorbereitet dabei bitten wir Sie die Auftr ge laut vorzulesen bevor Sie mit den Aufgaben beginnen Zudem w ren wir froh wenn Sie uns Ihre Gedanken w hrend dem Test laufend mitteilen k nnten indem Sie einen inneren Monolog f hren Testszenarien Auftrag 1 Meldung erfassen Sie arbeiten w hrend Ihrer Dienstleistungspflicht in der Triage und sind veran
75. I U BYE BYE WK 2012 U CALANDA U TOY STUFF U COMBAT II Ei SMASH EM Operation Plugin UI Container Abbildung 46 Host Application Service Mockup Redesign Technischer Bericht Domain Analyse EistCockpit 147 256 6 6 4 2 Meldungs bersicht Redesign Entscheide Aktuelle Zeit bei der erweiterten Suche Note 1 H ufig werden die vergangenen Meldungen bis zum derzeitigen Zeitpunkt angezeigt Aus diesem Grund wird standardm ssig die gegenw rtige Zeit im Feld Zeit bis eingeblendet Kontextauswahl hinzugef gt Note 2 Da mit steigender Zahl von Meldungen die bersicht schnell verloren gehen kann wird auf eine weitere Kontext bersicht gesetzt Mit dieser zus tzlichen Ansicht k nnen alle Meldungen eines bestimmten Standorts oder einer Phase ausgew hlt werden Tab Namen Triage amp Eist wurden ersetzt durch bersicht amp Entw rfe Note 3 Die Bezeichnungen Triage amp Eist waren zu wenig aussagekr ftig stattdessen werden die beiden Begriffe bersicht und Entw rfe benutzt Wobei das Tab Entw rfe alle Meldungen enth lt welche noch nicht versandt wurden Konsistente Priorit tsbezeichnungen Note 4 Die Priorit ten sollten einheitlich gew hlt werden damit keine Verwirrung entsteht Alle Beschriftungen rechtsb ndig ausgerichtet Note 5 Diese Darstellung sieht moderner aus und f hrt zu klaren Linien was zu einer gr sseren sthetik der Oberfl che f hrt Schaltfl che f r
76. ID Lei functionID Navigation Properties SS Location E Person El Function Abbildung 29 Datenmodell Location Technischer Bericht Domain Analyse EistCockpit 118 256 6 5 3 1 Location Repr sentiert einen Standort Property FullName ShortName Description Address Contact OwnerAddress OwnerContact From To PersonResponsiblelD UnitID CoordinatelD OperationiD SlaveConnections MasterConnections Coordinate Operation Unit ResponsiblePerson Achievments Technischer Bericht Domain Analyse String Text Text Text Text Text Date Time Date Time Int Int Int Int Relation Relation Relation Relation Relation Relation Relation EistCockpit Beschreibung Eindeutige Identit t Der Vollst ndige Name eines Standortes Bsp Bronschhofen Der Kurzname des Standortes Bsp BRH Die Beschreibung des Standortes mit Ziel Zweck und Material Die Adresse des Standortes Die Kontaktinformationen zum Standort Bsp SE 235 SE 240 IMFS Fest oder Mobilnetznummer Die Adresse des Landbesitzers Die Kontaktinformationen des Landbesitzers Zeitpunkt zu welchem der Standort bezogen wird Zeitpunkt zu welchem der Standort verlassen wird ID der Person die f r den Standort verantwortlich ist ID der Einheit der der Standort zugeordnet ist ID der Koordinaten des Standortes ID der Operation der der Standort zugeordnet ist Die Menge der Verbindu
77. Im Zweifelsfall entscheidet Bataillonskommandant Major Hans Andrea Veraguth e Projektbeteiligten verpflichten sich Kentnisse ber Personen oder das System vertraulich zu behandeln Dieses Dokument wird von s mtlichen Projektmitgliedern sowie dem Projektauftraggeber unterzeichnet Accessibility Folgende Fragen wurden f r das kommende Kickoff Meeting aufgelistet e Was sind m gliche Einschr nkungen bzw Handicaps von Nutzern AdA welche bei der Entwicklung beachtet werden m ssen e Sind Personen mit Farbblindheit oder Rot Gr n Schw che trotzdem Diensttauglich Review Aufgabenstellung Die Aufgabenstellung wurde von rwaltens dschoett und dsteiner akzeptiert Pr sentationspunkte vorbereiten Vor der Erarbeitung der Pr sentationsfolien wurde kurz der Inhalt bzw der logische Aufbau definiert Die Traktanden f r das Kickoff Meeting und folgedessen der Pr sentation sind wie folgt Aufgabenstellung Vorteile f r das Ristl Bat Architektur Accessibility Nachfolgeregelung amp Maintenance St oe e 6 Projektplanung w hrend WK 7 Konsequenzen 8 Geheimhaltungs Erklarung A 5 Sitzungprotokoll 05 03 2012 19 00 A 5 1 Traktanden Anwesend dschoett rwaltens tcorbat dsteiner Hptm P Furrer Maj H A Veraguth Oblt B Helfenberger Abwesend e Aufgabenstellung e Vorteile f r das Ristl Bat e Architektur e Accessibility e Nachfolgeregelung amp Maintenance e Projektplan w hrend WK e Woche 1 e
78. Klarer Prozess beim Entgegennehmen von Meldungen gt Steigert Motivation von Benutzern Mitarbeitern Meldungen gehen nicht mehr verloren gt System verl sslicher Einarbeitungszeit f r neue Mitarbeiter k rzer aufgrund von hilfreichen Zusatzinformationen Problembeschreibung Problem Meldungen gehen verloren Mitarbeiter wissen nicht wie reagieren auf bestimmte Meldungen Meldungen sind unvollst ndig Beeinflusst wenn Die Mitarbeiter in der Triage sowie die Empf nger in der Eist TM Auswirkungen Empf nger m ssen wegen fehlenden Informationen nachfragen Triage Mitarbeiter muss Anrufer nochmals kontaktieren Erfolgreiche L sung w re effizient benutzerfreundlich zuverl ssig fehlerfrei einfach zu bedienen mit guten Zusatzinformationen versehen Tabelle 1 Problembeschreibung Produkt Positionsbeschreibung Die nachfolgende Tabelle zeigt kurz auf wie sich das Produkt ungef hr positionieren k nnte und mit welchen Schl sseleigenschaften es sich gegen bestehende Angebote abheben kann Zielgruppe Gr ssere Organisationen welche Meldungen entgegennehmen und effizient weiterleiten m chten Nutzen Chancen Effizientere zuverl ssigere sowie schnellere Verarbeitung von Meldungen Produktkategorie Meldesystem mit Erweiterungen Kaufgr nde usserst benutzerfreundlich kurze Einarbeitungszeit Effiziente Abwicklung Konkurrenzprodukte Positive Eigenheiten Bietet Zusatzinformationen f r Mitarbeiter in Call Center Ve
79. LocationsPlugin Test 20 tests Success EditLocationViewModelUnitTest 20 fests Success W BorderThicknessIsOne SUCCESS y CanSaveDataCorrectCase Success W CantSaveDatalnvalidCoordinate SUCCESS y CantSaveDatalnvalidLocation Success y CantSaveDataNoOperationSelected Success W CantSaveDataNoResponsiblePersonChoosen SUCCESS W CantSaveDataNoUnitChoosen Success W IsReadOnlyCaretvisibleReturnTrue Success ig IsReadOnlyReturnFalse SUCCESS wi IsReadWriteReturnTrue Success gf SavePressedEventlsCalledAfterSaving Success W SavingValidLocationPossible SUCCESS W ShowButtonSpinnerReturnTrue Success y StatusMessagelsSetAfterSaving Success Y UpdatevViewModelRefreshAvallablePersons SUCCESS wi UpdateviewModelRefreshAvailableUnits Success w UpdateViewModelWithNotPersistedLocation Success vw UpdateViewModelWithNotPersistedLocationHasNoRelation Success f Update ViewModelWithNulllocationNoRelations SUCCESS W UpdateviewModelwWithPersistedlLocationBuildAllRelations Success Abbildung 71 Unit Tests EditLocationViewModel Technischer Bericht Realisierung amp Test EistCockpit 195 256 9 3 2 3 EistCockpit Plugins MessagesPlugin Test MessageTest 7 vi 0 Et i Test 7 fests El MessageTest 7 fests yf CanCreate io w CanDestroy W HasCorresponingAttributes bw HasCurrentAndOriginalDTO e i LoadsRelations Abbildung 72 Unit Tests Message MessagesCollectionTest ab
80. Once the user has dragged and dropped all required GUI elements and loaded the description of web services from their WSDL files it is time to connect these elements and properties of the loaded services with arrows that specify the directions of data exchanges For example by drawing an arrow between the element Description of the PIE and the element optional of QE the user specifies that the data from the corresponding GUI element of PIE will be transfered to the GUI element of QE While it is possible to specify how to transform the data during exchange we do not consider these modifications in this paper for simplicity In addition the user specifies what action s should be performed on GUI elements and what methods of the web services to call to initiate data exchange For example clicking on the tab Invoice in PIE initiates the procedure for extracting invoices These actions are recorded as part of the Seles ProVenture Invoices The front end of Coins workflow which can be exported as for example a Business Process Execution Language BPEL program The resulting composite service is published by clicking on the button Publish as Web Service on the Coins toolbar Coins uses the information captured for each screen and input elements to generate Java code for the composite web service and deploy it to a web services platform such as Apache Axis When this service is called from a client the method operationl uses the
81. Person W TestCreateMessage ig Testlreste peration W TestCreatePerson W TestCreatePluginAccess y TestCreateService yf TestCreateUnit H TestDeleteAdminRoleWithID vw TestDeleteConfigurationWithID oy TestDeleteCoordinateWithID 4 TestDeleteFunctionWithID be vw TestDeleteLocationPersonWithID Sprints wurden die Methoden der Plugins sowie der 0 SUCCESS Success SUCCESS Success Success SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS Success Success SUCCESS Success Success SUCCESS W TestDeleteLocationsPersonsWithLocationID Success Be vw TestDeleteLocationsPersonsWithPersonID Success W TestDeleteLocationWithID gl TestDeleteMessageWithID gl TestDeleteQperationWithID yl TestDeletePersonWithID gl TestDeletePluginAccessWithID i TestDeleteServiceWithID H TestDeleteUnitwithID yf TestFunctionWithID w TestLocationsPersonsForLocationID ig TestLocationsPersonsForPersonID gt yf TestLocationWithID W TestMessage WithlD 4 TestOperationWithID i TestPersonWithID gt TestPluginAccessWithID W TestServiceWithID vw TestUnitwvithID W TestUpdateAdmink ole vw TestUpdateConfiguration ig TestUpdateCoordinate W TestUpdateFunction W TestUpdateLocation ig TestUpdateMessage W TestUpdateOperation W TestUpdatePerson vw TestUpdatePluginAccess W TestUpdateservice i wi TestUpdateUnit Abbildung 66Unit Tests D
82. Phase 1 Phase 2 RAPO1 WSN Phase 1 RAPO2 ZRH Prorat Statu Wann Meldungstext Betrifft _ Bearbeitet durch Standort W prose Pi 0270672012 Arant om Standort Sot Pvt Bones Kn01UBG_ Phone 2 Pig 020672012 SHF erreen Pvt FC Pvt Heyes Kn0TUBG_ KS ZRH LEE e detent E ret Heres E Phase 1 02 06 2012 Austausch angeordnet ETA Sgt Maj Phase 2 02 06 2012 R 905 angekommen Sgt Ricks e Barnes Kn01 UBG KH 02 06 2012 Droneniiberflug gesichtet Pvt Jackson Pvt Heyes Kn01 UBG g 02 06 2012 IMFS erreicht Pvt Barnes Kn01 UBG II 02 06 2012 Feindliche Einheiten greifen Pvt Heyes Kn01 UBG Priorit t Zeit von Abbildung 47 Messages Overview Mockup Redesign Technischer Bericht Domain Analyse EistCockpit 149 256 6 6 4 3 Meldungen erfassen Redesign Entscheide Integriertes Fenster wurde durch Modales Fenster ersetzt Note 1 Beim Erfassen der Meldungen werden weder die Kontextleiste noch die Suchleiste etc ben tigt Es handelt sich weitgehend um ein unabh ngiges Fenster daher wurde das Formular in ein eigenes Modales Fenster ausgelagert Zus tzlicher Hilfetext rechtsb ndig ausgerichtet Note 2 Diese Darstellung sieht moderner aus und f hrt zu klaren Linien was zu einer gr sseren sthetik der Oberfl che f hrt Sortierung nach Standortbezeichnung nicht nach Standortnummer Note 3 Die Standortnummer sagt zu wenig aus
83. Stao Info Kn Y m l KF Ym Kn Ym KF Ym KIYm mob KI Ym mob Stao Typ lt Stao Typ gt RAPw Ei Phase lt EiPhase gt RAP Pz IMFS Relais Allgemein RAPw RAP Pz Fk Relais Stao Bezeichnung Beschreibung Stao C IMFS Rel Fk Rel Ansprechperson Lage Koordinaten Adresse PLZ Erreichbarkeit Analog Festnetz SE 079 SE 235 IMFS 19 03 2012 12 10 36 Abbildung 97 IMFSViewer 2 0 POC entstanden im WK 2011 Ideen f r EistCockpit sind am entstehen Services Plugin Messages Plugin Locations Plugin Vom Umfang her war mir klar dass dieses System niemals w hrend eines WKs implementiert werden k nnte selbst wenn ich die ganze Zeit ber daf r abdetachiert w re Als Thema f r die anstehenden Semester und Bachelorarbeiten jedoch schien das Projekt perfekt Gegen Ende des WK 2011 hatte ich die Gelegenheit mit dem Kdt Stv Maj Im WK 2010 bekam ich dieses St ck Software zum ersten Mal zu Gesicht musste mich aber damals gl cklicher Weise nicht damit abgeben Dieses Unding welches eine Netz bersicht darstellt besteht aus einer Microsoft Access Datenbank Benutzereingaben haben nicht in einem UI sondern direkt auf den Datenbanktabellen zu erfolgen inkl der Koordinaten f r die Symbole in der Netz bersicht Gem ss ReadMe txt File wurde dieser Haufen aus VisualBasic Code von einem Soldaten w hrend des WK 2005 verbrochen Projekt Retrospektive EistCockpit 241 256 Veraguth ber die Projektid
84. Te F r wenietser Ama LT Meldung O R ckruf O Berrm verlassen O Stoo erreicht O Taz IMs TBZSHF O Antrag O Bestelng Weitere Informationen zur Meldung Pert L eier a Les Abbildung 38 Create Message Mockup Technischer Bericht Domain Analyse EistCockpit 135 256 bersicht Meldungen Eist Im Vordergrund der Meldungs bersicht stand sicherlich die bessere bersichtlichkeit sowie Such Filterm glichkeiten um die Meldungen nach bestimmten Kriterien auszuw hlen Dazu wurde die bersicht um eine Suchleiste und einen erweiterten Filter erweitert Der zweite Punkt welcher f r mehr Klarheit sorgen soll ist das Einr cken bzw Gruppieren von Meldungen anhand des Standorts Schaltn che Erweiterte Who Processed bn Status Sot Ricks Pvt Bornes e 2 Miber Ke per 02 06 2012 0547 02 06 2012 0623 02 06 2012 0732 Pvt Jackson Pvt Heyes Sgt Ricks Pvt Barnes z Sgt Picks Pyt Heyes ni Abbildung 39 Message Filter Mockup Drone Overfight spotted IMFS Reoched Enemy Troops ottockng 02 06 2012 0843 02 06 2012 0928 Technischer Bericht Domain Analyse EistCockpit 136 256 Plugin Standorte Die auff lligste Neuerung nach dem kognitiven Test ist sicherlich dass die Bearbeitung eines Standorts in einem modalen Fenster ausgef hrt wird Dies haupts chlich aufgrund der einfacheren Kontrolle da im Falle einer direkten Bearbeitung die Auswahl eines anderen Kontext
85. Technischer Bericht Realisierung amp Test EistCockpit Depth b m bu fo Bo A W M Fi bh A A FA k kk Fb k Fa m P Pd bh bh bh bh bh eeh bh He BR Wu E ad B DR BW 99 Class C 9 H H 33 35 Hierarchy Mainta Cyclo Lines of C Lines of C 0 18 18 7 207 256 9 6 3 6 AppConfigPlugin LIEU d u IE I Mainta 4 8 EistCockpit AppConfigPlugin Loader Debug E d EistCockpit Plugins AppConfigPlugin Loac U gt AppConfigPluginlnitializer P EF EistCockpit AppConfigPlugin View Debug 2 a G EistCockpit AppConfigPlugin ViewModel Det H 4 EistCockpit Plugins AppConfigPlugin View 3 gt AppConfigViewModel D A GeneralSettingsViewModel gt SettingsView b PluginAccessSettingsViewModel gt RolesSettingsViewModel gt Topic Abbildung 83 Metrics AppConfigPlugin Technischer Bericht Realisierung amp Test EistCockpit Cyclo 14 14 14 E 1 1 0 1 1 1 1 0 1 1 1 Class C 13 13 13 PICS RESUITS Min Depth Lines of C 17 17 17 0 398 398 24 0 144 208 256 9 6 4 Coding Conventions Generell gelten die Coding Conventions for CH 4 0 f r das EistCockpit 9 6 4 1 Formatierung F r die Formatierung eines Sourcecode Files verwenden wird die im Visual Studio verf gbare Format Code Funktion Ctrl E D Dies beinhaltet das Einr cken Zeilenl nge und di
86. Typen von Webservices zu entwickeln Nachfolgend werden Varianten f r Webservices beschrieben Aufgrund einer Nutzwert und Sensitivit tsanalyse wird sodann der Entscheid f r einen Typ von Webservice begr ndet Varianten Variante 1 WSDL SOAP WCF verwendet standardm ssig WSDL Web Services Description Language in Verbindung mit SOAP Simple Object Access Protocol f r die Bereitstellung eines Webservice und die Kommunikation damit Aufgrund der Metadaten zum Webservice welche durch WSDL beschrieben werden kann automatisch eine Clientimplementation des Webservice generiert werden Das XML basierte SOAP bietet mitunter durch XML Schemas definierte Validierungsm glichkeiten f r den Nachrichtenaustausch In einer Umgebung wo ausschliesslich NET Technologie zum Einsatz kommt funktioniert WSDL SOAP praktisch transparent Probleme tauchen erfahrungsgem ss dann auf wenn mit anderer Technologie als NEI darauf zugegriffen wird z B Mobile Clients auf Basis von iOS diese Probleme haben oft ihren Ursprung in den Schema Definitionen Der Einsatz von XML bei SOAP bringt Vorteile Gleichzeitig hat dies aber zum Nachteil dass die Gr sse einzelner Nachrichten verursacht durch XML Markup und Redundanzen in den Schemas in einem schlechten Verh ltnis zum Informationsgehalt steht Variante 2 REST JSON WCF unterst tzt bei entsprechender Konfiguration auch Webservices welche ber eine REST Representational
87. UI elements are passed as parameters to the invoked method or they are used to set properties of the web service before the method is invoked In addition the user specifies how to use the return values of the invoked method They can be put in the selected GUI elements of the GAPs or they can be displayed in message dialogs The user can select an action in response to certain return values of the invoked method Examples of these actions are terminating the GAP or going to the previous screen of the GAP whenever the latter action is possible IV ELEMENTS OF OUR SOLUTION A key solution is to use GAPs as programming objects and GUI elements of these GAPs as fields of these objects and to perform actions on these GUI elements by invoking methods on the objects that represent these GAPs Unfortu nately services cannot access and manipulate GUI elements of GAPs as pure programming objects because GUI elements only support user level interactions Accessibility technologies overcome this limitation by exposing a special interface whose methods can be invoked and the values of whose fields can be set and retrieved thereby controlling GUI elements that have this interface We give an overview of the accessibility technologies in the next Section IV A A Accessibility Technologies Accessibility technologies provide different aids to disabled computer users 4 Specific aids include screen readers for the visually impaired visual indicator
88. Woche 2 e Woche 3 e Konsequenz e Geheimhaltungs Erklarung e Fragen A 5 2 Aufgaben Nachstes Meeting Montag 12 03 2012 e Q Wie wird sichergestellt das auch in Zukunft der Code fur Erweiterungen etc zur Verfugung steht e A Vorschlage werden von dsteiner unterbreitet e Q Wer ist fur die kunftige Weiterentwicklung des Systems verantwortlich Risil Bat FU Br e A Momentan noch nicht von gravierender Wichtigkeit Fw Schottl wird noch mehrere Jahre im He Bat 20 dienen daher wird vorerst die Weiterentwicklung durch ihn im Rahmen der KVKs Wks erfolgen im Sinne eines spez Det e Q Wie verh lt sich System wenn Notizen nicht digital erfasst werden e A Frage muss w hrend der Analyse der IST Situation anhand von Interviews amp Personas gekl rt werden rwaltens amp dsteiner e Q Wie reagiert System bei Absturz des TEPLAS Server e A Es muss abgekl rt werden wie hoch die Verf gbarkeit des TEPLAS Server ist sowie ein Vorgehen im Falle eines Absturzes definiert werden A 5 3 A 5 4 A 5 4 1 A 5 4 2 A 5 4 3 A 5 4 4 e In den n chsten Tagen Interviews mit mehreren potentiellen Benutzern f hren R ckblick e Protokoll vom 05 03 12 14 00 Uhr muss noch abgenommen werden Protokoll Fragen zu den Anforderungen Besonders in hektischen Situationen werden oftmals Notizen nicht ber den digitalen Umweg bearbeitet Wie verh lt sich das System unter den gegebenen Umst nden e Es muss sicher
89. ab ob die Beteiligten Personen eine Geheimhaltungserkl rung unterzeichnen m ssen Infrastruktur Die HSR w rde einen Server Debian VM f r die Arbeit zur Verf gung stellen DST setzt die Infrastruktur bis Ende Woche auf Umfang und Erwartungen Ziel w re es dass der Umfang des Projektes f r eine BA reicht Falls sich abzeichnet dass der Umfang zu klein werden sollte wird der Umfang durch zus tzliche Features angepasst Meetings Die Regel soll ein Progress Meeting pro Woche stattfinden Als Wochentag wurde der Mittwoch um 15 00 Uhr bestimmt Andere Meetings werden je nach Bedarf jederzeit durchgef hrt Aufgrund des WKs wird das n chste Meeting am Freitag 24 02 2012 um 15 10 in der IFS stattfinden Rechte am Code Die Regelung der HSR sollte f r unseren Gebrauch gut geeignet sein Allenfalls muss das Projekt als Opensource lizenziert werden um die Transparenz zu gew hrleisten Andereseits unterliegt der Code vielleicht einer gewissen Geheimhaltung wobei dann eine geschlossene Lizenz zu gebrauchen w re TC kl rt noch ab was die Interne HSR Regelung angeht Bewertung Die Bewertung erfolgt mittels der Bewertungsmatrix von MS ber Formulierung und Gewichtung kann bis zur Ende der Arbeit diskutiert werden Von Vorteil w re eine kurze Video Pr sentation der Arbeit wobei aber noch abgekl rt werden muss ob das in unserer Umgebung mit Geheimhaltung m glich ist Abgabe Ein grosses PDF bzw 2 Technisch Management f
90. aben erfolgreich durchzuf hren Bedienbarkeit Die Benutzer haben nicht lange Zeit um sich mit der Applikation auseinanderzusetzen zudem sind die Computerkenntnisse sehr unterschiedlich Deshalb muss die Bedienbarkeit intuitiv einfach und zielf hrend sein Um dies zu erreichen sollen die am h ufigsten verwendeten Funktionen hervorgehoben werden und gut erreichbar sein Das System soll dem Benutzer ein unterst tzendes Gef hl vermitteln und ihn nicht mit erweiterten Funktionalit ten uberfordern Um diese geforderten Anforderungen zu berpr fen wird in der folgenden Bachelorarbeit ein Usability Test durchgef hrt heini12 Funktionale nicht funktionale Anforderungen http www anforderungsmanagement ch in_ depth vertiefung funktionale nicht funktionale anforderungen 06 06 2012 Technischer Bericht Anforderungen EistCockpit 102 256 5 5 3 3 9 9 4 9 9 4 1 9 9 9 5 5 5 1 5 5 5 2 Attraktivit t Die Attraktivit t spielt keine zentrale Rolle trotzdem soll sich das ussere Erscheinungsbild an dem Stil der vorhandenen Applikationen der Schweizer Armee anlehnen Effizienz Zeitverhalten In hektischen Situationen gehen viele Anrufe ein die in kurzer Zeit abgearbeitet werden m ssen Daher ist es wichtig dass Meldungen innerhalb von einer Minute erfasst werden k nnen nderbarkeit amp Wartbarkeit Analysierbarkeit Der Code sollte vollst ndig dokumentiert sein Anhand des dokumentierten Codes
91. accessibility interfaces to control and manipulate the GAPs and the web service to exchange information A short movie demonstrating how Coins works is available at our website www markgrechanik com It can be viewed inside the browser http www markgrechanik com Coins html or downloaded and played as an AVI file http www markgrechanik com Coins avi B Extending GAPs With Web Services Legacy GAPs may be required to support new business processes For example a new business procedure may require that users submit the information about entered and modified expenses to a web service that verifies these expenses using some business rules before saving these expenses in QE Since QE has been used for many years integrating it with the new service allows the business to achieve new functionality at a low cost Coins allows users to extend the functionality of GAPs by integrating them with web services The user connects GUI elements of QE with properties of the web service in the middle pane of Coins with arrows from the palette toolbox COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE thereby specifying how data is transferred from the GAP to the service Then the user selects a method of the web service and determines how to invoke it This method is invoked when a user performs some action on a GUI element e g clicks a button The values of G
92. ackup Wie wird Meldung entgegengenommen was muss alles gemacht werden Meldezettel ausf llen Gefechtsjournal Eintrag erstellen Was passiert mit diesen Meldungen Die Meldung wird der zust ndigen Gruppe zugestellt Wie viele Meldungen werden pro Stunde empfangen 5 bis 40 Wie ist der Umfang einer Meldung Lange Dauer eines Gespraches 10 Sekunden bis 3 Minuten Technischer Bericht Vorstudie EistCockpit 55 256 Wie ist der Ablauf beim Empfang Wie effizient l uft so ein Gespr ch ab Sehr hektisch und wenig Zeit Was sind die typischen Inhalte der Meldungen Status und R ckrufmeldungen Fehlt es dem Meldezettel an Optionen Meldezettel verrutscht schwierig zu beschreiben mit Maus Werte ausw hlen zus tzliche Option an bestimmte Person Was ist Ihre Meinung zum bisherigen System Gutes System reicht Kader nicht Was f r Verbesserungsw nsche h tten Sie am System Auswahl von bungen welche derzeit ablaufen Kompanien erfassen mit allen Leuten Standort von derzeitigen bungen Rollen bei System anschauen erfassen Fallback st ndlich ausdrucken Technischer Bericht Vorstudie EistCockpit 56 256 4 3 2 2 Triage Mitarbeiter 2 Aufgaben EBIS Erstellen Bereithalten Instandhalten Sicherstellen Wachtplane Arbeiten fur FGG3 Koordination der Planung von Ubungen Benotigter Input Meldungen aller Kompanien inkl Stab Werdegang Erfahrung Angefangen als IKP 2 WK IKP als UO 4 WK R
93. action declares a save point and the transaction is reset to its most recent save point in the event of a system crash restart 669 For server failure considering interactions are stateless simplified techniques could be used For example a basic mechanism that detects the fault and directs future requests to redundant servers Despite these mechanisms are not ca pable of tolerating faults while processing a request for the most RESTful web services it should be sufficient For a more robust solution one could use the proposal of F TWeb 11 The fundamental idea for the FT Web model is deploy ing the active replication technique to achieve fault tolerance in service oriented architecture 5 REFERENCES 1 R L Costello Building web services the rest way s d http www xfront com REST Web Services html access date March 2008 R Fielding Architectural Styles and the Design of Network based Software Architectures PhD thesis University of California Irvine USA 2000 J Gray The transaction concept Virtues and limitations In Proc Int Conf on Very Large Data Bases page 144 Cannes France Sept 1981 H F Korth E Levy and A Silberschatz A formal approach to recovery by compensating transactions In VLDB 90 Proceedings of the 16th International Conference on Very Large Data Bases pages 95 106 San Francisco CA USA 1990 Morgan Kaufmann Publishers Inc H T Kung and J T Robinson
94. ages and running on different platforms in a uniform way with a visualization mechanism that enables nonprogrammers to compose integrated systems by perform ing point and click drag and drop operations against closed and monolithic GAPs and web services Since accessibility technologies are present on major computing platforms to allow disabled users to access applications we utilize these technologies in our uniform mechanism of composing GAPs with each other We built a tool based on our approach and we used this tool to compose two closed and monolithic commercial GAPs with web services into an integrated system We describe our ex perience with this tool and measure and analyze performance characteristics of the created integrated systems The results suggest that our approach is efficient and effective II A MOTIVATING EXAMPLE E procurement systems EPS are critical since they influ ence all areas of the organization performance 7 Businesses employ elaborate EPSes that often consist of different GAPs assisting different steps of the purchasing process In EPSes the rule of separation of duty requires that operations be separated into different steps that must be done by independent persons agents in order to maintain integrity With the separation of duty rule in place no person can cause a problem that will go unnoticed since a person who creates or certifies a transaction may not execute it Implementing this rule results
95. ailure in processing the requests The goal of both clients is to transfer 50 from 12345 ac count to 98765 account Both accounts have initial balance of 500 The status code of HTTP 200 OK indicates that the server successfully executed the action requested by the client The status code HTTP 409 Conflict means that the client tried to put the resources in an inconsistent state The first step of each client is to get the representation of resources involved by sending an HTTP GET request to the banks Both clients get the first version of the accounts 12345 and 98765 See Figure 1 The balance of both ac counts is 500 Bank A account 12345 v1 4500 3 GET 1 GET 200 OK 200 OK account 12345 v1 account 12345 v1 4 GET 2 GET eg eg 720 OK account 98765 v1 ba 200 OK account 98765 v1 4500 Bank B account 98765 v1 500 Figure 1 Each client retrieves the accounts repre sentation A possible HTTP request message to retrieve account 12345 can be GET accounts account 12345 HTTP 1 1 Host bank com Below it is illustrated a response to a request for the ac count 12345 HTTP 1 1 200 OK Content Type application xml Content Length 142 lt xml version 1 0 encoding UTF 8 standalone yes gt lt account gt lt accountNumber gt 12345 lt accountNumber gt lt balance gt 500 lt balance gt lt version gt 1 lt vers
96. ake from five to fifteen seconds It means that for the GCO to be less than 10 its absolute value should be between 0 5 to 1 5 seconds which is consistent with the GCO of 1 4 second 7 2 Q o D o c S 1 200 400 600 800 1000 Number of Items Fig 4 Dependency of transfer time per item from the number of items transferred between GAPs using the batch exchange COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE which we measured in our performance experiment with the data transfer between IQE and IPIE Since GAPs consume significant CPU time for GUI painting when images and animations are included using these appli cations for integrated systems may not be possible for perfor mance reasons In practice clients use composite web services as integrated systems via the Internet and these services use GAPs via the LAN From this perspective the performance penalty incurred by using GAPs is minimal since the low level communication mechanisms such as transmission marshaling and unmarshaling network data have the largest overhead common to all solutions E Limitations In general Coins may not work well with GAPs whose GUIs are frequently modified since it would require users to regenerate integrated systems to adjust for new GUIs However the number of such GAPs is small and most GUIs are stabl
97. angt den f r die FGG3 zust ndigen Offizier Weiter gibt er seinen aktuellen Standort an und bittet Frank dem zust ndigen Offizier eine Meldung auszuh ndigen ihn sobald wie m glich ber die folgende IMFS Telefonnummer zu kontaktieren 0110 0382 Frank geht Punkt f r Punkt durch das Meldeformular der EistCockpit Anwendung dazu tr gt er den Standort den zust ndigen Offizier sowie den Meldungstyp R ckruf ein Als er das Telefon beendet hat versucht er die Meldung zu speichern was aber vom System unterbunden wird da die R ckruf Nummer nicht angegeben wurde Deshalb schreibt er noch kurz die Natelnummer in das vorgesehene Feld und speichert die Meldung Der Benutzer vergisst einzelne Felder auszuf llen Meldungen werden immer vollst ndig ausgef llt Typ der Meldung wird klar definiert Soll Szenario 3 R ckruf erw nscht Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Die Software ist gestartet und Frank bereit f r die Aufnahme einer Meldung Anruf eines Stao Chefs an die Triage Es geht ein Anruf ein der Frank umgehend entgegennimmt Parallel l uft das Programm EistCockpit mit welchem er direkt den Namen des Anrufers erfasst Die Applikation bietet ihm dazu alle im Batallion registrierten AdA zur Auswahl an W hrend dem Gespr ch kann er zudem direkt den Standort w hlen es werden ihm dazu die gegenw rtigen erfassten Standorte vorgeschlagen Anschliessend muss er
98. ansaction The last test was run with IQE and IPIE whose GUIs contained different multimedia elements e g animations and bitmaps We report an average time per transaction for each test Experimental results from evaluating how much perfor mance penalty these GAP based data transfers incur versus pure programmatic ones are shown in Figure 3 The vertical axis shows the average time in seconds per data exchange transaction and the bars correspond to the tests The fastest transaction takes on average 0 8 seconds when no GAPs are used that is the data is passed purely programmatically between IQE and IPIE libraries The performance drops when GUI elements of IQE are used to encapsulate the functionality required to transfer the data The average time per transaction increases to 2 2 from 0 8 which is 175 increase The dif ference between these average transaction times is 1 4 second which we attribute to the overhead of the GUI computations The situation worsens for the third test when the GAP is required to restart every time the data exchange is performed The overhead associated with restarting of the GAP increases the average time per transaction to 4 6 seconds Finally IE COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE when the GAP uses multimedia images and animations the performance becomes worse taking on the average time per transaction 7 2
99. as Projekt investierten Zeit habe ich viele Erfahrungen sammeln k nnen speziell im Umgang mit dem NEI Framework 4 0 sowie im Bereich des Projektmanagements mit SCRUM Zudem konnte ich bei kniffligen Problemen oder Bugs die ich selber auch nach l ngerem recherchieren und analysieren nicht l sen konnte auf ein versiertes erfahrenes Team zur ckgreifen Das war f r mich sehr wertvoll da ich durch die Inputs von meinen beiden Teamkameraden immer wieder etwas lernen konnte auch wenn es nur neue Ans tze waren ein Problem zu l sen Gut fand ich auch die fest eingeplanten Teammeetings am Montagnachmittag da man dort das gemeinsame weitere Vorgehen besprechen sowie allf llige Schwierigkeiten zusammen diskutieren konnte Auf der anderen Seite h tte ich es gesch tzt wenn es mehr gemeinsame Arbeitszeiten gegeben h tte Das ist wom glich auch eine Ursache f r einige kleinere Inkonsistenzen da mehrheitlich die Arbeit unabh ngig voneinander verrichtet wurde Dies f hrte in meinem Fall auch zu gr sseren Refactorings da zum Beispiel erst relativ sp t erkannt wurde dass eine Klasse zu viele Funktionen bernahm und daraus eine tiefe Koh sion resultierte Ein spannender Teil der Studienarbeit war sicherlich der vierw chige Wiederholungskurs der Schweizer Armee in Beckenried welcher mir einen Einblick in die Abl ufe der Triage Eist Tm erm glichte W hrend dieser Dienstleistung konnten wir direkt vor Ort die Anforderungen an das zu entwick
100. ation J Electron Commerce Res 4 4 140 155 2003 9 C Ferris and J A Farrell What are web services Commun ACM 46 6 31 2003 10 M Grechanik D S Batory and D E Perry Integrating and reusing GUI driven applications In JCSR pages 1 16 2002 11 J R Larus and E Schnarr EEL Machine independent executable editing In PLDI pages 291 300 1995 12 R C Miller End user programming for web users In End User Development Workshop Conference on Human Factors in Computer Systems 2003 13 R C Miller and B A Myers Integrating a command shell into a web browser In USENIX Annual Technical Conference General Track pages 171 182 2000 14 B A Myers User interface software technology ACM Comput Surv 28 1 189 191 1996 15 W Zhao B R Bryant C C Burt R R Raje A M Olson and M Auguston Automated glue wrapper code generation in integration of distributed and heterogeneous software components In EDOC pages 275 285 2004 2 Axis 1 2 Lal E Wikipedia 4 http www access 5 6 Lal 7 IEE COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE An Optimistic Technique for Transactions Control using REST Architectural Style Luiz Alexandre Hiane da Silva Maciel Instituto Tecnol gico de Aeronautica ITA Pra a Marechal Eduardo Gomes 50 Vila das Aca
101. ber 90 liegen Anhand der folgenden Screenshots wird ersichtlich dass die geforderten Werte erf llt werden konnten 9 3 3 1 EistCockpit Testing dsteiner PIN1262030 2012 06 06 1309 26 1 X Hierarchy Not Cover Not Cover Covered Covered 4 ees 32 06 06 13006 39 337 ue m 4 Zi EistCockpit DAL dll 39 317 1193 96 83 4 EistCockpit DAL 39 3 17 1193 96 83 a EistCockpitDAL 39 317 1193 96 83 AdminRoleWithlD int64 1 5 56 17 94 44 Admin Roles 0 0 00 5 100 00 ConfigurationWithID int64 1 5 56 17 94 44 Configurations 0 0 00 5 100 00 CoordinateWithID int64 1 5 56 17 94 44 Coordinates 0 0 00 5 100 00 CreateAdminRole string int64 0 0 00 9 100 00 CreateConfiguration int64 0 0 00 8 100 00 CreateCoordinate int64 valuetyp 0 0 00 14 100 00 CreateFunction string string 0 0 00 9 100 00 CreateLocation string string stri 0 0 00 20 100 00 va CreateLocationPerson int64 int6 0 0 00 10 100 00 CreateMessage int64 int64 value 0 0 00 21 100 00 CreateOperation string valuetyp 0 0 00 10 100 00 CreatePerson valuetype EistCoc 0 0 00 19 100 00 CreatePluginAccess string bool i 0 0 00 10 100 00 CreateService string string value 0 0 00 11 100 00 CreateUnit string valuetype Syst 0 0 00 9 100 00 DeleteAdminRoleWithlD int64 0 0 00 20 100 00 DeleteConfigurationWithID int64 8 12 50 56 87 50 va DeleteCoor
102. bjektorientierte Programmiersprache welche besondere St rken im Bereich Netzwerk zu verzeichnen hat Des Weiteren bietet Java diverse Frameworks f r die server wie auch clientseitige Entwicklung an url5 Active Directory http en wikipedia org wiki Active Directory 28 05 2012 Beispiele f r solche Gruppen werden hier aus Gr nden der Geheimhaltung nicht genannt Zitate aus eMail vom 28 11 2011 zwischen Hptm Michael Kl tzli und Gfr Thomas Corbat Technischer Bericht Entwurf EistCockpit 157 256 7 2 3 3 7 2 3 4 Java ist zudem plattform bergreifend d h eine Java Applikation kann auf jedem Betriebssystem ausgef hrt werden dies jedoch unter der Voraussetzung dass eine Java Runtime installiert ist Variante 2 C amp NET 4 0 Die objektorientierte Programmiersprache C wird standardm ssig f r die professionelle Entwicklung unter Windows verwendet Gleiches gilt f r das NET Framework welches umfangreiche Unterst tzung in jeglichen Belangen bietet C wurde sp ter als Java entwickelt z T unter Anlehnung an Java z B Syntax Die Sprache wurde fortw hrend weiter entwickelt und ist mittlerweile um einiges m chtiger als Java Applikationen welche unter der Verwendung des NET Frameworks entwickelt wurden k nnen nur auf Windows Systemen ausgef hrt werden dabei muss die entsprechende NET Version auf dem System installiert sein Entscheid Variante 2 F r die Entwicklung von E
103. cannter Prototyp V1 bersicht Meldungen Diese Ansicht wird prim r in der Einsatzstelle Telematik Eist Tm verwendet Es erm glicht dem Benutzer die Anzeige aller aktuellen Meldungen siehe Abbildung 41 Paper Prototype Message Overview Sch PU al e HS S WE LOTA g WK 2042 Pir U CALANDA U caRpiwac Es U LuPus IT re e DEE KE er ihn LS banet CE It kap iert 06 37 EN Akt e AM GER d gt LS punon 7 50 E i Acht SH Ki LCE LX sum erg Kries A Year Hay Bebe I Fr per wu JE ER rn Ee Seas es 22 we 7 ele oe B u DOTARE Abbildung 41 Paper Prototype Message Overview Technischer Bericht Domain Analyse EistCockpit 142 256 Formular Meldungen erfassen Dieses Formular dient dazu Meldungen in wenigen Schritten zu erfassen Dabei wird unterschieden zwischen dem Senden einer Meldung und dem Zwischenspeichern Beim Zwischenspeichern werden die Meldungen in einer Sandbox aufbewahrt und k nnen so sp ter fertig ausgef llt werden siehe Abbildung 42 Paper Prototype Create Message ac 5 al HS g Wt Lota ai a WK 242 Pir V an oome U CARDINAL Ges Sara EU Ten fon ame Ur ceREVIStA we echt an kd ME mn E E Melding D Bakes O Barm velas Stee recht TSE Mts TB SHF Aen O Se klka a Secon L HO Ei POTARE Bape er a Abbildung 42 Paper Prototype Create Message Technischer Bericht Domain Analy
104. cess EistCockpit LocationsPlugin Test 24 tests Success ShowLocationViewModelUnitTest 24 tests W AddLocationEventNewPressedCalled SUCCESS W BorderThicknessIs7ero SUCCESS W CanRemoveValidLocation SUCCESS iy CantAddLocationNoOperationSelected Success yf CantEditlfNoLocationSelected Success y CantEditlfNullLocation Success w CantRemoveLocationNotPersisted Success W CantRlemoveLocationNull Success y EditLocationEventEditPressedCalled SUCCESS w IsReadOnlyCaretvisibleReturnFalse Success y IsReadOnlyReturnTrue Success w IsReadWriteReturnFalse Success vw RemoveLocationDeletsLocationInDb Success Y RemoveLocationEventhemovePressedCalled SUCCESS vw RemoveLocationStatusMessagelsPrinted Success vw ShowButtonSpinnerReturnFalse Success lyf UpdateLocationsEmptylfNoServiceAndOperation Success W UpdateLocationsGetNewLocationFromDb Success vw UpdateLocationsRemoveLocationWithNoOperation Success y UpdateLocationsWithNoDuplicates Success ty UpdateViewModelNullLocationCallsLocationNotSelected Success yf Update ViewModelNullLocationLeadsToNotSelected Success w UpdateViewModelValidLocationCallsLocationSelected Success i w Update ViewModelValidLocationLeadsToSelected Success Abbildung 70 Unit Tests ShowLocationViewModel Technischer Bericht Realisierung amp Test EistCockpit 194 256 EditLocationViewModelUnitTest wl lt EistCockpit LocationsPlugin Test 20 tests Success EistCockpit
105. cessing and controlling GAPs in a uniform way with a visualization mechanism that enables nonprogrammers to compose integrated systems by performing point and click drag and drop operations on GAPs and web services We built a tool based on our approach and using this tool we created an integrated application that controls two closed and monolithic commercial GAPs and third party web services Our evaluation suggests that our approach is effective and it can be used to create nontrivial integrated systems by composing GAPs with each other and web services I INTRODUCTION Integrated applications consist of components that exchange information i e to interoperate 5 Building integrated ap plications is difficult and expensive since in addition to build ing components of these applications programmers should define protocols and implement the functionality for data exchanges between these components Components of integrated applications include Graphical User Interface GUI APplications GAPs and web services Organizations use legacy GAPs to assist business operations However it is difficult to interoperate GAPs because many of them are closed and monolithic and they do not expose any programming interfaces or data in known formats Thus while it is desireable to use GAPs as components in integrated applications it is often difficult to add functionality to GAPs to enable them to interoperate with other applications Web serv
106. ch stehen nat rlich noch normale B routensilien wie Stifte Radiergummis Klebeband etc zur Verf gung Abbildung 5 Arbeitsplatzskizze Auff lligkeiten 1 Plakate mit Informationen zu aktuellen bungen Zu jeder bung die momentan gerade l uft existiert ein Plakat auf dem die Standorte der Truppen sowie weiteren Informationen eingetragen sind Die Triage Mitarbeiter benutzen diese Informationen eher sp rlich aber es kann vorkommen das man den n chstgelegenen Stao ausfindig machen muss 2 Telefonliste Auf der Telefonliste sind die Nummern der wichtigsten Personen in der ZSA aufgelistet Neben der an der Wand aufgeh ngten Liste liegt auch noch eine Kopie auf dem Tisch selber da diese sehr frequent benutzt werden Technischer Bericht Vorstudie EistCockpit 62 256 4 3 3 3 3 Notizblock Der Notizblock dient dem Mitarbeiter dazu zus tzliche Informationen zu notieren Beispiel daf r k nnte ein vom Zellenchef erteilter Telefonauftrag sein oder ein Entwurf eines Meldezettels der noch ins Reine geschrieben werden muss 4 Meldezettel Beim Meldezettel handelt es sich um das elementare Artefakt bei der Erfassung von Meldungen Es steht zu jeder Zeit ein B ndel Meldezettel bereit Siehe Error Reference source not found 5 Telefon In der Triage bestehen drei Telefonleitungen somit k nnen zur gleichen Zeit drei Anrufe entgegengenommen werden Beim Telefon handelt es sich um ein speziell f r milit r
107. chnischer Bericht Realisierung amp Test EistCockpit 198 256 9 4 Systemtests Resultate F r die Systemtest wird das Naheliegenste der folgenden Resultate ausgew hlt e Ok Test erfolgreich e Failed Test gescheitert e NI Nicht implementiert Technischer Bericht Realisierung amp Test EistCockpit 199 256 9 4 1 Technischer Bericht Realisierung amp Test Sprint 1 14 05 2012 Beschreibung Resultat Testperson Webservice starten Der Webservice startet und im Browser ist die bersicht angezeigt Clientplugins laden Die in den Plugins komplilierten DLLs werden geladen und im entsprechenden Bereich angezeigt Clientplugins ausw hlen Im daf r vorgesehenen Bereich k nnen die Plugins ausgew hlt werden Hostplugins anzeigen In dem daf r vorgesehenen Bereich werden die geladenen Hostplugins angezeigt Hostplugins ausw hlen Ausgew hlter Service anzeigen Wenn ein Service ausgew hlt wird wird in der Statusleiste Diese angezeigt Operation anzeigen Im Serviceplugin wird eine bersicht der Operationen unter den entsprechenden Dienstleistungen angezeigt Operation ausw hlen Im Serviceplugin kann eine Operation ausgew hlt werden Ausgew hlte Operation anzeigen Wenn eine Operation ausgew hlt wird wird in der Statusleiste Diese angezeigt Messages anzeigen Im MessagesPlugin wird eine bersicht der Meldungen angezeigt MessageFilter anzeigen Im MessagesPlu
108. cht Vorstudie EistCockpit 74 256 4 4 4 4 1 Behaviour Pattern F r die Erstellung der Persona Linien und Interview Punkte haben wir s mtliche Interviews ausgewertet Anhand der gewonnen Erkenntnisse wurden danach essentielle Verhaltensvariablen definiert Die befragten Personen wurden in einem weiteren Schritt nach ihren F higkeiten auf einer Skala eingetragen Interview Punkte Bezeichnung Person A Triage Mitarbeiter Sdt M ller u EE a Ces es a z EE s Ss e nr Tr nn Tabelle 36 Interviewpartner Technisches Knowhow gt og klein AI gross Technisches Know How Abbildung 11 Technisches Know How Motivation w hrend Arbeit cc klein gross Motivation w hrend Arbeit Abbildung 12 Motivation w hrend der Arbeit Zufriedenheit mit aktuellem Ablauf co klein Er Zufriedenheit mit aktuellem Ablauf Abbildung 13 Zufriedenheit mit aktuellem Ablauf Effizienz bei der Arbeit gt Q klein ann wy gross Effizienz bei der Arbeit Abbildung 14 Effizienz bei der Arbeit Technischer Bericht Vorstudie EistCockpit 75 256 Erfahrungen in diesem Bereich O Q 7 gt klein a a E Erfahrungen in diesem Bereich Abbildung 15 Erfahrungen in diesem Bereich Regelm ssigkeit der Verwendung gt op selten III h ufig Regelm ssigkeit der Verwendung Abbildung 16 Regelm ssigkeit der Verwendung Genauigkeit Ausf hrlichkeit Meldezettel O 601 oberfl
109. cias CEP 12228 900 Sao Jose dos Campos SP Brasil luizhiane gmail com ABSTRACT SOA is a service oriented architecture that allows develop ment of software with interoperability and weak coupling Nowadays WS is the most used SOAP based specifica tion set for constructing web services REST is an archi tectural style that permits the development of services in a simpler way and obeys the SOA s paradigm however it does not provide standardized support to address some non functional requirements of services for instance security reliability transaction control This article proposes a tech nique based on REST to support the web services trans actional control implementation The technique uses the optimistic method to control distributed systems transac tions An example of application was implemented to show its feasibility Categories and Subject Descriptors D 2 11 Software Engineering Software Architectures Patterns H 4 Information Systems Applications Mis cellaneous General Terms DESIGN EXPERIMENTATION Keywords Architectural style concurrency control REST transaction web services 1 INTRODUCTION The Service Oriented Architecture SOA has been gain ing attention due to the ability to build interoperable and loose coupled distributed applications SOA enables soft ware components reusability so that new applications can be developed by composing existing components SOA pro Per
110. ck 9 6 6 3 WPFToolkit Extended Autor Version Quelle Lizenz Verwendungsorte Zweck Technischer Bericht Realisierung amp Test Microsoft http www microsoft com 4 0 0 0 http www microsoft com germany net net framework 4 aspx EULA Gesamter EistCockpit Namespace Das net Framework ist das Fundament und die Bausubstanz des EistCockpit Tabelle 66 Library NET Framework SQLite org 1 0 66 0 http system data sqlite org Public Domain http sqlite org copyright html e EistCockpit DAL e SQLite Prototyp e ExampleDataGenerator Wie aus den Designeintscheidungen aus dem Dokument Entwurf hervorgeht wird fur das EistCockpit SQLite als Datenbank verwendet Um Diese jedoch zweckm ssig einsetzen zu k nnen bedarf es dieses Datenbanktreibers f r das Entity Framework EF Tabelle 67 Library SQLite Xceed http www codeplex com site users view Xceed 1 6 0 http wpftoolkit codeplex com Microsoft Public License http wpftoolkit codeplex com license e EistCockpit Plugins MessagesPlugin View e EistCockpit Plugins LocationsPlugin View e EistCockpit Plugins AppConfigPlugin View Die Standart WPF Controls von net 4 0 enthalten zwar einen Datepicker jedoch fehlt eine einfache M glichkeit dar ber auch die Zeit einzugeben Das WPF Toolkit enth lt dieses und weitere n tzliche Controls Tabelle 68 Library WPFToolkit Extended EistCockpit 211 256 9 6 6 4 Microsoft Extensibil
111. consis tent when undoing a transaction 4 The presented procedure fits in REST style because all resources have a common interface It is possible to suggest a mapping between the actions of possible compensation and the set of basic operations that can be used to handle a REST resource In the paper proposal considering the four operations CRUD the possible compensations are e If the client creates a resource the corresponding com pensation operation is the act of erasing the created resource e If the client changes state X of a resource to state Y the compensation operation is the act of undoing the change using preferably the delta between X and Y e If the client deletes a resource the corresponding com pensation operation is the act of recreating the re source in the same state it was deleted 668 The read operations require no compensation The client has the responsibility for both control and manage the oper ations of compensation when something goes wrong Every state of the application remains on the client who is respon sible for deciding to start the compensation when necessary Despite the mapping of compensating operations above it is worth to note that compensation is an application dependent activity 4 For example the application s se mantic defines if the commutativity can be reached in order to apply the compensation recovery paradigm Therefore the suggested mapping has not the inten
112. dar und ist verantwortlich f r das Binden und Laden der Plugins Message Bei diesem Projekt handelt es sich um ein Beispiel Plugin welches den Importvertrag bzw die Schnittstelle implementieren muss damit es korrekt eingebunden werden kann Grunds tzlich existieren zwei User Controls in diesem Projekt eines wird f r die Schaltfl che und das zweite f r den Plugin Inhalt verwendet Tabelle 60 Projektstruktur Prototyp MEF Plugin Sequenzdiagramm Laufzeitimport von Plugins Das folgende Sequenzdiagramm zeigt den programmatischen Ablauf der beim Start der Applikation durchgef hrt wird Es handelt sich dabei um eine leicht vereinfachte Darstellung da einzelne f r das Laden des Plugins nicht relevanten Anweisungen weggelassen wurden Technischer Bericht Prototypen EistCockpit 183 256 sd Dynamic View OnStartup e Compose DirectoryCatalog pluginPath I catalog AggregateCatalog AggregateCatalog EE ee Se AN Ee T I Plug Ins werden l l l l i Catalogs Add directoryCatalog gebunden l l l l I x x x container CompositionContaine KEO EEE ER CompositionContainer catalog tue _________S l CreateFileSystemWatcher y X 0 ileSystemWatche H l E EE y l x e MainWindow Windo Ze _ _ Window _ OnlmportsSatisfied gt refresh WindowWithAllPlugins Sobald neue dl im Ordner hinzugekommen ist wird EventHandler OnChanged ausgel st
113. den Tisch Circa zwei Stunden sp ter kommt wie erwartet die erhoffte Meldung Frank meldet dies dem Offizier welcher sich f r die schnelle Information bedankt Am sp ten Nachmittag kommen noch ein paar weitere Anrufe herein die alle ordnungsgem ss abgearbeitet werden Kurz vor dem Abendessen erh lt Frank noch den Auftrag ein Dokument an eine andere Kompanie zu faxen Nach dem Fax kommt ein Kamerad der ihn aufmerksam macht dass es Zeit f r das Abendessen ist Zusammen rekapitulieren sie nochmals kurz den Arbeitstag w hrend der Einnahme des Abendessens und unterhalten sich locker Nach dieser kurzen Pause macht er sich noch an die Tagesschlussetappe bis zum Schichtwechsel um 22 Uhr W hrend dieser Zeit sind keine aussergew hnlichen Meldungen mehr hereingekommen Gegen zehn Uhr am Abend kommt wie geplant die Abl sung welche die Nachtschicht bernehmen wird Ab diesem Zeitpunkt hat Frank den verdienten Feierabend erreicht Er macht sich auch schon bald bereit um schlafen zu gehen Technischer Bericht Vorstudie EistCockpit 81 256 4 5 1 2 Ist Szenarien Ist Szenario 1 Nachricht entgegennehmen Ausgangssituation Ausl ser Schritte Probleme Ziele Frank ist in der Triage am Arbeiten und wartet auf den n chsten Anruf Seinen Meldezettel hat er bereitgelegt dass er bei einem Anruf direkt Notizen machen kann Anruf eines Stao Chefs an die Triage Frank nimmt das Telefon entgegen und schreibt alle ben tigten Informatione
114. die Anforderungen bez glich der Features und der Benutzeroberfl che abzuleiten Identifizierte Interviewpartner Grunds tzlich existieren zwei Gruppen von Benutzern die Personen welche in der Triage arbeiten sowie die AdA der Eist Tm F r die erste Gruppe Triage wurden folgende drei Personen bestimmt e Sdt Meier Plant Richtstrahlverbindungen sowie Adressierungspl ne e Obwm Moser Chef der Triage Gruppe Koordiniert bungen e Wm M ller Gruppenf hrer Planungsgruppe Aus der zweiten Gruppe Eist Tm haben wir den nachstehenden Interviewpartner angefragt e Hptm Schmid Leiter FGG 3 S3 4 3 1 2 Termine e Interview Di 28 02 2012 21 30 Uhr Sdt Meier e Interview Di 28 02 2012 22 15 Uhr Obwm Moser e Interview Di 28 02 2012 22 15 Uhr Wm Muller e Interview Mi 21 03 2012 21 00 Uhr Hptm Schmid Technischer Bericht Vorstudie EistCockpit 53 256 4 3 1 3 Spannende Verhaltensvariablen e Technisches Knowhow e Motivation w hrend Arbeit e Zufriedenheit mit aktuellem Ablauf e Effizienz bei der Arbeit e Erfahrungen in diesem Bereich e Regelmassigkeit der Verwendung e Genauigkeit Ausfuhrlichkeit Meldezettel e Militarisches Strategisches Denken e Auffassungsgabe e Fachliche Kompetenz Eist Tm 4 3 1 4 Rollenmatrix Die nachfolgende Tabelle macht ersichtlich in welchen Bereichen eine Benutzerbefragung angebracht w re Triage Mitarbeiter Stabsmitarbeiter Beobachtung sehr wichtig Keine Beobachtung weni
115. dinateWithID int64 0 0 00 20 100 00 DeleteFunctionWithID int64 0 0 00 20 100 00 DeleteLocationPersonWithID int 0 0 00 34 100 00 DeleteLocationWithID int64 4 8 70 42 91 30 DeleteLocationsPersonsWithLoc 0 0 00 23 100 00 DeleteLocationsPersonsWithPer 0 0 00 23 100 00 DeleteMessageWithlD int64 0 0 00 20 100 00 DeleteOperationWithID int64 4 9 52 38 90 48 DeletePersonWithID int64 0 0 00 22 100 00 DeletePluginAccessWithID int64 0 0 00 20 100 00 vo DeleteServiceWithID int64 4 9 52 38 90 48 DeleteUnitWithID int64 8 12 50 56 87 50 FunctionWithID int64 1 5 56 17 94 44 Functions 0 0 00 5 100 00 LocationWithlD int64 1 5 56 17 94 44 Locations 0 0 00 5 100 00 LocationsPersons 0 0 00 5 100 00 za LocationsPersonsForLocationID 0 0 00 15 100 00 LocationsPersonsForPersonlD in 0 0 00 15 100 00 MessageWithlD int64 1 5 56 17 94 44 Messages 0 0 00 5 100 00 OperationWithlD int64 1 5 56 17 94 44 Operations 0 0 00 5 100 00 amp PersonWithlD int64 1 5 56 17 94 44 Persons 0 0 00 5 100 00 PluginAccessWithID int64 1 5 56 17 94 44 PluginAccesses 0 0 00 5 100 00 ServiceWithID int64 1 5 56 17 94 44 Services 0 0 00 5 100 00 UnitWithID int64 1 5 56 17 94 44 Units 0 0 00 5 100 00 ze UpdateAdminRole class EistCoc 0 0 00 24 100 00 UpdateConfiguration class EistC 0 0 00 22 100 00 U
116. duktperspektive Bei dem zu entwerfenden System handelt es sich um ein weitgehend autarkes System Lediglich eine Anbindung an das Active Directory soll realisiert werden damit erfasste Personen einfach ausgew hlt werden k nnen In einem weiteren Schritt werden dann eventuell weitere Systeme integriert wie z B das Tool zum Anzeigen des Netzplan BPL oder ein Modul zum Erstellen von Wiki Seiten Zusammenfassung Produktf higkeiten Kundennutzen Unterst tzende Produkteigenschaften bersicht ber alle aktuellen Meldungen Meldungen werden solange sie noch nicht geschlossen wurden bersichtlich dargestellt und k nnen gefiltert werden Erreichbarkeit von Personen sichtbar Beim Eintreten oder Verlassen der Anlage wird vom Personal der Erreichbarkeitsstatus angepasst Mitarbeiter m ssen nicht mehr pers nlich die Die Meldung wird im System erfasst und den Meldung dem Empf nger berbringen zust ndigen Personen hnlich wie per Mail bermittelt Anrufer die bereits mehrmals telefoniert Mittels einer History zur bersicht von den haben k nnen an vorhergehenden Meldungen der letzten Stunde Mitarbeiter weitergeleitet werden Empf nger erh lt Meldung vollst ndig und Durch Validierungsprozesse der Software ohne Umwege wird sichergestellt dass die Meldung vollst ndig erfasst wird Meldung kann an mehrere Adressaten Das System erlaubt es nicht nur einen bermittelt werden sondern auch mehrere Empf nger gleichzeitig zu definier
117. dungen Karten etc Messages Plugin Das Messages Plugin ist ein Operation Plugin und bietet Zugriff auf die erfassten Nachrichten f r eine Operation Weiter werden umfangreiche Filter und Such M glichkeiten angeboten App Config Plugin Das App Config Plugin ist ein spezielles Host Plugin welches die Verwaltung der Konfigurationsdaten der Applikation erm glicht Die Konfigurationsdaten werden serverseitig in der Datenbank gehalten da diese Einstellungen f r alle Instanzen der Applikation gelten e Allgemeine Einstellungen e Rollenverwaltung f r Administrativ Rechte e Zugriffsverwaltung f r die einzelnen Plugins Der Zugriff auf dieses Plugin setzt Administrativ Rechte voraus diese werden automatisch der ActiveDirectory Gruppe Administrators gew hrt Service Manager Plugin Das Service Manager Plugin ist ein Host Plugin welches die Erfassung von Dienstleistungen und deren Operationen erm glicht Der Zugriff auf dieses Plugin setzt Administrativ Rechte voraus Layers Das Projekt verwendet die nachfolgend beschriebenen Layers Es ist dabei zu beachten dass sich die Schichten auf einen Server und einen Client Teil aufteilen Technischer Bericht Entwurf EistCockpit 168 256 Views XAML View Models Service Model WCF Business Model Data Access Layer Abbildung 53 EistCockpit Layers 7 3 2 1 Views XAML Der View Layer enth lt UI Komponenten wie Fenster Dialoge User Controls etc Die Def
118. e long duration it makes no sense to prevent access to data that have not yet been committed forcing other transactions to wait until the transaction that is running commits 4 Therefore it is possible that partial results of the transac tion become available to other transactions Those transac tions that read and possibly alter the partial results of the overall transaction T are called dependent transactions In this case we say that T has been externalized The pur pose of compensation is to handle situations where we want to undo a externalized transaction T without resorting to cascading aborts A formal way to examine a compensated execution is by comparing it to a hypothetical execution of only the depen dent transaction without the compensated transaction A compensated execution that obeys this rule is one in which compensating operations commutes with operations of de pendent transactions Commutativity is a key notion in the context of compensation 4 Thus if some object is only manipulated with additions and subtractions and if the log records the delta rather than the old and new value then compensating operations may be commutable with dependent transactions operations 3 It is the case of the example showed in Section 2 3 The key point of using the compensation recovery paradigm is that we would like to leave the effects of the dependent transactions intact while preserving the overall state
119. e Abnahme des letzten Sitzungsprotokolls e Abnahme des Sprints SP2 e Stand der Arbeiten e Demo der Betaversion e Tasks f r diese Woche e Zuteilung der Tasks e Ausblick A 12 2 Aufgaben A 12 3 Protokoll A 12 3 1 Probleme e Polling ineffizient e Andere Ansprechmoeglichkeiten des Webservice zum Beispiel mit Diffs oder Timestamps e Performance mal mit 1000 Datensaetzen testen e Validation e Stage Disclosure oder andere Patterns e Validation erst wenn fokus verloren oder beim Speichern Alle Entscheidungen dokumentieren und sagen wohin die Zeit gegangen ist e Wieso DTOs e Wieso Polling A 12 3 2 SP2 e Im Sprint 2 sind wir mehre Tage hinderher A 12 3 3 Abnahme der Sitzungsprotokolle e Letztes Sitzungsprotokoll abgenommen A 12 3 4 Tasks f r diese Woche e Fertigstellen der Arbeiten e Codereview e Grobe Dokumentation A 12 3 5 Ausblick A 13 Sitzungsprotokoll 06 06 2012 A 13 1 Traktanden Anwesend dsteiner dsch ttl mstolze rwaltens mgfeller Abwesend tcorbat e Code Review Feedback von Thomas e Dokumentation e Benutzer amp Installations Manual e Kurzreview der bestehenden Dokumente e Abtretungs Erklarung e Aufgabenstellung A 13 2 Aufgaben A 13 3 Protokoll MoD e Arbeit jetzt konstant mit Matrix of Doom Folgearbeit e Von Seite HSR angenommen e Von Seite Militaer ist ebenfalls Unterstuezung vorhanden Demo der Applikation e AD anbindung fehlt e Adminrechte im Plugin defin
120. e Attribute sollen in Englisch angegeben werden weil es sich dabei um Informationen handelt welche ausschliesslich f r Entwickler Administratoren von belang sind und nicht f r den normalen Benutzer Da die Entwicklungssprache Englisch ist sind auch diese Angaben in Englisch zu halten Technischer Bericht Developer Manual EistCockpit 229 256 EistCockpit 11 Schlussfolgerung David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Schlussfolgerung EistCockpit 230 256 11 1 Dokumenteninformation Datum _ Version nderung tr lt O OO 07 06 2012 Erste Version des Dokuments 07 06 2012 Ergebnisse beschrieben 07 06 2012 Ausblick dokumentiert Technischer Bericht Schlussfolgerung EistCockpit 231 256 11 2 Einleitung 11 2 1 Ergebnisse Ziel war es mit der Studienarbeit ein verteiltes Informations Status Meldesystem zu entwickeln dass im Stab eingesetzt werden kann um die M ngel in den vorhandenen Arbeitsabl ufen zu Eliminieren e Anforderungen aufnehmen Zu Beginn der Studienarbeit besuchten alle Projektmitglieder den Wiederholungskurs beim Ristl Bat 20 Kunde Dort konnten alle Anforderungen aufgenommen werden und die Entwickler bekamen ein umfassendes Bild ber die Arbeitsabl ufe und die Umgebung Diese wurden genau dokumentiert und dienen als Basis sowohl f r die Studienarbeit als auch f r die allf llige Bachelorarbeit die daraus hervorgehen soll e Basis f r Applikation sc
121. e Exception und die damit verbundenen Programmabst rze von vornherein verunm glicht eine Speicherverletzung kann beim Zugriff auf das NULL Object nicht stattfinden eben weil es klar definiert ist EistCockpit verwendet das NULL Object Pattern im DAL Wenn eine Entit t mit einer spezifischen ID angefordert wird welche aber auf der Datenbank nicht existiert dann wird anstatt null ein NULL Object von Typ der angeforderten Entit t zur ckgegeben Die NULL Objects sind in den Konstanten im Package Common definiert Singleton Pattern Das Singleton Pattern hat zum Ziel dass exakt eine Instanz eines Objekts existiert Verschiedene Teile der Software verwenden so immer die gleiche Instanz W hrend an der HSR eine regelrechte Verbannungstaktik f r dieses Pattern gelehrt wird hat es doch seine dedizierten Vorteile weshalb der Einsatz dieses Patterns durchaus Sinn machen kann und legitim ist Im Fall von EistCockpit wird das Singleton Pattern dazu verwendet um einen einfachen Zugriff auf den aktuellen Dienstleistungs bzw Operations Kontext f r die verschiedenen Operation Plugins zu gew hren Command Pattern Das Command Pattern abstrahiert das Event Handling insofern als dass damit wiederverwendbare Kommandos Befehle definiert werden k nnen Zudem steigert der Einsatz dieses Patterns die Testbarkeit der Software Im Rahmen von EistCockpit wird das Command Pattern in enger Verbindung mit dem Model View ViewModel Konze
122. e ID der Person die die Meldung zuletzt bearbeitet hat Der Zeitpunkt zu dem die Meldung zuletzt bearbeitet wurde Die ID der Operation in welcher die Meldung erfasst wurde Legt fest ob die Meldung nur ein Entwurf ist Der Empf nger der Meldung Der Absender der Meldung Der Ersteller der Meldung Die Person die die Meldung zuletzt ge ndert hat Die Operation in welcher die Meldung erfasst wurde Tabelle 50 Beschreibung Entit t Message 126 256 Priorit t Die Priorit t der Meldung wird im Ermessen des Erstellers gesetzt und ist nicht als Verbindlich zu betrachten Folgende Priorit ten k nnen einer Meldung zugeordnet werden e Normal e Mittel e Hoch Typ Der Typ der Meldung kann ein direkter Indikator f r einen Standort und dessen Errungen darstellen oder aber eine v llig andere Natur haben Folgende Type k nnen einer Meldung zugeordnet werden e Berreitschaftsraum erreicht e R ckruf erforderlich e Bereitschaftsraum verlassen e Bestellung e Standort erreicht e Antrag e Standort verlassen e Information Technischer Bericht Domain Analyse EistCockpit 127 256 6 5 6 Plugins Um der Pluginorientierten Struktur den n tigen Daten und Sicherheitskontext zu schaffen m ssen einige abstrakte Tabellen angelegt werden die keine Beziehung zu echten Gegebenheiten haben Abbildung 32 Datenmodell Plugin Technischer Bericht Domain Analyse EistCockpit ConfigurationID Navigation Properties
123. e Inputs und Tipps f r den Arbeitstag Schon geht es los die Meldezettel sind vorbereitet und die ersten Telefone klingeln Frank nimmt den H rer ab beim Anrufer handelt es sich um einen Soldaten der mit einer Gruppe von Richtstrahlpionieren eine Richtstrahlantenne aufgebaut hatte und soeben den Standort erreicht hat Er nimmt alle Daten entgegen und versucht sie zeitgleich auf dem Meldezettel zu notieren Dies gestaltet sich als Herausforderung da der Zettel andauernd verrutscht und keine Hand brig bleibt um den Meldezettel zu fixieren da die zweite Hand den Knopf am H rer gedr ckt halten muss siehe Der Soldat beendet das Telefonat dies erm glicht Frank die restlichen Informationen welche er noch nicht erfasst hat zu notieren Gerade als er die letzten W rter aufgeschrieben hat kommt ein weiterer Anruf herein Leider bleibt nicht gen gend Zeit um den Zettel vom vorherigen Telefonat an die vorgesehene Abteilung weiterzuleiten Erneut nimmt er die Daten vom derzeitigen Gespr ch auf und versucht schon w hrend dem Anruf m glichst viel zu notieren Den Namen hat er nicht ganz verstanden deshalb fragt er noch einmal nach der anrufende Wachtmeister buchstabiert seinen Namen welcher Frank sogleich auf den Zettel schreibt Die Zeit vergeht wie im Flug da an diesem Morgen viele Anrufe reingekommen sind und ein hektisches Treiben geherrscht hat Pl tzlich erinnert sich Frank an den ersten Meldezettel den er aus lauter Arbeitseifer v
124. e Position von Klammern 9 6 4 2 Kommentare Die Kommentare sind generell in Englisch zu halten Kommentare mit Dokumentation charakter sind im Doxygenformat einzupflegen w hrend einfache Kommentare m glichst kurz auf einer Zeile zu halten sind Diese sind dann immer mit zu machen 8 Thunt07 C Coding Standards for NET Version 1 15 http se inf ethz ch old teaching ss2007 25 1 0290 00 project CSharpCodingStandards pdf 08 06 2012 Technischer Bericht Realisierung amp Test EistCockpit 209 256 9 6 4 3 Namenskonventionen Die Namenskonventionen sind in Anlehnung an diese Coding Conventions wie folgt zu beachten e E camelCase e bi PascalCase eo Pr fix mit _Underscore e U UPPERCASE UNDESCORE Subjekt Public Protected Internal Private Bemerkung Projektdatei P Muss mit Namespace bereinstimmen Sourcedatei P Muss mit Klasse bereinstimmen Klasse P un 2 ae Tr a To ig 777 EE Klasse Pre rn E E E T se un gt Be a EE EE ge Ge SE F EE F SE F 0 E 7 e Pommes EEE eM TC un u m un i ET aa eS un a ss p nu u un ST e Tabelle 65 Code Namenskonventionen 9 6 5 Angewandte Patterns Siehe Abschnitt 7 3 4 Patterns Technischer Bericht Realisierung amp Test EistCockpit 210 256 9 6 6 Verwendete Libraries 9 6 6 1 Net Framework Autor Version Quelle Lizenz Verwendungsorte Zweck 9 6 6 2 SQLite Autor Version Quelle Lizenz Verwendungsorte Zwe
125. e Web is composed of resources which may be consid ered items of interest For example suppose that customers of a bank wants to access information about their accounts Thus the bank can create a resource called account id where id should be replaced by the client account num ber The URL for a customer with the account number 12345 would be http www bank com account 12345 In asking that URL a resource representation is returned for example account12345 html The client application is placed in a state which displays the information to the user through a web browser The user can click on hyperlinks within account12345 html and access other resources avail able on the bank s server as a page to make online payments or an resource that represents their savings account Thus other representations are accessed putting client application in a new state per request User can continue interaction indefinitely Therefore the client application changes transfers its state for each resource representation received Hence emerges the definition of Representational State Transfer REST According to Fielding 2 the REST key abstract informa tion is a resource Any information that may be appointed can be a resource document image service collection of other resources non virtual object and so on In SOA context resource is a conceptual entity that iden tifies a service exposed to clients It is usually a noun since t
126. e ae 65 DB 1 10 00 0 0 Ee 6 6 Ueerlnieriace nnn rnan E nann nEn n Annn n Anaon nannan nn T ENTAU en E E E EE EAS 71 WIORUTIC EE 156 7 2 Design E ee 157 FE WE eler 166 Se gene d E 173 81 DORUMENIERIRIOHNAUON dE 174 Gi PANO CIC une ee een 175 ls Re ME U 01 1 0 1 6 11 OOO 176 84 FIOO EE 177 9g REALISIERUNG RE 188 9 1 DOKUMENTCNINIONNAION use en a rn nennen 189 g2 Ad EN nennenswerte ee 190 DS eg 191 E Ne 199 2 E ers ee ee ee ee 203 9 6 CGodedokumeniaton rnnr nnen nnn 204 97 C00 E 214 93 e Re E 215 10 DEVELOPER MANUAL EE 223 10 1 DIOKUIMENTENINIONNAUON une nn en deren 224 TOD e 225 I ERIWICKLUNG E 226 11 EEN 230 1l TOKIO IIS ee 231 11 2 TCWG EE 232 V PROJEKT RETROSPEK TIVE 2uu220020002000R00n ann ann ann nun mann KEREN R KEREN KEE R KEREN KEEN RKEN KEEN RKEN KEEN KEN 237 11 3 DOKUMENIENINIORNANON ME 238 11 4 Allen E 239 11 5 Methoden amp Technologien 240 11 6 Pers nliche Eet 241 117 AUW e 246 VI ANTIANG E 256 Verzeichnisse EistCockpit 4 256 1 3 Abbildungsverzeichnis Abbildung 1 Meldezettel Abbildung 2 David Schott Abbildung 3 Remo Waltenspul Abbildung 4 Diego Steiner Abbildung 5 Arbeitsplatzskizze Abbildung 6 Affinity Wand Abbildung 7 Affinity Probleme Abbildung 8 Affinity Ziele Abbildung 9 Affinity Strategien Abbildung 10 Affinity W nsche Abbildung 11 Technisches Know How Abbildung 12 Motivation wahrend der Arbeit Abbildung 13 Zufriedenheit mit aktuellem Ablauf Abb
127. e and may have small changes between releases which happen infrequently It is a bigger problem with web based applications whose GUIs change relatively frequently In general managing many instances of the same GAP is difficult For example when running web based applica tions they open many popup windows These windows and processes that control them are not linked explicitly to the application that opened them Thus when two or more web based applications ran on the same computer simultaneously data from these applications may be mixed We are currently working on solving this problem IX RELATED WORK UniFrame is a framework for building integrated systems by assembling pre developed heterogeneous and distributed software components 15 The glue wrapper code that realizes the interoperation among the distributed and heterogeneous software components can be generated from the a descriptive model Unlike UniFrame Coins does not require users to write code for models and it does not require the knowledge of the source code of components A web browser shell integrates a command interpreter into the browser s location box to automate HTML interfaces 13 A browser shell wraps legacy CLPs with an HTML CGI graphical interface This approach is heavily dependent upon parsing HTML and extracting data from the command line input output and in that way it is significantly different from our approach which does not need to parse any s
128. e architectural style im poses some restrictions for implementation of web services complementing the service oriented architecture SOA The example of transferring funds between bank accounts allowed to demonstrate the proposal feasibility For the pro posal ROA is used which is a concrete architecture to im plement web services that conform to REST The usage of optimistic concurrency control method pro vides some advantages for example it is deadlock free as it does not use locks to information access control But there are some disadvantages such as the possibility of starvation For example one client may always get resource updates before other clients who never finishes a resource update successfully One way to alleviate the problem is that after each satisfactory PUT request the client waits for a random time before submitting a new PUT request to the same re source The goal is to allow other clients to accomplish their resource updates For future work we intend to apply the concurrency con trol method based on timestamp to monitor transactions be tween RESTful services and carry out the comparison with the results achieved in this paper We also intend to address issues of infrastructure fault tolerance such as host failure broken link web server and database unavailability For client failure active transac tions may be salvaged across client systems restarts by us ing transaction save points 3 A trans
129. e s mtliche Funktionen der Software genutzt werden k nnen Um die Anwendung auch f r technisch weniger versierte Mitarbeiter zug nglich zu machen werden zur Illustration Screenshots verwendet die ersichtlich machen wie man ein bestimmtes Ziel erreichen kann Online Hilfe Zum derzeitigen Zeitpunkt wird keine Onlinedokumentation zur Verf gung gestellt Installationsanleitung Konfiguration und Read Me Datei Es wird eine von der Bedienungsanleitung unabh ngige Installationsanleitung erstellt die klar Auskunft gibt wie man die Software auf dem Teplas Server installiert Vorgesehen ist eine einfache Installation bei der nur bestimmte Dateien auf den Server kopiert werden m ssen Technischer Bericht Vision EistCockpit 37 256 EistCockpit 3 Projektmanagement David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Projektmanagement EistCockpit 38 256 3 1 Dokumenteninformation Datum Version nderung An Erste Version des Dokuments 29 05 2012 04 06 2012 Entwicklerinformationen von rwaltens hinzugef gt 07 06 2012 Entwicklerinformationen von dsch ttl hinzugef gt dschottl 08 06 2012 Technischer Bericht Projektmanagement EistCockpit 39 256 3 2 Allgemein 3 2 1 Zweck des Dokumentes Dieses Dokument beschreibt das Projektmanagement f r das EistCockpit Dazu geh ren Vorgehensmodell und die Planung der Abschnitte Sprints 3 2 2 Gultigkeitsbereich Dieses Dokument gilt als Grund
130. e technical instruments which are parts of accessiblity layers using hooks is legitimate and accepted to control and manipulate GAPs In addition writing and using hooks is easy since programmers use high level accessibility API calls and they do not have to deal with the complexity of low level binary rewriting techniques When a target GAP is started the accessibility layer loads predefined hook libraries in the process space of this appli cations and registers addresses of callbacks that should be invoked in response to specified events Since hooks live in the process spaces of GAPs their callbacks can affect every aspect of execution of these GAPs V ARCHITECTURE The architecture of Coins is shown in Figure 2 Solid arrows show command and data flows between components and numbers in circles indicate the sequence of operations in the workflow This choice of the architecture is influenced by the fact that in enterprise environments GAPs and web services are often located on different computers Some GAPs are located on the same computer but they may not be started at the same time due to certain constraints For example two instances of the same application cannot bind their sockets to the same port on the same computer and subsequently they cannot IE COMPUTER SOCIETY 2007 IEEE International Conference on Services Computing SCC 2007 0 7695 2925 9 07 25 00 2007 IEEE Client Program Computer
131. echnischer Bericht Projektmanagement EistCockpit 45 256 3 4 Projektorganisation 3 4 1 Team 3 4 1 1 David Schottl Kenntnisse Verantwortlichkeiten Milit rischer Grad Kontakt 3 4 1 2 Remo Waltensp l Kenntnisse Verantwortlichkeiten Militarischer Grad Kontakt 3 4 1 3 Diego Steiner Kenntnisse Verantwortlichkeiten Militarischer Grad Kontakt Technischer Bericht Projektmanagement e C Objective C C Java e Unix OS X iOS Windows e MS Zertifizierungen NET 2 0 3 x MCTS 2x MCPD Architektur amp Design DAL Webservice App Config Plugin Service Manager Plugin Feldweibel Fw David Sch ttl R slistrasse 3 8304 Wallisellen 079 466 66 14 dave schoettl ch Abbildung 2 David Sch ttl C Java Plugin Prototyp Location Plugin Usability Personas Prototypen Soldat Sdt Remo Waltenspul Moosstr 2B 8625 Gossau ZH 077 411 03 69 remow88 hotmail com Abbildung 3 Remo Waltensp l Ruby C Java Linux amp Bash Scrum Master Vorstudie SQLite Prototyp Messages Plugin Obergefreiter Obgfr Diego Steiner Freudenbergstr 95 8044 Z rich 079 308 42 73 diego steiner u041 ch Abbildung 4 Diego Steiner EistCockpit 46 256 3 4 2 3 4 3 Betreuung Thomas Corbat Thomas Corbat tritt als Hauptbetreuer und Ansprechsperson f r Fragen und Probleme auf Er ist auch im WK vor Ort Dr Markus Stolze Dr Markus Stolze tritt als offiz
132. ee zu sprechen und er bot schliesslich an als Auftraggeber f r die SA EistCockpit aufzutreten Wie es der Zufall wollte lernte ich am ersten Tag des WK 2011 den damaligen Soldaten Diego Steiner pers nlich kennen ich kannte ihn bislang nur vom Sehen her von der HSR und wusste nicht dass er auch im RistIBat 20 eingeteilt war Als ich das SA Thema EistCockpit schliesslich bei der HSR eingegeben habe musste ich mich nach Projektpartnern umschauen Diego Steiner schien mir mitunter aufgrund seiner Einteilung im Ristl Bat 20 ein passender Kandidat zu sein also sprach ich ihn spontan darauf an ob er bei dem Projekt dabei w re Er war sofort von der Idee berzeugt und brachte zus tzlich Remo Waltensp l mit ins Team Der WK 2012 welcher genau auf den Semesteranfang FS2012 und damit auch auf den Beginn der Semesterarbeit fiel kam uns insofern gelegen weil er die M glichkeit bot vier volle Wochen beim Kunden zu verbringen um Requirements zu sammeln und Benutzerbefragungen durchzuf hren Als wir im Team die Arbeiten f r den WK definierten gingen wir davon aus wir h tten daf r gen gend Zeit zur Verf gung Unsere Annahmen waren leider etwas zu optimistisch Es war wohl voraussehbar dass ich in meiner Funktion als Tech Fw in der Eist Tm nicht viel Zeit er brigen kann mit einer Umteilung von Sdt Steiner in die Kanzlei und dem forderndsten WK der letzen Jahre hatten wir jedoch nicht gerechnet Wir k
133. efiniert e IPlugin Diese Interface stellt das Basis Interface dar Interfaces fur die einzelnen Typen erben von IPlugin und erweitern es entsprechend IPlugin kommt direkt nie zum Einsatz e lHostPlugin Dieses Interface definiert die Schnittstelle f r Host Plugins e lAppConfigPlugin Da es sich beim App Config Plugin um ein einmaliges und sehr spezielles Plugin handelt wurde dieses Interface welches IHostPlugin erweitert eingef hrt Es wird ausschliesslich vom App Config Plugin verwendet und definiert zus tzliche Properties welche f r die Verwaltung der Plugins ben tigt werden e lOperationPlugin Dieses Interface definiert die Schnittstelle f r Operation Plugins e IStandalonePlugin Dieses Interface definiert die Schnittstelle fur Standalone Plugins Technischer Bericht Entwurf EistCockpit 164 256 7 2 6 6 Struktur Prinzipiell wird jedes Plugin in einer eigenen Solution entwickelt welche jeweils ber folgende Subprojekte verf gt e Loader Das Loader Projekt implementiert das entsprechende Plugin Interface e ViewModels Das ViewModel Projekt implementiert die View Models welche vom Plugin verwendet werden e Views Das Views Projekt implementiert das User Interface f r das Plugin 7 2 6 7 Vererbungshierarchie Plugin Interfaces EistCockpit Contracts lApp EistCockpit Plugins AppConfig ConfigPlugin Plugin Loader AppConfigPluginlnitializer EistCockpit Plugins Service ManagerPlugin Loader Serv
134. eichter lesbar als SOAP was beim Debugging hilfreich sein kann 7 2 5 4 Nutzwertanalyse Nutzwertanalyse Service Typ Bun N WSDL SOAP REST JSON Kriterium Gewichtung 1 5 Bewertung 1 5 Total Bewertung 1 5 Total 1 Programmieraufwnd 2 5 10 BEE A Total Punkte ae ek Lesbarkeit Rang 2 Anmerkung H here Gewichtungen Bewertungen sind wichtiger besser Tabelle 57 Nutzertanalyse 7 2 5 5 Sesitivitatsanalyse In der Sensitivit tsanalyse wird untersucht wie stark sich eine nderung auf das Gesamtergebnis der Nutzwertanalyse auswirken w rde Die Nutzwertanalyse gewichtet die Kriterien Kompatibilit t und Lesbarkeit sehr stark Der Grund daf r ist dass ein m glichst offenes und einfaches Format verwendet werden soll dies auch hinsichtlich eines angedachten iOS Clients f r die Zukunft Wahrend Variante 2 REST JSON durchwegs hohe Bewertungen fur die einzelnen Kriterien erh lt wird Variante 1 WSDL SOAP eher mittelmassig bis schlecht bewertet besonders in den zwei st rker gewichteten Kriterien Variante 1 m sste daher eine signifikante Steigerung in der Bewertung von drei der vier Kriterien erhalten damit die Rangierung beeinflusst wird dies ist auch klar aufgrund der Total Punkte f r die Varianten ersichtlich 7 2 5 6 Entscheid Variante 2 Es wird ein Webservice unter Verwendung von REST JSON implementiert Der Entscheid wird durch das Ergebnis der Nutzwertanalyse unte
135. eine weiteren Projekte die in direktem Zusammenhang mit diesem stehen Das Visions Dokument ist in die sechs Abschnitte Einleitung Positionierung Kundenbeschreibung Produkt bersicht Produkteigenschaften Dokumentationsanforderungen sowie den Anhang unterteilt Im ersten Kapitel Einleitung wird kurz das Projekt mit dessen Zielen erl utert Anschliessend folgt das zweite Kapitel Positionierung in welchem beschrieben wird wie die gegenw rtige Marktsituation aussieht und wie gut die Erfolgschancen stehen Das dfritte Kapitel Interessensgruppen und Benutzerbeschreibung zeigt die zuk nftigen Benutzer sowie ihre Interessen und Verhaltensmerkmale Danach kommt das vierte Kapitel Produkt bersicht bei dem die Idee des zu entwickelnden Produkts sowie die Perspektive beschrieben wird Im Kapitel Produkteigenschaften werden die wichtigsten Funktionen der Anwendung erl utert Abschliessend wird beim Kapitel Dokumentationsanforderungen kurz zusammengefasst was die Anforderungen bez glich der Dokumentation sind Gultigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes und ist daher Uber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 Definitionen und Abk rzungen Siehe Glossar Technischer Bericht Vision EistCockpit 27 256 2 3 2 3 1 2 3 1 1 2 3 1 2 Positionierung Gesch ftschancen Die Abl ufe k nnen optimiert werden Effizienzsteigerung gt F hrt zu vermindertem Arbeitsaufwand
136. eiter der Triage an die T re klopft und eintritt Er bergibt Viktor einen Meldezettel mit einem Antrag von Stao 2 die ihre Sch ssel aufgrund der Stromversorgung um 50m verschieben w rden Anruf eines Stao Chefs an die Triage Viktor begibt sich in die Triage und verlautet dass dem Antrag von Stao 2 stattgegeben ist diese sollen doch so schnell wie m glich informiert werden und R ckmeldung geben sobald das erledigt ist Verweis Interview 4 Wie reagieren Sie typischerweise auf eine Meldung Ablauf Die aus einer Meldung entstehenden Auftr ge m ssen m ndlich verteilt werden es gibt keine Erledigungskontrolle Meldungen Bi direktional k nnen weitervermittelt erweitert werden Feedback erledigt nicht erledigt Verweis Interview 4 Was f r Verbesserungsw nsche h tten Sie am System EistCockpit 93 256 4 5 3 2 Soll Szenarien Soll Szenario 1 Geleitete uninformierte Mitarbeiter Keine falschen Infos Ausgangssituation Ausl ser Schritte Probleme Ziele Viktor plant in seinem B ro gerade die anstehenden Inspektionen der Staos Als er fertig ist sieht er auf dem Bildschirm eine Meldung von Stao 3 die besagt der Treibstoff gehe aus und sie br uchten dringend Nachschub Anruf eines Stao Chefs an die Triage Viktor bestellt den Nachschub bei der Logistik Zelle und markiert die Meldung als erledigt Uninformierte Mitarbeiter Kennen die zu stellenden Fragen nicht Falsche Infos Meldungen werden immer vo
137. elcher in den generierten Entities vorhanden ist nicht an die Clients geschickt werden muss Die DTOs m ssen lediglich die direkten Properties der Entities implementieren denn die Navigations Properties werden ber die REST API d h ExampleDataGenerator Projekt dient zur Generierung von Beispieldaten Dirty Hack Entwicklungs Artefakt welches kein Deliverable von EistCockpit darstellt Die genaue Ursache f r dieses Verhalten wurde nicht genauer untersucht Es wird jedoch vermutet dass die generierten Annotations insbesondere Reference daf r verantwortlich sind Technischer Bericht Developer Manual EistCockpit 227 256 den Webservice realisiert Weitere Vorteile der DTOs sind die Verwendbarkeit von Enums sowie die klare Trennung zwischen Server und Clientseite Bei der Entwicklung sollte deshalb darauf geachtet werden dass serverseitig nur mit den generierten Entities gearbeitet wird w hrend clientseitig nur die DTOs eingesetzt werden Die Konversion zwischen Entity und DTO geschieht jeweils im Webservice 10 3 3 3 Webservice Der EistCockpit Webservice verwendet REST als API und JSON als Datenformat Wie unter WCF blich besteht der Service aus einer Service Implementation siehe Namespace EistCockpit Webservice Klasse EistCockpitService und einer Implementation f r den Client Proxy siehe Namespace EistCockpit Common Klasse EistCockpitServiceClient welche beide einem Service Interface entsprec
138. eldweibel w hrend der Leitung des Richtstrahl Netzwerks Diese Variante bringt jedoch einen erh hten Aufwand mit sich da verschiedene Arten von User Interfaces auf verschiedenen Plattformen gepflegt werden m ssen 7 2 4 5 Entscheid Variante 2 Der clientseitige Teil von EistCockpit wird als Rich Client umgesetzt Der Entscheid wird wie folgt begr ndet Insbesondere in Bezug auf das User Interface ein sehr wichtiger Aspekt dieses Systems bietet ein WPF basierter Rich Client umfangreichere M glichkeiten bei kleinerem Aufwand im Vergleich zu einer Webapplikation Da die Systemumgebung nicht mit dem Internet verbunden ist und auch sonst keinen Web Browser ben tigt wirkt die Voraussetzung eines aktuellen Web Browsers absurd Der Einsatz des NET Framework 4 0 hat keinen Einfluss auf bereits bestehenden Applikationen Einschr nkungen im Funktionsumfang k nnen mittels Zugriffsbeschr nkungen und dergleichen umgesetzt werden was eine Mischform unn tig macht Die Verwendung von Rich Clients im Zusammenhang mit Webservices wird auch im IEEE Beitrag grechanik07 Composing Integrated Systems Using GUI Based Applications And Web Services diskutiert Technischer Bericht Entwurf EistCockpit 160 256 7 2 9 7 2 5 1 7 2 5 2 7 2 5 3 Service Wie bereits erwahnt kommt fur die Kommunikation zwischen Service und Client die WCF Komponente des NEI Framework 4 0 zum Einsatz WCF bietet die M glichkeit verschiedene
139. eleasebeschreibungen 3 3 4 Phasen und Sprints Die Projektdauer von 14 Wochen wurde in Phasen und Sprints unterteilt deren Beendigung jeweils einen Milestone darstellt Detailliertere Informationen zu jedem Sprint sind in der Roadmap und auf der einzelnen Version im Redmine zu finden Phase Inception Dauer 19 02 bis 26 02 2012 Ziele e Infrastuktur bereitstellen e Aufgabenstellung ausarbeiten e Grundstein legen Artefakte Termine Sitzung 20 02 2012 e Sitzung 22 02 2012 e Sitzung 24 02 2012 Tabelle 21 Beschreibung Phase Inception Phase Elaboration I Elaboration Ziele e Interviews vorbereiten e Interviews durchfuhren Artefakte e Interviewplan e Interviews Termine Situng 05 03 2012 Nachmittags e Situng 05 03 2012 Abends Tabelle 22 Beschreibung Phase Elaboration 1 Technischer Bericht Projektmanagement EistCockpit 43 256 Phase Elaboration II Dauer Ziele Artefakte Termine Sprint 0 Dauer Ziele Artefakte Termine Sprint 1 Dauer Ziele Artefakte Termine Sprint 2 Dauer Ziele Artefakte Termine Sprint 3 Dauer Ziele Artefakte Termine Technischer Bericht Projektmanagement Elaboration II 12 03 bis 25 03 2012 26 03 bis 01 04 2012 02 04 bis 22 04 2012 23 04 bis 20 05 2012 Personas erstellen Vision verfassen Personas Vision Beobachtungsdokument Triage Tabelle 23 Beschreibung Phase Elaboration 2 Gewonnene Erkenntn
140. elnde System mithilfe von Befragungen aufnehmen Diese Arbeit hat mir aufgrund der Interaktion mit potentiellen Benutzern sehr zugesagt und war eine gute Motivation f r den Einstieg ins Projekt F r eine weitere Arbeit w rde ich schon von Beginn an schauen dass die Ziele gemeinsam definiert werden und das man sich untereinander besser abspricht Weiter m sste man in einer Folgearbeit sich konsequenter an die Grunds tze von SCRUM halten so sollten zum Beispiel Sprints nicht k nstlich verl ngert werden Abschliessend w rde ich das Projekt trotzdem als Erfolg werten auch wenn einzelne Teile der Studienarbeit nicht zu meiner vollsten Zufriedenheit realisiert wurden Projekt Retrospektive EistCockpit 244 256 11 6 3 Diego Steiner Da ich mich noch nicht f r ein Thema f r die Studienarbeit entschieden hatte kam mir die Einladung das EistCockpit mit David Sch ttl und Remo Waltenspul zu verwirklichen gerade recht Die M glichkeit die SA mit dem WK zu verbinden fand ich ideal aus eigener Erfahrung boten solche Wiederholungskurse mehr als genug Zeit um an einem eigenen Projekt zu arbeiten Als es dann aber losging wurde mir langsam bewusst dass es diesmal wohl anders sein w rde Ich wurde nicht wie blich bei den Informatikpionieren eingeteilt sondern in der Stabskanzlei Die Arbeiten in der Kanzlei nahmen fast w hrend des ganzen WKs meine vollst ndige Aufmerksamkeit in Anspruch schliesslich hiess es zuerst den prim ren Auft
141. els des Service Managers k nnen bestehende Operationen Dienstleistungen bearbeitet sowie neue Operationen und Dienstleistungen erfasst werden 9 8 3 1 Operationen bearbeiten Dienstleistungen perationen Dienstleistungen Operationen Operation Details U READY FLOP U INVASION Operationen Dienst WK2011 Name U READY FLOP Su YP OE Abbrechen schliessen Abbildung 92 Externes Design Operation bearbeiten 9 8 3 2 Dienstleistungen bearbeiten Service Manager Dienstleistungen Dienstleistungen Operationen Dienstleistungen Dienst Details Name NK2012 Von 27 02 2012 fs Bis 23 03 2012 fis Beschreibung W201 In Beckenried Abbrechen Abbildung 93 Externes Design Dienstleistung bearbeiten Technischer Bericht Realisierung amp Test EistCockpit 220 256 9 8 4 App Config Das App Config enth lt alle Einstellungen welche f r die gesamte Applikation relevant sind 9 8 4 1 Allgemein Unter dem Register Allgemein siehe Abbildung 94 Polling Intervall kann der Polling Interval mithilfe eines Reglers definiert werden App Config Allgemein Allgemeine Einstellungen Refresh Interval Rollen ee REA Dieser Wert spezifiziert die Zeit in Sekunden zwischen automatischen Refreshs Plugin Zugriff 180 Sekunden Bearbeiten DZ Abbildung 94 Polling Intervall Technischer Bericht Realisierung amp Test EistCockpit 221 256 9 8 4 2 Rollen 9 8
142. em Grund werden diese in dem folgenden Abschnitt festgehalten Funktionalit t Angemessenheit Die Bed rfnisse der verschiedenen Anwender sind sehr unterschiedlich Aus diesem Grund m ssen die Funktionen benutzergerecht und intuitiv zu benutzen sein Wichtig ist auch dass die am h ufigsten benutzten Funktionen schnell zu finden sind und nicht mit vielen weniger oft verwendeten Funktionen berladen werden Das erf llen der Angemessenheit soll mittels eines Usability Tests verifiziert werden Dieser Test wird jedoch erst in der folgenden Bachelorarbeit durchgef hrt Zuverl ssigkeit Reife Die Applikation sollte nach Beendigung dieser Studienarbeit einen guten Reifegrad f r die implementierten Funktionen haben Um dies sicherzustellen sollen die Kernfunktionen mit automatischen Unit Tests getestet werden Wobei die durchschnittliche Testabdeckung f r die Plugins ber 70 und f r den Data Access Layer ber 90 liegen sollte Benutzbarkeit Verst ndlichkeit amp Erlernbarkeit Da die Benutzer unterschiedliches technisches Vorwissen mitbringen und zum Teil auch weniger Technik affine Anwender die Applikation einsetzen werden ist eine wichtige Anforderung dass der Einstieg sowie die einfache Erlernbarkeit sehr schnell m glich ist Es soll nicht notwendig sein bei der erstmaligen Nutzung der Anwendung ein Benutzerhandbuch aufzuschlagen Das System soll mit dem Benutzer interagieren und ihn durch Hinweise unterst tzen seine Aufg
143. en Tabelle 16 Zusammenfassung Produktf higkeiten Technischer Bericht Vision EistCockpit 39 256 2 3 1 5 Annahmen und Abh ngigkeiten e Es wird davon ausgegangen dass auf dem Teplas Server im Minimum das Net Framework 4 0 installiert ist e Die Anbindung an das Active Directory des Servers m glich ist e Die M glichkeit zur Installation von Software besteht auf dem Server Preis und Kosten Da es sich bei diesem Produkt um keine kommerzielle Anwendung handelt fallen auch keine Verpackungskosten etc an Die fertige Software sollte im Idealfall einfach auf den Server kopiert werden k nnen dadurch entfallen auch allf llige berlegungen betreffend der Distribution der Software Lizenz und Installation Wie im vorhergehenden Kapitel bereits beschrieben wurde sollte es m glich sein die Applikation ohne Installation in Betrieb nehmen zu k nnen Da das System vorwiegend f r das Milit r entwickelt wird und keine finanzielle Unterst tzung zugesprochen wurde wird auf eine Lizenz verzichtet Produkteigenschaften Meldungen erfassen Die Applikation bietet eine M glichkeit um eine Meldung mit allen ben tigten Werten zu erfassen Diese Meldung wird dann gespeichert und bei den zust ndigen Personen angezeigt bersicht der letzten Meldungen anzeigen F r die Mitarbeiter in der Triage werden alle Meldungen eines bestimmten Zeitraums angezeigt Dadurch k nnen Anrufer unter Umst nden wieder mit dem gleichen Mitarbeiter
144. en Fragen nicht Falsche Infos Meldungen werden immer vollst ndig erfasst Mitarbeiter sind besser informiert System leitet die Mitarbeiter durch den Prozess EistCockpit 92 256 Ist Szenario 2 An Personen gebundene Meldungen Ausgangssituation Ausl ser Schritte Probleme Ziele Viktor ist gerade auf einer Stao Inspektion als ein Mitarbeiter der Triage ihm einen Meldezettel zur schnellen Bearbeitung berbringen will Die Zust ndigkeit hat er dem Telefonat entnommen Der Meldezettel besagt dass Stao 3 demn chst ber keinen Treibstoff mehr verf gt und Nachschub braucht Da Viktor nicht da ist legt der Mitarbeiter ihm den Zettel in sein Posteingangsfach Anruf eines Stao Chefs an die Triage Viktor ist f r die n chsten 48h auf Inspektion und hat Alle seine Kompetenzen dem Zellenchef Stv Oblt Bruno Brenzlig bergeben Der Zettel bleibt liegen bis Viktor wieder in Eist ist doch dann ist es bereits zu sp t Die Verbindung zum Stao 3 ist abgebrochen Meldungen gehen verloren Meldungen k nnen nur an 1 Person geschickt werden Meldungen k nnen an Gruppen und Funktionen bermittelt werden anstatt nur an 1 Person Meldungen kommen Zeitgerecht an Ist Szenario 3 Bidirektionale Meldungen Feedback erledigt Nicht erledigt Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Viktor plant in seinem B ro gerade die anstehenden Inspektionen der Staos als ein Mitarb
145. en Prinzips nicht durchgef hrt werden Das prim re Ziel lag dabei bei der Konzeption eines Systems zum Erfassen von Statusmeldungen sowie der M glichkeit Nachrichten anhand von Kriterien zu filtern Die Informationen zu allen Standorten sollten bersichtlich dargestellt werden sowie neue Standorte erfasst werden k nnen Eine weitere Anforderung war dass die Applikation f r allf llige zuk nftige Erweiterungen einfach ausgebaut werden kann Es wurde bereits in vergangen Jahren eine Softwarel sung eingesetzt die jedoch nach einem Systemwechsel nicht mehr kompatibel war Seit diesem Zeitpunkt wurden die Daten bzw Statusmeldungen in einer Excel Tabelle gespeichert Durch die Applikation EistCockpit werden bestehende Arbeitsabl ufe optimiert Dies manifestiert sich in verschiedenen Arbeitsprozessen wie z B bei der Erfassung von Meldungen welche beinahe ohne Zeitverlust direkt dem Empf nger bermittelt werden k nnen Ausserdem werden Standortinformationen zu einer bestimmten bung bersichtlich dargestellt dies erm glicht ein akkurates und umgehendes Handeln Zudem f rdert es den berblick ber den Verlauf von bungen Management Summary EistCockpit 15 256 EistCockpit ili Extended Management Summary David Sch ttl Remo Waltensp l amp Diego Steiner Extemded Management Summary EistCockpit 16 256 1 9 Dokumenteninformation Datum Version Anderung hellt Erste Version des Dokuments 31 06 2012 04
146. en eingeblendet werden k nnen Die Informationen werden aus den Datenbest nden der anderen Plugins konsolidiert Funktionalit t e Darstellung des IMFS Netzwerks mit korrekten Symbolen f r die verschiedenen Standorte z B Vm Rel Ko Vm KI Vm mob etc e Einblenden von verschiedenen Informationen z B Stao Infos Meldungen e Ansicht der Phasen e Problem Indikatoren e Verbindungsqualitat e Bericht Ausdruck des Netzplans in Plakt Gr sse 11 2 3 6 Plugin Probleme amp L sungen Dieses Plugin soll die Erfassung von neuem Wissen Problemen und hnlichem erm glichen sog Lehren aus dem Krieg Dies soll dabei helfen Feststellungen zu erfassen neue SOPs Standard Operation Procedures zu erstellen und Verbesserungsvorschl ge zu sammeln welche in k nftigen Dienstleistungen von Vorteil sein k nnen bzw behandelt werden soll t en Funktionalit t e Erfassen von Inhalten e Unterscheidung zwischen Problemen L sungen Verbesserungsvorschl gen etc e Stufengerechte Zugriffs Beschr nkungen 11 2 3 7 Plugin Wiki Dieses Plugin soll die Erfassung von allgemeinen Informationen in Form eines Wikis erm glichen z B Wetterlage News Flash organisatorische Infos etc Funktionalit t e Erfassen von neuen Inhalten e Editieren der Inhalte e Formatierung der Darstellung e Stufengerechte Zugriffs Beschrankungen Technischer Bericht Schlussfolgerung EistCockpit 235 256 11 2 3 8 Plugin Vereinsverwaltung Dieses Plugin s
147. er aufgrund der deaktivierten Eingabefelder irritiert sein e Die Bezeichnungen heben sich nicht vom Inhalt ab dadurch fallt es schwer den Text von den Beschriftungen zu unterscheiden e Das Datum muss von Hand eingegeben werden da wurde sich ein DateTimePicker anbieten e Die Beschreibung sowie die Adresse sollten auf mehreren Zeilen eingegeben werden k nnen dies ist mit den derzeitigen Eingabefeldern nicht m glich Plugin Meldung Triage e Meldungstypen sind schlecht gruppiert durch eine Neuanordnung kann Benutzbarkeit verbessert werden e Beim Erfassen von Meldungen werden keine Hilfestellungen in Form von Text dargestellt e Bei der Eingabe des Anrufers wird keine automatische Vervollst ndigung angeboten e Die Schaltfl chen mit den drei Priorit ten enthalten nicht die typischen Symbole welche bei der Meldungs bersicht verwendet werden e Die Reihenfolge der Meldungsattribute in der bersicht ist nicht sehr sinnvoll gesetzt Plugin Meldung Eist e Es existiert keine Suchleiste um einzelne Meldungen zu suchen e Es fehlt an erweiterten Suchmoglichkeiten Filter um nach spezifischen Kriterien zu filtern e Meldungen k nnen nicht nach Standort gruppiert werden Allgemein Host Application e Das Register Eist zeigt die Meldungs bersicht und sollte deshalb vor dem Register Triage vorkommen e Men leiste nicht mehr zeitgem ss besser aussagekr ftige Schaltfl chen und angemessene Kurztastenbefehle e Der Kontext bz
148. er kennt Ablauf Es werden i d R nicht mehrere Empf nger angegeben nicht mehrere Meldezettel Anrufer gibt Namen durch Telefonnr in System erfasst kann direkt ausgew hlt werden Empfangene Fax Dokumente einscannen Meldungen Delegieren falls Kommandant nicht erreichbar weiterleiten an Stellvertreter Tracking Bsp Alle Meldungen der letzten 30 Minuten anzeigen Priorisierung der Meldungen in hektischen Situationen anhand erwartetem eingehenden Uhrzeit History Meldungen b ndeln Frage bereits einmal angerufen wegen hnlichem Problem Feedback erledigt nicht erledigt Protokollauszug f r h heres Kader was wurde erf llt was wurde nicht erf llt Eist 2nd Level Support Erweiterung Fragekatalog durch Fachspezialisten Gutes Filtersystem wichtige von unwichtigen Meldungen unterscheiden Pop Up Meldungen die nach gewisser Zeit auftauchen Erinnerungen Triage sieht auf einen Blick erreichbare Personen Technischer Bericht Vorstudie EistCockpit 61 256 4 3 3 4 3 3 1 4 3 3 2 Arbeitsplatz Triage Zu der Hauptinfrastruktur in der Triage geh ren sicherlich die drei Telefone sowie mindestens ein Laptop Weiter wird noch ein Fax eingesetzt sowie diverse Informationsplakate von laufenden bungen sowie Informationen f r die Mitarbeiter in der Triage In der Regel befindet sich die Triage in einem abgeschlossenen Raum damit die weiteren Mitarbeiter nicht durch die eingehenden Anrufe abgelenkt werden Zus tzli
149. ergessen hat weiterzureichen Umgehend nimmt er den bersehen Meldezettel und bringt ihn sogleich der zust ndigen Person Der Empf nger ein Hauptmann der FGG3 r gt Frank f r die verschlampte Meldung da er auf eine schnelle Meldung angewiesen war Er ermahnt ihn die Arbeit gef lligst seri s zu nehmen und Meldungen umgehend weiterzuleiten Nach diesem Malheur ist es auch schon Zeit f r das Mittagessen welches Frank mit seinen Kameraden einzunehmen Pflegt Zwecks des 24h Betriebes bleibt jeweils mindesten 1 Mitarbeiter in der Triage bis ein Anderer zur ckkommt um ihn abzul sen F r Informationsaustausch besteht im Normalfall kein Bedarf da die Aktivit ten jeweils zuerst fertig abgearbeitet werden und es sich immer um kleinere Pakete handelt Direkt nach dem Mittagessen ist meistens nicht so viel los was auch an diesem Tag nicht anders ist Deshalb lenkt er sich ein bisschen ab mit der aktuellen Tageszeitung Just in desem Moment beginnen die Telefone wieder zu klingeln Frank geht deshalb wieder seinen normalen T tigkeiten nach und nimmt Telefone entgegen und schreibt sich die Meldungen auf die Meldezettel auf Technischer Bericht Vorstudie EistCockpit 80 256 Pl tzlich kommt ein h herer Offizier und fragt ob eine bestimmte Meldung einer Richtstrahlgruppe bereits eingegangen ist und falls nicht ob man ihn benachrichtigen k nne sobald sie aufgenommen wird Ein Soldat nickt notiert es auf einen Notizzettel und legt ihn auf
150. erschiedenen Status anzuzeigen Zellen Erreichbare 2 Mitarbeiter in Zurzeit nicht Mittels dem System sollen Personen in der Triage m glich alle in der Anlage Anlage anzeigen anwesenden Personen anzeigbar sein Informationen f r 2 Mitarbeiter in Viele Plakate Der Ablauf ist sequenziell die der Triage verteilt im gef hrt dass immer die Entgegennahme Raum mit passenden Informationen von Anrufen Informationen sichtbar sind Tabelle 15 bersicht Benutzerbed rfnisse Technischer Bericht Vision EistCockpit 34 256 2 3 1 4 Produkt bersicht Idee Ziel ist es ein elektronisches Meldesystem aufzubauen bei dem neue Meldungen erfasst und bearbeitet werden k nnen Dadurch sollen verlorene oder unvollst ndige Meldungen verhindert werden dies f hrt direkt zu einer h heren Qualit t gesteigerter Effizienz und h herer Motivation bei den Mitarbeitern Weiter soll es auch m glich sein alle in der ZSA anwesenden Personen auf einen Blick zu sehen dadurch k nnen Mitarbeiter in der Triage schneller reagieren und notfalls die Meldungen an den Stellvertreter weiterleiten In einem folgenden Schritt k nnte man auch eine Meldungshistory integrieren die die letzten Meldungen bersichtlich darstellt ber die Kernfunktionen hinaus k nnen mit der Zeit weitere Features mittels eines Plugin Systems hinzugef gt werden Dadurch wird auch sichergestellt dass die Software einfach erweiterbar ist oder an neue Systeme angebunden werden kann Pro
151. erty Name Description From To Operations Technischer Bericht Domain Analyse String Text Datetime Datetime Relation Beschreibung Eindeutige Identit t Name der Dienstleistung Bsp WK 2011 Beschreibung der Dienstleistung Bsp WK 2011 in Luzern Beginn der Dienstleistung Ende der Dienstleistung Die der Dienstleistung zugeordneten Operationen Tabelle 39 Beschreibung Entit t Service EistCockpit 113 256 6 5 2 Operationen Abbildung 28 Datenmodell Operation Technischer Bericht Domain Analyse G name gt description F order SF operationID hey from AT to Navigation Properties E TeardownConnections a SetupConnections El Operation amp Achievements Properties 8 id FP name type oP servicelD Navigation Properties SS Locations SS Service SS Phases SS Messages EistCockpit G description type en phaselD 87 locationID en due oF achieved Navigation Properties a Location a Phase 114 256 6 5 2 1 Operation Repr sentiert eine Operation innerhalb einer Dienstleistung Property Typ Beschreibung ES E u EEE rer SE Name String Name der Operation Bsp U SIMPLICITAS Type Enum Der Typ der Operation ServicelD Int Die ID der Dienstleistung welcher die Operation zugeordnet ist Locations Relation Die Standorte die der Operation zugeordnet sind Service Relation Die Dienstleistung welcher die Operation zugeordnet ist
152. erungen benutzt werden Es konnten nicht alle gew nschten Features realisiert werden da der Aufwand zum Teil untersch tzt wurde Diese werden jedoch im Backlog aufgelistet und k nnen in einer Folgearbeit implementiert werden Erkenntnisse F r das Team war die Studienarbeit eine wertvolle Erfahrung da bisherige Kenntnisse im Umgang mit NET C weiter vertieft wurden Ferner konnte das Wissen aus dem Modul Software Engineering 3 ber das Projekt Vorgehensmodel Scrum in einem eigenen Projekt angewendet werden Zum Teil herrschte jedoch ein bisschen Unsicherheit in Bezug auf welche Artefakte erstellt werden m ssen und wie man genau nach Scrum vorgehen soll Aus diesem Grund haben wir einschl gige Fachliteratur ber Scrum konsultiert Abschliessend kann diese Studienarbeit sicherlich als Erfolg gewertet werden obgleich nicht alle Vorstellungen und Erwartungen die man beim Beginn des Projekts hatte vollumf nglich umgesetzt werden konnten Mit dem Beenden der Studienarbeit steht jedoch nun eine solide Grundlage f r eine Folgearbeit Gloger Boris Scrum Produkte zuverl ssig und schnell entwickeln Auflage 1 2008 Extemded Management Summary EistCockpit 20 256 1 13 Ausblick Das Projekt EistCockpit befindet sich noch in der Entwicklungsphase und kann daher erst als Prototyp betrachtet werden Damit die Applikation im Betrieb auch wirklich eingesetzt werden kann sind noch einige Funktionen zu implementieren Die Grundlagen s
153. esetzt werden muss Da im Protoyp selbst erstellte Entities verwendet wurden also keine welche aus einer Datenbank generiert wurden konnte zu diesem Zeitpunkt noch nicht erkannt werden dass generierte Entities im Zusammenhang mit REST JSON nicht funktionieren Datenbank Prototyp Zweck Der Datenbank Prototyp dient dazu den Umgang mit dem ADO NET Framework zu verbessern Weiter sollen die wichtigsten Tabellen bereits durch die automatische Objektrelationale Abbildung O R Mapping erzeugt werden sowie die Anbindung an die SQLite Datenbank mittels eines Datenbankproviders realisiert werden Architektur Die Architektur f r den SQLite Prototyp beschr nkt sich auf ein einzelnes Projekt in welchem alles abgehandelt wird Technischer Bericht Prototypen EistCockpit 179 256 Projektstruktur Solution Explorer Ix eal load Solution PrototypeSQLite 1 project 4 2 PrototypeSQLite gt E Properties aj References Sa App Config A DomainModel edmx GI PrototypeSQLite cs 44 test db Abbildung 58 Projektstruktur SQLite Prototyp Item Beschreibung App config Definiert den Datenbankstring mit welchem Diese angesprochen werden kann DomainModel edmx Deklariert alle Entities f r das Entity Framework Eis grossteil der f r das EistCockpit ben tigten Entitaten ist hier bereits definiert und kann mit wenig Aufwand in das Endprodukt bernommen werden PrototypeSQLite cs Testet die Funktionalit t der SQLi
154. essage Unit Tests MessageCollection Unit Tests MessageViewModel Unit Tests MessagesViewModel Testabdeckung DAL Testabdeckung Messages Testabdeckung Locations Metrics EistCockpit Metrics MessagesPlugin Metrics LocationsPlugin Metrics ServicesPlugin Metrics AppConfigPlugin Errors und Warnings EistCockpit Errors und Warnings MessagesPlugin Errors und Warnings LocationsPlugin Externes Design Locations Externes Design Location Detail Externes Design Location erfassen Externes Design Meldung Ubersicht Externes Design Meldung erfassen Externes Design Operation bearbeiten EistCockpit 147 149 151 153 163 165 166 169 177 178 178 179 180 181 183 184 185 186 186 191 192 193 193 194 194 195 196 196 196 196 197 198 198 206 206 207 207 208 213 213 213 215 216 217 218 219 220 6 256 Abbildung 93 Externes Design Dienstleistung bearbeiten 220 Abbildung 94 Polling Intervall 221 Abbildung 95 AD Gruppen 222 Abbildung 96 Plugin Access 222 Abbildung 97 IMFSViewer 2 0 POC entstanden im WK 2011 Ideen f r EistCockpit sind am entstehen Services Plugin Messages Plugin Locations Plugin 241 Verzeichnisse EistCockpit 7 256 1 4 Tabellenverzeichnis Tabelle 1 Problembeschreibung s rrssiscsinsiinnsinniriiinnnssnisii aaciaee aiaia aein aaia 28 Tabelle 2 Positionsbeschreibung Projekt Eist ockont nennen 28 Tabelle 3 Interessensvertreter h heres Kader 2 000222200020020000
155. f e Loader Enth lt die EistCockpit Host Applikation e Plugins Enth lt die Packages f r die einzelnen Plugins e AppConfigPlugin Implementation des AppConfigPlugin e LocationsPlugin Implementation des LocationsPlugin e MessagesPlugin Implementation des MessagesPlugin e ServiceManagerPlugin Implementation des ServiceManagerPlugin e ServicesPlugin Implementation des ServicesPlugin e Testing Enth lt Unit Tests und Mockups f r das Root Package e ViewModels View Models der Host Applikation e Views Views der Host Applikation sowie allgemein verwendbare User Controls e Webservice Enth lt die Implementation des Webservice url18 System Data SQLite About http system data sqlite org index html doc trunk www index wiki 05 06 2012 Technischer Bericht Entwurf EistCockpit 171 256 7 3 4 7 3 4 1 7 3 4 2 7 3 4 3 Patterns W hrend der Entwicklung von EistCockpit kamen diverse Entwicklungspatterns zum Einsatz Nachfolgend wird eine Auswahl der verwendeten Patterns vorgestellt NULL Object Pattern Das NULL Object Pattern hat zum Ziel dass NULL Referenzen von Pointers durch ein existierendes spezielles Objekt definiert werden Anstatt dass Referenzen auf null berpr ft werden wird nun berpr ft ob eine Referenz auf das wohl bekannte NULL Object zeigt Da das NULL Object definiert ist werden dadurch Ausnahmezust nde wie die ber chtigte NULL Referenc
156. fizient verarbeitet und an zust ndige Personen schnell weitergeleitet Schlechter Ablauf Meldung es geht nicht unvollst ndige Meldungen falsche Informationen alte TEPLAS Meldungen zu wenig pr zis Grund zu wenig spezifiziert Warum ist es schlecht gelaufen Zeitdruck Mitarbeiter zu wenig informiert Arbeitsumgebung In Einsatzstelle mit Blick auf die Karte Wie kommt eine Meldung rein ber Triage per Mitarbeiter per Fax Wie viele Meldungen kommen pro h rein Geballt gt TBZ viele auf einmal St rt dieser Unterbruch den Arbeitsfluss Wenn ja was w re besser Nicht massgeblich gut w re jedoch eine Priorisierung und Anzeige nur relevanter Meldungen Wie reagieren Sie typischerweise auf eine Meldung Ablauf Meldung wird gelesen eventuell entsteht daraus wiederum Auftrag an Triage Technischer Bericht Vorstudie EistCockpit 60 256 Gibt es Priorit tsstufen bei diesen Meldungen Die momentan eingesetzten Meldezettel besitzen keine Priorisierungsm glichkeiten Was sind die typischen Inhalte der Meldungen Status und R ckrufmeldungen IMFS aufgebaut Standort erreicht Fehlt es dem Meldezettel an Optionen Priorit ten Priorit ten setzen durch den der es bearbeitet Was ist ihre Meinung zum bisherigen System Funktioniert k nnte aber mit einer Software verbessert werden Was f r Verbesserungsw nsche h tten Sie am System Ablauf a la Call Center mit Instruktionen detailliert beschreiben Benutz
157. fs soll im System gespeichert werden Dadurch k nnte eine Meldung an einen Stellvertreter weitergeleitet werden falls der prim re Empf nger nicht erreichbar ist Der Empf nger sollte aufgrund des gew hlten Meldungstyps automatisch ausgew hlt werden Die Meldungen in der bersicht sollten anhand des Typs gruppiert werden k nnen Eine Meldung sollte als erledigt markiert werden k nnen 11 2 3 3 Plugin Standorte Die Information zu einem Standort sollte eine bersicht ber vorhandenes Material bzw Fahrzeuge enthalten Disponibilit t Gegenw rtig werden zu einem Standort nur die Koordinaten angezeigt anstelle dieser Koordinaten sollte man direkt eine Karte anzeigen auf der der Standort eingetragen werden kann Bei der Eingabe von Standortinformationen sollte dem Benutzer das erwartete Format angezeigt werden Technischer Bericht Schlussfolgerung EistCockpit 234 256 11 2 3 4 Plugin TBZ Dieses Plugin soll die Erfassung und bersichtliche Darstellung der verschiedenen TBZ Telematik Bereitschafts Zeiten f r SHF Super High Frequency Funk bzw IMFS Integriertes milit risches Fernmelde System f r die einzelnen Stao erm glichen Funktionalit t e Darstellung der TBZ erreicht nicht erreicht SOLL IST e Bericht Ausdruck der TBZ Tabellen in Plakat Gr sse 11 2 3 5 Plugin Netzplan Dieses Plugin soll die grafische Darstellung eines IMFS Netzwerks erm glichen wobei Stao Infos Meldungen Phasen und dergleich
158. g Name Wer ruft an Pall Meldung R ckruf O Zur Information O Berrm verlassen O Stao erreicht O TBZIMFS O TBZ SHF O Antrag O Bestellung Weitere Informationen zur Meldung Priorit t YT Hoch Zwischenspeichern ZDN Abbildung 48 Message Mockup Redesign Technischer Bericht Domain Analyse EistCockpit 151 256 6 6 4 4 Plugin Standorte Redesign Entscheide Treeview wurde ersetzt durch Liste von Standorte Note 1 Die Verwendung des Treeview User Controls macht an dieser Stelle keinen Sinn da mit nur einer dynamischen Hierarchieebene gearbeitet wird Aus diesem Grund wird es durch eine Listbox ersetzt Kombobox f r die Auswahl der Einheit Note 2 W hrend der Implementationsphase erkannte man dass laut dem Datenmodel eine Verbindung zur Einheit bestehen muss Bis zu diesem Zeitpunkt war es jedoch nicht m glich eine Einheit zu einem Standort auszuw hlen Eingabemaske f r Koordinaten verwendet Note 3 Da das Eingabeformat f r die Koordinaten sich nie ver ndert und stets aus je sechs Zahlen besteht wird ein spezielles User Control mit einer Eingabemaske verwendet Damit wird der Benutzer unterst tzt die Koordinaten im richtigen Format anzugeben Dialog beim Abbrechen sofern Daten ver ndert wurden Note 4 Falls der Benutzer einen Standort bearbeitet hat und aus Versehen auf die Schaltfl che Abbrechen dr ckt sollte eine Meldung erscheinen die den Benutzer informiert Zus tzliche Scha
159. g hinzuf gen Als Administrator kann ich Im Dienstleistungsplugin kann eine 3 Dienstleistungen bearbeiten Dienstleistung bearbeiten Als Administrator kann ich Im Dienstleistungsplugin kann eine 3 Dienstleistungen l schen Dienstleistung l schen Als Administrator kann ich neue Im Dienstleistungsplugin kann eine 3 Operation hinzuf gen neue Operation hinzuf gen Als Administrator kann ich Operation Im Dienstleistungsplugin kann eine 3 bearbeiten Operation bearbeiten Als Administrator kann ich Operation Im Dienstleistungsplugin kann eine 3 l schen Operation l schen Als Administrator kann ich Plugins f r Im Konfigurationsplugin kann definiert 3 normale Benutzer sperren werden ob ein Plugin Administratorenrechte ben tigt Als Administrator kann ich festlegen Im Konfigurationsplugin kann definiert 3 welche Personen ber werden welche ActiveDirectory Rollen Administratorenrechte verf gen in der Applikation Administratorenrechte haben Als Entwickler des EistCockpits kann Die Codedokumentation ist f r jede 3 Tabelle 38 Auflistung funktionaler Anforderungen EistCockpit 101 256 9 9 9 9 1 9 9 1 1 9 9 2 5 9 2 1 9 9 3 5 5 3 1 5 5 3 2 Nichtfunktionale Anforderungen Die nachfolgenden nichtfunktionalen Anforderungen definieren Anforderungen an die Qualit t in welcher die geforderte Funktionalit t zu erbringen ist Dabei k nnen zum Teil nicht alle Anforderungen unmittelbar aus den User Stories abgeleitet werden aus dies
160. ger wichtig Triage 2X 0x B ro Keine Beobachtung weniger wichtig Beobachtung wichtig 0x 2X Tabelle 28 Rollenmatrix Technischer Bericht Vorstudie EistCockpit 54 256 4 3 2 4 3 2 1 Interviews Triage Mitarbeiter 1 Was sind deine Aufgaben Planen von bungen Richtstrahlverbindungen Adressnetzpl ne usw Output amp Kommunikation e Telefonanrufe entgegennehmen Anrufe mit verschiedenen Informationen Problemen etc Telefonate kommen von allen Kompanien e Meldezettel ausf llen Beschreibung sowie weitere Details zum Anruf werden auf Meldezettel notiert e Weiterleiten Meldung Meldung wird an zust ndige Gruppe bergeben FGG verarbeitet Meldung Unterschiedliche Meldungen nur zur Info ohne Auftrag oder mit daraus entstehendem Auftrag Benotigter Input Meldezettel bestehend aus Informationen der sechs W Fragen Werdegang Erfahrung RSO9 Ubermittlungsplaner 3 WK s Erfahrungen in Triage Erfolgsmessung Wenn keine Meldungen verloren gehen alles korrekt ausgefullt wird und Auftrage innert n tzlicher Frist abgearbeitet werden Probleme bei der Arbeit Viele Meldungen gleichzeitig Meldungen gehen unter Telefonleitungen ausgelastet Guter Ablauf Meldung kommt herein und wird anschliessend effizient abgearbeitet Schlechter Ablauf Telefon wird abgenommen Meldung unvollst ndig ineffizient oder geht verloren Warum ist es schlecht gelaufen Zeitdruck zu viele Auftr ge kein berblick und kein B
161. gestellt werden das der Fall abgedeckt wird Der Umfang wird im Rahmen von Interviews und Personas gekl rt e Wie reagiert das System im Falle eines Absturzes des TEPLAS Server e Es gilt abzukl ren wie hoch die Anforderungen bez glich der Verf gbarkeit des Servers sind Zudem soll definiert werden wie sich das System bei Ausf llen verh lt Fragen zur Installation Infrastruktur e Die Details zur Installation der Anwendung auf dem TEPLAS Server muss nochmals mit der LBA genauer gekl rt werden e Bestehen Richtlinien bez glich eingesetzter Technologien aufgrund von vorgesehenen Konsolidierungen von Militarsoftware e Dieser Punkt muss bei der schweizerischen Armee noch abgekl rt werden Nachfolgeregelung amp Maintenance e Wer ist der Ansprechpartner nach dem Abtritt von Maj Veraguth e Gem Aussage von Maj Veraguth wird diese Aufgabe dem neuen Bat Kdt Stv Hptm H Berger bertragen e Gleiches gilt f r den S3 Der aktuelle S3 Hptm Schneiter ersetzt den ehemaligen S3 Hptm Kl tzli Analyse IST Situation e Aktuelle Formulare Meldezettel etc k nnen eingescannt werden f r die Dokumentation e Wichtige Anmerkung Es d rfen keine Meldezettel mit einer Klassifizierung intern geheim vertraulich benutzt werden e M glichst viele verschiedene zuk nftige Benutzer interviewen um ein umfassendes Bild der gegenw rtigen Situation zu erhalten A 5 4 5 A 5 4 6 A 5 4 7 A 5 4 8 A 5 4 9 Architektur e W
162. gin kann der Filter ein und ausgeblendet werden MessagesFilter anwenden Im MessagesPlugin kann der Filter auf die Meldungen angewandt werden Messages sortieren Im MessagesPlugin k nnen de Meldungen nach allen Spalten sortiert werden Message anzeigen Im MessagesPlugin kann eine einzelne Nachricht angezeigt werden Im MessagesPlugin kann eine neue Meldung erfasst werden Message speichern Im MessagesPlugin kann eine Meldung gespeichert werden Message als Draft speichern Im MessagesPlugin kann eine Meldung als Entwurf gespeichert werden Messages refreshen Im MessagesPlugin werden die neue Meldungen in der bersicht angezeigt Locations anzeigen Im LocationsPlugin wird eine bersicht der Standorte angezeigt Im LocationsPlugin wird nach auswahl eines Standortes Dieser angezeigt Im LocationsPlugin kann ein neuer Standort erfasst werden Location bearbeiten Im LocationsPlugin kann ein ausgew hlter Standort bearbeitet werden Location speichern Im LocationsPlugin kann ein bearbeiteter Standort gespeichert werden Locations refreshen Im LocationsPlugin werden neue Standorte in der bersicht angezeigt Die Applikation kann beendet werden EistCockpit Rwaltens Tabelle 61 Systemtests nach Sprint 1 200 256 Technischer Bericht Realisierung amp Test Sprint 2 31 05 2012 Beschreibung Resultat Testperson Webservice starten Der Webservice startet und im Br
163. gin nennen 183 Tabelle 61 Systemtests nach Sprint A 200 Tabelle 62 Systemtests nach Sprint 2 201 Tabelle 63Systemtests nach Sprint 3 202 Tabelle 64 Auswertung Codezeilen cccccecccccsesececceeeceeceeeeeceeeecesseeeceeceuceeseusecesseaeceeseueeeessaeeeessaeees 205 Tabelle 65 Code Namenskonventonen 1nnnnannnnnannnnannnnnnnnnnrnrnrnnrrnnnnrrrnnrrrnnnrrrnnrrnnnnrronnrrrnenrrrnnrrenne 210 Tabelle 66 Library NET Framework nennen nnnnnnnennnnnnennenn 211 Tobele 67 EB Ay SO ers A 211 Tabelle 68 Library WPFToolkit Extended nenn 211 Tabelle 69 Library MEF 212 Tabelle 70 Aufwand pro Ee de EE 246 Tabelle 71 Tickets der ersten drei Phasen nennen onnnnnnennnnnnennenn 247 Tabelle 72 Tickels 20 SOPIAL De nee en ee 248 Tabelle 23 Tickets z leede 249 Tabel amp 74 TICKGIS ZU SPITZ EE 250 Tabelle 75 Tickets zu Sprint EE 252 Tabelle 76 Auflistung Arbetezeten 254 Tabelle 77 Auflistung Arbeitszeiten pro T tnoket nenn 255 Verzeichnisse EistCockpit 9 256 istCockpit David Sch ttl Remo Waltensp l amp Diego Steiner Abstract EistCockpit 10 256 1 5 Dokumenteninformation Datum Version Anderung Cid Aorr U 31 05 2012 1 0 Erste Version des Dokuments 04 06 2012 Dokument berarbeitet Abstract EistCockpit 11 256 1 6 Abstract Abstract Die Einsatzstelle Telematik Eist Tm welche einen Teilbereich eines Richtstrahlbataillons darstellt hat die Verantwortung ber die Planung und die Verwaltung des integr
164. gn Locations Technischer Bericht Realisierung amp Test EistCockpit Standort Standort 2 Standort 3 Bezeichnung Stao 3 Eine Beschreibung zu einem Standort FachOf Reto Penner RistlBat 20 500000 100000 Musteradresse 3783 Hans M ller M llerstr 382 3838 M llhausen 89382983 6 7 2012 3 54 6 7 2012 3 54 215 256 9 8 1 2 Standort bearbeiten Dieses modale Fenster siehe Abbildung 88 Externes Design Location Detail wird aufgerufen sobald man auf die Schaltfl che Bearbeiten dr ckt Es dient dazu einen bereits erfassten Standort zu bearbeiten Standort Standort 3 Allgemein Kurzbezeichnung Bezeichnung Beschreibung Chef Einheit Koordinaten Adresse Landbesitzer Mame Landbesitzer Adresse Landbesitzer Telefonr Landbesitzer Belegt Standort 3 Bezeichnung Stao 3 Eine Beschreibung zu einem Standort Hans Meter Telefonnr 0449328328 R stlBat 20 200000100000 Wlusteradresse 3783 Hans M ller M llerstr 382 3838 M llhausen 89382983 Donnerstag 7 Juni 2012 15 54 01 Donnerstag 7 Juni 2012 15 54 02 Abbrechen Abbildung 88 Externes Design Location Detail Technischer Bericht Realisierung amp Test EistCockpit 216 256 9 8 1 3 Standort erfassen Beim Erfassen eines neuen Standorts wird dasselbe modale Fenster aufgerufen wie beim Bearbeiten Im untenstehenden Screenshot siehe Abbildung 89 E
165. haffen Damit die angestrebten Applikationsteile einfach auf dem System installiert werden k nnen wurde mit der HostApplikation des EistCockpits eine solides Fundament f r Plugins geschaffen So wurde das Ziel erreicht dass unabh ngige Applikationsteile ohne grossen Aufwand in das System eingeklinkt werden k nnen Dies kommt auch der Sicherheit zugute weil neue Versionen der Plugins jeweils nicht durch einen Mitarbeiter der RUAG installiert werden m ssen sondern bequem vom Personal vor Ort eingerichtet werden k nnen e Elektronischen Meldezettel umsetzen Das Problem der dem Projekt den Anstoss gegeben hat war die ineffizienten Papiermeldezettel durch ein effizienteres Elektronisches System zu ersetzen Mit dem Meldungsplugin wurde der Prototyp f r diesen Zweck geschaffen Obwohl es grunds tzlich bereits funktioniert ist es noch nicht einsatzreif daf r bedarf es neben weiteren Kleinigkeiten des Personen Selektors mit welchem sich Personen als Absender oder Empf nger schnell ausw hlen lassen sollen e Informations bersicht bieten Ein weiteres Ziel war es dem Benutzer eine zentrale Anlaufstelle f r Informationen rund um die Eist anzubieten Mit dem Standorteplugin ist ein Teil dessen bereits umgesetzt F r eine vollst ndige Abdeckung fehlen aber unter anderem noch die Telematikbereitschaftszeiten e Installation amp Benutzerdokumentation Damit das System eingesetzt werden kann wird eine einfache Installation und eine umfassende
166. he verbs better indicate the action on the resource and not their identification 2 1 1 Architectural Style REST is an architectural style it is not a standard It does not make much sense to create a specification for REST because it is just a style that have to be understood to de sign web services in that style 1 It is possible to make an analogy with the client server architecture style widely known There is not a specification called client server but only rules that must be followed by applications that wish to follow that style An architectural style is a coordinated set of architec tural constraints that restricts the roles features of archi 665 tectural elements and the allowed relationships among those elements within any architecture that conforms to that style According to Fielding 2 REST has a series of architec tural restrictions that when applied as a whole empha sizes scalability of component interactions generality of in terfaces independent deployment of components and inter mediary components to reduce interaction latency enforce security and encapsulate legacy systems Some of main features proposed by REST are Client Server paradigm the important principle is the separation of concerns between the client and server allowing them to evolve independently Stateless Communication between client and server must be stateless The server does not store conversational
167. hen siene Namespace EistCockpit Common Interface leistCockpitService Die Service Implementation greift via Business Layer siehe Namespace EistCockpit Business Klasse EistCockpitBusinessLayer auf die grundlegenden CRUD Operationen des DAL zu um so die entsprechenden REST API Methoden zu implementieren Wie bereits erw hnt ist die Service Implementation f r die Konvertierung zwischen Entities und DTOs zust ndig Die Client Proxy Implementation verwendet Channeling dabei wird der Aufruf lediglich an die Basis Klasse weitergeleitet Dies ist m glich weil es sich um einen NET Client handelt 10 3 3 4 Host Applikation amp Loader Die Host Applikation stellt lediglich ein Grundger st f r die Plugins dar das Ul besteht aus einem weitgehend leeren Window Das Loader Projekt wird als Startup Project f r die Host Applikation verwendet In der aktuellen Entwicklungs Version wird davon ausgegangen dass im Project Directory EistCockpit Loader auf erster Ebene des Source Directories ein Directory Plugins existiert Aus diesem Plugin Directory werden die Plugins geladen weshalb alle Plugin Projekte dieses Plugin Directory f r den Build Output verwenden sollten Das Einf gen der Plugin Uls in das Ul der Host Applikation geschieht im Main View Model siehe Namespace EistCockpit ViewModels Klasse MainViewModel 10 3 4 Plugin Solutions Nachfolgend wird auf einige Aspekte eingegangen welche bei der Entwicklung vo
168. hen Inhalte der Meldungen Status und R ckrufmeldungen Fehlt es dem Meldezettel an Optionen Nein Was ist Ihre Meinung zum bisherigen System Meldezettel Punkte schlecht angeordnet Was f r Verbesserungsw nsche h tten Sie am System Meldezettel Darstellung ndern Reihenfolge anpassen Events handeln TBZ Technischer Bericht Vorstudie EistCockpit 58 256 4 3 2 3 Triage Mitarbeiter 3 Aufgaben Planungsgruppe Kalke Triage Schichten Gruppen f hren Benotigter Input Technische Feldweibel geben Inputs Bsp Zeichne auf diese Karte das ein Werdegang Erfahrung Wm in RS als Richtstrahler Praktikum als MatChef Wie Ristl Bat 17 2 AGA an EM08 PANN FGG2 Trotzdem Computervisiert aber nicht ausgebildet Erfolgsmessung Keine R ckfragen keine Korrekturen um Auftrag zu erledigen keine NEF Probleme bei der Arbeit Zum Teil ist es sehr m hsam da Inputs von vielen verschiedenen Leuten kommen k nnen 24h Betrieb Guter Ablauf Erh lt klaren Auftrag gt Alle n tigen Informationen gt Bearbeiten Delegieren gt Status melden Schlechter Ablauf Auftrag unklar mangelnde Infos Rohmaterial widerspr chliche Auftr ge von verschiedenen Personen Warum ist es schlecht gelaufen Zeitdruck Arbeitsumgebung Karten Kalk Notebook TEPLAS Funksystem Wie wird ein Auftrag entgegengenommen was muss alles gemacht werden Kalk Tabellen Informationen weitergeben Telefon Fax Funk Eingehende Infos in Tabel
169. hischreibefehler in Dokumenten e Gultigkeitsbereich in Visionsdokument anpassen e Thomas soweit zufrieden mit bisherigem Projektstand A 8 A 8 1 A 8 2 A 8 3 A 8 3 1 A 8 3 2 A 8 3 3 Sitzungsprotokoll 04 04 2012 Traktanden Anwesend rwaltens dsteiner dsch ttl tcorbat Abwesend mstolze e Abnahme des letzten Sitzungsprotokolls e Abschluss SPO e Backlog e Stand der Arbeiten SP1 e Interpretation Session Auff lligkeiten am Arbeitsplatz e Affinity e Entwurf domain model e Ausblick Aufgaben e Abkl ren wie hoch Verf gbarkeit von Teplas Server ist dsteiner e Dokument layer architecture berarbeiten Protokoll Besprechung Schichtenarchitektur e WCF auf gleicher Ebene wie Viewmodel theoretisch keine eigene Schicht e Ansonsten keine Einw nde bez glich Schichtenarchitektur e Hinweis von Thomas Abk rzungen bei der ersten Verwendung ausschreiben bei weiterem Gebrauch reicht Abk rzung Eintrag in Glossar Abnahme letzten Sitzungsprotokoll e Das Sitzungsprotokoll vom 04 04 2012 wurde von Thomas Corbat abgenommen Abschluss SPO Backlog e Dave erkl rt kurz alle definierten Aufgaben im Backlog e Aufgaben werden weiter in Subtasks aufgeteilt welche als User Stories beschrieben werden e Thomas ist mit dem Backlog soweit zufrieden A 8 3 4 A 8 3 5 Stand der Arbeiten SP1 e Ulnt2 Artefakten Interpretation Session Affinity demonstriert e Domain Model kurz vorgestellt Ausblick
170. hots vom externen Design dargestellt Das Kapitel Developer Manual siehe Abschnitt 10 Developer Manual erkl rt wie ein Entwickler vorgehen muss um an diesem Projekt weiterzuarbeiten Abschliessend werden im letzten Kapitel Schlussfolgerung siehe Abschnitt 11 Schlussfolgerung die erzielten Ergebnisse und die Weiterentwicklungsm glichkeiten f r ein Folgeprojekt aufgef hrt Technischer Bericht EistCockpit 24 256 istCockpit David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Vision EistCockpit 25 256 2 1 Dokumenteninformation Datum Version Anderung hellt Erste Version des Dokuments 15 03 2012 28 05 2012 30 05 2012 12 Anpassung Zweck des Dokuments Technischer Bericht Vision EistCockpit 26 256 2 2 2 2 1 2 2 2 2 2 3 Allgemein Zweck des Dokumentes Die Absicht dieses Dokumentes ist es auf einem hohen Abstraktionslevel kurz die Bedurfnisse der zukUnftigen Benutzer zu definieren Es soll auch aufzeigen wieso diese Erfordernisse bestehen Zudem soll mittels des Visions Dokuments ersichtlich sein was der Nutzen bzw Ziele der Anwendung sein soll und wie sich das System vermutlich wirtschaftlich positionieren k nnte Es wird nur grob erl utert aus welchen Gr nden dieses Projekt ins Leben gerufen wurde und was die Visionen bzw Ideen sind F r detaillierte Informationen wird auf weitere Dokumente wie dem Projektplan Architekturdokument etc verwiesen Zurzeit bestehen k
171. i Unklarheiten wird nicht nachgefragt Meldungen bleiben liegen Tabelle 35 Ursachen Wirkungstabelle Technischer Bericht Vorstudie EistCockpit 73 256 4 3 5 4 Losungen zur Problemvermeidung Problem 1 Meldung unvollstandig e Es wird programmatisch verifiziert ob samtliche notwendige Daten eingegeben wurden e Pflichtfelder welche zwingend ausgef llt werden m ssen Problem 2 Meldung geht verloren e Meldungen welche noch nicht vollst ndig erfasst worden sind k nnen zwischengespeichert werden e Da Meldungen elektronisch erfasst werden ist es unm glich dass diese verloren gehen Problem 3 Unklar wer Meldungsempf nger e Hilfestellung auf Formular zum Erfassen der Meldungen e Weiterleiten an verantwortlichen Zellenchef sollte klar sein da Zust ndigkeitsbereiche von Zellen bekannt sind e Mitarbeiter vor Antritt der Arbeit gut informieren Problem 4 bertragungszeit Meldungen zu lange e Durch die elektronische L sung wird die bertragungszeit auf ein Minimum reduziert Problem 5 Meldungen enthalten fehlerhafte Informationen e Explizit in Formular erw hnen dass bei Unsicherheiten besser nochmals nachgefragt werden soll Problem 6 Meldungen bleiben liegen e Zu jeder Person sollten Stellvertreter registriert werden an die die Nachricht gesendet wird falls prim rer Empf nger nicht erreichbar ist e Wenn Meldung lange ungelesen in der bersicht liegt soll sie hervorgehoben werden Technischer Beri
172. i Feldtests Prototypen Aufnahme Ist Situation Requirement Engineering Lieferbare Ergebnisse Erfasste Meldungen Tabelle 12 Profil Interessensvertreter Soldaten Technischer Bericht Vision EistCockpit 32 256 Benuizerprofile Triage Mitarbeiter Die Triage Mitarbeiter werden durch die Interessensgruppe der Soldaten Mitarbeiter vertreten deshalb sei auf diese Gruppe verwiesen Gruppenf hrer Triage Beschreibung Typ Verantwortlichkeiten Erfolgskriterien Wie Involviert Lieferbare Ergebnisse Empfanger Beschreibung Typ Verantwortlichkeiten Erfolgskriterien Wie Involviert Lieferbare Ergebnisse Technischer Bericht Vision Die Gruppenf hrer h ufig Wachtmeister betreuen die Mitarbeiter in der Triage und erstellen Arbeitspl ne H ufig haben die Wachtmeister ein marginal h heres Fachwissen als die Soldaten Schichtpl ne erstellen z t selber Meldungen erfassen Status von Meldungen bearbeiten Das Personal in der Triage ist gut informiert p nktlich bei der Arbeit und die Meldungen werden vollst ndig erfasst W hrend Projektlaufzeit kaum involviert eventuell bei der Analyse der Ist Situation Meldungen Berichte ber aktuelle bungen Arbeitsplan Tabelle 13 Benutzerprofil Gruppenf hrer Triage Der Empf nger h ufig ein Abteilungsleiter einer Zelle nimmt die Meldung entgegen daraus entsteht z T ein neuer Auftrag I d R gute technische Kenntnisse versiert im Umgang mit
173. iW 5 Gi 0 wii Test 5 tests 0 ty MessagesCollectionTest 5 fests CanAddByMerging CanRemoveByMerging W HasCorrectAmount W NotifiesOnChange i yl ServesTypeMessage Abbildung 73 Unit Tests MessageCollection MessageViewModelTest SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS 11 W 11 Gi 0 Ei E if Test i Fi tests 0 MessageViewModelTest 11 tests W CanDiscardMessage 2 W CanDraftMessage W CanSendMessage W HasMessage wi IsSendvisibleOnlyForNewRecord vw NotifiesDiscarded g NotifiesSavedAsDraft ty NotifiesSend Y ObeysIsSaveVisibleForExisting i w ObeysReadOnlyForNewRecord Abbildung 74 Unit Tests MessageViewModel MessagesViewModelTest Success SUCCESS SUCCESS Success SUCCESS SUCCESS SUCCESS Success SUCCESS SUCCESS SUCCESS SUCCESS 3 Was Gi 0 ZW Test 9 fests 0 iy MessagesViewModelTest 3 fests w Hasfilter W HasMessages i vw NotifiesOnUpdate Abbildung 75 Unit Tests MessagesViewModel SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS 196 256 Technischer Bericht Realisierung amp Test EistCockpit 9 3 3 Testabdeckung Wie aus den nicht funktionalen Anforderungen hervorgeht Verweis Abschnitt 5 5 Nichtfunktionale Anforderungen soll im Durchschnitt die Testabdeckung bei den Plugins ber 70 und bei dem DAL
174. ia Windows Presentation Foundation Juni 2012 http en wikipedia org wiki Windows Presentation Foundation letzter Zugriff 04 06 2012 Wikipedia Model View ViewModel Mai 2012 http en wikipedia org wiki MVVM letzter Zugriff 04 06 2012 Wikipedia Web Services Description Language Mai 2012 http en wikipedia org wiki WSDL letzter Zugriff 04 06 2012 Wikipedia SOAP Juni 2012 http en wikipedia org wikl SOAP letzter Zugriff 04 06 2012 Wikipedia Representational state transfer Juni 2012 http en wikipedia org wiki REST letzter Zugriff 04 06 2012 Wikipedia JSON Juni 2012 hittp en wikipedia org wiki JSON letzter Zugriff 04 06 2012 url18 System Data SQLite org System Data SQLite About Juni 2012 http system data sqlite org index html doc trunk www index wiki letzter Zugriff 05 06 2012 url19 Doxygen org Doxygen Mai 2012 http www doxygen org letzter Zugriff 08 06 2012 url20 Microsoft Corporation C Coding Conventions C Programming Guide 2012 http msdn microsoft com en us library ff926074 aspx letzter Zugriff 05 06 2012 url21 Doxygen org Documenting the Code Mai 2012 http www stack nl dimitri doxygen docblocks html letzter Zugriff 06 06 2012 url22 Doxygen org Commands Mai 2012 http www stack nl dimitri doxygen commands html letzter Zugriff 06 06 2012 EistCockpit Anhang B Vereinbarungen David Sch ttl Remo Waltensp l amp Diego Steiner
175. iceManager Plugininitializer EistCockpit Contracts IHost Plugin EistCockpit Plugins Services Plugin View Ho stPlugin Initializer e EistCockpit Contracts lOp eration EistCockpit LocationsPlugin EistCo ckpit Con tracts IPlugin Loader OperationPlugininitializer EistCockpit Contracts IStandalone EistCo ckpit Plugins Messages Plugin Plugin Loader OperationPluginlnitializer Abbildung 51 Vererbungshierarchie Plugin Interfaces Die obige Abbildung zeigt die Vererbungshierarchie der Plugin Interfaces sowie die implementierenden Plugins 7 2 7 Transaktions Management In verteilten Systemen welche auf eine gemeinsame Datenbank zugreifen tritt immer die Problematik auf wie konkurrenzierende Updates f r einen Datensatz gehandhabt werden sollen Unter dem Einsatz von WSDL SOAP Webservices wird hierf r nach dem sog Optimistic Concurrency Control Prinzip vorgegangen Bei der Optimistic Concurrency Control wird davon ausgegangen dass Konflikte zwischen Transaktions Operationen eher selten auftreten dies hat positive Auswirkungen auf die Performanz des Datenzugriffs da Locks und dergleichen entfallen Bei einem Konflikt wird dies dem Client mitgeteilt damit dieser entsprechend reagieren kann Bei der Verwendung von REST JSON Webservices wie im vorliegenden Fall f r EistCockpit ist die Unterst tzung f r Optimistic Concurrency Control schwieriger umzusetzen trotzdem w re ein solcher Mechanismus w nschenswert Der
176. ices are software components that interoperate over the Internet and they gain widespread acceptance partly because of the business demand for applications to exchange information 9 Unlike GAPs using web services enables organizations to quickly build integrated systems by compos ing these services for information exchange By composing legacy GAPs with each other and web services into integrated systems organizations can support their business processes better with these systems 8 Integrating legacy GAPs with each other and web services is important for most organizations that have invested heavily in a variety of GAPs from multiple vendors 1 Changing source code of GAPs to make them interoperable is difficult because of brittle legacy architectures poor documentation significant programming effort and subsequently the large cost of these projects Modifying third party GAPs may not even be possible since organizations often do not have access to the source code Given the complexity of GAPs and the cost of making them interoperable a fundamental problem of interoperability is how to build integrated systems by composing GAPs with each other and web services efficiently and non invasively Our main contribution is a novel generic approach for composing GAPs with each other and web services into integrated systems This approach combines a nonstandard use of accessibility technologies for composing GAPs written in different langu
177. ich can be significantly reduced using batch transfers The goal our experiment is to show that exchanging mes sages in batches yields better performance of the integrated system The graph showing the dependency of transfer time per item from the number of items transferred between GAPs is shown in Figure 4 The horizontal axis shows the number of data items transferred per transaction An average size of the data item is approximately 360 bytes The vertical axis shows the time it takes to transfer an item from IPIE to IQE For a single item it takes approximately 2 1 seconds to transfer a data item considering the GAP computational overhead As data items are transferred in batches the amount of time it takes to transfer an item drops approximately 14 times to Seconds per transaction GAPs restarted GAPs restarted with multimedia GAPs screens reused Programmatic components Fig 3 Transaction throughput for web services close to 0 15 second as the number of the items in a batch grows to 500 Correspondingly the size of the XML message containing these data items grows from 1 5Kb to 130Kb However transferring 1 000 items instead of 500 reduces the transfer time per item by only 1 9 times Our explanation is that it takes longer to create and parse large messages as well as to transfer them and this additional overhead dwarfs the reduction of the transfer time per message Still the o
178. id 10360 6123 15 05 2012 Technischer Bericht Domain Analyse EistCockpit 124 256 6 5 5 Meldungen Properties Fid OF senderlD A recipientID SF priority type text F crestorlD en created T modified T modifierID SF operationID oF isDraft Navigation Properties E Recipient E Sender EI Creator E Modifier SS Operation Abbildung 31 Datenmodell Message Technischer Bericht Domain Analyse EistCockpit 125 256 6 5 5 1 Technischer Bericht Domain Analyse Message Reprasentiert eine Meldung Hauptverwendungsort einer solchen Meldung ist die Triage die Statusmeldungen von den Standorten entgegennimmt und diese an die Eist weiterleitet Es ist aber auch moglich Meldungen irgendeiner Natur zu erfassen und an eine im System vorhandene Person zu senden Property SenderlD ReceipientlD Priority Type Text CreatorID Created ModifierID Modified OperationiD IsDraft Receipient Sender Creator Modifier Operation Enum Enum Text Int DateTime Int Date Time Int Boolean Relation Relation Relation Relation Relation EistCockpit Beschreibung Eindeutige Identifikation Die ID des Absenders der Nachricht Die ID des Empf ngers der Nachricht Die Priorit t der Meldung Der Typ der Meldung Die zus tzlichen Informationen zur Meldung Die ID der Person die die Nachricht erstellt hat Der Zeitpunkt zu welchem die Meldung erstellt wurde Di
179. ieller Experte f r die Studienarbeit auf Kunde Von der Seite der Schweizer Armee und der F Brigade 41 bernimmt der amtierende Kdt Stv des Ristl Bat 20 dessen Stab als Test User auftritt die Aufgaben des Kunden Hans Andrea Veraguth bisher Major Hans Andrea Veraguth bernimmt in seiner Funktion als Bat Kdt Stv die Rolle des Kunden f r das EistCockpit er verl sst das Heil Bat 20 im Jahr 2012 Ramun Berger neu Hauptmann Ramun Berger bernimmt als Nachfolger von Major Veraguth auch seine Rolle als Kunde f r EistCockpit Michael Klotzli Obwohl Hauptmann Michael Kl tzli nicht mehr direkt zum Rist Bat 20 geh rt hat er uns auch f r Sp tere R ckfragen seine Hilfestellung zugesichert Er tritt als Consultant auf Technischer Bericht Projektmanagement EistCockpit 47 256 3 5 Risikomanagement Siehe Anhang Technischer Bericht Projektmanagement EistCockpit 48 256 3 6 Qualit tssicherung 3 6 1 Review der Tickets Jedes Ticket wird bei der Erledigung auf den Status Resolved gesetzt Nach erfolgreichem Review erfolgt mindestens 1x pro Phase Sprint werden die kontrollierten Tickets dann auf den Status Closed gesetzt was bedeuted dass das Ticket berpr ft wurde Um einen Sprint abzuschliessen m ssen alle Tickets Closed sein 3 6 2 Review des Codes Der geschriebene Code selber soll w hrend jedes Sprints durch die anderen Entwickler berpr ft und erg nzt werden In der gesamte
180. ieren e Icons Rechte zum benutzen vorhanden gt abklaeren e Maximierung Beschraenken e Aufoesung der Laptops beachten Code Review Siehe Code Review Dokument nderungsgeschichte Dtm Version Anderng Amar 07 03 2012 Erste Version des Dokuments 12 03 2012 Dokument um Sp testen Zeitpunkt aktualisiert 26 03 2012 Risiko 03 eingetroffen Massnahmen beschrieben 27 03 2012 Kleine Anpassungen bei Berechnung der Reserve 22 04 2012 Bereinigen von Risiken nach Sprint 1 20 05 2012 Bereinigen von Risiken nach Sprint 2 06 06 2012 Bereinigen von Risiken gegen Ende Sprint 3 SVN Repository Ausfall RO1 Ausfall RO2 Redmine Zeit wahrend WK zu knapp RO3 Eintrit tswah Beschreibung rschei nlichk eit Der SVN Server welcher von der HSR bereitgestellt wird f llt aus Dadurch ist der Zugriff auf Dokumente nicht mehr Der von der HSR bereitgestellte virtuelle Server steigt aus und damit wird der Zugriff auf das zentrale Medium f r das Projekt verunm glicht Die f r die Studienarbeit verf gbare Zeit w hrend dem WK ist zu 50 knapp berechnet um alle gew nschten Schadens potenzial h Reserven h Vermeidungs und Verminderungsmassnahm en SVN regelm ssig auschecken um lokale Kopien zu haben Die meisten Dokumente werden direkt auf dem Wiki des Redmine Portals erstellt und bearbeitet dadurch w re ein Ausfall weniger schwerwiegend Da
181. ierten milit rischen Fernmeldesystem Netzes IMFS Die Eist Tm ist die Anlaufstelle f r alle Richtstrahl Standorte deshalb werden regelm ssig unterschiedliche Statusmeldungen empfangen Gegenw rtig basiert die Verwaltung all dieser Informationen haupts chlich auf Meldezetteln in Papierform Das bisher eingesetzte System ist ineffizient und schwer berschaubar Zudem haben Ans tze zur Digitalisierung der Informationen nicht oder nur schlecht funktioniert Innerhalb dieser Studienarbeit wurde eine Applikation entwickelt um die Meldungen digital aufzubereiten zu priorisieren und auf der Empf ngerseite anhand von verschiedenen Kriterien zu filtern W hrend der ersten Projektphase wurden die Anforderungen im Laufe eines vierw chigen milit rischen Dienstes direkt vor Ort mittels Benutzerbefragungen aufgenommen Dadurch konnte die Benutzeroberfl che ideal auf die Benutzerbed rfnisse abgestimmt werden Es wurde ein verteiltes Informations Status und Meldesystem konzipiert Bei diesem System greifen die Clients ber einen RESTful WCF Webservice welcher die Datenobjekte per JSON serialisiert auf eine SQLite Datenbank zu Damit die Anwendung f r zuk nftige Anforderungen einfach erweiterbar ist wurde eine dynamische Plugin Architektur mittels Microsoft Extensibility Framework MEF implementiert Die Anwendung wird im Rahmen der Studienarbeit nicht bis zur Produktreife entwickelt sondern in der nachfolgenden Bachelorarbeit vervolls
182. ieso wurde der Entscheid zugunsten einer Client Server und nicht einer Webbasierten Architektur gefallt e Aufgrund der aktuell existierenden System Umgebung dem Wissensstand der Projektmitarbeiter und da keine Vorgaben diesbezuglich gemacht wurden die Praferenz der Projektmitarbeiter Ziel ist es eine brauchbare Software zu entwickeln und nicht neue bzw muhsame Technologie Erfahrungs Wert einzusetzen Accessibility e Farbenblindheit sollte kein Problem darstellen da in der schweizerischen Armee verhaltnismassig etwa gleichviele Farbenblinde wie in der gesamten schweizer Bevolkerung existieren Deshalb sollte nicht nur auf farbliche Indikatoren geseizt werden um bestimmte Programmoptionen zu unterscheiden z B durch zus tzliche text basierte Anzeigen gr n OK rot FEHLER Geheimhaltung Laut Maj Veraguth ist es usserst wichtig dass keine Daten mit einer milit rischen Klassifizierung in den Projektdokumentationen vorkommen Dabei gelten insbesondere die folgenden Regeln welche aus der Geheimhaltungsvereinbarung stammmen e Handhabung von Informationen der genannten Klassifizierungen m ssen ber cksichtigt werden e Reale Daten mit entsprechenden Klassifikationen d rfen nicht in Datenbank abgelegt werden fiktive Daten verwenden e Projekt Dokumentation enth lt keine Informationen mit offiziellen milit rischen Klassifizierungen intern vertraulich geheim e Im Zweifelsfall entscheidet Stellvertretender
183. ildung 14 Effizienz bei der Arbeit Abbildung 15 Erfahrungen in diesem Bereich Abbildung 16 Regelmassigkeit der Verwendung Abbildung 17 Genauigkeit Meldezettel Abbildung 18 Militarisches Strategisches Denken Abbildung 19 Auffassungsgabe Abbildung 20 Fachliche Kompetenz Abbildung 21 Konzentrationsfahigkeit Abbildung 22 Abbildung 23 Abbildung 24 Abbildung 25 Abbildung 26 Abbildung 27 Abbildung 28 Abbildung 29 Abbildung 30 Abbildung 31 Abbildung 32 Abbildung 33 Abbildung 34 Abbildung 35 Abbildung 36 Abbildung 37 Abbildung 38 Abbildung 39 Abbildung 40 Abbildung 41 Abbildung 42 Abbildung 43 Abbildung 44 Abbildung 45 Verzeichnisse Persona Linien Persona Frank Fleissig Persona Iwo Informiert Persona Viktor Versiert Domain Modell Datenmodell Service Datenmodell Operation Datenmodell Location Datenmodell Person Datenmodell Message Datenmodell Plugin Host Application Mockup Create Message Mockup Message Overview Mockup Location Mockup Host Application Service Mockup Create Message Mockup Message Filter Mockup Location Mockup Redesign Paper Prototype Message Overview Paper Prototype Create Message Paper Prototype Message Created Paper Prototype Message Overview Paper Prototype filtered Messages EistCockpit 18 46 46 46 62 64 65 66 68 70 75 75 75 75 76 76 76 76 76 76 76 77 78 87 91 109 112 114 118 122 125 128 130 131 131 132 134 135 136 137 14
184. immer ist mit b ro blichen Mitteln drei Telefone zwei TEPLAS Client ein Fax B routensilien etc eingerichtet Der L rm sollte eigentlich kein Problem darstellen da die Triage Abteilung in einem abgeschlossenen Raum sich befindet Unterbr che k nnen im Falle eines Schichtwechsel oder Fragen von verschiedenen Personen entstehen lwo bereitet sich seri s auf seine Arbeit vor und bernimmt als Gruppenf hrer eine Vorbildfunktion Ihm ist es ein weiteres Anliegen dass der Team Spirit bzw Teamgeist gef rdert werden kann was nat rlich indirekt wieder zu erh hten Arbeitsleistungen f hren kann Um dies zu erreichen f hrt er von Zeit zu Zeit Gespr che mit verschiedenen Soldaten durch daraus kann er fr hzeitig erkennen wo Probleme auftreten Als Leiter der Triage Gruppe muss er vor allem die bersicht bewahren und bei Fragen der Soldaten Auskunft geben k nnen Dies stellt f r ihn jedoch kein Problem dar da er gut informiert ist EistCockpit 87 256 Pers nlichkeit amp Vorlieben Vorkenntnisse amp Lernen Pain Points amp Frustrationen Eigenschaften amp Behaviour Variables Ziele Technischer Bericht Vorstudie Die Abl ufe in der Triage sind Frank gel ufig er kann sich zudem gut in ein Team integrieren da er eher der gesellige kommunikative Typ ist Aufgrund seiner offenen Art neigt er auch dazu sich schnell durch andere Personen ablenken zu lassen F r ihn ist prim r wichtig dass das soziale Umfe
185. in Soldat fehlt Er erf hrt durch einen anderen AdA dass er heute Morgen noch nicht aufgetaucht ist Deshalb beschliesst er ihn selber schnell aufzuwecken F r den Morgen stehen noch weitere kleinere B roarbeiten an die nicht weiter im Detail erw hnt werden Vor dem Mittag gibt es noch eine kurze KP Sitzung mit dem h heren Kader indem die h heren Offiziere ber die anstehende bung informieren Iwo macht sich pflichtbewusst einige Notizen zu den Dingen die ihn sowie sein Team betreffen Anschliessend macht er sich auf um p nktlich beim Mittagessen zu erscheinen ber den Mittag bleibt noch gen gend Zeit um sich kurz ber die anstehenden Arbeiten sowie einige private Sachen auszutauschen Nach diesem kurzen Unterbruch arbeitet lwo weiter an den anstehenden Aufgaben bis ganz pl tzlich ein h herer Offizier hereinplatzt und ihn unterbricht Er m sse sofort die Personen neu einteilen da anscheinend neue Auftr ge eingegangen sind und dies eine neue Planung des Personals erfordert Wie gefordert macht sich nun Iwo an die Arbeit und erarbeitet einen neuen Schichtplan Dies f llt ihm jedoch nicht ganz einfach da viele Arbeiten anstehen und verh ltnism ssig nur wenig Personal zur Verf gung steht Trotzdem nimmt er sich dieser Aufgabe an nach einiger Zeit kann er den neuen Plan ausdrucken und allen involvierten Personen zeigen Iwo braucht mal eine Pause deshalb geht er kurz an die frische Luft trinkt etwas und diskutiert mit einigen Ka
186. ind vorhanden in einem n chsten Schritt m sste man jedoch weitere Plugins entwickeln wie z B ein Bereitschafts Netzplan Vereinsverwaltung und Gefechtsjournalplugin Des Weiteren m ssten die bestehenden zwei Plugins erweitert werden Das bestehende Projekt EistCockpit wird in der folgenden Bachelorarbeit weitergef hrt Ziel ist es dass nach dem Abschluss der Bachelor Thesis eine einsatztaugliche Anwendung besteht die sich nahtlos in die Abl ufe der Eist Tm integriert Extemded Management Summary EistCockpit 21 256 EistCockpit IV Technischer Bericht David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht EistCockpit e 22 256 1 14 Dokumenteninformation Datum Version Anderung tor 07 06 2012 Erste Version des Dokuments 08 06 2012 Abschnitt Developer Manual hinzugef gt Technischer Bericht EistCockpit 23 256 1 15 Einleitung Beim ersten Dokument handelt es sich um das Visionsdokument siehe Abschnitt 2 Vision welches den Grund und die Visionen f r die Entwicklung von EistCockpit aufzeigt In diesem Dokument werden Konkurrenzprodukte und die Zielgruppe analysiert Das n chste Dokument Projektmanagement siehe Abschnitt 3 Projektmanagement gibt einen berblick wie das Projekt geplant wurde des Weiteren werden die Risiken aufgelistet sowie das Vorgehensmodel dokumentiert Das Kapitel Vorstudie siehe Abschnitt 4 Vorstudie behandelt die Analyse der aktuellen Situation sowie der
187. ines of 206 256 9 6 3 4 LocationsPlugin e es ech _ in irre ent Je A 4 8 EistCockpit LocationsPlugin Loader Debug E d EistCockpit LocationsPlugin Loader b OperationPluginlnitializer 4 G EistCockpit LocationsPlugin Model Debug 4 EistCockpit LocationsPlugin Model b gt A Coordinate b Location 4 Kei EistLockpit LocationsPlugin Test Debug 4 EistCockpit LocationsPlugin Test gt BaselnitializeUnitTest gt CoordinateUnitTest b EditLocationViewModelUnitTest b LocationUnitTest gt ShowLocationViewModelUnitT est d Ei ErtCockpit LocationsPlugin View Debug 4 EistCockpit Plugins LocationsPlugin View b LocationPluginButton 4 G EistCockpit LocationsPlugin ViewModel Deb E 4 EistCockpit Plugins LocationsPlugin Hand E gt ResultEventArgs T gt 2 ResultEventHandler P d EistCockpit Plugins LocationsPlugin Viewh 3 b vie EditLocationViewModel b LocationViewModel b ShowLocationViewModel Abbildung 81 Metrics LocationsPlugin 9 6 3 5 ServicesPlugin im Hierarchy Mainta Cyclo i EistCockpit Plugins ServicesPlugin View Debt M 4 cf EistCockpit Plugins ServicesPlugin ViewModel H 4 Ui EistCockpit Plugins ServicesPlugin ViewM 4 gt ServicesViewModel gt ServiceViewModel 4 L EistCockpit ServicesPlugin Loader Debug 4 EistCockpit Plugins SernvicesPlugin View b HostPluginlnitializer Abbildung 82 Metrics ServicesPlugin
188. inition des User Interface wird in XAML Extensible Application Markup Language ausgef hrt unterst tzende Funktionalit t wird in sog Code Behind Files in C implementiert Jeglicher Code in diesem Layer implementiert ausschliesslich Ul unterst tzende Funktionalit t w hrend spezifische Daten dem jeweiligen Viewmodel aus der darunterliegenden Schicht entnommen werden Durch die Trennung von UI und Applikations Logik wird die Kapselung erh ht und somit auch Testbarkeit der Software verbessert 7 3 2 2 View Models Der Viewmodel Layer h lt die Daten f r einen assoziierten View aus der dar berliegenden Schicht nderungen von Properties Attributen im View Layer werden an das sog Data Binding System welches von Framework zur Verf gung gestellt wird delegiert Dieses stellt sicher dass die nderungen auch im entprechenden View Model umgesetzt werden dies gilt auch in die Umgekehrte Richtung vom View Model zum View Definitionsgem ss darf das View Model keinen Zugriff auf Ul Instanzen aus dem View Layer besitzen Durch das Data Binding System wird die Kommunikation zwischen diesen Layern erm glicht Wie bereits im vorherigen Abschnitt erw hnt wird durch die Trennung zwischen View und View Model die Kapeslung erh ht und die Koppelung minimiert was sich positiv auf die Qualit t des Endprodukts auswirkt Technischer Bericht Entwurf EistCockpit 169 256 7 3 2 3 7 3 2 4 7 3 2 5 Service Model WCF Der Service Mode
189. initionen und Abk rzungen Siehe Glossar Technischer Bericht Prototypen EistCockpit 175 256 8 3 8 3 1 8 3 2 8 3 3 bersicht Ziel Bevor die Applikation entwickelt werden konnte existierten noch verschiedene Unklarheiten betreffend der Architektur und dem Vorgehen Dies stellten Risiken dar Verweis Anhang Abschnitt Risikomanagement die man mit spezifischen Prototypen entkr ften wollte Ein weiterer Grund f r die Entwicklung von Prototypen war die einfachere Einarbeitung in neue Technologien und Frameworks anhand eines berschaubaren Testprojekts Durchf hrungszeitraum e 04 April 2012 24 April 2012 Fazit Mit den implementierten Prototypen konnte sichergestellt werden dass die vom Projektteam beabsichtigen Architekturkonzepte innert n tzlicher Zeit umgesetzt werden k nnen Dabei konnten s mtliche Projektmitglieder viele neue Erfahrungen sammeln die bei der anschliessenden Implementation einen schnelleren Einstieg erlaubten Technischer Bericht Prototypen EistCockpit 176 256 8 4 Prototypen 8 4 1 Webservice Prototyp 8 4 1 1 Zweck Der Webservice Prototyp wurde als Proof of Concept erstellt welcher aufzeigen soll dass die Verwendung eines WCF REST JSON Webservice zusammen mit einem WPF Client funktioniert Als Beispiel Kontext wurde ein Gefechtsjournal Combat Journal gew hlt Der POC soll einige generierte Journal Eintr ge vom Service abrufen und die Details f r den angew h
190. ion Configuration Reviews SP2 Remo Waltensp l Sprint 2 Sprint 2 Dieser Sprint stand unter dem Stern Das aus den Prototypen gelernte umsetzen Nachdem nun alle Projektmitglieder eingearbeitet waren ging es rasch vorw rts Leider untersch tzten wir einige Aufgaben was dazu f hrte dass sich der Sprint nach hinten in die L nge zog Ziel des Sprints war es eine lauff hige Betaversion der Applikation fertigzustellen was dann mit ein wenig Versp tung auch gelang Projekt Retrospektive EistCockpit 251 256 11 7 1 5 Sprint 3 Dauer 3Wochen Gesch tzter Aufwand 219h Tats chlicher Aufwand 180h Tickets 34 Tickets Aktivit t Status Prio Name Verantwortlich Phase BE a re Pr D FT te EE ep a ee SC EE D CEET go GENEE em i ee ec oe u Se Te re ee EN FT gt ee oo D tone ee SSS e FT ga Tr ee re Progress SP3 m e a a a ee eee erstellen oe Fe ee ra Fr y ee e CEET DS EE u u D a a a a e a SE u a D ENEE ee ee Sen Ss ENEE Progress Dokument u EE n ms DEENEN Tabelle 75 Tickets zu Sprint 3 Projekt Retrospektive EistCockpit 252 256 136 Documentation Resolved Normal Projektmanagement Diego Steiner Sprint 3 Dokument en ENEE EE Summary ge GENEE D GEET Ss a tone a ee a SE Oo fa et Wo EE Plugin a ENEE einrichten EC 8 a re e EE a sa ian a bc ea D a a S ECHTEN Auswertung Im letzten Sprint galt es noch die Bugs auszumerzen die sich n
191. ion gt lt account gt With the representations clients make fund transfers in their local accounts representation At the time to commit the updates in the banks the client 1 achieves the update of the account 12345 which goes to version 2 with balance 450 The client 2 achieves the update of the account 98765 which goes to version 2 with balance 550 When the client 1 tries to change the account 98765 a conflict is detected because there is a newer version of it The account 98765 older version no longer exists Similarly the client 2 can not update the account 12345 See Figure 2 The contents of a request to change the balance of the 12345 account version 1 to 450 00 is as follows 5 PUT 8 PUT account 12345 v1 Bank A account 12345 v1 450 account 12345 v2 450 d 409 Conflict account 98765 v1 account 98765 v1 be a SCH Bank B Zn ne 409 Conflict geg 98765 v2 200 OK 550 Figure 2 Each client can update only one of the manipulated resources and conflicts are detected PUT accounts account 12345 1 HTTP 1 1 667 Content Type application xml Host bank com Content Length 138 lt xml version 1 0 encoding UTF 8 standalone yes gt lt account gt lt accountNumber gt 12345 lt accountNumber gt lt balance gt 450 lt balance gt lt version gt 1 lt version gt lt account gt It is important to note that the update URI is formed by the concatenation of
192. ired to create an integrated EPS using Coins with the programming effort to create the same service by using the source code of GAPs We created applications similar in functionalities to QE and PIE respectively It took us approximately fourteen hours to create and test our imitations of QE and PIE which we call IQE and IPIE respectively Then we created an integrated EPS It took us approximately three and half hours to extract the code from the IQE and IPIE move it to the integrated system project and compile and debug it Compared to that it took us less than fifteen minutes to generate an integrated system using Coins B Performance Considerations Calling methods directly is more efficient than invoking services of GAPs through their GUI elements The addi tional overhead cost OC consists of the GAP startup time the initialization time for the internal structures representing GUI elements screen switching time and communicating time between Proxies and GAPs Common delay CD for both programmatic and GAP based integrated systems con sists of network latency time of transmitting method call requests between components and delivering results back and the method execution time The GUI computation overhead GCO ratio in percent GCO lt 100 shows what percentage of the execution time is dedicated to handling GAPs and their GUI elements C Performance Evaluation The goal of the performance experiment is to evaluate how
193. is Betriebssystem installiert Windows XP f r die Arbeit meldet sich ein Benutzer via Citrix beim Server an und arbeitet somit innerhalb seiner Session effektiv auf dem Server die Arbeitsstation ist lediglich ein glorifiziertes Terminal Die Benutzerverwaltung geschieht wie bei Windows Server Umgebungen blich mittels AD Active Directory wobei die Benutzer gewissen Gruppen zugewiesen sind welche deren Rechte definieren Technische Auflagen Von Seiten der F Br 41 F hrungsunterst tzungs Brigade 41 wurden bei der Initiierung des Projekts folgende technische Auflagen gemacht e Einsetzbarkeit auf den verf gbaren IT Mittel der Ristl Bat Teplas oder KP LAN d h es d rfen keine weiteren Systeme oder Ger te in die bestehende Infrastruktur integriert werden e Abh ngigkeiten bei allf lligen Softwareupdates Betriebssystemseitig sind vollumf nglich zu dokumentieren Framework amp Programmiersprache Wie im vorherigen Abschnitt dargelegt wurde wird das System in einer Microsoft Windows Umgebung eingesetzt Dabei darf zwar keine weitere Hardware der Umgebung hinzugef gt werden wohl jedoch Software sofern dies klar dokumentiert wird Dies implizert dass die von EistCockpit ben tigte Laufzeitumgebung sowie deren Frameworks installiert werden Nachfolgend werden die Varianten f r die verwendete Laufzeitumgebung dargelegt Varianten Variante 1 Java Java ist eine weit verbreitete und moderne o
194. ische Zwecke konzipiertes Ger t dessen Ziel es ist allf llige Abh rversuche mittels einem Schalter direkt am Telefonh rer zu verhindern 6 Laptop Meistens sind zwei Laptops in der Triage vorhanden welche haupts chlich f r die Erfassung der Meldungen im Excel ben tigt werden anstatt analog im Gefechtsjournal Falls jedoch keine neue Anrufe eingehen wird das Notebook auch h ufig als Unterhaltungsmedium genutzt 7 Kopie Telefonliste Bei dieser Telefonliste handelt es sich um eine Kopie der Liste welche an der Wand h ngt Hintergrundinformationen e Auf dem Tisch liegen in der Regel einzelne Notizzettel mit Informationen von Vorgesetzten Diese belaufen sich meistens auf circa 2 bis 5 Zettel Beispielhafte Informationen w ren Hinweis zu einer erwarteten Meldung bestimmte Person nach einer bestimmten Zeit zur ckrufen etc e Notizzettel werden nicht mit einer Priorit t versehen dadurch k nnen sie auch nicht nach Wichtigkeit unterschieden werden e F r die Notizen gibt es kein bestimmtes Zeitfenster in dem die Zettel abgearbeitet werden m ssen Demnach k nnen Notizen vergessen oder auch versp tet bearbeitet werden Technischer Bericht Vorstudie EistCockpit 63 256 4 3 4 Affinity 4 3 4 1 Auswertung Affinity Wand Ubersicht Die folgende Abbildung zeigt die bersicht ber die Affinity Darstellung mittels Post lt Zettel Die weiteren Kapitel nehmen Bezug auf die einzelnen Kategorien an en g
195. isse ins Backlog umsetzen Backlog Priorisieren Product Backlog Sitzung 26 03 2012 Sitzung 28 03 2012 Tabelle 24 Beschreibung Sprint 0 Prototype fur Subsysteme schaffen Gute Codebasis durch Pairprogramming Domainmodell Prototyp WCF Prototyp Pluginmodell Prototyp Sitzung 04 04 2012 Tabelle 25 Beschreibung Sprint 1 Featurekomplette Betaversion der Software entwickeln Sitzung 25 04 2012 Sitzung 02 05 2012 Sitzung 09 05 2012 Tabelle 26 Beschreibung Sprint 2 21 05 bis 08 06 2012 Finale Version der Software Entwickeln Dokumentation abschliessen Dokumentation Sitzung 22 05 2012 Sitzung 06 06 2012 Tabelle 27 Beschreibung Sprint 3 EistCockpit 44 256 3 3 5 Sitzungen Den Betreuern der Studienarbeit soll ein stetiger Einblick in das Projekt gew hrleistet werden und dem Team soll die M glichkeit geboten werden Fragen zu stellen Deshalb sollen in regelm ssigen Abst nden von zwischen einer und zwei Wochen Sitzungen durchgef hrt werden Der Inhalt dieser Sitzungen muss jeweils in Sitzungsprotokollen festgehalten werden und von allen Parteien zu Beginn der darauffolgenden Sitzung abgenommen werden 3 3 6 Zeitplanung und erfassung Die Absch tzung und Planung erfolgt ber die Tickets im Redmine ber Selbige wird auch die Zeiterfassung realisiert indem das direkt auf den Tickets gebucht wird Redmine bietet umfangreiche Auswertungen mit denen detaillierte Berichte erstellt werden k nnen T
196. ist UO Obwm Lehrgang Zugf hrer Stv Erfolgsmessung Wenn alle einsatzbezogenen Meldungen bei entsprechenden Personen oder F hrungsgebiete zeitgerecht angekommen sind Probleme bei der Arbeit Personenmangel Ressourcenmangel Uberlastung Telefon ZU lange Kommunikationswege Bsp wenn alle in KP Sitzung sind Guter Ablauf Wenn Ticket kommt wird dies in ein Excel File geschrieben Empf nger weiss von Meldung vor dem Erhalt des Meldezettels Bescheid Schlechter Ablauf Person ruft an Notizen auf Fresszettel geht verloren Warum ist es schlecht gelaufen Zeitdruck Arbeitsumgebung 3 Telefone 2 TEPLAS Client 1 Fax abgeschlossener Raum wegen Telefonen relativ nahe an FGG3 Siehe dazu Error Reference source not found Wie wird Meldung entgegengenommen was muss alles gemacht werden Meldezettel ausf llen amp Eintrag in Gefechtsjournal Was passiert mit diesen Meldungen Die Meldung wird der zust ndigen Gruppe zugestellt Wie viele Meldungen werden pro Stunde empfangen 50 Meldungen h in Spitzenzeiten im Minimum 5 Meldungen h Wie ist der Umfang einer Meldung L nge Dauer eines Gespr ches Durchschnittliche Dauer von 30 Sekunden 15 Minuten Nachbearbeitung ca 1 Minute Wie ist der Ablauf beim Empfang Wie effizient l uft so ein Gespr ch ab Anrufen Empfang 6 W Fragen Emergency Level wird angepasst Priorit ten Technischer Bericht Vorstudie EistCockpit 57 256 Was sind die typisc
197. istCockpit wird verwendet e Programmiersprache C e Framework NET 4 0 Der Entscheid wird wie folgt begr ndet e Dies Systemumgebung basiert auf Microsoft Windows e Ein NET Framework Version 2 0 ist bereits installiert das NET Framework 4 0 wird von den vorhandenen Betriebssystemen unterst tzt e Das NET Framework 4 0 bietet m chtige Technologien wie WCF Windows Communication Foundation und WPF Windows Presentation Foundation welche auf modernen Entwicklungskonzepten wie z B MVVM Model View ViewModel aufbauen e Alle Team Mitglieder sind erfahren in der NET Entwicklung unter C zum einen durch Modulbesuche als auch durch Arbeitserfahrung inkl Microsoft Zertifizierungen 1 Turl6 Java programming language http en wikipedia org wiki Java programming language 29 05 2012 url7 C Sharp programming language http en wikipedia org wiki C Shar rogramming language 29 05 2012 url NET Framework http en wikipedia org wiki NET Framework 03 06 2012 13 Turl9 Download Microsoft NET Framework 4 0 eigenst ndiger Installer http www microsoft com de de download details aspx id 17718 03 06 2012 url10 Windows Communication Foundation http en wikipedia org wiki Windows Communication Foundation 04 06 2012 url11 What is Windows Communication Foundation http msdn microsoft com en us library ms731082 aspx 04 06 2012 url12 Windows Presentation Foundation
198. it Stattgegeben Stao sofort informieren und ndert die Zust ndigkeit auf Triage Diese Informiert den Stao unverz glich und setzt die Meldung auf erledigt Die aus einer Meldung entstehenden Auftr ge m ssen m ndlich verteilt werden es gibt keine Erledigungskontrolle Meldungen Bi direktional k nnen weitervermittelt erweitert werden Feedback erledigt nicht erledigt Verweis Interview 4 Was f r Verbesserungsw nsche h tten Sie am System EistCockpit 95 256 EistCockpit 5 Anforderungen David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Anforderungen EistCockpit 96 256 5 1 Dokumenteninformation Datum Vession nderung Tuer 06 06 2012 Erste Version des Dokuments 07 06 2012 Nicht funktionale Anforderungen dokumentiert 07 06 2012 Design Constraints dokumentiert 08 06 2012 dsch ttl Technischer Bericht Anforderungen EistCockpit 97 256 5 2 Allgemein 5 2 1 Zweck des Dokumentes Dieses Dokument beschreibt die Funktionalen sowie die nichtfunktionalen Anforderungen an das Projekt EistCockpit 5 2 2 Gultigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 5 2 3 Definitionen und Abk rzungen Siehe Glossar Technischer Bericht Anforderungen EistCockpit 98 256 5 3 Tools In der Nachfolgenden Tabelle sind die f r das EistCockpit verwendeten Tools mit der Versionsn
199. ithLocationID Success f TestDeleteLocationsPersonsWithPersonID Success yf TestDeleteLocationWithID Success V TestDeleteMessageWithID Success W TestDeleteOperationWithID Success j w TestDeletePersonWithIO Success yl TestDeleteServiceWithID Success y TestDeleteUnitwithID Success H w TestFunctionWithID Success j w TestLocationsPersonsForLocationID Success j ig TestLocationsPersonsForPersonID SUCCESS d w TestLocationWithlD Success ig TestMessageWithlD SUCCESS j W TestOperationWithID Success j iw TestPersonWithID Success w Testservice WithlD Success gf TestUnitWithID Success w TestUpdateCoordinate SUCCESS W TestUpdateFunction Success ig TestUpdateLocation SUCCESS d ig TestUpdateMessage SUCCESS k TestUpdateOperation Success j W TestUpdatePerson Success y TestUpdateService Success i TestUpdateUnit Success Abbildung 65 Unit Tests DAL Technischer Bericht Realisierung amp Test EistCockpit 191 256 9 3 2 Sprint 3 Umgehend nach Beginn des 3 ServerOperationContext getestet 9 3 2 1 EistCockpit Testing DataAccessLayer Sa 50 w 50 0 0 E wl lt EistCockpit Testing gt 50 fests W EistCockpit Testing 50 fests EI iy UnitTestsDAL 50 fests W TestAdminRoleWithID 4 TestConfigurationWithID gt 4 TestCoordinateWithID W TestCreateAdminRole W TestCreateConfiguration W TestCreateCoordinate 4 TestCreateFunction W TestCreateLocation j W TestCreateLocation
200. ity Framework MEF Autor Version Quelle Lizenz Verwendungsorte Zweck Technischer Bericht Realisierung amp Test Microsoft http www microsoft com 4 0 0 0 http mef codeplex com Microsoft Public License http met codeplex com license e EistCockpit Loader e EistCockpit Plugins MessagesPlugin Loader e EistCockpit Plugins LocationsPlugin Loader e EistCockpit Plugins AppConfigPlugin Loader Das Microsoft Extensibility Framework vereinfacht den Prozess des Dynamischen ladens von DLLs was ein wesentlicher Bestandteil unserer Plugin Architektur darstellt Tabelle 69 Library MEF EistCockpit 212 256 9 6 7 Fehler amp Warnungen Aus den nachstehenden Abbildungen wird ersichtlich dass keine Fehler bzw Warnungen beim Kompilieren der Projekte erscheinen 9 6 7 1 EistCockpit Error List Ae A 0 Warnings 0 Messages Description Column Abbildung 84 Errors und Warnings EistCockpit 9 6 7 2 EistCockpit Plugins MessagesPlugin 0 Errors A 0 Warnings L Messages Description File Column Abbildung 85 Errors und Warnings MessagesPlugin 9 6 7 3 EistCockpit Plugins LocationsPlugin 0 Errors A 0 Warnings L 0 Messages Description File Sohu Abbildung 86 Errors und Warnings LocationsPlugin Technischer Bericht Realisierung amp Test EistCockpit 213 256 9 7 Code Reviews Wie im Qualit tsmanagement festgehalten
201. jekt wurde mit dem in VisualStudio unter Online Templates abrufbaren WCF REST Service Project Template erstellt Die dargestellten Daten im UI von CombatJournalClient werden ber Bindings propagiert Eingesetzte Technologien amp Frameworks Nachfolgend werden kurz alle Technologien aufgelistet die f r die Entwicklung des Webservice Prototyps n tig waren e NET Framework 4 0 C e WCF WPF e REST JSON Externes Design Die folgenden Abbildungen zeigen Screenshots vom WPF CombatJournalClient sowie die uber einen Web Browser abgerufenen Rohdaten nach Loschung von Eintragen mittels WPF Client EK P Combatlaurnal Client Journal Entries Entry Details 1 6 7 2012 10 19 21 PM e Message ID 2 6 7 2012 10 19 71 PM 3 6 7 2012 10 19 21 PM Time Stamp 6 7 2012 10 19 21 PM Creator Fw Sch ttl Message second Entry Abbildung 55 UI CombatJournalClient 20 Minuten Online Nur eir x Directory Listing localhost 1210 CombatJou Ka CG f localhost 1210 CombatJournalService entries vy AA 20 Minuten Online H Google EistTm Cockpit Ov iPhone 365 iPhone Re installing WAN ISA I Privat gt Co Diese Seite ist auf Englisch Soll sie bersetzt werden bersetzen Nein Optionen si X Creator Fw Sch ttl Id 1 Message First Entry TimeStamp Date 1338903981552 0200 Creator Fw Sch ttl Id 2 Message Second Entry TimeStamp Date 13389
202. kann beliebig ausgetauscht werden Die Applikation ist in mehrere Tiers aufgeteilt Client und Server Im daf r vorgesehenen Bereich werden die Dienstleistungen angezeigt und k nnen ausgew hlt werden In der Statusbar wird die aktuell ausgew hlte Dienstleistung angezeigt Im daf r vorgesehenen Bereich nach Dienstleistungen gruppiert werden die Operationen angezeigt und k nnen ausgew hlt werden In der Statusbar wird die aktuell ausgew hlte Operation angezeigt Im Meldungsplugin wird eine Tabelle mit den Meldungen angezeigt Im Meldungsplugin sind alle Spalten der bersicht sortierbar Im Meldungsplugin sind die Meldungen ja nach Priorit t mit einer Farbe hinterlegt Im Meldungsplugin ist f r jede Spalte mindestens ein Filter ausw hlbar Das Meldungsplugin aktualisiert regelm ssig die lokalen Meldungen Im Meldungsplugin k nnen die Filterkriterien ber einen Knopf ein und ausgeblendet werden Im Meldungsplugin ist der Knopf zum Erfassen einer Meldung gut sichtbar platziert Die Meldung kann gespeichert werden Im Fenster zur Meldungserfassung ist Schritt f r Schritt beschrieben was abgefragt werden muss EistCockpit 100 256 hereinkommt Als Benutzer in der Triage kann ich Im Fenster zur Meldungserfassung gibt 3 eine Meldung die noch nicht fertig ist es einen Knopf um die Meldung als abspeichern ohne sie abzusenden Entwurf abzuspeichern Technischer Bericht Anforderungen Als Benutzer
203. kpit 122 256 6 5 4 1 Person Repr sentiert eine Person der WK Einheit Property Rank FirstName LastName Address Phone Remarks Status UnitlD FunctionlD LocationResponsibilities LocationsPersons Unit ReceivedMessages SentMessages CreatedMessages ModifiedMessages Function Status von Personen Relation Relation Relation Relation Relation Relation Relation Relation Beschreibung Eindeutige Identifikation Der Rang der Person Die Vornamen der Person Der Nachname der Person Die Adresse der Person Die Telefonnummer der Person Zus tzliche Bemerkungen zur Person wie Krankheiten Der Status der Person Die ID der Einheit der die Person zugeordnet ist Die ID der Funktion der die Person zugeordnet ist Die Menge der Standorte fur die die Person verantwortlich ist Die Menge der Standorte der die Person zugeordnet ist Die Einheit der Person Die Menge der Nachrichten die diese Person empfangen hat Die Menge der Nachrichten die diese Person gesendet hat Die Menge der Nachrichten die diese Person erstellt hat was aber nicht bedeuten muss dass er deren Absender ist Die Menge der Nachrichten die diese Person bearbeitet hat Die Funktion die die Person einnimmt Tabelle 47 Beschreibung Entit t Person Eine Person kann jeweils einem der folgenden Status zugeordnet werden e Im Dienst e Ausser Dienst e Kurzurlaub e Wochenendurlaub e Verwundet
204. kten und Absprachen wird Pastner welche zu versucht ein kollegiales Pe Teams E RO4 eitenim 0 70 0 e m glichst offen und Bis Ende Projekt X einem Klima zu schaffen Eventuell Team e direkt mit der massiven treffen wir uns auch et entsprechenden Anstieg an regelmassig Dag Person besprochen Arbeitzeit M werden f hrt Remo l M Remo arbeitet von Waltensp l zuhause aus und ist kann leider am Es sollen alle Optionen Remo per Skype bzw Wiederholungs ergriffen werden damit eg Waltensp l S Redmine mit seinen kurs nicht Remo Waltensp l NT Bei Beginn ROS kann an WK 0 30 0 i Projektmitgliedern X teilnehmen da teilnehmen kann Anrufen Elaboration nicht f E verbunden Eventuell das Gesuch zu bei zust ndiger Stelle der teilnehmen a reist er in dringenden kurzfristig Armee l Situationen eingereicht SE pers nlich an wird Fokus auf die Aufgrund der Hauptfunktionalit te St ndige berwachung und Zeitaufwan falschen GE Ce n setzen falls Zeit RO6 dfalsch Einsch tzung 0 60 0 x 6 knapp wird Bis Ende Projekt X bestimmtes kalkuliert stimmt der SA Arbeitspakete mit Projektmitglied ee Zeitplan nicht tiefer Priorit t streichen Einarbeitungsz PENE Projektplan 2 eit f r die Sich st ndig absprechen S j Erh hte i berarbeiten unter Alle e relevanten bei unklarheiten nach einer Bis Ende Sprint RO7 Einarbeitun 0 80 0 Umstanden den Implementati Technologien bestimmte
205. l Layer stellt einen Service basierend auf WCF zur Verf gung Mit Hilfe von WCF ist es m glich Nachrichten zwischen zwei Service Endpunkten asynchron auszutauschen Im vorliegenden Fall erm glicht der Service ber eine REST Schnittstelle den Zugriff auf Daten im JSON Format im Grunde stellt dieser Layer den Zugriff auf den Business Model Layer zur Verf gung Das Service Model unterteilt sich dabei auf einen Client seitigen sowie einen Server seitigen Teil e Clientseitig wird ein Service Interface implementiert welches Anfragen mit Hilfe von WCF an die serverseitige Implementation weiterleitet Die clientseitige Implementation wird durch den View Model Layer angesprochen um ben tigte Daten zu erhalten e Serverseitig wird das Service Interface ebenfalls implementiert die Implementation greift dabei auf den darunterliegenden Business Model Layer zu um die gew nschten Daten zu erhalten In WCF kommt standardmassig WSDL als Zugriffsschnittstelle und SOAP als Datenformat zum Einsatz Die Verwendung von REST als Zugriffsschnittstelle und JSON als Datenformat bringt jedoch einige Vorteile gegen ber WSDL SOAP mit sich e Der Datenzugriff via REST ist einfach elegant und usserst technologieunabh ngig da REST auf einfachen HTTP Prinzipien aufgebaut ist Der Rohdaten Datenzugriff kann sogar ber einen simplen Web Browser erfolgen e Das Datenformat JSON ist sehr kompakt und einfach lesbar auch f r Menschen Zudem ist es weniger anf
206. lage des Projektes und ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 3 2 3 Definitionen und Abk rzungen Siehe Glossar Technischer Bericht Projektmanagement EistCockpit 40 256 3 3 3 3 1 3 3 1 1 Vorgehensmodell Das fur das EistCockpit bevorzugte Vorgehensmodell orientiert sich stark an Scrum um eine m glichst unkomplizierte und agile Softwareentwicklung zu erm glichen Die Zeitlichen Umst nde verlangen aber nach einem angepassten Modell Zu Beginn des Projektes ist das gesamte Entwicklerteam bestehend aus D Sch ttl R Waltensp l und Diego Steiner sowie Betreuer Thomas Corbat zur Leistung des milit rischen Dienstes Wiederholungskurs WK verpflichtet Diese Dienstleistung beansprucht rund 4 Wochen der Projektzeit in welcher keine Arbeitszeit f r Externe Projekte garantiert wird Der Rahmen des Wks bietet allerdings die besten Voraussetzungen um die Vorstudien durchzuf hren weil der Endbenutzer direkt am Arbeitsplatz beobachtet und interviewt werden kann Ausserdem sind die Ansprechpersonen auf Seite des Kunden ebenfalls vor Ort was die Kommunikation in dieser ersten Phase extrem erleichtert Um diesen Umst nden gerecht zu werden wurde das Vorgehensmodell f r diesen Zeitabschnitt in an RUP angelehnte Phasen unterteilt In diesen Phasen wird der Rahmen des Projektes evaluiert die Prozesse analysiert und die Bed rfnisse der Benutzer und Kunden aufgenommen In dem anschliessenden
207. ld und die Chemie zwischen den Mitarbeitern stimmt Weiter h tte er gerne eine bessere bersicht ber den Status der verschiedenen Meldungen sowie eine bessere bersicht lwo besitzt Anwenderkenntnisse im Umgang mit dem Computer tieferes technisches Wissen kann er nicht aufweisen In der Triage hat er grosse Erfahrungen da er schon mehrmals an Wiederholungskursen teilgenommen hat und vertraut ist mit den Ablaufen Weiter besitzt er Fuhrungskompetenzen aus dem zivilen Leben die er sich als Lehrmeister Teamleader sowie aus mehreren Kursen angeeignet hat Sehr praktisch sind auch seine guten Verbindungen mit dem h heren Kadern dies erm glicht eine effizientere Kommunikation Zum Teil f hlt sich lwo ein bisschen frustriert wenn seine zugewiesenen Soldaten nicht motiviert sind und die Arbeitsleistungen ungen gend sind Problematisch sind auch Meldezettel die nicht vollst ndig ausgef llt werden oder gar verloren gehen Ab und zu kommt es auch vor dass Meldungen lange unterwegs sind bis sie das Ziel erreichen oder nicht ganz klar ist wer daf r zust ndig ist Dies kann so weit f hren dass Meldungen wieder zur ck zur Triage kommen ohne den korrekten Empf nger wirklich zu erreichen Verweis Interview 2 Probleme bei der Arbeit Technisches Knowhow Motivation w hrend Arbeit Zufriedenheit mit aktuellem Ablauf Effizienz bei der Arbeit Erfahrungen in diesem Bereich Regelm ssigkeit der Verwendung Genauigkeit Ausf hrlichkeit
208. ldung 26 Domain Modell Dienstleistung Operation Innerhalb der Dienstleistung sind die Aktivit ten in Operationen aufgeteilt die ber eine vordefinierte Zeitspanne w hrend der Dienstleistung stattfinden Eine Operation kann in verschiedenen Arten daher kommen Es kann eine bung ein Einsatz oder Standort Um den Auftrag Betreiben der Kommunikationsnetze der Armee erf llen zu k nnen wird das Personal f r die Dauer einer Operation auf verschiedene Standorte aufgeteilt Meldung Das Augenmerk liegt auf den Meldungen die ber die Triage in die Einsatzstelle Telematik hereinkommen Sie beinhalten Grundlegende Statusver nderungen wie das Erreichen oder Verlassen des Standortes aber auch R ckfragen oder Bestellungen logistischer Natur Diese Meldungen werden in der Triage erfasst und dann an die korrekte Stelle weitergeleitet Technischer Bericht Domain Analyse EistCockpit 109 256 6 4 6 4 1 Prozesse Dienstleistungen S Vorbereitung Festlegung der Zeitraumes Ort und Ziel Einteilung von Personal und Material Planung von Operationen Rekognoszierung von Durchf hrungsorten Dienstleistungsaufforderung f r das Personal Bestellung von Fahrzeugen Material und Unterlagen e Ausbildung des Personals Erstellen des Tagesgeschafts Detailplanung und Durchf hrung von Operationen Auswerten der Leistung des Personals Auswertung der Rahmenbedingungen als Fak
209. len erg nzen weiterleiten Wie viele Meldungen werden pro Stunde empfangen Stosszeit 2 bis 4 Meldungen Stunde Minimal 0 3 Meldungen Stunde Nacht Wie ist der Umfang einer Meldung L nge Dauer eines Gespr ches Dauer ca 20min viele kleine kann stark variieren Was f r Verbesserungsw nsche h tten Sie am System klarere F hrungsstrukturen v a im KVK wichtig w re zum Bsp Zugf hrer Gruppenf hrer f r Gruppen Flaschenhals f r Auftr ge Technischer Bericht Vorstudie EistCockpit 59 256 4 3 2 4 Stabsmitarbeiter 1 Aufgaben Verantwortlich Einsatzplanung Einsatzf hrung Rist Bat Eist Kommandant Battle Captain Benotigter Input Stabsarbeitsprozess APP Aktionsplanungsprozess AFP Aktionsf hrungsprozess Werdegang Erfahrung Ristl RS Ristl Offiziersschule Ristl Offizier auf System eingeteilt in Panzerbatallion als Ristl Chef f r Planung F hrung 5 6 Jahre Kadi in F hrungsstaffel Kompanie anschliessend 3 Jahre als S3 im Einsatz 2 Jahre Zeitmilitar 1 Jahr Kommandostab 1 Jahr Fachspezialist UOS bermittlungsoffizier bei Infanterie Batallion insgesamt ber 1000 Diensttage Erfolgsmessung Wenn Netz zeitgerecht und stabil dem Endbenutzer bereitgestellt werden kann Probleme bei der Arbeit Man sieht nur bis zur n chsten Betonmauer man sieht nicht was draussen l uft gt Triage ist wichtiger Knotenpunkt Gateway zur Aussenwelt Guter Ablauf Meldungen die eingehen werden ef
210. lgemeine Anmerkungen Die bidirektionalen Pfeile zwischen der Clientkomponente und der Servicekomponente deuten an dass die Kommunikation zwischen den Komponenten in beide Richtungen verlauft Die Richtung des Pfeils steht dabei fur die Flussrichtung der Daten Wie der Beschriftung der Servicekomponente entnommen werden kann bietet diese CRUD Funktionalitat an READ entspricht dem Pfeil in Richtung der Clientkomponenten Daten werden zur Clientkomponente gesendet wahrend CREATE UPDATE und DELETE dem Pfeil in Richtung der Servicekomponente entspricht Daten werden an die Servicekomponente gesendet Jegliche Kommunikation mit der Servicekomponente wird von der Clientkomponente aus initiiert d h es wird nach dem Polling Prinzip vorgegangen Die Servicekomponente antwortet lediglich auf Anfragen der Clientkomponente und initiiert selbst ndig keine Kommunikation Persistenz F r die Persistenz der Daten wird eine SQLite Datenbank verwendet der Zugriff darauf erfolgt ausschliesslich ber den EistCockpitService bzw den darunter liegenden DAL Die Verwendung von SQLite bringt folgende Vorteile mit sich e Die Datenbank besteht aus einem einzelnen File wodurch diese mit minimalem Aufwand kopiert werden kann Dies ist ein wichtiger Punkt denn die Daten sollen auch in nachfolgenden Dienstleistungen bzw Wiederholungskursen zur Verf gung stehen e Die Software soll ohne grossen Installationsaufwand eingesetzt werden k nnen dies wird du
211. llst ndig erfasst Mitarbeiter sind besser informiert System leitet die Mitarbeiter durch den Prozess Feedback erledigt nicht erledigt Soll Szenario 2 An Funktionen Zellen gebundene Meldungen Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Viktor ist gerade auf einer Stao Inspektion als eine Meldung ber die Triage hereinkommt die besagt der Treibstoff gehe aus und sie br uchten dringend Nachschub Anruf eines Stao Chefs an die Triage Bruno Brenzlig der Zellenchef Stv der w hrend Viktors Abwesenheit ber seine gesamten Kompetenzen verf gt sieht die Meldung und bestellt unverz glich Nachschub bei der Logistik Zelle Meldungen gehen verloren Meldungen k nnen nur an 1 Person geschickt werden Meldungen k nnen an Gruppen und Funktionen bermittelt werden anstatt nur an 1 Person Meldungen kommen Zeitgerecht an Verweis Interview 4 Was f r Verbesserungsw nsche h tten Sie am System EistCockpit 94 256 Soll Szenario 3 Bidirektionale Meldungen Feedback erledigt Nicht erledigt Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Viktor plant in seinem B ro gerade die anstehenden Inspektionen der Staos als gerade eine Meldung mit einem Antrag von Stao 2 die ihre Sch ssel aufgrund der Stromversorgung um 50m verschieben w rden hereinkommt Anruf eines Stao Chefs an die Triage Viktor kommentiert den Antrag m
212. lten Eintrag anzeigen um sicherzustellen dass die Kommunikation auch vom Client zum Server funktioniert wird stellvertretend f r die CRUD Operationen eine L schfunktion eingebaut 8 4 1 2 Architektur Die Projektstruktur des Webservice Prototypen umfasst drei Projekte Solution Explorer zs ix al loa Solution CombatlaurnalPOC 3 projects a 3 CombatlournalClient il Properties aj References A Service References App canfig oe App xaml CambatlournalServiceClient cs oe LabelTestBoxsaml oe LabelTextBoxMultiline xaml ae MainWindow xaml MainWindowViewMoadlel cs a 2 CombatlournalEntities gt Sal Properties j References ICombatlournalService cs JaurnalEntry cs A LS CombatJournalService Sa Properties aj References 4 App Data CaombatlournalService cs ig Global asax c Sampleltem cs 4 Weh canfig Gi Solution Explorer UC RS Abbildung 54 Projektstruktur CombatJournalPOC Projekt Beschreibung CombatJournalClient Simple WPF Applikation welche den Client f r den Webservice darstellt CombatJournalEntities Class Library welche das Service Interface und die verwendete Entity JournalEntry implementiert CombatJournalService WCF Webservice welcher f r REST JSON konfiguriert ist und das Service Interface Technischer Bericht Prototypen EistCockpit 177 256 8 4 1 3 8 4 1 4 implementiert Tabelle 58 Projektstruktur Prototyp Webservice Das Service Pro
213. lter Standort bearbeitet werden Im LocationsPlugin kann ein bearbeiteter Standort gespeichert werden Im LocationsPlugin werden neue Standorte in der bersicht angezeigt EistCockpit Resultat Tabelle 63Systemtests nach Sprint 3 Testperson Dsteiner 202 256 9 5 Usability Tests Es konnten keine Usabilitytest durchgef hrt werden Technischer Bericht Realisierung amp Test EistCockpit 203 256 9 6 Codedokumentation 9 6 1 Autoren Die Autorenschaft s mtlicher SourceCode Dateien des EistCockpits ist gemeinschaftlich und aus diesem Grund nicht in jeder Datei separat deklariert 9 6 2 SourceCode Dokumentation Der SourceCode wird mittels Doxygen realisiert und generiert Daf r m ssen im Code die von Doxygen vorgeschriebenen Kommentarregeln eingehalten werden 9 6 3 Metriken F r die Metriken wird das in VisualStudio 2010 integrierte Metriktool verwendet Aus der Metrikanalyse geht hervor dass alle Indikatoren im gr nen Bereich liegen 2l Doxygen http www stack nl dimitri doxygen manual html 08 06 2012 Technischer Bericht Realisierung amp Test EistCockpit 204 256 Lines of Code Namespace EistCockpit Business EistCockpit Common EistCockpit Contracts EistCockpit DAL EistCockpit Loader EistCockpit Testing EistCockpit ViewModels EistCockpit Views EistCockpit Webservice EistCockpit Plugins MessagesPlugin Loader EistCockpit Plugins MessagesPlugin Model EistCockpit P
214. ltfl che Abbrechen hinzugef gt Note 5 Wenn der Benutzer die Bearbeitung eines Standorts abbrechen m chte musste er dies bis anhin ber den Close Button machen Es erscheint jedoch intuitiver wenn dem Benutzer die M glichkeit gegeben wird ber eine spezielle Schaltfl che dies durchzuf hren Feld f r Hinweis zu Validierungsfehlern hinzugef gt Note 6 Um dem Benutzer den Grund f r das Fehlschlagen der Validierung aufzuzeigen wird ein Informationsfeld benutzt Damit wird f r den Benutzer klarer ersichtlich warum es nicht m glich ist einen Standort zu erfassen Technischer Bericht Domain Analyse EistCockpit 152 256 Mockup nach Redesign Standort Plugin gt Standorte Abbildung 49 Location Mockup Redesign Technischer Bericht Domain Analyse Standort 2 Allgemein Kurzbezeichnung Bezeichnung Beschreibung Einheit Chef Telefonnr Stao Chef Koordinate Adresse Kurzbez Standort 2 Bezeichnung Stao 2 Beschreibung Stao 2 Mustereinheit Stao Chef 044 938 38 32 382938 193829 Musterstr 12 Landbesitzer Name Landbesitzer Telefonnr Adresse Belegt Max Muster Teststr 83 Eine Beschreibung 10 05 2011 16 16 05 2011 18 30 Standort bearbeiten erfassen 0 Standort 2 Allgemein Kurzbezeichnung Bezeichnung Beschreibung D Loge Landbesitzer Belegt Koordinaten wus E Telefonnr Stao Chef Name Landbesitzer Telefon
215. lugins MessagesPlugin Test EistCockpit Plugins MessagesPlugin View EistCockpit Plugins MessagesPlugin ViewModel EistCockpit Plugins LocationsPlugin Loader EistCockpit Plugins LocationsPlugin Model EistCockpit Plugins LocationsPlugin Test EistCockpit Plugins LocationsPlugin View EistCockpit Plugins LocationsPlugin ViewModel EistCockpit Plugins ServicesPlugin View EistCockpit Plugins ServicesPlugin ViewModel EistCockpit Plugins ServicesPlugin Loader EistCockpit Plugins AppConfigPlugin Loader EistCockpit Plugins AppConfigPlugin View EistCockpit Plugins AppConfigPlugin ViewModel Applikation Test Technischer Bericht Realisierung amp Test EistCockpit LOC 99 1577 102 730 620 127 548 10 132 145 30 281 427 404 11 282 11 18 17 398 4817 1169 205 256 Tabelle 64 Auswertung Codezeilen 9 6 3 2 EistCockpit LIL YEL ES MES La Filter None Min Cyclo Hierarchy gt 4 EistCockpit Business Debug gt E EistCockpit Common Debug b G EistCockpit Contracts Debug b i EistCockpit DAL Debug b EistCockpit Loader Debug gt 53 EistCockpit Testing Debug gt ical EistCockpit ViewModels Debug i EistCockpit Views Debug gt K EistCockpit Webservice Debug gt ic ExarmpleDataGenerator Debug gt 59 TestClient Debug Abbildung 79 Metrics EistCockpit 9 6 3 3 MessagesPlugin if 7 T T r UUE PCL ES MESU Filter Hierarchy Mainta
216. m Ausschau gehalten Dieser Prototyp hat als Ziel die Verwendung des Microsoft Extensibility Frameworks MEF auf die Brauchbarkeit zu testen und zu pr fen ob die Anforderungen mit diesem Framework abgedeckt werden k nnen Architektur Projektstruktur Aus der untenstehenden Abbildung Verweis Abbildung 60 Projektstruktur MEF Prototyp geht hervor wie das Projekt aufgebaut ist Technischer Bericht Prototypen EistCockpit 182 256 m Solution plugin_prototype 8 projects 4 2 PrototypellPlugin a 39 PrototypeUlPlugin Contracts Gel Properties va References Services at AbstractMainWindow cs CompositionPoints cs ExtensionPoints cs at IMainWindow cs IPlugin cs IResource cs a Services cs a 39 PrototypeUIPlugin Host Sa Properties j References ze Main Window xaml 4 39 PrototypeUIPlugin Loader Sa Properties j References Plugins App xaml a 39 PrototypeUlPlugin Message gt E Properties va References ButtonStyle xaml ButtonStyle cs ae Message vam E Abbildung 60 Projektstruktur MEF Prototyp Projekt Beschreibung Contracts Enth lt die wichtigsten Schnittstellendefinitionen f r den Import von Plugins Die zu ladenden Plugins m ssen deshalb eine Referenz auf dieses Projekt enthalten Host Die Host Applikation mit der in XAML definierten Benutzeroberfl che welche durch das Loader Projekt geladen wird Loader Der Loader stellt den Einstiegspunkt f r die Applikation
217. m Projektplan festzuhalten Alle Dokumente sind nachzuf hren d h sie sollen den Stand der Arbeit bei der Abgabe in konsistenter Form dokumentieren Die Dokumentation ist vollst ndig auf CD DVD in 2 Exemplaren abzugeben Zudem ist eine kurze Projektresultatdokumentation im ffentlichen Wiki von Prof M Stolze zu erstellen Markus Stolze Datei 2012 HS SA SchoettlSteinerWaltenspuel Ausgabe 1 1 Letzte nderung am 05 03 12 Aufgabenstellung VO 1 docx H E EE Abteilung Informatik Fr hjahrssemester 2012 Seite RAPPERSWIL u Aufgabenstellung Studienarbeit EistCockpit f r Dave Sch ttl Diego Steiner amp Remo Waltensp l 3 3 6 Weitere Regeln und Termine Im weiteren gelten die allgemeinen Regeln zu Bachelor und Studienarbeiten Abl ufe und Regelungen StudienO und Bachelorarbeiten im Studiengang Informatik https www hsr ch Ablaeufe und Regelungen Studie 7479 0 html Der EN ist hier ersichtlich HSR Intranet 7 Beurteilung Eine erfolgreiche SA z hlt 8 ECTS Punkte pro Studierenden F r 1 ECTS Punkt ist eine Arbeitsleistung von ca 25 bis 30 Stunden budgetiert Dies entspricht ungef hr 17h pro Woche auf 14 Wochen und damit ca 2 Tage Arbeit pro Woche F r die Beurteilung ist der HSR Betreuer verantwortlich Die Bewertung der Arbeit erfolgt entsprechend der verteilten Kriterien Liste Rapperswil den 20 Februar 2012 Prof Dr Markus Stolze Institut f r Software Hochschule f r Technik Rapperswil Ma
218. m Stab des Rist Bat 20 Als Auflage seitens der Schweizer Armee gilt lediglich dass das System mit der bestehenden Infrastruktur ohne zus tzliche Hardware betrieben werden kann 4 Durchf hrung Mit dem HSR Betreuer Thomas Corbat finden in der Regel w chentliche Besprechungen statt Zus tzliche Besprechungen sind nach Bedarf durch die Studierenden zu veranlassen Alle Besprechungen sind von den Studenten mit einer Traktandenliste vorzubereiten und die Ergebnisse in einem Protokoll zu dokumentieren welches ber das Projekt Repository stets zugreifbar ist F r die Durchf hrung der Arbeit ist ein Projektplan zu erstellen Dabei ist auf einen kontinuierlichen und sichtbaren Arbeitsfortschritt zu achten An Meilensteinen gem ss Projektplan sind einzelne Arbeitsresultate in vorl ufigen Versionen abzugeben ber die abgegebenen Arbeitsresultate erhalten die Studierenden ein Feedback Eine definitive Beurteilung erfolgt aufgrund der am Abgabetermin abgelieferten Dokumentation Die Evaluation erfolgt aufgrund des separat abgegebenen Kriterienkatalogs in bereinstimmung mit den Kriterien zur SA Beurteilung Es sollten hierbei auch die Hinweise aus dem abgegebenen Dokument Tipps f r die Strukturierung und Planung von Studien Diplom und Bachelorarbeiten beachtet werden 5 Dokumentation ber diese Arbeit ist eine Dokumentation gem ss den Richtlinien der Abteilung Informatik zu verfassen Die zu erstellenden Dokumente sind i
219. man das Filtersymbol nicht suchen muss Szenario 1 Meldung erfassen e Speichern Senden Buttons m ssen Aussagekr ftigere Namen haben e Die Meldungstypen Optionen sollten noch spezifischer sein e Die Meldungstypen Optionen sollten nach Recently Used angeordnet sein e R ckruf Zur Info unterscheiden e Sortierung bei Auswahlliste nach Standortbezeichnung nicht nach Standortnummer Szenario 2 Meldungen nach bestimmtem Kriterium filtern e Formularfelder mit der Zeit mit aktueller Uhrzeit vorausf llen e Spalten berschriften vereinheitlichen e Konsistenz pr fen Priorit ten e Datetimepicker f r die Auswahl der Uhrzeit Technischer Bericht Domain Analyse EistCockpit 141 256 6 6 3 4 Erkenntnisse aus Paper Prototype Test Der Papier Prototyp Test war usserst n tzlich da dadurch viele neue Erkenntnisse gesammelt werden konnten Die beiden Testkandidaten haben ihre Aufgabe sehr seri s durchgef hrt und dabei viele Verbesserungsvorschl ge sowie kleinere Hinweise gegeben um das System m glichst benutzerfreundlich zu gestalten Viele Aussagen haben sich zudem gedeckt was bedeutet die beiden Tester haben zum Teil hnliche M ngel festgestellt F r eine zuk nftige Version der Benutzeroberfl che wird prim r das Augenmerk auf die Konsistenz Beschriftungen Schaltfl chen etc klare aussagekr ftige Beschreibungen sowie eine bersichtliche Darstellung Wichtige Schaltfl chen hervorheben gerichtet 6 6 3 5 Einges
220. me recommendations are described below In the example implementation was assumed no pre es tablished order for services invocation and thus it is inter esting to assume default invocation order for resource up dates HTTP PUT The purpose of this recommendation is to avoid race conditions in which there is a long dispute for resource updates concurrently For transactions involving various web services invocation without a pre established order a good practice is 1 The transaction gets all URIs of RESTful Web services necessary for its execution It is necessary a prior knowledge of all services that are used 2 Order the URIs alphabetically Since URIs are just text all transactions using the same web services obtain the same list of ordered URIs 3 Process the transaction execution invoking services in the obtained order Therefore in the example both clients try to make up dates in the same order The conflict is detected in the first involved account and the update request of the sec ond account is not sent Consequently the compensation is avoided The use of a random wait time can also be used to reduce the number of conflicts Clients should wait a certain time period between fail update attempts 4 CONCLUSIONS Transactions implementation for RESTful web services using the optimistic concurrency control and the transac tion compensation methods is relatively simple and obeys the REST architectural style Th
221. meraden ber verschiedene oberfl chliche Themen Beim Zur ckkehren in die ZSA wird er aufgrund von vielen eingehenden Telefonen dringend in der Triage erwartet Deshalb hilft er der Mannschaft bis zum Abendessen mit der Entgegennahme von Telefonaten aus Zurzeit herrscht ein wirklich ausgesprochen hektisches Treiben es gehen sehr viele Telefone ein aus diesem Grund ist es wichtig dass keine Meldungen verloren gehen Nach unz hligen Telefonen ist es bald 18 00 Uhr sein direkter Vorgesetzter ein erfahrener Offizier entl sst ihn deshalb und w nscht ihm viel Spass im FAK Ausgang F r den FAK Ausgang muss sich Iwo noch kurz bereit machen indem er den vorgesehen Ausg nger anzieht und an das AV Abendverlesen geht Den restlichen Abend verbringt er weitgehend in der Dorfkneipe mit Kameraden dabei spielt er diverse Kartenspiele Die Zeit vergeht rasend schnell wobei er achten muss dass er p nktlich wieder zur ck in der ZSA ist Zur ck in der ZSA begibt er sich um ca 12 Uhr zu Bett Technischer Bericht Vorstudie EistCockpit 89 256 4 5 2 2 Ist Szenarien Ist Szenario 1 Personal einteilen Ausgangssituation Ausl ser Schritte Probleme Ziele lwo hat eine fest definierte personelle Kapazit t die er best m glich Einsetzen sollte Er beginnt mit der Planung der Mitarbeiter als pl tzlich neue Auftr ge eingehen Es gehen neue Auftr ge ein personelle Ressourcen sind verhindert Um dies bestm glich zu meister
222. mes several GAPs should be used to accomplish a single goal and agents have to transfer data between these GAPs and perform other operations manually Clearly automating these activities is important in order to improve the quality and the efficiency of business services Consolidating disparate components into integrated EPSes enables enterprises to achieve a high degree of automation of their purchasing processes 8 One supporting function of an integrated system is to extract information about ordered items from the service OD and create and enter invoices into PIE using this information Once the payments are processed the user marks invoices in PIE as paid and the information about these invoices should be extracted from PIE and entered as expenses into QE There are many other functions of the integrated EPS that involve interoperating GAPs with each other and web services An important function of an integrated EPS is to extend the functionalities of GAPs with web services It means that users can continue to work with legacy GAPs however certain new functions will be delegated to web services For example when users modify expenses using QE they may be required to submit the information about modified expenses to a web service that verifies these expenses using some business rules These and many other functions reflect the need to compose GAPs with each other and web services in integrated systems III How OUR APPROACH WORKS
223. mission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page To copy otherwise to republish to post on servers or to redistribute to lists requires prior specific permission and or a fee SAC 09 March 8 12 2009 Honolulu Hawaii U S A Copyright 2009 ACM 978 1 60558 166 8 09 03 5 00 664 Celso Massaki Hirata Instituto Tecnologico de Aeronautica ITA Praga Marechal Eduardo Gomes 50 Vila das Acacias CEP 12228 900 Sao Jose dos Campos SP Brasil hirata ita br motes the interoperability between different platforms sys tems and programming languages The two most adopted SOA implementations are the WS and REST Representational State Transfer REST is both more recent and a lighter form to implement serv ices than WS WS is a set of specifications for devel opment of services based on SOAP 14 and WSDL 15 These specifications were developed jointly by several or ganizations such as BEA IBM and Microsoft Among the specifications are WS Security 7 WS Reliability 6 WS Transaction 8 WS Coordination 9 In general the WS specifications are designed to work together by using SOAP extensibility model The specifi cations support the non functional requirements implemen tation
224. mitglieder reviewen Aufgabenstellung Ruckblick e Protokoll vom 24 02 2012 muss noch abgenommen werden Protokoll Namens nderung EistCockpit Da bereits eine Anwendung mit der Bezeichnung TmCockpit existiert wurde im Kollektiv bestimmt dass die zu entwickelnde Applikation den Namen EistCockpit tragen soll Arbeiten f r n chsten 3 Wochen 1 Woche e ST Situation aufnehmen 3 Personas Triage 2 Personas TBZ Eist e Benutzerbefragung User Stories mit Interviews e Review Projektplanung Matrix of Doom MoD 2 Woche e Visionsdokument erstellen e Soll Situation definieren e Paper Prototyping e Priorisierung Module AAA 3 A AAA A 4 4 5 A 4 4 6 A 4 4 7 3 Woche e Einkalkulierte Pufferzeit Matrix of Doom nachbesprechen Der erste Abschnitt wurde im Team besprochen Ziel war es das Vorgehen um die Bewertungskriterien zu gew hrleisten klar zu definieren Die noch nicht im Plenum diskutierten Punkte werden in den kommenden Tagen weiter bearbeitet Geheimhaltungs Erkl rung Corbat Thomas Corbat hat uns eine erste Version der Geheimhaltungs Erkl rung unterbreitet Zudem erl uterte er kurz die wichtigsten Punkte e Schutzenswerte Informationen d rfen unberechtigten nicht zug nglich gemacht werden e Reale Daten mit entsprechenden Klassifikationen d rfen nicht in die Datenbank abgelegt werden e Projekt Dokumentation darf keine Informationen der genannten Klassifizierung enthalten e
225. modernen Mitteln Meldungen lesen Auftr ge erfassen Meldungsstatus pr fen bzw bearbeiten Ubungsrapport drucken Fur den Empfanger ist das System erfolgreich wenn die Meldungen vollst ndig und zeitgerecht bei ihm ankommen Betreut w hrend der Projektdauer das Projekt und gibt Inputs Verbesserungsvorschl ge testet erste Prototypen Aus Meldungen erstellte Auftr ge korrigierte Meldungen Tabelle 14 Benutzerprofil Empf nger EistCockpit 33 256 Benutzerbed rfnisse Priorit tsstufen e H chst 1 H chste Priorit t e Hoch 2 Hohe Priorit t e Mittel 3 Mittlere Priorit t e Tief 4 Tiefe Priorit t Bed rfnis Prio Betrifft Gegenw rtige Vorgeschlagene L sung L sung Meldungen gehen 1 Mitarbeiter in Meldungen Meldungen werden direkt nicht verloren Triage werden in ber die Applikation erfasst Excel Tabelle erfasst Meldungen 1 Mitarbeiter in Nicht gepr ft System macht vollst ndig Eist TM und Validierungen und stellt Triage sicher dass alle ben tigten Informationen vorhanden sind bersicht ber 2 Mitarbeiter in Existiert nicht Anhand einer History sollen eingegangene Triage die letzten Telefonate Anrufe sichtbar sein Priorisierung von 2 Mitarbeiter in Zurzeit nicht Einer Meldung kann eine Meldungen verschiedenen m glich bestimmte Priorit t Zellen zugewiesen werden Status von 2 Abteilungsleiter Zurzeit nicht Die Applikation erlaubt es zu bungen anzeigen der m glich einer laufenden bung den v
226. mprove business processes or the performance of applications the Dispatcher provides the migration and location transparencies for web services and GAPs Proxies register with the Dis patcher under unique names collect information about GAPs located on their computers and send this information to the Dispatcher The Dispatcher receives tables of GAPs from proxies on a regular basis and it uses this information to direct requests from web services to appropriate GAPs When a method of the composite web service which represents the integrated system is invoked for the first time by its client 1 the service connects to the Dispatcher and sends a registration request 2 From this request the Dispatcher determines what GAPs are required to run the web service The Dispatcher looks up the GAP tables received from connected proxies and once it finds the required GAPs it sends requests to the corresponding proxies to reserve these GAPs for the web service 3 After the Proxy starts the GAP it uses the accessibility layer to inject the hook library into the GAP 4 The hook spawns a thread within the GAP s process in order to establish a communication channel with the corresponding Proxy Using this channel the Proxy can send commands and receive notifications of the events that occur within the GAP and for which callbacks from the hook are registered 5 Thus the generic hook can be viewed as a virtual machine that can be used to con
227. muss f r dieses Projekt mindestens einmal ein Code Review mit dem Betreuer durchgef hrt werden Nachfolgend sind diese Dokumentiert 9 7 1 Sprint 3 Datum 06 06 2012 Betreuer Michael Gfeller Stand 29 05 2012 Zusammenfassung e Projekt muss auf einem anderen Entwicklungsrechner installiert werden k nnen e Logger fehlt e Converter Klassen geh ren nicht ins Common e Namenskonventionen auch bei DTOs einhalten e Enum MessageType ist wie ein Flag Enum nummeriert aber nicht als Flag definiert e MessagePriority Urgent wird im GUI nicht dargestellt e Liste der Radiobuttons k nnte generiert werden e Lokalisierung eingeplant e 2 Singeltons wurden verwendet e 1 Singelton ist meistens in Ordnung ein ServiceLocator welcher beim Startup konfiguriert wird z B http unity codeplex com e Regionen IVARS in C via Region IVARS Endregion e Resize von GUIl s alle auch bei Full Screen anschauen e PluginSupport besser als Basisklasse oder ein ServiceLocator dem Plugin bergeben e Unit Tests ben tigen File zum Laufen k nnte in den Test Settings definiert werden e NotifyPropertyChanged wird an verschiedenen Orten implementiert e Resourcen k nnten als Applikationsresourcen definiert werden e Namespace wird beim Location Plugin nicht einheitlich implementiert Beschl sse Da das Code Review sehr spat stattgefunden hat werden die beanstandeten Codefragmente als Teil der Bachelorarbeit berarbeitet Kleine
228. n hat er eine Planungs bersicht mit einer Matrix in der er eine Auswahl von verf gbaren Personen sowie den derzeitigen Auftr gen sieht Anhand von dieser Matrix erstellt er einen Schichtplan und weist die einzelnen Personen bestimmten Arbeiten zu In der Triage werden aufgrund von der pers nlichen berbringungen der Meldungen zus tzliche Ressourcen ben tigt Einen guten Plan zu erstellen der gerecht und fair ist sowie m glichst die F higkeiten der einzelnen Mitarbeiter beachtet Kapazit ten effizient zu nutzen 4 5 2 3 Soll Szenarien Soll Szenario 1 Ressourcen sparen Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie lwo hat eine fest definierte personelle Kapazit t die er beste m glich Einsetzen sollte Er beginnt mit der Planung der Mitarbeiter als pl tzlich neue Auftr ge eingehen Es gehen neue Auftr ge ein personelle Ressourcen sind verhindert Aufgrund der eingesetzten Applikation EistCockpit m ssen die Triage Mitarbeiter die Meldungen nicht mehr selber berbringen Dadurch k nnen massgeblich Ressourcen gespart werden die f r andere Arbeiten wiederum eingesetzt werden k nnen Aus diesem Grund teilt er f r die Triage einen Mann weniger ein welchen er stattdessen f r die Abteilung Richtstrahl Planer verwenden kann Eventuell sind die Ressourcen zu knapp um alle Arbeiten ordnungsgem ss zu erf llen Verweis Interview 2 Probleme bei der Arbeit Effi
229. n Host Plugins auf Service Manager zur Verwaltung von Dienstleistungen und Operationen sowie App Config f r die Applikations Konfiguration Operation Plugins Operation Plugins implementieren Features welche aufgrund ihrer Natur an einen Operations Kontext gebunden sind Solche Plugins stellen ihr Ul innerhalb des in der obigen Abbildung Ul Containers gelb eingef rbten Bereichs dar Der gr ne Bereich in der erw hnten Abbildung listet die installierten Operation Plugins auf und erm glicht den Zugriff darauf Standalone Plugins Standalone Plugins implementieren Features welche nicht zwingend etwas mit dem Einsatzzweck von EistCockpit zu tun haben Dieser Typ von Plugin verwendet hnlich wie Host Plugins ein eigenst ndiges Fenster f r sein UI Einige Beispiele ldeen f r Standalone Plugins e Wiki e Vereins Verwaltung e Pausenkiosk Verwaltung Standalone Plugins sind erst konzeptionell angedacht weder im Rahmen der Semesterarbeit noch im Rahmen der Bachelorarbeit ist die Implementation eines Standalone Plugins vorgesehen Der Zugriff auf bzw die Auflistung von Standalone Plugins d rfte hnlich wie bei den Host Plugins gehandhabt werden dies wurde aber noch nicht genauer ausgearbeitet Plugin Implementation Zur Unterscheidung der verschiedenen Plugin Typen wurde eine Hierarchie aus Interfaces definiert wobei ein Plugin einges Typs das entsprechende Interface implementieren muss Folgende Interfaces wurden d
230. n Plugins beachtet werden m ssen 10 3 4 1 Genereller Aufbau Plugin Solutions enthalten jeweils drei Class Library Subprojekte e Loader Enth lt eine Initializer Klasse welche das entsprechende Plugin Interface implementiert e Model Enth lt View Models f r die einzelnen Views e View Implementiert das Ul Es solte darauf geachtet werden dass die Namespace Konventionen EistCockpit Plugins lt PluginName gt lt Subproject gt eingehalten werden Technischer Bericht Developer Manual EistCockpit 228 256 10 3 4 2 Project Settings Auch f r Plugins gilt die Vorgabe dass gegen das NET Framework 4 0 gelinkt werden muss dies ist WPF Projekten ggf zu korrigieren Die DLL des View Projekts wird schlussendlich als Plugin verwendet deshalb m ssen in den Project Settings folgende Einstellungen vorgenommen werden e Assembly Information Die Assembly Information wird vom AppConfigPlugin ausgelesen und dargestellt Ben tigte Angaben in Englisch Title Version Copyright Description e Build Output Wie bereits erw hnt sucht die Host Applikation die Plugins im Plugin Directory innerhalb des EistCockpit Loader Directories Daher sollte der Build Output mit einer relativen Pfadangabe auf dieses Directory umgelenkt werden F r die anderen Subprojekte ist die Angabe der Assembly Informationen optional jedoch w nschenswert Der Build Output muss bei diesen Projekten nicht umgeleitet werden Di
231. n Studienarbeit soll auch mindestens einmal ein Codereview mit dem Betreuer stattfinden 3 6 3 Kriterienliste Um ein qualitativ Hochwertiges Projekt abzuliefern soll es laufend auf den Massnahmenkatalog in der MoD berpr ft werden Am Ende jedes Sprints wird die MoD gemeinsam durchgegangen und die Umsetzung berpr ft Technischer Bericht Projektmanagement EistCockpit 49 256 istCockpit David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Vorstudie EistCockpit 50 256 4 1 Dokumenteninformation Datum Version nderung Li tr lt O OO 13 03 2012 1 0 Erste Version des Dokuments 27 03 2012 Interviews hinzugef gt 22 04 2012 15 Affinities dokumentiert rwaltens Technischer Bericht Vorstudie EistCockpit 51 256 4 2 Allgemein 4 2 1 Zweck des Dokumentes Ziel dieses Dokumentes ist es die Ist Situation aufzunehmen und die gegenw rtige Situation zu analysieren Dabei werden Benutzerbefragungen durchgef hrt und aufgrund von den Antworten Personas erstellt 4 2 2 Gultigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 4 2 3 Definitionen und Abk rzungen Siehe Glossar Technischer Bericht Vorstudie EistCockpit 52 256 4 3 4 3 1 4 3 1 1 Interpretationssession Interviewvorbereitung Ziel ist es mit den Interviews die zuk nftige Nutzergruppe zu analysieren und daraus
232. n Zeit gszeit S ee Funktionsumfang onspakete ist grosser als Projektmitglieder fragen anpassen erwartet 0 Total 256 0
233. n auf den Meldezettel Sobald er das Telefonat beendet hat f llt er die restlichen Felder des Zettels aus Anschliessend leitet er den Meldezettel weiter an die zust ndige Person indem er den Zettel in das passende Fach bzw Briefkasten einwirft Meldezettel ist nicht vollst ndig ausgef llt Meldezettel gehen verloren Verweis Interview 1 Probleme bei der Arbeit Die Meldung wird schnell aufgenommen verarbeitet und weitergeleitet Ist Szenario 2 Fehlende Informationen auf Meldezettel Ausgangssituation Ausl ser Schritte Probleme Ziele Frank ist in der Triage am Arbeiten und wartet auf den n chsten Anruf Seinen Meldezettel hat er bereitgelegt so dass er bei einem Anruf direkt Notizen machen kann Anruf eines Stao Chefs an die Triage Hektische Situation wenig Schlaf Frank nimmt das Telefon entgegen und schreibt alle ben tigten Informationen auf den Meldezettel Der Meldezettel wird nicht vollst ndig ausgef llt wichtige Felder fehlen Anschliessend leitet er den Meldezettel weiter an die zust ndige Person indem er den Zettel in das passende Fach bzw Briefkasten einwirft Der Empf nger sieht dass essentielle Infos nicht vorhanden sind und retourniert die Meldung zur ck an die Triage Falls keine Kontaktdaten angegeben wurden m ssen die vergessenen Daten m hsam rekonstruiert werden Meldezettel ist nicht vollst ndig ausgef llt Effizienz der Meldungen schlecht Lange Dienstwege Verweis Interview
234. n breites Erfahrungsspektrum mit dieser Technologie die von keiner ber wenig bis zu viel Praxiswissen reichte Das machte die Absch tzung von Zeitkontingenten zum Teil schwierig Redmine erwies sich als sehr pragmatisch und gut geeignet f r solche Projekte Projekt Retrospektive EistCockpit 240 256 11 6 Pers nliche Berichte 11 6 1 David Schon Vor einem Jahr im Juni 2011 w hrend meines zweiten WKs als Tech Fw im Stab des Ristl Bat 20 ersann ich das System EistCockpit Und das ging so Mein Zellenchef S3 Hptm Kl tzli befahl mir ich solle mir die Sache mit dem IMFSViewer anzuschauen Gemeint hatte er wohl ich solle die Software auf einem alten Armee Laptop installieren Verstanden hatte ich aber ich solle mir den IMFSViewer unter die Lupe nehmen um daraus eine brauchbare Software zu machen Ich schaute mir das Innenleben von IMFSViewer an und kam schnell zum Schluss dass eine neue Software entwickelt werden musste Zuerst konzentrierte ich meine Gedanken nur auf eine verbessert Netz bersichts Software W hrend der t glichen Arbeit sowie bei Gespr chen mit anderen Mitarbeitern jeder Stufe fiel aber bald auf dass wir in der Eist Tm ein Software System brauchen k nnten welches einen sehr viel breiteren Funktionsumfang aufweist als IMFSViewer Die Idee f r EistCockpit war geboren Ee IMFSViewer v2 0 Ablage Ansicht LE Z mN e kens a9 Ansicht Standorte lo 8 x E Standorte Meldungen
235. nd ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 9 2 3 Definitionen und Abk rzungen Siehe Glossar Technischer Bericht Realisierung amp Test EistCockpit 190 256 9 3 Unit Tests In diesem Abschnitt werden alle durchgef hrten Unit Tests mittels Screenshots dargestellt Dabei wurden nur Projekte getestet die Methoden enthalten welche einen hohen Reifegrad erfordern 9 3 1 Sprint 2 W hrend dem Sprint 2 wurden die Hauptfunktionalit ten sowohl server wie auch clientseitig implementiert F r den korrekten Zugriff auf die Datenbank musste sichergestellt werden dass die Methoden auf dem Data Access Layer einwandfrei funktionieren Folge dessen wurden in diesem 2 Sprint erst die DAL Methoden getestet 9 3 1 1 EistCockpit Testing DataAccessLayer 38 vw 38 Ge 0 0 0 u Eb if cF lt EistCockpit Testing gt 385 i Success CL EistCockpit Testing 383 fests Success gi UnitTestsDAL 38 gange Success vo tg TestCoordinate WithID SUCCESS gf TestCreateCoordinate SUCCESS w TestCreateFunction Success d w TestCreatelocation Success w TestCreatelocationferson Success d ig TestCreateMessage SUCCESS d ig TestCreateOperation Success j W TestCreatePerson Success j i Testlreateservice Success W TestCreateUnit Success W TestDeleteCoordinateWithID Success yf TestDeleteFunctionWithID SUCCESS tt TestDeleteLocationPersonWithID Success i TestDeleteLocationsPersonsW
236. nen Dienst teilweise f r die Instandhaltung Aktualisierung etc nutzen k nnen Zusammenfassung Interessensvertreter H heres Kader Beschreibung Verantwortlichkeiten Sie leiten eine Abteilung und haben Sie geben verschiedene Inputs deshalb mehr Kompetenzen dies impliziert Verbesserungsvorschl ge f r die f r die Anwendung eine spezielle Ansicht Entwicklung mit zus tzlichen Informationen Tabelle 3 Interessensvertreter h heres Kader Projektleiter Beschreibung Verantwortlichkeiten Sie leiten das gesamte Projekt und haben Die Projektleiter sind massgeblich bei der deshalb eine grosse Verantwortung Einteilung und Planung des Projekts beteiligt beobachten den Projektverlauf Tabelle 4 Interessensvertreter Projektleiter F hrungsunterst tzungsbrigade Beschreibung Verantwortlichkeiten Bei dieser Brigade handelt es sich um die Schaut sich Projektstand von Zeit zu Zeit bergeordnete Einheit welche bestimmte an keine grossen Verantwortlichkeiten da milit rische Auftr ge koordiniert in erster Linie f r Batallion Tabelle 5 Interessensvertreter F hrungsunterst tzungsbrigade url1 F hrungsunterst tzungsbrigade 41 htto de wikipedia org wiki F C3 BChrungsunterst C3 BCtzungsbrigade 41 15 03 2012 Technischer Bericht Vision EistCockpit 29 256 Soldaten Mitarbeiter Beschreibung Verantwortlichkeiten F hrt die Befehle aus welche ihm erteilt Hat nicht viel Einblick bei der Entwicklung werden A
237. ngel dauernd sp rbar und haben sichtbare Spuren in der aktuellen Version von EistCockpit hinterlassen Oft wurden Entscheide f r Projektstrukturen Namensgebung und dergleichen zu schnell oder einfach aus Zeitdruck Cool damit waren wir schon drei Informatiker von der HSR im Ristl Bat 20 bzw in dessen Stabs Kp Gfr Thomas Corbat aus der Stabskanzlei Ik Pi Sdt Diego Steiner und Tech Fw David Sch ttl F r Sdt Waltensp l wurde sogar extra innert drei Tagen ein Gast WK bei uns im Ristl Bat 20 organisiert damit er dabei sein konnte S Sdt Steiner hat seine Arbeit den Umst nden zum Trotz sehr gut gemacht Er wurde zum Obgfr bef rdert und wird wohl noch lange der Kanzlei erhalten bleiben Remo We salute you Projekt Retrospektive EistCockpit 242 256 gef llt Auch wenn diese sp ter als suboptimal erkennbar wurden so war keine Zeit f r ein entsprechendes Refactoring verf gbar schliesslich ist man schon mit dem aktuellen Feature in Verzug Die w chentlichen Team Collaboration Meetings waren sehr wertvoll weil sich so das Team bei den Entscheidungen beraten gegenseitig Hinweise Feedback geben und das weitere Vorgehen planen konnte Ebenfalls wertvolle Inputs f r das Projekt wurden w hrend den Meetings mit dem Betreuer der Arbeit Thomas Corbat generiert F r die BA sollte jedoch mehr Zeit f r die Team Collaboration eingerechnet werden da sich der gegenseitige Ideenaustausch und Absprache positiv auf die Qualit
238. ngen f r welche dieser Standort der bergeordnete Knotenpunkt ist Die Menge der Verbindungen f r welche dieser Standort der untergeordnete Knotenpunkt ist Die Koordinaten des Standortes Die Operation der der Standort zugeordnet ist Die Einheit der der Standort zugeordnet ist Die Person die f r den Standort verantwortlich ist Die Menge der Errungenschaften die von diesem Standort erreicht werden m ssen Tabelle 43 Beschreibung Entit t Location 119 256 6 5 3 2 LocationPerson Stellt eine Zuordnungstabelle zwischen Personen und Standorten dar Property Typ Beschreibung en saa EES EE Te PersonID Int Die ID der Person die dem Standort zugeordnet ist FunctionlD Int Die ID der Funktion die die Person auf dem Standort hat Person Relation Der Standort dem die Person zugeteilt ist Location Relation Die Person die dem Standort zugeordnet ist Function Relation Die Funktion die die Person auf dem Standort hat Tabelle 44 Beschreibung Entit t LocationPerson 6 5 3 3 Coordinate Kapselt verschiedene Koordinatenformate die dann zum Beispiel von einem Standort verwendet werden k nnen Property Typ Beschreibung EC 8 GE de ne Altitude Int H he ber Meer in Meter LatitudeGPS Double Breitengrad Koordinate im GPS Format LongitudeGPS Double L ngengrad Koordinate im GPS Format LatitudeLV03 Double Breitengrad Koordinate im LV03 Format LongitudeLV03 Double Langengrad Koordinate im LVO3 Format LatitudeLV95 Double
239. ngstyp TBZIMFS O Bestellung O Berrm verlassen O TBZSHF O R ckruf O Stoo erreicht O Antrag _ O O Priorit t Gross Mittel Kien Abbildung 34 Create Message Mockup Plugin Meldung bersicht Meldungen Eist Die bersicht dient vorwiegend der Eist zum Anzeigen aktueller Meldungen Message Flow v1 0 Wann Was 02 06 2012 0803 Drone Overflight spotted 02 06 2012 0843 IMFS Reached j Pvt Barnes 02 06 2012 0928 Enemy Troops attacking Pvt Heyes Abbildung 35 Message Overview Mockup Technischer Bericht Domain Analyse EistCockpit 131 256 Plugin Standorte Das Plugin Standort dient dazu neue Standorte zu erfassen sowie bisherige Standorte zu bearbeiten Ausserdem erlaubt es die bisher erfassten Standorte zu einer bestimmten bung anzuzeigen Die nachfolgende Abbildung Verweis Abbildung 36 Location Mockup gibt einen berblick ber den ersten Entwurf Standort Plugin Standort 2 u IT Chef Standortchef el engem 7 ene DJ E wn E ns OMM Bearne J GE Abbildung 36 Location Mockup Technischer Bericht Domain Analyse EistCockpit 132 256 6 6 1 4 Erkenntnisse Findings Wahrend dem kognitiven Test innerhalb des Teams wurden folgende Feststellungen gemacht Anhand dieser Erkenntnisse wurden die Mockups uberarbeitet Plugin Standorte e Die Schaltfl chen unterhalb der Auflistung von Standorten sind nicht sehr intuitiv angeordnet e Auf den ersten Blick k nnte der Benutz
240. nistrator kann ich neue oder erweiterte Funktionalit t einfach einf gen Als Administrator kann ich Daten einfach zwischen mehreren Dienstleistungen migrieren Als Benutzer ist es mir m glich gleichzeitig mit anderen Benutzern zu arbeiten Als Benutzer ist es mir m glich eine Dienstleistung als Arbeitskontext auszuw hlen Als Benutzer sehe ich welche die aktuell ausgew hlte Dienstleistung ist Als Benutzer ist es mir m glich eine Operation als Arbeitskontext auszuw hlen Als Benutzer sehe ich welche die aktuell ausgew hlte Operation ist Als Benutzer in der Eist sehe ich eine bersicht der eingegangenen Meldungen Als Benutzer in der Eist kann ich Meldungen nach allen Kriterien sortieren Als Benutzer in der Eist kann ich auf den ersten Blick sehen welche Meldungen wichtiger sind als Andere Als Benutzer in der Eist kann ich Meldungen nach allen Kriterien filtern Als Benutzer in der Eist sehe ich wenn jemand Anders eine neue Meldung in meinem Kriterienscope erfasst Als Benutzer in der Eist kann ich die Filterkriterien ausblenden um mehr Platz f r Meldungen zu erhalten Als Benutzer in der Triage kann ich einfach eine neue Meldung erfassen Als Benutzer in der Triage werde ich durch den Prozess des Erfassens geleitet wenn eine neue Meldung Definition of Done Plugins werden aus einem Ordner geladen und im daf r vorgesehen Bereich angezeigt Die Datenbank ist in einem einzigen File gespeichert und
241. nr Adresse w DJ KA EistCockpit 153 256 6 6 5 Ul Guidelines Weil das System in einer homogenen Windowsumgebung laufen muss ist das Design des Userinterfaces an den Windows User Experience Interaction Guidelines von Microsoft Orientiert url4 Windows User Experience Interaction Guidelines hito msdn microsoft com de ch library windows desktop aa511258 aspx 12 05 2012 Technischer Bericht Domain Analyse EistCockpit 154 256 istCockpit David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Entwurf EistCockpit 155 256 7 1 Dokumenteninformation Datum Vesion nderung OO Autor o 06 06 2012 Erste Version des Dokuments dsch ttl 07 06 2012 Transaktionsmanagement hinzugef gt dsch ttl 08 06 2012 Technischer Bericht Entwurf EistCockpit 156 256 7 2 7 2 1 7 2 2 7 2 3 7 2 3 1 7 2 3 2 Design Entscheide Systemlandschaft EistCockpit wird auf der existierenden Systemlandschaft eines Ristl Bat Richtrahl Bataillon eingesetzt Dieses System heisst TEPLAS Telematik Planungs System und besteht aus mehreren z T virtualisierten Servern Windows Server 2003 sowie einer Anzahl mobiler Arbeitsstationen Windows XP Die Arbeitsstationen sind ber LAN mit den Servern verbunden wobei das Netzwerk komplett isoliert ist d h es besteht keine Verbindung zu anderen Netzwerken z B Internet etc Auf den Arbeitsstationen ist nur ein Bas
242. nten w rde ich das n chste Mal versuchen das definierte Vorgehensmodell ohne Kompromisse durchzusetzen und verst rkt auf ein klar strukturiertes Projektmanagement achten So liessen sich einige Probleme in der Zukunft vermeiden Alles in Allem hat mir die Studienarbeit in diesem Team Freude bereitet und ich konnte viele Dinge sowohl in technischer als auch in Hinsicht auf Vorgehen f r mich pers nlich mitnehmen Projekt Retrospektive EistCockpit 245 256 11 7 Aufwandanalyse 11 7 1 Phasen amp Sprints In diesem Abschnitt sind die Aufw nde nach Sprints aufgesplittert Im untenstehenden Diagramm ist die Verteilung der Aufw nde ber die Wochen ersichtlich Phase Sprint Gesch tzter Aufwand Tats chlicher Aufwand Anzahl Tickets S 2 e EECH Elaboration E1 55h 54 5h 14h Elaboration E2 30h 18 5h 5h Sprint 0 34h 32h 7h Sprint 1 126h 116h 18h Sprint 2 319h 347 25h 45h Sprint 3 219 5h 180h 34h Tota SE au In S Tabelle 70 Aufwand pro Phase Sprint Glnception 1 mElaboration E1 GElaborationE2 mSprintO mSprint 1 GSprint2 mSprint 3 90 80 70 60 50 40 30 Mannstunden Kalenderwoche 11 7 1 1 Phasen Der bersicht halber wurden hier die ersten 3 Phasen zu einem Block zusammengefasst Dieser Block umfasst die Phase Inception 11 die Phase Elaboration E1 sowie die Phase Elaboration E2 Dauer 5 Wochen Gesch tzter Aufwand 116h Tats chlicher Aufwand 102h Tickets 26 Projekt Retrospektive EistCockpit 246
243. o Steiner A 1 A 1 1 A 1 2 A 1 3 A 1 4 A 1 4 1 A 1 4 2 A 1 4 3 A 1 4 4 Sitzungprotokoll 20 02 2012 Traktanden Anwesend mstolze tcorbat dschoett rwaltens dsteiner Abwesend e Aufabenstellung e Zusammenarbeit kl ren Aufgaben e WK Einsatz f r rwaltens tcorbat e Aufgabenstellung mstolze Infrastruktur aufsetzen dsteiner e Richtlinien definieren Projektteam e Projektplan grob definieren Projektteam N chstes Meeting Mittwoch 22 03 2012 R ckblick Protokoll Name Der Name EistIm Cockpit wurde von allen Beteiligten akzeptiert bereink nfte Die Ausf hrenden halten in einem Meeting die Richtlinien f r Sprache Dokumentation Terminologie Tools usw und erstellen ein entsprechendes Dokument Aufgabenstellung MS leitet aus dem Email von dschoet die vollst ndige Aufgabenstellung ab und signiert diese dass man sie als Grundlage f r die SA nehmen kann Deadline ist der 26 02 2012 Zusammenarbeit rwaltens z Z Aufkl rer bei InfBat 6 ist nicht f r den WK eingeteilt tcorbat versucht noch kurzfristig eine Teilnahme am WK bei Hptm Kl tzli zu erwirken Die Hoffnung besteht dass wir wenn auch einen trivialen Internetzugang etablieren k nnen um die Kommunikation auf elektronischem Weg sicherzustellen falls die Umteilung von rwaltens nicht klappt A 1 4 5 A 1 4 6 A 1 4 7 A 1 4 8 A 1 4 9 A 1 4 10 A 1 4 11 A 1 4 12 tcorbat kl rt ebenfalls
244. och im Prototyp befanden und dann zur Fertigstellung der Dokumentation zu schreiten Der Sprint zeichnete sich vor allem dadurch aus dass Alle Projektmitglieder nochmals bedingungslosen Einsatz zeigten Projekt Retrospektive EistCockpit 253 256 11 7 2 Personen In der nachfolgenden Tabelle und Diagrammen ist der Arbeitsaufwand pro Person beschrieben Diego Steiner 238 00 30 Remo Waltenspul 320 50 40 David Sch ttl 235 10 30 Total 793 60 100 Tabelle 76 Auflistung Arbeitszeiten David Sch ttl 235 1 Diego Steiner 2 30 30 Remo Waltenspul 320 5 40 Auffallig hierbei ist sicher die nicht ganz gleichmassige Aufwandsverteilung zwischen Remo Waltensp l und den anderen Projektmitgliedern Dies l sst sich zum Teil mit dem Erfahrungsunterschied erklaren Diego Steiner Remo Waltensp l David Schott 50 45 NN 40 ii eh 30 e Mannstunden N O1 2 A BEY 8 9 10 11 12 13 E 15 16 17 18 19 20 21 22 23 Kalenderwoche Projekt Retrospektive EistCockpit 254 256 11 7 3 T tigkeiten In diesem Abschnitt werden die Aufw nde anhand der T tigkeiten untersucht Feature Documentation Projekt und Qualit tsmanagement Collaboration Support Collaboration 12 Support 1 384 35h 48 198 75h 25 102h 13 97 5h 12 9h 1 Ah 1 795 6h 100 Tabelle 77 Auflistung Arbeitszeiten pro Tatigkeit Rund die H lfte der Projektzeit wurde in die Entwicklung selbst gesteckt
245. oll die Verwaltung des Vereins Freunde des Ristl Bat 20 vereinfachen Funktionalit t Mitglieder Verwaltung Finanz Verwaltung z B f r Kiosk Mitgliederbeitr ge Vereinsausgaben etc Termin Verwaltung Dokument Sammlung z B Statuten etc Protokollierung z B von Generalversammlungen Beschl ssen etc Export Funktion zur bertragung der Informationen auf die Website des Vereins nach Dienstleistungsende 11 2 3 9 Plugin Gefechtsjournal Dieses Plugin soll das physische Gefechts Journal digitalisieren Funktionalit t Gefechts Journal Eintr ge erfassen Schlichte 1 1 Umsetzung des Gefechts Journal in digitaler Form Technischer Bericht Schlussfolgerung EistCockpit 236 256 EistCockpit V Projekt Retrospektive David Sch ttl Remo Waltensp l amp Diego Steiner EistCockpit 237 256 11 3 Dokumenteninformation Datum Version nderung iii tr OO O OO 07 06 2012 Erste Version des Dokuments 07 06 2012 Auswertung Arbeitszeiten mit Diagrammen Projekt Retrospektive EistCockpit 238 256 11 4 Allgemein 11 4 1 Zweck des Dokumentes Dieses Dokument soll einen objektiven R ckblick ber das Projekt bieten und sowohl die pers nlichen Erfahrungen wie auch eine Aufwandanalyse beinhalten 11 4 2 G ltigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 11 4 3 Definitionen und Abk rzungen Siehe Glossar
246. oposal uses non lock concurrency control algorithms for REST ar chitectural style We try to provide transactional support without adding complexity on the simplicity provided by the Fielding proposal 2 Sections of this work are organized as follows Section 2 proposes the use of optimistic transaction control to address the need to execute transactions involving RESTful services Section 3 brings an analysis of the proposal and indicates some good practices raised for usage In Section 4 some conclusions and proposals for future work are presented 2 OPTIMISTIC CONCURRENCY CONTROL FOR REST This section presents a proposal to promote the transac tional control for RESTful services through the use of non lock concurrency control Some problems in the infrastructure necessary for web services implementation are not discussed such as host fail ure broken link unavailability of the web server or database since they are not central to understand our proposal The fault tolerance of the infrastructure is an important issue in the realm of web and it will be addressed in future work 2 1 REST Representational State Transfer REST intends to evoke the image of how a well designed web application behaves a network of web pages a virtual state machine where user interacts with the application by selecting links states transitions resulting in the transfer next page to him which is rendered for his use 2 Th
247. oraussetzungen beschrieben welche f r die Entwicklung sowie Ausf hrung von EistCockpit erf llt sein m ssen e NET Framework 4 0 Das NET Framework 4 0 muss server wie auch clientseitig installiert sein e IDE EistCockpit wird mit der aktuellen Version von Microsoft VisualStudio entwickelt e Project Properties Es muss darauf geachtet werden dass bei neu erstellten Projekten explizit gegen NET Framework 4 0 gelinkt wird bei WPF Projekten wird per Default gegen NET Framework 4 0 Client gelinkt was unzureichend ist e ADO NET Adapter Da eine SQLite DB zum Einsatz kommt muss ein entsprechender ADO NET Adapter installiert werden EistCockpit verwendet den Adapter System Data SQLite F r genauere Informationen zu den verschiedenen Plugin Typen wird auf das Entwurfs Dokument verwiesen Zum Zeitpunkt der Verfassung dieses Dokuments VisualStudio 2010 31 Turl18 System Data SQLite About http system data sqlite org index html doc trunk www index wiki 04 06 2012 Technischer Bericht Developer Manual EistCockpit 225 256 10 3 10 3 1 10 3 2 10 3 3 10 3 3 1 Entwicklung Allgemeines EistCockpit verwendet mehrere Solutions mit entsprechenden Unterprojekten Die Serverkomponente sowie die Host Applikation werden in der sog Core Solution EistCockpit sIn auf erster Ebene des Source Directories entwickelt w hrend f r die Plugins jeweils einzelne Solutions verwendet werden Bei
248. orm way with a visualization mechanism that enables nonprogrammers to create web services by performing point and click drag and drop operations We built a tool based on our approach and we used this tool to compose an integrated system from two closed and monolithic commercial GAPs and web services Our case study showed that a key advantage of Coins is that it involves minimal development efforts Our evaluation suggests that our approach is effective and it can be used to create integrated systems from nontrivial legacy GAPs and web services REFERENCES 1 Building software that 1S interoperable by design http www microsoft com mscorp execmail 2005 02 O3interoperability print asp Documentation for Apache http ws apache org axis java index html Screen scraping entry in http en wikipedia org wiki Screen_scraping Section 508 of the Rehabilitation Act board gov 508 htm IEEE Standard Computer Dictionary A Compilation of IEEE Standard Computer Glossaries Institute of Electrical and Electronics Engineers January 1991 B Buck and J K Hollingsworth An API for runtime code patching Int J High Perform Comput Appl 14 4 317 329 2000 D Burt D Dobler and S Starling World Class Supply Management The Key to Supply Chain Management McGraw Hill Irwin July 2002 8 A N K Chen and B B M Shao Web services enabled procurement in the extended enterprise An architectural design and implement
249. otypen EistCockpit 186 256 8 4 3 6 Erkenntnisse Die Einarbeitungszeit in die Basis Funktionen des MEF war ziemlich kurz dementsprechend konnte schon nach kurzer Zeit der Code um Plugins erweitert werden Eine gewisse Herausforderung war es jedoch eine Benutzeroberfl che zur Laufzeit um bestimmte Inhalte zu erg nzen Um dies zu erreichen wurde zuerst versucht selber eine Klasse zu implementieren die pr ft ob ein Ordner neue zus tzliche Dateien enth lt W hrend der Implementation wurde aber die bereits bestehende Klasse FileSystemWatcher gefunden welche die geforderte Funktionalit t mitbringt Eine Schwierigkeit war auch die wenig aussagekr ftige Fehlermeldung die bei einem nicht erfolgreichen importieren von Plugins auftrat Mit der Zeit wurden jedoch die Gr nde f r eine erscheinende Fehlermeldung ersichtlicher Technischer Bericht Prototypen EistCockpit 187 256 EistCockpit 9 Realisierung amp lest David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Realisierung amp Test EistCockpit 188 256 9 1 Dokumenteninformation Datum verston Anderung tor Technischer Bericht Realisierung amp Test EistCockpit 189 256 9 2 Allgemein 9 2 1 Zweck des Dokumentes Das Dokument Realisierung amp Test dient dazu die Realisierungsphase sowie s mtliche durchgef hrten Tests zu dokumentieren 9 2 2 Gultigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes u
250. ource code Code patching 6 and binary rewriting 11 techniques modify the binary code of executable programs in order to control and manipulate them when integrating these programs into composite systems 10 However these techniques are platform dependent and programmers are required to write complicated code to change program executables Using these techniques is difficult and error prone and often causes applications to become unstable and crash When it comes to extracting information from GAPs and their GUI elements the term screen scraping summarily de scribes various techniques for automating user interfaces 14 3 Macro recorders use this technique by recording the users mouse movements and keystrokes then playing them back by inserting simulated mouse and keyboard events in the system queue 12 Our approach differs fundamentally from other screen scraping techniques since it modifies GAPs to extend their functionalities while by definition screen scrapers only deliver information describing GUIs In addition Coins does not depend on parsing a scripting language that describes the GUI and therefore it is more generic and uniform X CONCLUSION We proposed a novel generic approach for creating creating integrated systems by composing GAPs with each other and web services efficiently and non invasively This approach combines a nonstandard use of accessibility technologies for accessing and controlling GAPs in a unif
251. owser ist die bersicht angezeigt Clientplugins laden Die in den Plugins komplilierten DLLs werden geladen und im entsprechenden Bereich angezeigt Clientplugins ausw hlen Im daf r vorgesehenen Bereich k nnen die Plugins ausgew hlt werden Hostplugins anzeigen In dem daf r vorgesehenen Bereich werden die geladenen Hostplugins angezeigt Hostplugins ausw hlen Ausgew hlter Service anzeigen Wenn ein Service ausgew hlt wird wird in der Statusleiste Diese angezeigt Operation anzeigen Im Serviceplugin wird eine bersicht der Operationen unter den entsprechenden Dienstleistungen angezeigt Operation ausw hlen Im Serviceplugin kann eine Operation ausgew hlt werden Ausgew hlte Operation anzeigen Wenn eine Operation ausgew hlt wird wird in der Statusleiste Diese angezeigt Messages anzeigen Im MessagesPlugin wird eine bersicht der Meldungen angezeigt MessageFilter anzeigen Im MessagesPlugin kann der Filter ein und ausgeblendet werden MessagesFilter anwenden Im MessagesPlugin kann der Filter auf die Meldungen angewandt werden Messages sortieren Im MessagesPlugin k nnen de Meldungen nach allen Spalten sortiert werden Message anzeigen Im MessagesPlugin kann eine einzelne Nachricht angezeigt werden Im MessagesPlugin kann eine neue Meldung erfasst werden Message speichern Im MessagesPlugin kann eine Meldung gespeichert werden Message als Draft speichern Im
252. pdateCoordinate class EistCoc 0 0 00 34 100 00 UpdateFunction class EistCockp 0 0 00 24 100 00 ze UpdateLocation class EistCockpi 0 0 00 46 100 00 UpdateMessage class EistCockpi 0 0 00 42 100 00 ze UpdateOperation class EistCock 0 0 00 26 100 00 ze UpdatePerson class EistCockpit 0 0 00 38 100 00 UpdatePluginAccess class EistC 0 0 00 26 100 00 UpdateService class EistCockpit 0 0 00 28 100 00 ze UpdateUnit class EistCockpit Co 0 0 00 24 100 00 ep Er Pee Oa STEE Bere Code Cover TE MEET Abbildung 76 Testabdeckung DAL Technischer Bericht Realisierung amp Test EistCockpit 197 256 9 3 3 2 EistCockpit Plugins MessagesPlugin Test kee vd ke dsteiner PIN1262030 2012 06 06 12 58 52 EA ZE Ss Hierarchy Not Covere Not Covered w Covered 7 Bl 4 iets dsteiner PINI 262030 2012 06 06 12 58 52 343 40 789 59 22 4 EistCockpit Plugins MessagesPlugin ViewModel dil 292 51 32 48 68 44 EistCockpit Plugins MessagesPlugin ViewModel 292 51 32 48 68 gt i MessagesViewModel lt gt c_DisplayClassc 0 0 00 100 009 gt MessagesViewModel lt gt c_DisplayClass8 lt gt c 0 0 00 100 00 gt ie MessagesViewModel lt gt c_DisplayClass8 0 0 00 100 00 gt MessagesViewModel 128 44 14 55 86 b MessageViewModel 61 42 36 37 64 b MessageFilterParameter 83 74 16 26 gt MessageEventArgs 0 00 100 00 4 EistCockpit Plugins MessagesPl
253. perties and the behavior of these elements For example a Windows GUI element should implement the Accessible interface in order to be accessed and controlled using the MSAA API calls Programmers may write code to access and control GUI elements of GAPs as if these elements were standard programming objects B Hooks Hooks are user defined libraries that contain callback func tions or simply callbacks which are written in accordance with certain rules dictated by accessibility technologies Hooks are important for Coins because they enable users to extend the functionality of GAPs specifically to integrate them with web services without changing GAPs source code Writing hooks does not require any knowledge about the source code of GAPs In our approach a hook library is generic for all GAPs and its goal is to listen to events generated by the GAP into which this hook is injected as well as to execute instructions received from integrated systems An example of an instruction is to disable a button until certain event occurs The power of hook libraries is in changing the functionalities of existing GAPs without modifying their source code Main functions of the generic hook are to receive commands to perform actions on GUI elements to report events that occur within GAPs and to invoke predefined functions in response to certain commands and events Since accessibility layers are supported by their respective vendors and hooks ar
254. phase can be made efficiently allowing a good performance of the transactions But if conflicts are frequent the cost of repeatedly transac tions restart impacts negatively on performance 2 3 REST with Optimistic Concurrency Con trol The procedure exposed in Subsection 2 1 2 assumes that all resources participating in a transaction are present in the same server On the server the requests HTTP PUT are stored in a actions queue When a client sends a commit request HTTP PUT with committed true the server delegates transaction execution to a database The server starts a database transaction applies all queued actions and commits the database transaction If the transaction is distributed i e if the operations are executed between different banks with different URIs and databases system the proposal does not work because it as sumes that there is a single database responsible for execut ing the transaction For example assuming that there are two servers each with its own database and that the server holding the debit account is not operational the transac tion executes only the credit operation which contradicts the atomicity property Therefore the procedure of transactions in Subsection 2 1 2 does not support control of distributed transactions The services operate only as a facade for the transaction operations implementation i e they are only an interface to a database transaction It is possible to pro
255. pose new ways to deal with distributed transactions in RESTful services The proposal presented in this paper uses the optimistic concurrency control To do so each resource has to inform within its representation for example HTML XML or text one more data item to indi cate its current version The value of the current version has to be increased every time the resource is updated When a resource is created an initial version value is assumed When two clients read a resource in the same version the first to change the resource and request an update causes the resource update and version increment When the sec ond client requests an update a conflict is identified because the version he wants to change no longer exists The trans action is aborted or a list with the conflicts is returned to the client to decide what should be the resource final ver sion What can be made when a conflict is identified is up to each application In order to demonstrate the feasibility of the proposed op timistic transactional control an example was implemented for the transfer of funds between bank s accounts Two clients try to transfer funds concurrently Figures 1 2 3 4 illustrate the scenario The filled arrows represent the requests made by clients The dashed arrows represent the responses sent by servers to clients The re quests are numbered to indicate the order of execution and the responses indicate whether there is success or f
256. pt innerhalb der ViewModels eingesetzt i Vergleichbare Beispiele aus der realen Welt sind z B die Handhabung einer Waffe oder nur schon das F hren eines Fahrzeugs Der Umgang mit diesen Gegenst nden will gelernt sein da sie bei falscher Anwendung oder aufgrund fehlender Erfahrung eine Gefahr f r die Umwelt darstellen k nnen Nat rlich ist die Gefahr gross dass ein blutjunger Schmalspurprogrammierer beim Einsatz des Singleton Patterns Fehler begeht Das bedeutet aber noch lange nicht dass das Pattern durch erfahrene Entwickler keine Verwendung mehr finden darf Technischer Bericht Entwurf EistCockpit 172 256 istCockpit David Sch ttl Remo Waltensp l amp Diego Steiner Technischer Bericht Prototypen EistCockpit 173 256 8 1 Dokumenteninformation Datum Version adrung OO Tuer 05 06 2012 Erste Version des Dokuments 05 06 2012 Prototyp zu MEF Plugin dokumentiert 06 06 2012 Prototyp zu Datenbank dokumentiert 07 06 2012 Prototyp zu Webservice dokumentiert dsch ttl 08 06 2012 Technischer Bericht Prototypen EistCockpit 174 256 8 2 Allgemein 8 2 1 Zweck des Dokumentes Ziel dieses Dokumentes ist es die entwickelten Prototypen n her zu erl utern Dies beinhaltet eine grobe Architektur bersicht sowie Screenshots vom externen Design 8 2 2 Gultigkeitsbereich Dieses Dokument gilt als Grundlage des Projektes und ist daher ber die gesamte Projektdauer g ltig 20 02 bis 07 06 2012 8 2 3 Def
257. r Alter 24 Jahre t 2 pa Zivilstand Ledig keine Kinder a Ausbildung Kaufmannische Lehre T tigkeit Sachbearbeiter in KMU Abbildung 23 Persona Frank Fleissig Technische Routinierter Umgang mit dem Computer oberfl chliche Kenntnisse Technikkenntnisse Funktion Frank ist ein Soldat und leistet seinen Dienst einmal pro Jahr i d R ist er deswegen drei bzw vier Wochen bei einem KVK Einsatz im Einsatz Er ist zust ndig f r die Entgegennahme und Weiterleitung von Meldungen per Telefon Arbeitskontext Der Arbeitsort von Frank ist in der Regel eine ZSA oder eine geheime Bunkeranlage wichtig ist zudem aufgrund von vielen Telefonaten ein abgeschlossener Raum nahe der FGG 3 Das Arbeitszimmer ist mit b ro blichen Mitteln drei Telefone zwei TEPLAS Client ein Fax B routensilien etc eingerichtet Der L rm sollte eigentlich kein Problem darstellen da die Triage Abteilung in einem abgeschlossenen Raum sich befindet Unterbr che k nnen im Falle eines Schichtwechsel oder Fragen von verschiedenen Personen entstehen Arbeitsstil Frank verrichtet seine Arbeit in der Regel pflichtbewusst und zuverl ssig Er ist zudem ziemlich erfahren da er normalerweise schon mehrere Wiederholungskurse absolviert hat Es kann jedoch auch vorkommen dass er einzelne Meldungen aufgrund von hektischen Situationen zu wenig detailliert erfasst Dies stellt jedoch nicht den Regelfall dar normalerweise nimmt er die Daten genau auf
258. r Ber cksichtigung der Sensitivit tsanalyse begr ndet 7 2 6 Plugins Mitunter ein Ziel von EistCockpit ist dass die Software einfach mit weiteren Features ausgebaut werden kann dabei soll der Installations bzw Updateaufwand minimal gehalten werden Aus diesem Grund verwendet EistCockpit eine Plugin Architektur welche unter dem Einsatz von MEF Microsoft Extensibility Framework implementiert ist F r eine detaillierte Technischer Bericht Entwurf EistCockpit 162 256 7 2 6 1 Beschreibung des Lademechanismus der Plugins wird auf das Dokument Prototypen Abschnitt MEF Plugin verwiesen Bei der Konzeption von EistCockpit wurde erkannt dass abh ngig vom Einsatzzweck verschiedene Typen von Plugins ben tigt werden Dies gr ndet in der Entscheidung dass praktisch alle Teile von EistCockpit als Plugin implementiert werden Die EistCockpit Host Applikation bietet lediglich ein Grundger st die effektiven User Interfaces der verschiedenen Features werden aus den Plugins geladen und im Grundger st eingebettet Weiter wurde erkannt dass nicht alle Benutzer den gleichen Umfang an Features ben tigen So sollte z B ein Triage Mitarbeiter im Range eines Soldaten keinen Zugriff auf das Service Manager Plugin erhalten denn die Erfassung von Dienstleistungen und Operationen f llt in den Kompetenzbereich des Kaders Realisiert wird diese Zugriffskontrolle mittels Mapping der AD Benutzergruppe auf die zwei EistCockpit Benu
259. r Data Access Layer EistCockpit DAL erm glicht den Zugriff auf die Persistenzschicht und bietet dazu grundlegende CRUD Operationen f r die verschiedenen Entities an Der Zugriff auf die DAL Funktionalit t sollte nie direkt erfolgen sondern ber den Business Layer EistCockpit Business welcher seinerseits die Anfragen an den DAL weiterleitet Grund daf r ist dass damit die auditierbarkeit des Systems erhalten bleibt falls dies k nftig eine Anforderung an EistCockpit wird Die verwendeten Entity Klassen wurden aus dem Datenmodell generiert dieses wiederum basiert auf der erw hnten Master DB Bez glich Entites muss erw hnt werden dass zwei Arten von Entities in EistCockpit verwendet werden e Generierte Entities Entity Die aus dem Datenmodell generierten Entitaten werden bis und mit des serverseitigen Teils des Webservice verwendet sie dienen als DTOs im Rahmen der Datenbank e Re lmplementationen DTO Re Implementationen der generierten Entities siehe Namespace EistCockpit Common DTOs Naming Schema lt Entity gt DTO cs werden vom Webservice f r die Kommunikation mit den Clients verwendet Grund daf r ist dass die generierten Entit ten vom Framework nicht korrekt in JSON Objekte serialisiert werden k nnen Obwohl die Re Implementation der Entities und die Konversion zwischen den beiden Typen einen gewissen Grad an Redundanz und Aufwand bedeutet hat dies auch den Vorteil dass unn tiger Ballast w
260. r Pluginleiste schlecht positioniert e Wie wird definiert wer welche Rechte hat ohne im vornherein zu wissen wie das Plugin aufgebaut ist David beantwortet diese Frage umgehend die Rollen des Active Directory werden auf die Applikationsrollen abgebildet und nur Standardoperationen CRUD angewendet A 10 Sitzungsprotokoll 02 05 2012 A 10 1 Traktanden Anwesend dsteiner tcorbat rwaltens Die Sitzung wurde im Einvernehmen aller Beteiligten auf die folgende Woche verschoben A 11 Sitzungsprotokoll 09 05 2012 A 11 1 Traktanden Anwesend dsteiner dschottl tcorbat rwaltens Abwesend e Abnahmen e Abnahme des letzten Sitzungsprotokolls e Stand der Arbeiten e Demo e Tasks f r diese Woche e Zuteilung der Tasks e Ausblick A 11 2 Aufgaben A 11 3 Protokoll A 11 3 1 Abnahme der Sitzungsprotokolle e Burndown chart Stunden statt Storypoints nicht normal aber ok e Angepasstes architekturmodell e Read ist von Client initiierte Abfrage ansonsten ok e Angepasste Layerarchitektur e Webserver ist immernoch WCF nur zur clarification e Begr ndungen und Entscheide gut dokumentieren A 11 3 2 Tasks f r diese Woche e Stand der Arbeiten aufgezeigt A 11 3 3 Ausblick e Geheimhaltungserklarung nd aufgabenstellung f r mstolze e Abtretungserklarung ausf llen e Kontakt FuBr heraussuchen A 12 Sitzungsprotokoll 22 05 2012 A 12 1 Traktanden Anwesend dsteiner dsch ttl tcorbat rwaltens Abwesend e Abnahmen
261. r ebenfalls ber eine Version im Redmine realisiert Im Unterschied zum Product Backlog ist die Version jedoch auf den Sprint befristet und wird mit diesem geschlossen Impediment Log Die Schwierigkeiten werden auf eine daf r eingerichteten Wiki Seite im Redmine gelistet Der Scrum Master berpr ft dieses in periodischen Abst nden und regiert entsprechend Burndown Charts Die Burndown Charts werden im Wesentlichen ber das Gantt Diagramm im Redmine realisiert In speziellen F llen k nnen aber auch noch einzelne Diagramme erstellt werden Tabelle 19 Scrum Artefakten 3 3 2 Prinzipien Die Studienarbeit soll sich an den nachfolgenden Philosophien orientieren DRY Don t Repeat Yourself Das Prinzip des sich nicht wiederholens ist wichtig um den Code stets wartbar zu halten Hunt amp Thomas 1999 Siehe auch url2 Don t repeat yourself http en wikipedia org wiki DRY 08 06 2012 Technischer Bericht Projektmanagement EistCockpit 42 256 Projektplan Das gesamte Projektmanagement f r das EistCockpit wird ber das Redmine unter https sinv 56026 edu hsr ch abgewickelt 3 3 3 Releases Da das Vorgehensmodell des Projektes stark an Scrum angelehnt ist siehe dazu Kapitel 3 5 Vorgehensmodell gibt es nur am Ende einen Release Zum Abschluss jedes Sprints soll jedoch eine lauff hige Version der Software stehen Version Datum Beschreibung 1 0 07 06 2012 Finale Version mit Installer Tabelle 20 R
262. rag zu erf llen bevor am EistCockpit gearbeitet werden konnte Mit viel Energie und dem starken Einsatz von Remo gelang es uns aber dennoch die f r den WK gesteckten Ziele zu erreichen Wieder an der HSR galt es die gewonnenen Erkenntnisse in ein Produkt umzusetzen Das gleichzeitige Besuchen des User Interfaces 2 Modul stellte sich als eine riesige Hilfe heraus Die Grundvorstellungen waren klar so konnten wir rasch mit der Entwicklung der Prototypen fortfahren Trotzdem dass meine net 2 0 Kenntnisse ein bisschen eingerostet waren kam ich schnell auf ein gutes Ergebnis mit dem SQLite Prototyp Als es dann im Sprint 2 an die Entwicklung des echten Produktes ging schien am Anfang Alles in den vorgesehenen Bahnen zu verlaufen Wir kamen gut voran doch gegen Ende des Sprints wurde langsam klar dass wir den definierten Zeitrahmen nicht einhalten werden k nnen Sp testens an diesem Punkt h tte ich als Scrum Master f r das Projekt eingreifen m ssen H tten wir eine Iteration mehr gehabt w re es m glich gewesen diese Umst nde f r den nachfolgenden Sprint zu beachten und die Anzahl der User Stories zu minimieren Doch ich war ja selbst auch stark mit der Entwicklung besch ftigt und damit ist mir inzwischen klar geworden wieso der Scrum Master nicht selbst Teil des Entwicklerteams sein sollte So verz gerte sich das Ende des Sprints und damit auch der Anfang des N chsten Obwohl wir mit viel Einsatz unsere Ziele doch noch erreichen kon
263. rbeitet in der Triage oder der Eist der Anwendung Eventuell muss er erste TM Prototypen testen Zusammenfassung Benutzer Triage Mitarbeiter Beschreibung Verantwortlichkeiten Nimmt Telefone entgegen Erfasst neue Meldungen und erfasst neue Zeigt vergange Meldungen Meldungen an Gruppenf hrer Triage Beschreibung Verantwortlichkeiten Koordiniert Abl ufe teilt Meldungen verwalten Leute f r diverse Schichten Status von Meldungen ein nimmt zum Teil selber aktualisieren Meldungen Telefone entgegen erfassen Empf nger Beschreibung Verantwortlichkeiten Der Empf nger kann sich in verschiedenen Abteilungen bsp FGG1 FGG2 etc befinden Er nimmt die Meldungen entgegen und leitet falls es sich nicht nur um eine Information handelt daraus eine Aufgabe f r eine andere Abteilung ab Technischer Bericht Vision EistCockpit Tabelle 6 Interessensvertreter Soldaten Interessensvertreter Soldaten Mitarbeiter Tabelle 7 Beschreibung Benutzer Interessensvertreter Wird am besten durch Interessensvertreter Soldaten Mitarbeiter vertreten Tabelle 8 Beschreibung Gruppenf hrer Triage Interessensvertreter Beim Empfanger handelt es sich h ufig um das H here Kader Tabelle 9 Beschreibung Empf nger 30 256 Benutzerumgebung Grunds tzlich sind in der Triage w hrend dem Tag immer drei Personen anwesend welche die Telefone entgegennehmen In der Nacht existiert nur eine Telefonwache bestehend
264. rch den Verzicht auf ein ausgewachsenes Datenbank System z B Microsoft SQL Server sichergestellt Service Clients greifen ber den EistCockpitService auf die Daten zu Der Service ist als RESTful JSON Webservice implementiert und stellt eine einheitliche CRUD API zur Verf gung Der Service wird auf dem Server des Systems ausgef hrt Client Die Client Applikation ist ein Rich Client welcher mit WPF umgesetzt ist Die Applikation dient als Host Umgebung f r eine Vielzahl von Plugins welche die effektiven Features implementieren Die Client Applikation wird auf den verschiedenen Arbeitsstationen ausgef hrt und greift ber das Netzwerk auf den Service zu Services Plugin Das Service Plugin ist ein Host Plugin und listet die erfassten Dienstleistungen sowie deren Operationen hierarchisch in einer Baum Darstellung auf ber dieses Plugin wird der Arbeitskontext f r die verschiedenen Operation Plugins gesetzt bzw ausgew hlt Technischer Bericht Entwurf EistCockpit 167 256 7 3 1 6 1 3 1 7 7 3 1 8 7 3 1 9 7 3 2 Locations Plugin Das Locations Plugin ist ein Operation Plugin und erm glicht den Zugriff auf die hinterlegten Daten der Standorte welche jeweils einer Operation Zugewiesen sind Im Rahmen der Semesterarbeit implementiert dieses Plugin nur den Zugriff auf allgemeine Standort Informationen Im Rahmen der Bachelorarbeit wird der Funktions Umfang betr chtlich erweitert werden Personal Verbin
265. re Korrekturen k nnen jedoch schon vorher eingepflegt werden e Entwicklerdokumentation soll eine Anleitung f r andere Entwickler bieten e Enum MessageType wurde bereits mit dem Flag versehen e MessagePriority Urgent soll dem System vorenthalten bleiben e Lokalisierung ist sowieso ein Teil der Bachelorarbeit e Singeltons k nnten mit Unity abgel st werden e Kommentare und Regions wurden bereits berarbeitet e Namespace im Locationplugin wird noch vereinheitlicht Technischer Bericht Realisierung amp Test EistCockpit 214 256 9 8 Externes Design Dieser Abschnitt gibt einen kurzen berblick ber das schlussendlich realisierte externe Design 9 8 1 9 8 1 1 Plugin Standorte Standort anzeigen Die folgende Abbildung Verweis Abbildung 87 Externes Design Locations zeigt die bersicht des Standort Plugins bei der dazugeh rigen Informationen angezeigt werden u EistCockpit Dienstleistungen 4 NK2011 U READY FLOP U INVASION 4 WK2012 U CALANDA U Q LLFRISCH Ei FELDSCHLOSSCHEN HOST PLUGINS 7 Service Manager App Config WK2012 U CALANDA zu einem ausgew hlten Standort die Se e FPFE mg ae ee Standort Meldungen Standorte Standort 1 Standort 2 Allgemein Kurzbezeichnung Bezeichnung Beschreibung Chef Einheit Koordinaten Adresse Landbesitzer Name Landbesitzer Adresse Landbesitzer Telefonr Landbesitzer Belegt Abbildung 87 Externes Desi
266. resultieren Variante 2 Rich Client Unter dem Begriff Rich Client wird hierbei eine Applikation verstanden welche effektiv vom Client Betriebssystem ausgef hrt wird mit eigenst ndiger Executable Binary Fenstern Dialogen und dergleichen Unter der Verwendung von WCF f r die Netzwerk Kommunikation sowie WPF f r die Benutzeroberflache lassen sich morderne benutzerfreundliche und gut wartbare Applikationen in angemessener Zeit umsetzen Vorteile e Spezifisches User Interface Design e H here Performance e Breite Einsatzm glichkeiten da Systemzugriff m glich e WCF amp WPF sind sehr m chtig e Keine Abh ngigkeit von Web Browsern in einer Systemumgebung welche per Definition keinen Browser ben tigt Nachteile e Installationsaufwand bei Updates e NET Framwork 4 0 muss installiert werden Technischer Bericht Entwurf EistCockpit 159 256 7 2 4 4 Variante 3 Mischform Webapplikation Rich Client Als weitere Variante wurde eine Mischform zwischen Webapplikation und Rich Client erdacht Ein Teil von EistCockpit z B die Nachrichten Erfassung in der Triage wird als Webapplikation entwickelt Andere Teile von EistCockpit werden in Form eines Rich Clients entwickelt welcher z B in der Netzleitung der Eist zum Einsatz kommt Der Gedanke zu dieser Variante gr ndet in der berlegung dass z B ein Triage Mitarbeiter im Range eines Soldaten nicht den gleichen Funktions Umfang ben tigt wie ein F
267. rgangene Meldungen werden in einer History angezeigt Tracking Tabelle 2 Positionsbeschreibung Projekt EistCockpit Technischer Bericht Vision EistCockpit 28 256 2 3 1 3 Interessensvertreter und Benutzerbeschreibungen Marktdemographie F r die Analyse der Marktdemographischen Situation wurde die F hrungsunterst tzungsbrigade 41 als gr ssere Zielgruppe definiert Wobei bis anhin noch nicht sichergestellt ist ob das Produkt in der gesamten Brigade eingesetzt wird In erster Linie wird es in einem Pilotversuch im Richtstrahl Batallion 20 auf die Praxistauglichkeit getestet Erst nach der erfolgreichen Auswertung und Bew hrung der Software wird das System eventuell im gr sseren Verbund benutzt Wenn man nur das Rist Bat 20 betrachtet werden durch die zu entwickelnden Anwendung etwa 35 Personen betroffen sein Falls das Meldesystem in einem zweiten Schritt in der gesamten F hrungsunterst tzungsbrigade 41 eingesetzt werden soll kann man die gesch tzte Zahl von 35 involvierten Mitarbeitern auf die komplette Brigade hochrechnen Dies impliziert bei weiteren sieben Batallions die achtfache Anzahl betroffener Personen Somit werden mit der Applikation etwa 280 Personen angesprochen In n chster Zeit ist nicht mit einer Dezimierung der Einheit zu rechnen dies kann sich aber in den folgenden 10 20 Jahren massgeblich ndern Finanziell wird dieses Projekt nicht unterst tzt jedoch besteht die M glichkeit dass einzelne AdA ei
268. rien Soll Szenario 1 Meldung erfassen Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Frank hat soeben seinen Arbeitstag begonnen und seine Meldezettel bereitgelegt Anruf eines Stao Chefs an die Triage Es geht ein Anruf ein der Frank umgehend entgegennimmt Parallel l uft das Programm EistCockpit mit welchem er direkt den Namen des Anrufers erfasst Die Applikation bietet ihm dazu alle im Batallion registrierten AdA zur Auswahl an W hrend dem Gespr ch kann er zudem direkt den Standort w hlen es werden ihm dazu die gegenw rtigen erfassten Standorte vorgeschlagen Anschliessend muss er nur noch den Typ der Meldung definieren Nach dem Aufh ngen des Telefons kann Frank noch eine kurze Beschreibung angeben und die Empf ngerabteilung festlegen Das Datum wird automatisch beim Erstellen einer neuen Meldung bestimmt Sobald alle ben tigten Felder ausgef llt sind kann der Triage Benutzer die Meldung versenden Benutzer hat M he w hrend dem Telefonieren das Notebook zu bedienen Meldungen werden immer vollst ndig ausgef llt Die Meldung muss nicht mehr physisch zu Fuss verteilt werden EistCockpit 85 256 Soll Szenario 2 Standort erreicht Ausgangssituation Ausl ser Schritte Probleme Ziele Es ist ein Anruf eingegangen und der Name wurde bereits aufgenommen Anruf eines Stao Chefs an die Triage Der Anrufer ein gewisser Soldat H lsensack verl
269. rkus Stolze Datei 2012 HS SA SchoettlSteinerWaltenspuel Ausgabe 1 1 Letzte nderung am 05 03 12 Aufgabenstellung VO 1 docx Geheimhaltungsvereinbarung f r Studienarbeit Eist Cockpit Kontext Im Rahmen einer Studienarbeit entwickeln die Studenten der HSR David Sch ttl Diego Steiner und Remo Waltensp l ein Software System welches in Richtstrahl Bataillonen der Schweizer Armee eingesetzt werden kann Zur Entwicklung dieser Arbeit haben sie Einblick in den Stabsbetrieb des Richtstrahl Bataillons 20 Dies beinhaltet auch den Kontakt mit Daten welche nicht ffentlich zug nglich sind Die drei Studenten sowie der Betreuer Thomas Corbat sind Angeh rige der Armee Entsprechend wird f r die Durchf hrung der Arbeit keine Information ben tig welche f r die Beteiligten nicht bereits im Rahmen ihrer Dienstt tigkeit in der Armee zug nglich ist Auflagen Durch diese Studienarbeit und alle daf r erstellten Artefakte d rfen keine sch tzenswerten Informationen Stufen Intern Vertraulich und Geheim Unberechtigten zug nglich gemacht werden Dies bedeutet e Die Handhabung von Information der genannten Klassifizierung sind zu ber cksichtigen e Reale Daten mit der entsprechenden Klassifikation d rfen nicht in Datenbanken abgelegt werden F r Testzwecke sind fiktive Daten zu verwenden e Die Projekt Dokumentation enth lt ebenfalls keine Informationen der genannten Klassifizierung Sollte es f r die Bewertung und das Verst ndnis
270. rototypeUlPlugin TBZ pdb 05 06 2012 15 40 Documents PrototypeUIPlugin ViewModels dll 05 06 2012 15 40 a Music amp PrototypeUIPlugin ViewModels pdb 05 06 2012 15 40 E Pictures El Subversion 8 items 4 Abbildung 62 Plugin Ordner Technischer Bericht Prototypen EistCockpit 185 256 8 4 3 5 Externes Design Die folgenden Abbildungen zeigen Screenshots von der Testoberfl che die verwendet wurde zum Pr fen ob die Benutzeroberfl che zur Laufzeit um zus tzliche Plugins erweitert werden kann Zustand vor der Plugin Integration Die Verweis Abbildung 63 Screenshot MEF Prototyp 1 Macht den Zustand vor dem Laden des Plugin Message ersichtlich Fist Cockpit UT Plugin Prototyp TBZ Plugin ee Telematikbereitschafszeiten Abbildung 63 Screenshot MEF Prototyp 1 Zustand nach der Plugin integration Nach dem hinzuf gen der Plugin abh ngigen Dynamic Link Libraries dll zu dem definierten Plugin Ordner werden die neuen Klassen verglichen Falls die Vertr ge in Form von Schnittstellen mit definiertem Import Anweisungen bereinstimmen werden diese Klassen in das System eingebunden Nach diesem Vorgang wird das User Control des neu geladenen Plugin Message in der Benutzeroberfl che angezeigt siehe Abbildung Abbildung 64 Screenshot MEF Prototyp 2 Fist Cockpit UT Plugin Prototyp Message TBZ Plug n Meldungen Abbildung 64 Screenshot MEF Prototyp 2 Technischer Bericht Prot
271. s bung gesperrt werden m sste Da im Plugin Container nur Standortinformationen angezeigt werden werden normale Textfelder anstelle von deaktivierten Eingabefelder verwendet Weiter werden f r eine bessere Benutzbarkeit geeignetere User Controls wie zum Beispiel ein DateTimePicker benutzt S Standort 2 Allgemein Kurzbezeichnung _Kurzbez Standort 2 Standort 3 Standort 4 Standort 5 Beschreibung Beschreibung Stao 2 Bezeichnung Bezeichnung Stao 2 Standort 6 Standort 7 Chef Stao Chef Telefonnr Stao Chef 044 938 38 32 Lage Koordinate 382938 193829 Adresse erstr 12 Landbesitzer Name Landbesitzer Max Muster Telefonnr 055 939 38 28 Adresse Teststr 83 Belegt Von 10 05 2011 16 16 Sandor beabeneerassen dE L Standort 2 D Allgemein Kurzbezeichnung Bezeichnung Beschreibung elefonnr Stao Chef Koordinaten Adresse Landbesitzer stengen OD en OO 8 RE Belegt von O R s Vooo E g Abbildung 40 Location Mockup Redesign Technischer Bericht Domain Analyse EistCockpit 137 256 6 6 2 Heuristischer Test 6 6 2 1 Meldung erfassen Enger Bezug zwischen System und realer Welt Konsistenz amp Konformit t mit Standards Completion amp Validation erf llen diese Kriterien Besser Sichtbarkeit als Sicherinnern M ssen Meldung erfassen Button muss angeschrieben sein Nutzern helfen Fehler zu bemerken zu diagnostizieren und zu beheben
272. s of experimental evaluation of Coins We describe case studies in which we successfully integrate two commercial closed and monolithic GAPs and a web service in an instance of the EPS which is described in Section II we demonstrate how batch data exchanges result in significant performance gain using our approach and we conduct experiments to analyze the performance penalty when using GUIs to access GAP services in integrated systems versus invoking methods of pure programmatic web services We show how to use our approach so that performance penalty incurred by communi cating with GAPs through their GUI elements stays below some acceptable limit A Case Study To demonstate our approach we created an E procurement system EPS from QE and PIE as we described in Section II Recall that QE and PIE are closed and monolithic commercial GAPs that run on Windows QE allows users to enter and track expenses and PIE allows users to create and print invoices estimates and statements and to track customer payments and unpaid invoices Our experience confirms the benefits of our approach We created an integrated EPS from both QE and PIE and a web service without writing any additional code modifying the applications or accessing their proprietary data stores see Section III We carried out experiments using Windows XP Pro that ran on a computer with Intel Pentium IV 3 2GHz CPU and 2GB of RAM In our case study we compared the effort requ
273. s or captions for users with hearing loss and software to compensate for motion disabilities Most computing platforms include accessibil ity technologies since electronic and information technology products and services are required to meet the Electronic and Information Accessibility Standards 4 For example Microsoft Active Accessibility MSAA technology is designed to improve the way accessibility aids work with applications running on Windows and Sun Microsystems Accessibility technology assists disabled users who run software on top of Java Virtual Machine JVM Accessibility technologies are incorporated into these and other computing platforms as well as libraries and applications in order to expose information about user interface elements Accessibility technologies provide a wealth of sophisticated services required to retrieve attributes of GUI elements set and retrieve their values and generate and intercept different events In this paper we use MSAA for Windows however using a different accessibility technology will yield similar results Even though there is no standard for accessibility API calls different technologies offer similar API calls suggesting slow convergence towards a common programming standard for accessibility technologies The main idea of most implementations of accessibility technologies is that GUI elements expose a well known inter face that exports methods for accessing and manipulating the pro
274. schreibung Si ee 2 Geen ee SE PluginName String Name des Plugins RequireAdmin Boolean Sagt aus ob Administrationsrechte ben tigt werden um das Plugin zu laden ConfigurationID Int Die ID der dem Plugin zugeordneten Konfiguration Configuration Relation Die dem Plugin zugeordnete Konfiguration Tabelle 53 Beschreibung Entit t PluginAccess Technischer Bericht Domain Analyse EistCockpit 129 256 6 6 6 6 1 6 6 1 1 6 6 1 2 6 6 1 3 User Interface Kognitiver Test Einleitung Der Kognitive Test wurde in einem ersten Schritt im Team durchgef hrt Dabei wurde ein erster Entwurf mit dem Balsamiq Mockup Tool erstellt Anschliessend wurde er zusammen mit den anderen Team Kameraden besprochen Jeder berlegte sich wo allf llige Schwierigkeiten auftauchen k nnten und was man eventuell verbessern m sste Beteiligte Personen e Diego Steiner e David Schott e Remo Waltenspul Mockups Host Application Die Host Application ist das Grundger st f r die Anwendung und zeigt in einem Container Fenster die Inhalte der Plugins an EistCockpit DK Konfiguration Plugins Hilfe emm er Messages Operation Plugin UI Container Abbildung 33 Host Application Mockup Technischer Bericht Domain Analyse EistCockpit 130 256 Plugin Meldung Meldungen erfassen Triage In diesem Tab des Plugins Meldungen k nnen neue Meldungen erfasst werden Message Flow v1 0 Anrufer aan EC Emptinger Loo Le Meldu
275. schreibung Phase Elaboration e 43 Tabelle 23 Beschreibung Phase Elaboration 2 44 Tabelle 24 Beschreibung Sprint 0 44 Tabelle 25 Beschreibung Sprint 1 44 Tabelle 26 Beschreibung Sprint 2 44 Tabelle 27 Beschreibung Sprint 3 44 Tabelle e Ee E EE 54 Tabelle 29 Auflistung Affinity Probleme nennen 65 Tabelle 30 Auflistung Affinity Zeie 67 Tabelle 31 Auflistung Affinity Strategien 2220000222sueennennnennnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnne nennen 69 Tabelle 32 Auflistung Affinity W nsche nennen 71 Tabelle 33 Root Cause Problem Schadensklassen nennen 72 Tabelle 34 Auflistung von Problemen 72 Tabelle 35 Ursachen Wirkungstabellle nennen nen 73 Tabelle 36 Interviewpartner cccceccccccseececceesceeceeeceecseseceeeeeeeeeseeeeeeseuseeeesegeceeseaeeessueeesseaecesseaeeeesseeeeeeas 75 Tabelle 37 Auflistung benutzter Tools 99 Tabelle 38 Auflistung funktionaler Anforderungen eneannnsnsnnnnnonennnnnnnnnrnnnsrnnnrnssnnrrnnnnnrrnrsnnrereseennnnn 101 Tabelle 39 Beschreibung Entit t Genice 113 Tabelle 40 Beschreibung Entit t Operation ec cccccceceeeeceeeeeeeeeceeeeeceeeseeeseeeeesseaeeeeesseeeeeeeessegeeeeeeeas 115 Tabelle 41 Beschreibung Entit t Phase nennen 116 Tabelle 42 Beschreibung Entit t Achievment nnnn0nnnnaannnnannnnnannnnennnnnnnnnnnnnrnnnnnnnnnrrnnnnrnrnnrrrsnrrennnrnene 117 Tabelle 43 Beschreibung Entit t Location ccccccccccseeeeceeceeeeeeeeeseeeeeceeeeseeseeeee
276. se EistCockpit 143 256 Meldung erfasst Die folgende Abbildung macht die Benutzung der Statusleiste ersichtlich Sobald eine Meldung erfasst wurde wird der Benutzer ber die Statusleiste informiert siehe Abbildung 43 Paper Prototype Message Created SG OZ U CALANDA e U CARDIAL Tige Sachen OMe U ufus Zeen EU Ten fan IL Name Ur ceREevista Wes ell an gi F r wen iy Atr Anruf G WE Lora B Wk 242 Helton A R ckruf i O Bern volissen Staa recht TS IMFS Tet SHF en eos D DOTARE An 10 Meldus alas Ta i Abbildung 43 Paper Prototype Message Created Technischer Bericht Domain Analyse EistCockpit 144 256 Filter Mittels des Filters k nnen die Meldungen nach bestimmten Kriterien ausgew hlt werden Die Filteransicht wird erst sichtbar wenn auf das kleine Filtersymbol gedr ckt wird siehe Abbildung 44 Paper Prototype Message Overview Gel o HRS a G EG g Wh 2042 TRE Stmacchk Hl U CALANDA U CARDIAL Eich Tir UU Trage V Suchen Digg U LuPus ur tege Met SSS Beet Sale Se E SE Ee x EE SCH Set 7D E Ar er a ete cee fics Eich JA Beaks Ta a I Tr Reie GZ 7 EAT i age Hoe Ei PoTARE Abbildung 44 Paper Prototype Message Overview Technischer Bericht Domain Analyse EistCockpit 145 256 Gefilterte Meldungen Die untenstehende Abbildung zeigt die Situation nach einer Filterung nach einem bestimmten
277. seconds 2 Batch Data Exchanges Coins enables users to spec ify batch data exchanges between components of integrated systems Sending messages between components is delayed in batch message transfers until a batch message containing many smaller messages is formed and transmitted at once The combined overhead associated with sending many small messages is higher than the overhead of sending one larger message that contains these small messages Sending separate small messages involves adding control information in headers that specify additional information for message transfer invok ing functions that create and parse these messages and often having to perform additional extraction operations on GUIs Extracting all data from GUI elements and sending them to the destination in one single message enables users to amortize a one time overhead over many data items in the message In addition since the network latency time is one of the major contributors to the overhead sending fewer messages may result in the reduction of this overhead Specifically sending one large message instead of many small messages reduces the communication overhead between the Dispatcher and Proxies Also when sending many messages next mes sage is usually send when the receipt of the previous message is acknowledged by a special response message Sending and waiting for these acknowledgement messages adds unneces sary computation and communication overhead wh
278. sonen bei ersten Prototypen Ansprechpersonen bei Requirement Engineering Lieferbare Ergebnisse Erstellte Auftr ge Weitergeleitete Meldungen Tabelle 10 Profil Interessensvertreter h heres Kdaer Technischer Bericht Vision EistCockpit 31 256 Projektleiter Beschreibung Der Projektleiter koordiniert das Projekt und versucht die wichtigsten Projektparameter st ndig im Auge zu behalten Typ Hat grosses technisches Wissen sowie gute F hrungskompetenzen Verantwortlichkeiten Den Rahmen f r das Projekt klar zu definieren kontrollieren wie der aktuelle Stand des Projekts aussieht Erfolgskriterien Wenn am Schluss des Projekts eine funktionierende anforderungsgerechte Anwendung besteht sowie alle Qualit tsanspr che erf llt werden k nnen Wie Involviert Unterst tzt koordiniert das Projekt Lieferbare Ergebnisse Projektdokumentationen Tabelle 11 Profil Interessensvertreter Projektleiter F hrungsunterst tzungsbrigade Dies Wird nicht detaillierter erl utert da bis anhin noch nicht feststeht ob die Brigade das System jemals nutzen wird Soldaten Mitarbeiter Beschreibung Die Mitarbeiter nenmen Telefone entgegen und erfassen neue Meldungen Typ Die meisten Mitarbeiter haben nur oberfl chliche Computerkenntnisse Verantwortlichkeiten Meldungen erfassen Bisherige Meldungen ansehen Status von Meldungen bearbeiten Erfolgskriterien Meldung wird zeitgerecht und vollst ndig erfasst Wie Involviert Testperson be
279. spiel App Config Plugin EistCockpit Plugins AppConfigPlugin sin Solution Directories f r die einzelnen Plugins werden im Directory EistCockpit Plugins auf erster Ebene des Source Directories abgelegt Coding Guidelines Die Form des Source Codes sollte sich an den offiziellen C Coding Conventions orientieren wobei sinnvolle Abweichungen davon durchaus legitim sind Die einzelnen Teile einer Klasse sollten durch den Einsatz von region Konstrukten strukturiert werden es ist dem Entwickler jedoch ausdr cklich freigestellt ob er zus tzliche Kommentar Konstrukte zur Strukturierung verwenden will Die Source Code Dokumentation wird mit Doxygen generiert daher sollten Public Members sowie Klassen und Namespaces unter der Verwendung der entsprechenden Doxygen Tags dokumentiert werden Innerhalb des Source Codes einschliesslich Dokumentation und Kommentare kommt die englische Sprache zum Einsatz Core Solution Nachfolgend wird auf einige Aspekte eingegangen welche bei der Entwicklung innerhalb der Core Solution beachtet werden m ssen Datenbank SQLIlite Datenbanken bestehen aus einem einzigen File EistCockpit verwendet den Namen EistCockpitDB db Die Master DB befindet sich im Directory DataBase auf erster Ebene des Source Directories dies ist die Master DB was bedeutet dass diese NICHT von der ausgef hrten EistCockpit Instanz verwendet werden sollte Die Master DB wird f r den Betrieb an
280. ss ty EqualsWorksCorrect Success i FromDisplayNoErrorMessage Success FromValidationCorrect Success yf FullNameDisplayNoErrorMessage Success y FullNameValidationCorrect SUCCESS yf GetSelectedLocationReturnOneSelectedLocation Success W HasChangedPropertyCorrectValue SUCCESS W HasCorrespondingAttributes SUCCESS wi HasCurrentAndOriginalDTO Success y IsNewRecordCorrectResult Success tg IsValidOnlylfallRelationsSet Success i LoadsRelations SUCCESS OwnerAddressDisplayNoErrorMessage Success bw OwnerAddressValidationCorrect SUCCESS yf OwnerContactDisplayNoErrorMessage Success if OwnerContactValidatonCorrect SUCCESS yf ShortNameDisplayNoErrorMessage Success bw ShortWameValidationCorrect SUCCESS yf ToDisplayNoErrorMessage Success i ToValidationCorrect Success Abbildung 68 Unit Test Location Technischer Bericht Realisierung amp Test EistCockpit 193 256 CoordinateUnitTest 4 W 4 Gi 0 0 0 besse SW 4 lt EistCockpit LocationsPlugin Test gt fests Success EistCockpit LocationsPlugin Test fests Success CoordinateUnitTest tests Success W HasCorresponingAttributes Success vw HasCurrentAndOriginalDTO Success iy ValidatesInsideSwitzerland Success i f ValidatesOutsideSwitzerland Success Abbildung 69 Unit Tests Coordinates ShowLocationViewModelUnitTest Wa 24 W 24 E TE w 0 es SW lt EistCockpit LocationsPlugin Test gt 24 fests Suc
281. ssaeeeeeeesseaseeeeessaeeeeeneas 119 Tabelle 44 Beschreibung Entit t LocationPerson naannnnannnnnannnnennnnnnnnnnnnnrnnnnnnnnnrrennnrronnrresnrrerennrnne 120 Verzeichnisse EistCockpit 8 256 Tabelle 45 Beschreibung Entit t Coordinate Tabelle 46 Beschreibung Entit t Connechon 121 Tabelle 47 Beschreibung Entit t Heron 123 Tabelle 48 Beschreibung Entit t Un 124 Tabelle 49 Beschreibung Entit t Function nenn 124 Tabelle 50 Beschreibung Entit t Message 00annnnannnnnannnnnnnnnnnnnnnenrnnnnnrnnnnrrrnnrrrrenrrennrrronnrrennrrrrnnrrene 126 Tabelle 51 Beschreibung Entit t AdminRole nennen nnnnnnnennnnnnennenn 129 Tabelle 52 Beschreibung Entit t Configuration nennen nnnnnnnennnnnnennenn 129 Tabelle 53 Beschreibung Entit t PluginACcesS nannnnaannnnannnnnannnnennnnnnnnnnnnrronnnrnnnnrrnnnrrrrnnrrennrrrnnnrrnne 129 Tabelle 54 Heuristischer Test Meldung erfassen nnnnn0nnnnnnnnnnnnnennnnnnsnnrnnennnnnressnnrrensnnrnrrsnnnrressennnee 138 Tabelle 55 Heuristischer Test Meldungs berscht nn nnennnnnnnnennnnnnennnnnnnn 139 Tabelle 56 Heuristischer Test Plugin Standorte nennen 139 Tabelle 57 NutZertanalySe cccccccccccssscceceeceeceeeceecaeeceeceesceeseeeecesseaeceeseaeeesseuecessaaeceessaeeeesseeeessaeees 162 Tabelle 58 Projektstruktur Prototyp Webeervice 178 Tabelle 59 Projektstruktur Prototyp Datenbank nn nnnnnnnnnnnnennnnnnnnnennnnnn nennen 180 Tabelle 60 Projektstruktur Prototyp MEF Plu
282. stung beim Richtstrahlbataillon 20 wurden alle gewonnen Daten ausgewertet Anhand der gesammelten Arbeitsresultate Artefakte Benutzerbefragungen etc wurde ein erster Entwurf f r die Benutzeroberfl che erstellt Dieser Grobentwurf wurde anschliessend im Team ausf hrlich besprochen und auf allf llige Defizite hinsichtlich Benutzbarkeit gepr ft Die erkannten M ngel der ersten Skizze wurden beim Papier Prototyp behoben Der Papier Prototyp wurde darauf mit einem Benutzer aus der Triage sowie einem ehemaligen Benutzer auf die Bedienbarkeit getestet Diese Tests lieferten wertvolle Erkenntnisse ber Schwierigkeiten bei der Erreichung von vorgegebenen Aufgaben Schlussendlich berarbeitete man die Oberfl che ausgehend von den gewonnen Beobachtungen Parallel wurden erste Prototypen entwickelt um Sicherzustellen dass grundlegende Architekturentscheide umgesetzt werden k nnen Es wurde ein Prototyp entwickelt welcher eine zur Laufzeit erweiterbare Benutzeroberfl che implementiert die mittels des Microsoft Extensibility Framework MEF realisiert wurde Die Clients greifen ber einen RESTful WCF Webservice auf eine SQLite Datenbank zu Dieser Webservice sowie der Zugriff wurden in eigenen Prototypen realisiert Nach den erfolgreichen Prototypen wurde die Projektstruktur vorbereitet sowie die gesamte Datenbank mittels ADO NET Mapping aufgesetzt Im Team wurde dabei entschieden dass die Applikation mit NEI C implementiert wird dies haupts
283. t irak Tr A LIT a Abbildung 6 Affinity Wand Technischer Bericht Vorstudie EistCockpit 64 256 Probleme Dieser Abschnitt enth lt eine Illustration mitsamt allen Post It Zettel die das Thema Probleme betreffen Probleme sind Hindernisse die bei der Erf llung der Ziele auftreten Mit der zuk nftigen L sung sollten die Probleme vermieden oder abgeschw cht werden Abbildung 7 Affinity Probleme Problem Keeper eee Ce ETC Ree 8 Ke Re see ee NN RES EE ET SCH nnn ES ner re nn GEES DEENEN Se EE G Eeer SE a Zee Tabelle 29 Auflistung Affinity Probleme Technischer Bericht Vorstudie EistCockpit 65 256 Ziele Dieser Abschnitt beinhaltet die Ziele die der Benutzer durch das bet tigen des Programms erreichen will Abbildung 8 Affinity Ziele Technischer Bericht Vorstudie EistCockpit 66 256 Effizienteres Arbeiten in der Triage 1 Meldungen k nnen gefiltert und sortiert werden f r berblick Kontext 3 Suche Positionierung der Anordnung auf dem Meldezettel muss dem gt Gespr chsverlauf entsprechen Meldungen gehen nicht verloren 1 Meldungen werden immer vollst ndig erfasst 1 Alle Details des Meldezettels werden ausgef llt W Fragen 3 een P a caudal bake OEE nnn _ career oon Ee SE caters iaeun eared Se SESCH seg Prozess en Sande Alea Ba E T nur an 1 Person Tee a ne EE
284. t Thus the client 1 have to compensate the account 12345 However before the client 1 can do it another client may have retrieved the account information with the wrong balance and makes changes In this case the isolation is not reached but it causes no major consequence because at some point the compensation takes place and the balance of that account represents all the debits and credits actually made Atomicity is achieved through the use of compensation If the update of one account fails the succeeded updates have to be undone Consistency property is obeyed because when the transaction ends with success or making compensation the final state of the accounts is valid In addition to examining the ACID properties some con siderations about the performance are raised The perfor mance is proportional to the number of detected conflicts A major negative impact on the performance occurs in the worst case described for the optimistic concurrency control where the number of conflicts is very high During the implementation to check proposal feasibility we verified that the number of conflicts is greater when occur race conditions situations which various clients attempt to update two or more resources concurrently In those cases an update made by one client repeatedly causes transaction compensation in another client and vice versa Thus none of them can finish the complete transaction To avoid the race so
285. t ndigt EistCockpit 12 256 EistGockpit I Management Summary David Sch ttl Remo Waltensp l amp Diego Steiner Management Summary EistCockpit 22 13 256 1 7 Dokumenteninformation Datum _ Version Anderung N Xt UO 04 06 2012 Erste Version des Dokuments 04 06 2012 Dokument berarbeitet 04 06 2012 Management Summary EistCockpit 14 256 1 8 Management Summary Innerhalb des Stabs eines Richtstrahlbataillons Ristl Bat in der Schweizer Armee existiert ein Teilbereich die Einsatzstelle Telematik Eist Tm Deren Verantwortung ist die Planung und das Management des integrierten milit rischen Fernmeldesystem Netzes IMFS welches aus Richtstrahlverbindungen Ristl Vrb Richtstrahlknoten Ristl Kn und diversen Funkger ten besteht Die Eist Tm ist die prim re Anlaufstelle bez glich diverser Belange wie z B technische Probleme Versorgungsanfragen Planungs nderungen etc Regelm ssig werden von der Triage neue Statusmeldungen entgegengenommen welche anschliessend an die Eist Tm weitergeleitet werden Zurzeit werden diese Informationen haupts chlich auf Meldezetteln siehe Abbildung 1 Meldezettel in Papierform verwaltet Das gegenw rtige Vorgehen f hrt zu diversen Problemen zudem ist es ineffizient und schwer berschaubar W hrend dem t glichen Betrieb bestehen die Bed rfnisse Meldungen schnell zu sichten und anhand von bestimmten Kriterien zu filtern dies kann jedoch mittels des bestehend
286. t technische Probleme Versorgungsanfragen Planungs nderungen etc Von den einzelnen Standorten empf ngt die Eist Tm regelm ssig Statusmeldungen Die Verwaltung all dieser Informationen basiert momentan haupts chlich auf Meldezetteln in Papierform Die Effizienz diese Systems ist mangelhaft und erm glicht kaum einen gen genden berblick ber die n tigen Informationen zu erlangen Bisherige Ans tze zur Digitalisierung der Informationen f hren von Excel Listen haben nicht oder nur schlecht funktioniert Die Entwicklung und der testweise Einsatz im Ristl Bat 20 eines Systems welches diese Missst nde beheben soll wird auch von h herer Eben unterst tzt F hrungsunsterst tzungsbrigade 41 FU Br 41 3 Ziele der Arbeit W hrend dieser Studienarbeit wird ein verteiltes Informations Status Meldesystem entwickelt Das entwickelte System soll im Stab eines Ristl Bat Markus Stolze Datei 2012 HS SA SchoettlSteinerWaltenspuel Ausgabe 1 1 Letzte Anderung am 05 03 12 Aufgabenstellung V0 1 docx K HOCHSCHULE F R TECHNIK Abteilung Informatik Fr hjahrssemester 2012 Seite RAPPERSWIL mp Aufgabenstellung Studienarbeit EistCockpit f r Dave Sch ttl Diego Steiner amp Remo Waltensp l 2 3 eingesetzt werden k nnen und die M ngel in den vorhandenen Arbeitsabl ufen eliminieren Die genauen Anforderungen an ein solches System erarbeiten die Studenten w hrend einem vierw chigen Einsatz zu Beginn der Studienarbeit vor Ort i
287. t der kleine Meldezettel andauernd weg Ein weiterer Punkt ist die Anordnung der Optionen auf dem Meldezettel die relevantesten Infos stehen nicht an oberster Stelle Weiter kann es in hektischen Situationen dazu kommen dass einzelne Meldungen verloren gehen Dies sollte eigentlich nie passieren und ist inakzeptabel trotzdem kann es schnell vorkommen aufgrund der kleinen Gr sse der Zettel Eigenschaften amp Technisches Knowhow Motivation w hrend Arbeit Behaviour Variables Zufriedenheit mit aktuellem Ablauf Effizienz bei der Arbeit Erfahrungen in diesem Bereich Regelm ssigkeit der Verwendung Genauigkeit Ausf hrlichkeit Meldezettel Milit risches Strategisches Denken Auffassungsgabe Fachliche Kompetenz Eist Tm Ziele Effizienz der Meldungen verbessern Verlieren von Meldezetteln vermeiden Abl ufe optimieren Alle notwendigen Informationen auf Zettel Technischer Bericht Vorstudie EistCockpit 79 256 4 5 1 1 Day in the Live Szenario Der Tag beginnt f r Frank um ca halb sieben Uhr Er geht duschen zieht sich an und geht anschliessend um ca sieben Uhr Morgenessen Nach dem Morgenessen f ngt er mit seiner blichen Arbeit um ca halb acht Uhr an Er spricht kurz mit seinen Kameraden und tauscht im schnell Durchgang noch die wichtigsten Infos aus bevor es richtig losgeht Kurz vor der bernahme der Arbeitsschicht informiert der Wachtmeister Iwo Informiert noch alle Soldaten kurz in einem Rapport und gibt ein paar gut
288. tab e Service Explorer of Coins Next the user enter an expense and an invoice into the GAPs QE and PIE correspondingly Specifically the user selects an expense envelope on the first screen of QE and then double clicks on the entry in the envelope list box These actions cause QE to switch to the expense entry screen This and other screens of the GAP are captured and shown in the rightmost tab Oe Screen View of Coins The purpose of interacting with GAPs is to allow Coins to record the structures of the screens and user actions on the GAPs and then transcode these actions into programming instructions that the resulting composite web service will execute To do that Coins intercepts selected user level events using the accessibility layer These events allow Coins to record the sequence of screens that the user goes through as well as the actions that the user performs on GUI elements When recording the sequence of screens Coins obtains information about the structure of the GUI and all properties of individual elements using the accessibility enabled interfaces This information allows the composite web service to locate GUI elements in order to set or retrieve their values or to perform actions on them in response to requests from its clients At the design time the user should specify how to exchange data between components Specifically the user determines what GUI elements will receive the values of the properties of the web
289. tanden Anwesend dschoett rwaltens tcorbat mstolze dsteiner Abwesend e Grobplanung besprechen e Vorgehensmodell besrechen e MoD Punkte besprechen e Grobarchitektur besprechen siehe Architecture e Update von mstolze regeln Aufgaben e Sprints auf 3 Wochen verlangern dsteiner e IT Sackbefehl vorbereiten Ruckblick e Protokoll vom 20 02 ist von allen Parteien abgenommen worden e Protokoll vom 22 02 ist von allen Parteien abgenommen worden Protokoll Updates von mstolze Hauptbetreuer ist sowieso tcorbat also l uft die Kommunikation ber Ihn Vorgehensmodell Unser Hybridmodell ist soweit in Ordnung vorallem da der Kontakt mit dem Kunden vor allem in den WK Wochen vorhanden sein wird Die Sprints sind jedoch f r unser Zeitbudget viel zu kurz diese m ssen auf 3 Wochen Sprint verl ngert werden Geheimhaltung Der Auftraggeber verlangt dass Sch tzenswerte Inhalte aus der Arbeit herausgehalten werden Alles was nicht sowieso ber die Webseite verf gbar ist und nicht als nicht Sch tzenswert gilt kann verwendet werden Dazu gilt noch ein Dokument zu erstellen dass die TEPLAS Umgebung den Anforderungen entsprechend beschreibt Das Zugeh rige Dokument wird von tcorbat erstellt Architektur Allgemein Das TEPLAS ist auf Microsoft Technologie aufgebaut es gilt also die Anforderung die Applikation auf diese Umgebung anzupassen Konkret bedeuted das den A 3 4 5 A 3 4 6 Einsatz von net Die Gr
290. te Datenbank und des Entity Frameworks und bietet gleich auch Beispielcode f r m gliche Zugriffe an Test db Die Beispieldatenbank f r den Prototypen Tabelle 59 Projektstruktur Prototyp Datenbank Technischer Bericht Prototypen EistCockpit 180 256 Datenmodell Abbildung 59 Datenmodell SQLite Prototyp Technischer Bericht Prototypen EistCockpit F short_name oF address 87 owner_address gt owner_contact T person_responsi 57 unitid SF coordinate_id occupation_from Ey occupation_to S contact I id A latitude ef longitude A altitude FP ch1903 Navication P z 181 256 8 4 2 3 8 4 2 4 8 4 3 8 4 3 1 8 4 3 2 Eingesetzte Technologien amp Frameworks Nachfolgend werden kurz alle Technologien aufgelistet die f r die Entwicklung des Datenbank Prototyps n tig waren e Framework ADO NET e Datenbank Salite e Datenbankprovider f r Anbindung Sqlite an ADO NEI e NEI C 4 0 Erkenntnisse Die SQLite Implementation f r das Entity Framework eignet sich sehr gut f r unsere Zwecke obwohl die dezentrale Struktur der Datenbank Files beim Deployment Schwierigkeiten verursachen k nnte Die Integration ins Entity Framework f hlt sich Nahtlos an bisher sind keine Probleme bekannt MEF Plugin Zweck Da es eine Anforderung war die Applikation so zu entwerfen dass sie einfach erweitert werden kann Wurde im Internet nach bestehenden Frameworks f r ein Plugin Syste
291. tet und im Browser ist die Ubersicht angezeigt Die in den Plugins komplilierten DLLs werden geladen und im entsprechenden Bereich angezeigt Im daf r vorgesehenen Bereich k nnen die Plugins ausgew hlt werden In dem daf r vorgesehenen Bereich werden die geladenen Hostplugins angezeigt Wenn ein Service ausgew hlt wird wird in der Statusleiste Diese angezeigt Im Serviceplugin wird eine bersicht der Operationen unter den entsprechenden Dienstleistungen angezeigt Im Serviceplugin kann eine Operation ausgew hlt werden Wenn eine Operation ausgew hlt wird wird in der Statusleiste Diese angezeigt Im MessagesPlugin wird eine bersicht der Meldungen angezeigt Im MessagesPlugin kann der Filter ein und ausgeblendet werden Im MessagesPlugin kann der Filter auf die Meldungen angewandt werden Im MessagesPlugin k nnen die Meldungen nach allen Spalten sortiert werden Im MessagesPlugin kann eine einzelne Nachricht angezeigt werden Im MessagesPlugin kann eine neue Meldung erfasst werden Im MessagesPlugin kann eine Meldung gespeichert werden Im MessagesPlugin kann eine Meldung als Entwurf gespeichert werden Im MessagesPlugin werden die neue Meldungen in der bersicht angezeigt Im LocationsPlugin wird eine bersicht der Standorte angezeigt Im LocationsPlugin wird nach auswahl eines Standortes Dieser angezeigt Im LocationsPlugin kann ein neuer Standort erfasst werden Im LocationsPlugin kann ein ausgew h
292. the URI that identifies the account accounts account 12345 with the version it want to chan ge 1 With the detected conflicts each client must make the compensation of changes already made Thus client 1 re trieves the just created version of the account 12345 and client 2 retrieves the just created version of the account 98765 to carry out the compensation stage See Figure 3 Now with the new versions the clients make changes lo cally and submit the compensation updates See Figure 4 Therefore the accounts 12345 and 98765 return to their original balance maintaining the integrity of the state Bank A account 12345 v2 450 10 GET client2 client 200 OK conta 12345 v2 450 Bank B account 98765 v2 550 _ 200 OK conta 98765 v2 550 Figure 3 The clients identify the conflicts and re trieve the new versions to compensate them ege 12 PUT account12345 v2 Bank A a 500 account 12345 v3 Wie v2 client client we 200 OK account 98765 v3 500 Figure 4 The clients compensate the earlier com pleted operations As it is seen the proposal uses the concept of compen sation i e the act of undoing previously successfully com pleted work For example the value of 50 was credited to the account 12345 again by the client 1 Client 2 debited 50 of the account 98765 since he failed to complete the transaction It is interesting
293. tion to serve for all applications types 3 ANALYSIS OF THE PROPOSED TECH NIQUE Through the implemented example we verified that the ACID properties are observed when more than one transac tion manipulates only one resource Atomicity is achieved because only two situations can occur client can change the resource or a conflict is detected The validation phase described in Subsetion 2 2 responsi ble for verifying that the version being changed is the current version ensures consistency because only valid transitions between states are allowed As changes are first made in the resource local copies isolation property is respected because other clients do not have access to account 12345 changes while changes are not sent and validated in bank A s web service Assuming banks A and B store accounts information within persistent database database management system durabil ity is achieved at the end of the transaction On the other hand when considering the scenario where there are two clients concurrently manipulating two resources or more the following considerations can be made regard ing ACID properties In the example when the client 1 obtains copies of ac counts he locally does changes and tries to send the changes to the respective banks As it was seen it is possible to oc cur a case where account 12345 is changed in the bank A but changes in account 98765 in bank B is not allowed be cause of a conflic
294. to established a contract of use between clients and RESTful servers in order to prevent that mali cious or defective clients can make updates even receiving a conflict notification triggered by the server In this way a service level agreements could specify the security policy that clients and serves must obey to interact Thus servers are protected from malicious or defective clients and vice versa 2 4 Compensation In general as indicate by Gray 3 early exposure of un committed data is essential for long duration and nested transactions In 4 it is shown the method of transactions compensation for applications that need to both expose data not committed and undo transactions committed At the end of a transaction compensation it is guaranteed consis tent state is established based on semantic information Compensation is one of the ways to design and implement models of transactions for web services According to 12 unlike the traditional distributed transactions the transac tions between web services do not follow all the ACID prop erties Due to weak coupling and autonomy required by web services traditional protocols for example two phase commit protocol are not appropriate Moreover the transaction involving several web services can take considerable time to finish minutes hours or even days which makes it impracticable to block resources used by web services such as databases When transactions hav
295. to preserve the integrity and consistency of the application It is called optimistic because it assumes that conflict between different transactions operations does not occur or rarely occurs The transactional control is as per missive as possible Because it does not use locks it is deadlocks free More over if the majority of transactions is just reading transac tions the overhead for concurrency control becomes negligi ble The optimistic concurrency control can be summarized as follows 5 1 Reading of a value can not cause loss of integrity so there is no restriction on several concurrent reading transactions 2 Writes are severely restricted for concurrent transactions Each transaction is composed of two or three phases a read phase a validation phase and a possible write phase During the read phase all writes take place on the local copies of data to be modified Then if it can be established during the validation phase that the changes the transaction made will not cause a loss of in tegrity the local copies are made global in the write phase Conflicts are hoped to not occur in optimistic concurrency control 5 Conflicts are the worst case in an optimistic approach i e validation phase fails and the transaction is 666 interrupted and start over again as a new transaction Thus a transaction will have a write phase only if the preceding validation succeeds When conflicts are rare the validation
296. tor f r die n chste Dienstleistung 6 4 2 Operationen Festlegung der Zeitraumes Ort und Ziel Einteilung von Personal und Material Planung der Standorte Rekognoszierung von Standorten e Verfassung des Befehls Vorbereitung e Information f r das Personal e berwachung des Ablaufs berwachung der Standorte mittels Meldungen Laufende Planung aufgrund der berwachung e Auswerten der Leistung des Personals Technischer Bericht Domain Analyse EistCockpit 110 256 6 4 3 Standorte Rekognoszierung von Standorten Information f r das Personal Vorbereitung e Aufstellen und Einrichtung des Materials Erstellen der Telematikbereitschaftszeiten een e Statusinformationen ber Meldungen an die Einsatzstelle Telematik Auswerten der Leistung des Personals 6 4 4 Meldungen e Meldung wird von Triagenpersonal entgegengenommen e Meldung wird von Triagenpersonal im Gefechtsjournal erfasst e Meldung wird von Triagenpersonal auf einem Meldezettel erfasst e Meldung wird von Triagenpersonal an die richtige Stelle weitergereicht Disposition e Meldung wird entgegengenommen Massnahmen werden getroffen Verarbeitung Technischer Bericht Domain Analyse EistCockpit 111 256 6 5 Datenmodell 6 5 1 Dienstleistungen Abbildung 27 Datenmodell Service Technischer Bericht Domain Analyse EistCockpit 112 256 6 5 1 1 Service Reprasentiert die Einheit einer Dienstleistung Prop
297. trol and manipulate GAPs VI CODE GENERATION Coins generates code for the resulting integrated system e a composite web service The structure of the code re flects dependencies between GUI elements in GAPs In event based windowing systems e g Windows each GAP has a main window which may be invisible which is associated with the event processing loop Closing this window causes the application to exit by terminating the loop The main window contains other GUI elements of the GAP A GAP can be represented as a tree where nodes are GUI elements and edges specify children elements that are contained inside their parents The root of the tree is the main window the nodes are container elements and the leaves of the tree are basic elements e g buttons or edit boxes GAPs are state machines whose states are defined as collec tions of GUI elements their properties e g style read only status etc and their values When users perform actions they change the state of the GAP In a new state GUI elements may remain the same but their values and some of their properties change Coins takes inputs describing the states of the GAPs and generates classes whose methods control GAPs by setting and getting values of their GUI elements and causing actions that enable GAPs to switch to different states When the user switches the GAP to some state Coins records this state by traversing the GUI tree of the GAP post order using the
298. tung der Telematikbereitschaftszeiten externer Standorte Der Chef der Eist Hptm M ller betritt den Raum und verlangt umg nglich eine bersicht ber die eingegangenen TBZ Meldungen der letzten Stunde Sie filtern die Ansicht nach den genannten Kriterien und zeigen Diese dem Hptm Technischer Bericht Domain Analyse EistCockpit 140 256 6 6 3 3 Testauswertungen Sdt Daniel G nthensberger Mitarbeiter in der Triage sowie Eist Durchgef hrt am Mi 18 04 12 17 00 Uhr Allgemein e Die Hilfe Schaltfl che ist unter den verf gbaren Plugins positioniert jedoch handelt es sich nicht um ein Plugin Die Hilfe sollte von jedem Plugin eigenst ndig implementiert werden e Mit H rer kann fast nicht getippt werden Szenario 1 Meldung erfassen e Tab Name Triage amp Eist Tm sind auf den ersten Blick nicht ganz klar e Empf nger ist bei TBZ Meldung untergegangen aber soweit i O weil das Feld dann automatisch ausgef llt wird Platzierung berdenken e Statt auf Senden wurde auf die Schaltfl che Speichern gedr ckt Szenario 2 Meldungen nach bestimmtem Kriterium filtern e Filter Button nicht gefunden e Es war nicht ganz klar wo man Meldungen anzeigen kann Testperson dr ckte zuerst auf Plugin Schaltfl che TBZ e Filter m ssen mit Feldnamen bereinstimmen Gfr Thomas Corbat In der Rolle als Triage Mitarbeiter Durchgef hrt am Mo 30 04 12 16 00 Uhr Allgemein Suchfeld beibehalten ev mit Erweitert anschreiben dass
299. twortlich f r die Entgegennahme von Telefonanrufen externer Standorte Zurzeit ist es 15 00 Uhr es herrscht keine grosse Hektik da nicht so viele Telefone eingehen In diesem Wiederholungskurs wird das erste Mal die neue Anwendung Eist Cockpit verwendet welche die ehemaligen Meldezettel vollumf nglich ersetzen soll Pl tzlich beginnt das Telefon zu klingeln Sie nehmen den H rer auf und sprechen mit dem Anrufer gespielt von rwaltens zeitgleich erfassen Sie die Meldungen mit s mtlichen notwendigen Informationen Folgender Teil muss nicht mehr vorgelesen werden Exakter Ablauf Sie erhalten eine Meldung von einem gewissen Vermittlungsbetreuer Vm Betr Sat Waltensp l welcher berichtet dass die Telematikbereitschafszeit TBZ erreicht wurde Schon w hrend dem Gespr ch w hlen Sie den Namen des Anrufers sowie die Option TBZ erreicht aus Da bekannt ist dass s mtliche Telematik Belange in den Zust ndigkeitsbereich des FGG3 geh rt w hlen Sie als Empf nger die Gruppe FGG3 Bevor Sie die Meldung bermitteln k nnen m ssen Sie noch die Priorit t setzen wobei es sich bei einer TBZ Meldung um eine normale Priorit t handelt Eine Beschreibung ist f r diese Meldung nicht erforderlich deshalb senden Sie die Meldung direkt an den definierten Empf nger FGGS3 Auftrag 2 Meldungen nach bestimmtem Kriterium filtern Sie arbeiten w hrend Ihrer Dienstleistungspflicht in der Eist Tm und sind verantwortlich f r die Kontrolle der Einhal
300. tzergruppen User bzw Administrator Plugins welche Administratoren Rechte voraussetzen werden nur angezeigt wenn der Benutzer als Administrator erkannt wird Die verschiedenen Typen von Plugins werden nachfolgend im Detail beschrieben Ul Containers Dienstleistungen b WK 2011 WK 2012 Meldungen Kein Standort Zum gew hlten Kontext wurde kein Standort gefunden oder kein Standort wurde ausgew hlt HOST PLUGINS Abbildung 50 Ul Container Die Abbildung zeigt das Main Window von EistCockpit wobei die einzelnen Bereiche welche Plugin spezifische Inhalte darstellen farblich markiert wurden Die Grundlagen f r diese Zugriffskontrolle sind im Rahmen der Semesterarbeit bereits umgesetzt worden das Konzept wurde im Sinne eines Proof of Concept mit Erfolg ausprobiert Effektiv aktiviert wird dieses Feature aber erst im Rahmen der Bachelorarbeit Technischer Bericht Entwurf EistCockpit 163 256 7 2 6 2 7 2 6 3 7 2 6 4 7 2 6 5 Host Plugins Host Plugins sind Plugins welche spezielle und grundlegende Features auf Applikations Ebene implementieren Im Allgemeinen verwenden solche Plugins ein eigenstandiges Fester Dialog fur ihr Ul In der obigen Abbildung UI Containers sind zwei rot eingefarbte Bereiche auszumachen der obere Bereich enth lt das UI f r das Services Plugin ein Host Plugin welches als Ausnahme kein eigenes Fenster verwendet Der untere Bereich listet Buttons f r die andere
301. uation entsprechen Priorit ten setzen Allerdings ist er daf r auch auf den Informationsfluss von aussen angewiesen Seine Mitarbeiter f hrt er bestimmt aber stets mit Vorbild an Viktor ist ein Selbstbewusster Mann der weiss was er will und was seine Vorgesetzten von ihm erwarten Er definiert klar was er von seinen Unterstellten erwartet und fordert dies auch konsequent ein Privat ist Viktor ein aufgestellter Optimist mit ein wenig Lebenserfahrung hat eine Frau und ein Kind im Primarschulalter Er hat zwar eine Vorliebe f r schnelle Autos f hrt aber einen Skoda Kombi Viktor ist ausserdem bei der Feuerwehr engagiert Viktor besitzt sehr gute Anwenderkenntnisse im Umgang mit dem Computer kann triviale Probleme auch selber l sen Die Arbeitsprozesse seiner Abteilung kennt er wie kein Zweiter zumal er sie teilweise mitgestaltet und optimiert hat EistCockpit 91 256 Pain Points amp Frustrationen Eigenschaften amp Behaviour Variables 4 5 3 1 Ziele Ist Szenarien Viele Informationen gelangen nur unvollstandig bis gar nicht Zu inm was seine Aufgabe als Entscheidungstrager erschwert Die Angeschlossenen Aussenposten und Knoten melden sich nicht wie gefordert rechizeitig Daher kommt es oft vor das Viktor den Infos nachrennen muss Ausserdem fehlt auf den eingegangenen Meldungen eine Priorisierungsm glichkeit Verweis Interview 4 Probleme bei der Arbeit Technisches Knowhow Motivation w hrend Arbeit Effizienz
302. uchstabieren Probleme Vermehrt kommt es zu Verst ndnisproblemen weil eine Partei den anderen falsch versteht Aus diesem Grund sollten wichtige Informationen best tigt werden Ziele Meldungen korrekt bertragen Name auf Meldezetteln richtig schreiben Ist Szenario 5 Layout Meldezettel Ausgangssituation Frank ist in der Triage am Arbeiten und wartet auf den n chsten Anruf Seinen Meldezettel hat er bereitgelegt so dass er bei einem Anruf direkt Notizen machen kann Ausl ser Anruf eines Stao Chefs an die Triage Technischer Bericht Vorstudie EistCockpit 83 256 Schritte Probleme Ziele Frank liest die aktuelle Tageszeitung bis pl tzlich ein Anruf eingeht umgehend nimmt er das Telefon entgegen Er meldet sich mit dem Standardbegr ssungsschema Rist Bat 20 Soldat Fleissig Guete Morge darauf stellt sich auch der Anrufer kurz vor Anscheinend hat er es ziemlich eilig da er direkt erw hnt wo er sich derzeit aufh lt und um was das es bei der Meldung geht Frank notiert sich diese Informationen wobei er sich ein bisschen ber die Anordnung der einzelnen Punkte auf dem Meldezettel nervt Das Datum sowie die Uhrzeit stehen an erster Stelle jedoch k nnte man diese Informationen auch erst nach der Beendigung des Gespr chs ausf llen Verweis Interview 2 Was f r Verbesserungsw nsche h tten Sie am System Anordnung der Fragen auf dem Meldezettel verwirrend Meldezettel bietet nur wenige Informationen Meldung
303. ugin Model dil 18 75 81 25 d EistCockpit Plugins MessagesPlugin Model d 18 75 81 25 gt MessagesCollection lt gt c_DisplayClassd 0 00 100 00 gt MessagesCollection lt gt c_DisplayClass9 lt gt c_ 0 00 100 00 b MessagesCollection lt gt c_DisplayClass9 0 00 100 00 gt MessagesCollection 4 76 95 24 gt Message 24 00 76 00 S38 Co E Abbildung 77 Testabdeckung Messages 9 3 3 3 EistCockpit Plugins LocationsPlugin Test dsteiner PIN1262030 2012 06 06 13 06 17 eit ki a B GJ Hierarchy Not Covered Blo Not Covered Blo Covered Blocks Covered Bloc d igs dsteiner PIN1262030 2012 06 0 200 14 45 1184 85 55 4 d i EistCockpit LocationsPlugin 139 13 82 867 86 18 4 EistCockpit LocationsPlu 139 13 82 867 86 18 gt Coordinate 96 32 43 200 67 57 gt Location 43 6 07 665 93 93 gt Location lt gt c_Displa 0 0 00 H 100 00 4 2 EistCockpit LocationsPlugin 61 16 14 1 83 80 4 EistCockpit Plugins Locat 0 0 00 100 00 gt ResultEventArgs 0 00 100 00 4 EistCockpit Plugins Locat 6 16 31 83 69 b EditLocationViewModel 18 49 81 51 gt LocationViewModel 44 83 55 17 gt 4 ShowLocationViewM 11 98 H 88 02 gt ShowLocationViewM 0 00 100 00 gt ShowLocationViewM 0 00 100 00 gt ShowLocationViewM 0 00 100 00 Abbildung 78 Testabdeckung Locations Te
304. ummer aufgelistet Tool Version Link Bemerkungen Visual Studio 10 0 http www microsoft com visualstudio 1 IDE 1 de de net 4 0 http www microsoft com germany net n Framework et framework 4 aspx ReSharper 6 1 1 http www jetbrains com resharper Refactorings Microsoft 2010 http office microsoft com de ch Dokumentation Office GIMP 2 8 http www gimp org Bildbearbeitung Doxygen 1 8 1 http www stack nl dimitri doxygen Code dokumentation Visual 9 0 http www visual UML Diagramme Paradigm paradigm com product vpuml Enterprise 9 0 http www sparxsystems com au UML Diagramme Architect Redmine 1 1 3 http www redmine org Projekt management SVN 1 7 http subversion apache org Versions management OmniGraffle 5 4 http www omnigroup com products om Diagramme nigraffle Balsamiq 2 1 18 http www balsamig com Mockups Brain 0 9 http de wikipedia org w index php title Alpha Gehirn amp oldid 104014075 Tabelle 37 Auflistung benutzter Tools Technischer Bericht Anforderungen EistCockpit 99 256 Technischer Bericht Anforderungen Funktionale Anforderungen Als Teil von Scrum werden die Funktionalen Anforderungen als User Stories aufgelistet Die User Stories sind mit dem ihnen zugewiesenen Sprint gekennzeichnet in welchem dessen Umsetzung geplant ist Sprints die mit Klammern gekennzeichnet sind haben zu bedeuten dass in diesem Sprint ein Prototyp der Umsetzung erfolgt Userstory Als Admi
305. und leitet sie per Meldezettel weiter Auf der Tastatur bringt er am Telefon eine durchschnittliche Anschlagsrate von 120 ApM hin Pers nlichkeit amp Die Abl ufe in der Triage sind Frank gel ufig er kann sich Vorlieben zudem gut in ein Team integrieren da er eher der gesellige kommunikative Typ ist Aufgrund seiner offenen Art neigt er auch dazu sich schnell durch andere Personen ablenken zu lassen F r ihn ist prim r wichtig dass das soziale Umfeld und die Chemie zwischen den Mitarbeitern stimmt Weiter h tte er gerne eine bessere bersicht ber den Status der verschiedenen Meldungen sowie eine bessere bersicht Technischer Bericht Vorstudie EistCockpit 78 256 Vorkenntnisse amp Frank hat schon mehrere Wiederholungskurse absolviert und Lernen ist deshalb ziemlich routiniert und vertraut mit den Abl ufen in der Triage Seine Computerkenntnisse umfassen nur die Grundlagen jedoch ist dies auch keine prim re Anforderung um in der Triage zu arbeiten da es mehr von Vorteil ist wenn man kommunikativ stark ist Zu seinen St rken geh ren die schnelle Auffassungsgabe sowie die Flexibilit t neue Sachverhalte zu erlernen Pain Points amp Es gibt verschiedene Punkte die Frank am derzeitigen Frustrationen System st ren Zum einen w re ein ganz banales Problem beim Beschreiben der Meldezettel am Telefon Sobald er ein Telefon entgegennimmt hat er nur noch eine Hand frei um die Informationen zu notieren dadurch rutsch
306. unds tzliche Grobarchitektur mit den Tiers Server Triage Messaging Client und Cockpit Fat Client ist soweit in Ordnung wobei wir uns im Rahmen der SA vA auf den Server teil und Triage Client konzentrieren werden m ssen Userverwaltung Eine Benutzerverwaltung wird ausgeklammert da diese sowieso implizit ber das Active Directory und den Windows Login abgefangen wird Bewertungsmartrix e Punkt 1 2 1 16 Es wird kein Video erstellt ein externer Wiki Eintrag d rfte nach Absprache m glich sein e Punkt 2 14 Ziel ist es richtig zitieren zu k nnen wie auch die HSR Libraries zu diesem Thema zu kennen Der Punkt bleibt drin e Punkt 3 1 3 8 Der Punkt ist zumindest zu diskutieren und Ergebnis festhalten muss aber nicht implementiert werden e Punkt 3 3 2 4 Doxygen erf llt die Auflagen WK Vorbereitungen Anwesenheit von tcorbat w hrend des WKs e KVK W1 Mobis Mi e We W3 Di bis Di A 4 A 4 1 A 4 2 A 4 3 A 4 4 A 4 4 1 A 4 4 2 Sitzungprotokoll 05 03 2012 14 00 Traktanden Anwesend dschoett rwaltens tcorbat dsteiner Abwesend e Namens nderung EistCockpit e Arbeiten f r n chsten 3 Woche e Matrix of Doom nachbesprechen Wie Punkte gew hrleisten e Geheimhaltungs Erklarung Corbat e Accessibility e Review Aufgabenstellung e Prasentationspunkte besprechen Aufgaben Nachstes Meeting Kick Off Meeting 05 03 2012 19 00 e Prasentationsfolien fur Meeting erarbeiten e Alle Projekt
307. ur experiment shows that it is possible to gain significant performance by performing batch transfers between GAPs D Recommendations Choosing Coins versus writing programmatic integrated systems is a matter of trade offs between the development effort and the resulting performance If the performance of the integrated system is a critical issue then developing a programmatic application is the right choice However minimizing cost is an important trade off for performance and using Coins allows users to reduce the development cost significantly while keeping performance overhead within acceptable limits Recall that the GUI overhead GCO is inversely proportional to the common delays CD such as network latency and GAP backend computations At one extreme CD is much smaller than the OC and the GCO is high For example if the OC is one second and the CD is one tenth of a second then the GCO is 1 000 Since the GCO is high users should consider to develop a programmatic integrated system At the other extreme CD 1s much higher than the OC and the GCO is small For example if the OC is one second and the CD is 20 seconds then the GCO is 5 Based on our conversations with many professionals who build deploy and maintain integrated systems these profes sionals are willing to consider up to 10 of performance penalty if they can reduce the development effort We observed that for many commercial applications backend computations t
308. urces such as the operation of transferring funds from a checking account to a savings account In order to solve this problem Richardson and Ruby 10 propose to expose the transactions as resources The follow ing steps are proposed 1 Client creates a transaction by sending a POST to a transaction factory resource 2 The response provides the URI for the created re source Client submits the first part of the transaction which updates the balance of the checking account by sending a HTTP message Client submits second part of the transaction which updates the balance of savings account by sending a HTTP message 5 At any time it is possible to make a rollback by sending a DELETE to the transaction URI Client sends a request to commit the transaction The server must ensure that the transaction maintains the resource in a consistent state If everything is suc cessfully executed the transaction is committed and the resources updated In the server the procedure is implemented by a compo nent that receives the various requests and creates a queue of actions associated with the transaction When requested to commit the server initiates a transaction in the database applies the actions in the queue and then commits the trans action In case of failure it is propagated as a transaction commit failure 10 2 2 Optimistic Concurrency Control The optimistic method for concurrency control does not use locks
309. us Gr nden der Einfachheit und Portierbarkeit eine SQLite Datenbank welche mit dem ADO NET Adapter System Data SQLite angesprochen wird Common Der Common Layer enth lt diverse Klassen und Interfaces welche von allen Layern verwendet werden Konkret fallen darunter e Entities amp DTOs Klassen f r die Entities bzw DTOs Data Transfer Objects da diese die Datenobjekte kapseln e Service Interface Kommt Server wie auch Client seitig zum Einsatz e Plugin Interface Wird von Plugins wie auch von der Host Applikation verwendet e Utilities Utility Klassen welche z B Validierungs Funktionalit t oder Konstanten zur Verf gung stellen Package Struktur Die Package Struktur geht aus der Source Code Dokumentation hervor f r Details zu den einzelnen Packages bzw deren Inhalt wird daher auf die Source Code Dokumentation verwiesen Nachfolgend erfolgt eine grobe hierarchische bersicht der Packages von EistCockpit e EistCockpit Root Package e Business Der Business Layer implementiert die Business Logik e Common Enth lt Elemente welche von weiten Teilen von EistCockpit gemeinsam verwendet werden z B Konstanten e DTOs Definiert die Data Transfer Objects welche vom Service an die Clients geschickt werden e Contracts Definiert Interfaces amp Contracts welche im Zusammenhang mit der Plugin Architektur verwendet werden e DAL Der Data Access Layer implementiert die Logik f r den Datenzugrif
310. verbunden werden Erreichbarkeit von Personen Im System besteht eine M glichkeit abzurufen ob eine bestimmte Person in der Anlage anwesend ist Falls die ben tigte Person nicht erreichbar ist kann dementsprechend deren Stellvertreter anstelle kontaktiert werden Rapport drucken F r das h here Kader soll es m glich sein einen Statusbericht ausdrucken zu lassen Dieser Rapport enth lt eine Auflistung der verschiedenen bungen und deren Fortschritt Meldungen ausdrucken Im Falle eines Stromausfalls muss es m glich sein die Meldungen auf normalem Papier auszudrucken Dadurch kann man problemlos wieder auf den konventionellen Weg umsteigen Meldungen priorisieren Beim Erfassen von Meldungen besteht eine Funktion zur Priorisierung von Meldungen dies erm glicht die Unterscheidung von Meldungen und deren Hervorhebung Filtern von Meldungen Falls ein Empf nger viele Meldungen erwartet m chte er mittels eines Filtersystems seine Auswahl nach bestimmten Bedingungen eingrenzen Technischer Bericht Vision EistCockpit 36 256 2 3 1 6 Bericht zu bestimmter Operation Diese Funktion gibt einen berblick ber eine ausgew hlte bung Das heisst es werden alle eingetroffenen Meldungen in einem gewissen Zeitraum angezeigt Dies erlaubt eine Einsch tzung des aktuellen Fortschritts einer bung Dokumentationsanforderungen Bedienungsanleitung Die Bedienungsanleitung soll Schritt f r Schritt ganz klar aufzeigen wi
311. vollst ndig erfassen Ist Szenario 6 Falsche Informationen werden erfasst Ausgangssituation Ausl ser Schritte Probleme Ziele Technischer Bericht Vorstudie Frank hat soeben einen Anruf entgegengenommen Ausserdem liegt der Meldezettel f r das gegenw rtige Telefonat bereit und die Excel Liste auf dem Laptop ist ge ffnet Anruf eines Stao Chefs an die Triage Hektische Situation in der Triage Frank begr sst den Anrufer mit seiner blichen Begr ssungsklausel daraufhin stellt sich auch der Gespr chspartner kurz vor Leider hat Frank den Namen nicht ganz verstanden um sicherzustellen dass er den korrekten Namen auf dem Meldezettel erfasst fragt er nochmals nach dem Namen Der anrufende Soldat berichtet ihm daraufhin kurz dass sie soeben den Standort 2 erreicht haben Frank bedankt sich f r das Telefon und w nscht ihm einen sch nen Tag Nach dem Anruf f llt er noch die verbleibenden Felder aus Datum Uhrzeit Daraufhin berbringt er dem zust ndigen Zellenchef die Meldung Nach einer Weile tritt der der Empf nger der letzten Meldung in die Triage Er macht Frank darauf aufmerksam dass die Information Bereitschaftsraum verlassen f r diese Gruppe nicht zutreffen kann Frank beteuert seinen Fehler es handelt sich nat rlich um die Meldung Standort erreicht Schwierig sicherzustellen dass Informationen korrekt sind Meldung ohne Falschinformationen erfassen EistCockpit 84 256 4 5 1 3 Soll Szena
312. w die konkrete bung eines bestimmten Milit rdienstes kann nicht ausgew hlt werden Technischer Bericht Domain Analyse EistCockpit 133 256 6 6 1 5 Mockups nach berarbeitung Host Application Die Host Application wurde um eine Kontextleiste mit allen verf gbaren bungen erweitert Diese Auswahl gilt anschliessend f r s mtliche Plugins welche auf die gew hlte bung spezifisch reagieren k nnen Die Men leiste wurde ganz weggelassen da man im Team der Meinung ist dass durch eine intuitive Benutzeroberfl che eine Men leiste berfl ssig wird Weiter wurden die Schaltfl chen f r das Hinzuf gen Entfernen von bungen sowie Konfigurationseinstellungen in den Kontextbereich Host Plugin verschoben Ee LE WK 2011 U HI THERE Ka U COMBAT I U BYE BYE WK 2012 U CALANDA U TOY STUFF U COMBAT II Ei SMASH EM Operation Plugin UI Container Anwendungs Operationskonfiguration B g Fr ee Abbildung 37 Host Application Service Mockup Technischer Bericht Domain Analyse EistCockpit 134 256 Meldungen erfassen Triage Die gr sste nderung betreffend dem Formular zum Erfassen von Meldungen wurde bei der Benutzerunterst tzung anhand von Hilfetext vorgenommen Die neue Version wurde weiter durch eine automatische Vervollst ndigung beim Erfassen von Namen erg nzt ausserdem wurden passende Symbole bei den Priorit tsschaltfl chen hinzugef gt Wer ruton Sr
313. werden es gibt keine Ausnahmen Ziel Meldungen vollst ndig Benutzer w hlt anhand von Kriterien aus welche Meldungen er anzeigen m chte 3 Ziel Meldungen k nnen gefiltert werden Meldung ausw hlen damit verbundene Nachfolgemeldungen Gruppierung anzeigen 3 Ziel Status Kontext eines Stao durch Anzeige der letzten Meldungen Tabelle 31 Auflistung Affinity Strategien Technischer Bericht Vorstudie EistCockpit 69 256 W nsche Bei den W nschen handelt es sich um eine Auflistung von Anregungen f r die zu entwickelnde Anwendung der befragten Mitarbeiter Aus den W nschen k nnen zum Teil Ziele entstehen die von der Anwendung erf llt werden m ssen Abbildung 10 Affinity W nsche 70 256 EistCockpit Technischer Bericht Vorstudie Wunsch Telefon entgegennahme durch dynamisches Prozessschema bestimmt Anrufer wird step by step abgefragt Meldung an eine bestimmte Funktion in der Zelle und nicht an Person gebunden Tabelle 32 Auflistung Affinity W nsche 71 256 Technischer Bericht Vorstudie EistCockpit 4 3 5 Root Cause Analyse 4 3 5 1 Probleme Schadensklasse Beschreibung Hoch Hat grosse Auswirkungen st rt die t glichen Abl ufe erheblich ev mit finanziellen Folgen verbunden mittel Betrifft kleineren Bereich keine gr sseren finanziellen Verluste KE Keine finanzielle Verluste betrifft nur kleinere Gruppe kleines niedrig Schadenspotenzial Tabelle 33 Root Cause Problem Schadensklassen
314. xternes Design Location erfassen sieht man zudem noch Felder die vom Benutzer falsch ausgef llt wurden folge dessen schl gt die Validierung fehl dies bewirkt die Anzeige eines Hinweises u Standort erfassen Standort Allgemein Kurzbezeichnung Es muss eine Kurzbezeichnung f r den Standort angegeben werden Bezeichnung Beschreibung Chef Einheit Koordinaten 00000 0000000 Der Standort muss in der Schweiz liegen Landbesitzer Name Landbesitzer Adresse Landbesitzer Telefonr Landbesitzer Belegt Donnerstag 7 Juni 2012 15 56 36 Donnerstag 7 Juni 2012 15 56 37 ee DER gt Felde nicht korrekt gt Koordinaten nicht korrekt gt Keine Einheit ausgew hlt Keine verantwortliche Person ausgew hlt Abbildung 89 Externes Design Location erfassen Technischer Bericht Realisierung amp Test EistCockpit 217 256 9 8 2 Plugin Meldungen 9 8 2 1 Meldungen anzeigen filtern Beim Plugin Meldungen handelt es sich um das Kernplugin welches die Funktionalit ten enth lt welche am dringendsten ben tigt werden In der bersicht siehe Abbildung 90 Externes Design Meldung bersicht werden s mtliche erfassten Meldungen angezeigt sowie Filterm glichkeiten angeboten um nach bestimmten Kriterien zu filtern T EistCocpt S E wm Dienstleistungen 4 WK2011 U READY FLOP U INVASION 4 WK2012 U CALANDA U Q LLFRISCH Ei FELDSCHLOSSCHEN Standort me
315. zienterer Einsatz von verf gbaren Ressourcen Planung optimieren EistCockpit 90 256 4 5 3 Persona Viktor Versiert Alter 30 Jahre Zivilstand Verheiratet ein Kind Ausbildung Gymnasium Master of marketing management Projektleiter T tigkeit Arbeitet f r ein grosses Unternehmen in der Marketing Abteilung Abbildung 25 Persona Viktor Versiert Technische F hrungsqualit ten gute rhetorische F higkeiten Kenntnisse Funktion Arbeitskontext Arbeitsstil Pers nlichkeit amp Vorlieben Vorkenntnisse amp Lernen Technischer Bericht Vorstudie Anwenderkenntnisse im Umgang mit Computer Viktor hat den Rang Hauptmann und ist Leiter der Abteilung Operationen und schlussendlich der Oberste Entscheidungstr ger in seinem Gebiet Er ist auf ein starkes und eingespieltes Team angewiesen und muss jederzeit mit den neusten Informationen versorgt werden Der prim re Arbeitsplatz von Viktor ist die Eist die Sekund re ein eher ruhigeres kleines B ro In der Eist werden alle Informationen zusammengetragen und auf den F hrungsw nden festgehalten und aktualisiert Von hier aus f llt Viktor seine Entscheidungen und gibt die Befehle aus In seinem B ro arbeitet er an formalen Befehlen und Pr sentationen f r die Befehlsausgabe Viktor ist erfahren und engagiert Er weiss sein Team zu leiten Aufgaben zu delegieren und in kritischen Situationen einen k hlen Kopf zu bewahren Er ist gut organisiert und kann der Sit
316. zwingend notwendig sein solche Inhalte zu dokumentieren hat dies in einem separaten Dokument zu erfolgen welches nur berechtigte Personen einsehen d rfen In der Projektdokumentation ist dies entsprechend zu referenzieren e Im Zweifel entscheidet der Stellvertretende Bataillonskommandant des Richtstrahlbataillons 20 Major Hans Andrea Veraguth wie im spezifischen Fall mit Informationen umzugehen ist e Alle Projektbeteiligten verpflichten sich im Rahmen dieser Arbeit erlangte Kenntnisse ber Personen oder System der Schweizer Armee vertraulich zu behandeln und nicht an dritte weiterzugeben Involvierte Personen Name Funktion Datum Ort Unterschrift Corbat Thomas Betreuer LO 02 NAT Sch ttl David Student ZUSI Zeit Mappen e l re Steiner Diego Student SA CI LOAR Ragaz u Stolze Markus Verantwortlicher 6 06 20 17 Kone LANE ie V i Waltensp l Remo Student 47 OF 72 a Aub oul Niaj H A Veraguth ke Veraguth Hans Andrea Bat Kdt Stv Rist Bat 20 Es Pe nen Gl Sage a e Kat Stv Diet Bat 20 Verordnung ber den Schutz von Informationen des Bundes http Ej HSR HOCHSCHULE F R TECHNIK al RAPPERSWIL FHO Fachhochschule Ostschweiz Vereinbarung Uber Urheber und Nutzungsrechte Vereinbarung 1 Gegenstand der Vereinbarung Mit dieser Vereinbarung werden die Rechte ber die Verwendung und die Weiterentwicklung der Ergebnisse der Projektarbeit EistCockpit von David Sch fttl Diego Steiner
Download Pdf Manuals
Related Search
Related Contents
NL100 DMX USER MANUAL Marantz LC3050 Flat Panel Television User Manual Manuel d`instructions du casque audio Instant View IP Cameras Smeg UKVI144B Product manual english precautions for safety indoor unit display Cliquez sur l`image Serie VC239 Monitor LCD Guía del usuario Bosch UHO-HBGS-10 operation manual guida utente manual de Copyright © All rights reserved.
Failed to retrieve file