Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.

. .
Suche

next up previous
Nächste Seite: Aufgabe: Releasemanagement (50 Punkte) Aufwärts: aufgaben Vorherige Seite: Aufgabe: Reengineering (50 Punkte)

Aufgabe: Versionsmanagement (100 Punkte)

Zeitschätzung: 24h

Zur Weiterentwicklung von PI-SET/TT soll der Quellcode in einem anderen Versionsmanagement-System (CVS) gespeichert werden. Da auch externe Programmierer eingesetzt werden, die nicht innerhalb des Firmennetzwerks arbeiten, soll ein entfernter Zugriff auf CVS möglich sein.

  1. Informieren Sie sich, wie man ein CVS-Repository für den entfernten Zugriff einrichtet. Ihr Chef wünscht, daß sich alle Mitarbeiter mit einem Login-Namen und Passwort bei CVS anmelden müssen, bevor sie darauf zugreifen können.

  2. Nachdem Sie sich mit der Dokumentation beschäftigt haben, legen Sie ein neues CVS-Repository für eine Gruppe von drei Programmierern an, denen Sie einen Passwortzugang nach CVS einrichten. Nutzen Sie hierfür das pserver-Protokoll von CVS. Das CVS-Repository muß im Verzeichnis $HOME/cvshome liegen, damit der Zugriff mittels pserver-Protokoll funktioniert. Der Zugriff erfolgt über die Maschine pi72.informatik.uni-siegen.de.

  3. Anschließend erstellen Sie die neue Struktur für die Software, die Sie sich in Aufgabe 2.3 überlegt haben. Um den Quellcode aus dem alten CVS-Repository unter Beibehaltung der Versionshistorie in das neue Repository zu überführen, gibt es mindestens zwei Ansätze. Beschreiben Sie die beiden Ansätze und diskutieren Sie die Vor- und Nachteile. Realisieren Sie einen Ansatz.

  4. Markieren Sie alle aktuellen Versionen, um später den Ausgangszustand der Änderungen wieder rekonstruieren zu können.

  5. Wie Sie bei der Umstrukturierung sicherlich festgestellt haben, basiert PI-SET/TT auf der Komponente genform. An dieser soll unabhängig entwickelt werden können, ohne immer den ganzen Quelltext von PI-SET/TT mit auschecken zu müssen. Nutzen Sie hierzu die Möglichkeiten von CVS.

  6. Ihr Chef hat von einem Bekannten gehört, der ebenfalls Chef eines kleinen Softwarehauses ist, daß es mit CVS möglich sein soll, sich über Änderungen an einzelnen Dateien informieren zu lassen. Er möchte, daß Sie CVS so konfigurieren, daß er über alle Commits per E-Mail informiert wird.

  7. Desweiteren möchte Ihr Chef, daß Sie eine Möglichkeit finden, damit er sich darüber informieren kann, welcher Programmierer wann welche Zeile in einer bestimmten Datei geändert hat und wie der aktuelle Zustand einer Datei im Workspace ist.

  8. Ihr Chef möchte den Programmierern ein Werkzeug zur Verfügung stellen, mit dem es möglich ist, Unterschiede zwischen zwei Datei-Versionen anzuzeigen und zu mischen. Er nannte Ihnen tkdiff aus dem tkcvs-Paket und Guiffy. Begutachten Sie beide Werkzeuge. Welche Unterschiede gibt es und welche Gemeinsamkeiten?

  9. Während Sie das CVS-Repository vorbereiten, hat ein Freelancer einige bahnbrechende Funktionen implementiert (PI-SET/TT - jetzt noch besser). Sie wissen, daß der Freelancer auf der Version vom 1.1.2001 aufgesetzt hat. Deswegen sollen Sie den Zustand des Repository vom 1.1.2001 auschecken und darauf einen Nebenentwicklungszweig anlegen. Der Quellcode vom Freelancer soll dann in den Nebenentwicklungszweig eingespielt werden.

  10. Mischen Sie den Quellcode des Nebenentwicklungszweigs in den Hauptentwicklungszweig ein. Beachten Sie, daß Sie evtl. auftretende Konflikte nicht lösen, sondern sich nur eine Lösungsstrategie überlegen.

Material: 6.3


next up previous
Nächste Seite: Aufgabe: Releasemanagement (50 Punkte) Aufwärts: aufgaben Vorherige Seite: Aufgabe: Reengineering (50 Punkte)
Michael Welle 2004-02-15