ingo.strauch.diplom - Desy
ingo.strauch.diplom - Desy
ingo.strauch.diplom - Desy
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
3.3. TECHNISCHE ASPEKTE 23<br />
Soll ein neuer Release erstellt werden, so ist bis zu einem bestimmten Zeitpunkt von jedem<br />
Verantwortlichen eines Paketes die Version (“Tag”, siehe auch das CVS-Glossar in Anhang<br />
B.1.1) des Paketes zu benennen, die für den Release benutzt werden soll. Eine Versionstabelle<br />
führt Buch, aus welchen Paketen und deren Tags ein Release besteht.<br />
Eine Release-Strategie mit kurzen Iterationszyklen ist auch ein Merkmal für die Software-<br />
Entwicklung nach der “Extreme Programming” Methode [Ble01]. Sie beinhaltet noch weitere,<br />
unkonventionelle Vorgehensweisen, die im OO-Projekt nicht zum Einsatz gekommen sind, z.B.<br />
das paarweise Arbeiten an Teilaufgaben nach dem Rotationsprinzip, so daß jeder Programmierer<br />
einmal an allen Teilen des Projektes gearbeitet hat.<br />
3.3.4 Weitere Hilfsmittel<br />
Damit nicht jeder Physiker bei H1, der sich für das OO-Projekt interessiert und Algorithmen<br />
selbst beisteuern möchte, sich intensiv mit CVS auseinander setzen muß, wurden Möglichkeiten<br />
gesucht, die Bedienung über ein Frontend zu erleichtern. Hier gibt es zwei prinzipielle Möglichkeiten:<br />
bereits vorhandene Frontends nutzen oder ein eigenes entwickeln.<br />
In die erste Kategorie gehört LinCVS [RBDK], welches eine graphische Benutzerschnittstelle<br />
zu den CVS Kommandos bietet. Es läuft zwar stabil, hat jedoch drei Nachteile: nicht alle<br />
Funktionen sind voll ausgereift, man kommt nicht umhin, die CVS Kommandos zu lernen, und<br />
der Status der Dateien wird permanent überwacht, was insbesondere beim Kompilieren eine hohe<br />
Auslastung auf dem Rechner verursacht. Dies ist auch das schwerwiegendste Problem, da<br />
einige Programme nur auf Rechnern gestartet werden können, auf denen die Verzeichnisse sichtbar<br />
sind, in denen sich die Daten befinden. Diese sind im allgemeinen auch leistungsfähiger als<br />
der normale Desktop PC. Zusammen mit der Tatsache, daß es unbequem ist, auf verschiedenen<br />
Rechnern die Programme zu kompilieren und zu starten, führt das schnell dazu, daß dieses Tool<br />
unbenutzbar wird.<br />
In die zweite Kategorie gehört das Perl-Skript h1oo.pl, welches speziell für den Anwender<br />
der H1-OO-Software geschrieben wurde (siehe Anhang A.2). Es versteckt die CVS Kommandos<br />
und sorgt durch eine Versionstabelle dafür, daß zueinander kompatible Versionen von verschiedenen<br />
Paketen ausgecheckt werden (siehe CVS Glossar in Anhang B.1.1). Dabei ist klar, daß nicht<br />
die volle Funktionalität von CVS bereitgestellt werden kann und soll. Das Skript ist hauptsächlich<br />
zu dem Zweck gedacht, eine lauffähige Umgebung (d.h. Anlegen benötigter Verzeichnisse,<br />
Generieren eines Makefiles für alle lokal ausgecheckten Pakete etc.) bereitzustellen, in der ein<br />
Benutzer typischerweise nur ein oder zwei Pakete selbst verändern will. Details finden sich in<br />
Anhang A.2.<br />
Zuletzt bietet sich die Möglichkeit an, auf kommerzielle Produkte zur Softwareentwicklung<br />
zurückzugreifen, z.B. Rational Rose [Rat] und Sniff+ [Win].<br />
Rose ist ein “visuelles Modellierungswerkzeug”, d.h. es hilft bei der Darstellung von Zusammenhängen,<br />
Abläufen, Planspielen etc. Dabei wird die de facto Standardsprache für Modellierung<br />
eingesetzt: UML (Unified Modeling Language [Obj]). Es handelt sich also nicht um ein<br />
Werkzeug, mit dem man Code bearbeitet, sondern um ein Programm, das den eigentlichen Designprozeß<br />
vereinfacht. Da Rose nur auf Solaris zur Verfügung steht und zudem nur 10 Lizenzen<br />
bei DESY vorhanden sind, wird es nicht für das OO-Projekt eingesetzt.