![]() |
Vorgehen |
|||||||||
|
ArbeitsschritteProjekt-SetupAls erstes wurde eine Projektplanung aufgesetzt. Dies geschah einerseits mittels einer Terminplanung (realisiert in MS Project) als auch mittels des "Software Project Management Plan" (SPMP) Dokumentes (siehe Downloadbereich). Der SPMP definiert Ausgangslage, Zielsetzungen, Projektumfang, Projektergebnisse, Organisation, Risikomanagement und Arbeitspakete. Das Dokument dient somit als zentrales Instrument zur Projektplanung. Gleichzeitig wurde der "Software Configuration Management Plan" (SCMP) erstellt. Dieser hat zum Zweck die Verwaltung sowohl der Dokumente als auch der erstellten Software zu definieren. Das Dokument ist ebenfalls im Downloadbereich erhältlich. AnalyseNun waren wir bereit für die nächste Projektphase: Die Basisanalyse. Ziel dieses Dokumentes war es eine breite Übersicht über relevante Einflussfaktoren und Möglichkeiten im Bereich der Skalierung zu erhalten. Zu diesem Zweck wurden Einflussfaktoren auf verschiedenen Ebenen analysiert:
Das Dokument vermittelt eine breite Basis mit Informationen über relevante Technologien und deren Einfluss auf die Skalierung. Obwohl aus zeitlichen Gründen die Analyse der Skalierung mittels C/C++ nicht möglich war haben wir trotzdem eine breite Informationsbasis geschaffen die als Ausgangspunkt für zukünftige Analysen auf anderen Sprachen, Betriebssystemen und Hardware-Architekturen dienen kann. Die Basisanalyse ist natürlich ebenfalls im Downloadbereich erhältlich. System-DesignUm konkrete Tests durchführen zu können musste nun eine geeignete Hardware/Software Plattform definiert werden. Ausserdem musste der Testumfang abgesteckt werden. Um die Tests schlussendlich durchführen zu können musste eine geeignete Test-Software spezifiziert und implementiert werden. Die Ergebnisse dieser Phase wurden im Software Design Document (SDD) festgehalten. Auch dieses Dokument ist im Downloadbereich erhältlich. Die Evaluation der Plattform geschah dann aufgrund der Informationen aus der Basisanalyse und den Vorgaben aus der Aufgabenstellung. Anschliessend wurden für jede Ebene (Hardware, Betriebssystem, JVM) Zielsetzungen definiert, die später mittels geeigneter Testfälle abgedeckt werden. Weiter wurden Anforderungen an eine mögliche Testklasse/Testklassen definiert. Anhand dieser wurde dann eine Testklasse ausgewählt. Die Wahl fiel auf die Berechnung der Mandelbrot Menge da sie alle Kriterien erfüllte. Der nächste Schritt bestand im Design und der Umsetzung einer Mess-Applikation (Benchmark). Das Design wird ebenfalls in diesem Dokument beschrieben. Die Implementierung wurde gemäss unserer Abgrenzung in Java realisiert. Wer die Tests wiederholen oder auch einfach nur etwas in der wunderschönen Mandelbrot-Menge "herumsurfen" möchte sei auf den Downloadbereich verwiesen. Dort sind alle Binaries sowie der Source-Code erhältlich. Die Dokumentation ist im Quelltext-Paket enthalten. Die API-Dokumentation kann mittels des enthaltenen ANT Skriptes erstellt werden. Wer einfach nur mal kurz "reinschauen" möchte kann die Anwendung mit reduziertem Funktionsumfang im "Selber testen" Bereich als Applet starten. Testreihe durchführenJetzt wurde das Software Test Document (STD) erstellt (siehe Downloadbereich). Hier wurde dann die konkrete Test Hard- und Software definiert. Um möglichst eine gesamte Dokumentation der Umgebung zu erhalten haben wir einen Microsoft System Information 7 Auszug beigelegt. Darin sind auch die aktiven Systemdienste und weitere Systemparameter ersichtlich um die Reproduzierbarkeit der Tests zu gewährleisten. In einem weiteren Schritt wurden die Rahmenbedingungen des Tests (Anzahl Durchläufe, fixe- und variable Grössen usw.) definiert unter denen die Tests durchgeführt wurden. Anhand der im SDD definierten Zielsetzungen wurden dann Testfälle definiert um möglichst exakt die gewünschten Informationen zu erhalten. Die Testergebnisse wurden dann direkt in das Dokument eingefügt. AuswertungIn der "Conclusion" (siehe Downloadbereich) haben wir dann unsere Schlussfolgerungen und Auswertungen zusammengefasst. Das Dokument beinhaltet die Diskussion der markanten Ergebnisse (siehe STD) und daraus resultierende Implementierungsempfehlungen. Kurz Vor Ende der Arbeiten bekamen wir noch die Möglichkeit unsere Tests zusätzlich auf einem MacBookPro mit Intel Core 2 Duo Prozessor sowohl unter Mac OS X als auch unter Windows XP durchzuführen. Für eine detaillierte Auswertung fehlte zwar dann die Zeit aber wir haben trotzdem die wichtigsten Testresultate dokumentiert und kommentiert. |