12.12.2012 Aufrufe

ingo.strauch.diplom - Desy

ingo.strauch.diplom - Desy

ingo.strauch.diplom - Desy

MEHR ANZEIGEN
WENIGER ANZEIGEN

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.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!