Managementsummary
- Fazit des Projektes
Projektbeschreibung
Das Blutanalysegerät war bereits soweit entwickelt, dass erste Tests durchgeführt werden konnten. Doch leider blieb die Maschine immer stehen, wenn Jobs gleichzeitig ausgeführt wurden, während neue Jobs geladen worden sind. Ziel des Projektes war es, die Stabilität des Gerätes zu verbessern, sodass gleichzeitig Jobs ausgeführt und neue Jobs geladen werden konnten, ohne dass die Software abstürzt.
Eine erste Analyse des Systems brachte hervor, dass tausende von Datenbankzugriffen das System in die Knie zwangen. Ein Grossteil der Daten in der Datenbank änderte sich nie. Also wurde ein Caching-Mechanismus eingebaut, sodass die meisten Datenbankanfragen erst gar nicht mehr bis auf die Datenbank gehen mussten. Somit konnte die Geschwindigkeit des Systems erheblich vergrössert werden, aber es war immer noch zu langsam, um alle Aufgaben gleichzeitig zu erledigen.
Ein weiteres Hauptproblem war nämlich, dass die neuen Jobs batchmässig über eine externe Schnittstelle aufs System kamen, und das Gerät dann richtiggehend «überflutet» wurde. Durch das Einbauen einer Queue, welche die neuen Jobs tröpfchenweise auf das System brachte, konnte auch dieses Problem entschärft werden und das Gerät konnte endlich gleichzeitig Jobs abarbeiten und neue Jobs laden.
Technologie:
Windows, Silverlight, C#, Oracle Datenbank.
Kommunikation mit WCF zu der darunter liegenden Systemsteuerungskomponente, die auf einem separaten PC lief.
Erfolgsfaktoren / Nutzen
Das Gerät konnte nun gleichzeitig Jobs abarbeiten wie auch grosse Batches von neuen Jobs entgegen nehmen, ohne gleich in die Knie zu gehen und hatte einen grossen Schritt in Richtung Marktreife gemacht.
Projektmanagement
Das Projekt wurde mit SCRUM abgewickelt. Es wurde zuerst analysiert und dann wurden geeignete Massnahmen beschlossen, um die Probleme in den Griff zu kriegen.