Programmierpraktikum, Sommer 2009
Motivation
Praktikumsleiter
Praktikumsleiter ist Max Berger. Hier gibts Hinweise, Max Berger zu treffen.
Ablauf
- Die Studierenden werden in Gruppen eingeteilt.
- Gruppenwünsche werden soweit wie möglich berücksichtigt.
- Eine Gruppe wird wahrscheinlich aus 2 oder 3 Studierenden bestehen.
- Jede Gruppe wählt ein Thema aus der Liste der Themen.
- Jedes Thema wurde von einem "Kunden" in Auftrag gegeben. Die Gruppenteilnehmer setzen sich selbstständig mit ihrem Kunden in Verbindung, um von diesem die genauen Anforderungen zu bekommen.
- Im Laufe des Semesters ist das angegebene Projekt zu implementieren.
Kundeninteraktion
- Ein Kunde ist einer der Mitarbeiter an unserem Lehrstuhl
- Sofern nicht Projektabhänging verändert ist der Kunde nur am lauffähigem Programm (bzw. der API) interessiert. Quellcode wird nicht vom Kunden, sondern vom Praktikumsleiter geprüft!
- Der Kunde interessiert sich nicht für die Implementierungsdetails, sondern nur für das Endpodukt!
- Es sind mindestens 3 Treffen mit dem Kunden vonnöten:
- Pflichtenheft
- Beim ersten Treffen erfrägt das Team vom Kunden die
Anforderungen. Darauf basierend erstellt das Team ein Pflichtenheft,
welches vom Kunden genehmigt wird (kann per email passieren)
Für das Pflichtenheft ist keine besondere Form von nöten, eine Stichpunktsammlung ist akzeptabel. - Zwischendemo
- Bei der ersten Demo zeigt das Team dem Kunden eine lauffähige Version. Auf Basis der Demo werden die Anforderungen überarbeitet und das Pflichtenheft aktualisert. Auch die aktualiserte Version wird vom Kunden abgezeichnet.
- Finale Demo
- Bei der finalen Demo führt das Team das Projekt vor, und es wird vom Kunden "abgenommen".
Die Demos müssen vom einem frischen checkout laufen, auf einer Maschine die nicht dem Entwicklerteam untersteht!
Mehr Treffen / Demos mit dem Kunden können vereinbart werden, sofern dies vom Team oder vom Kunden gewünscht wird.
Projektserver
Als Projektserver steht goedis.dps.uibk.ac.at zur Verfügung. Jedes Team erhählt dort einen Account (dps00x), in dem ein Mercurial Repository zu erstellen ist und eine Projekthomepage mittels Maven erstellt wird.
- Als Mercurial Verzeichnis kann "hg" verwendet werden.
- Die Webseite muss in public_html liegen und ist dann unter http://goedis.dps.uibk.ac.at/~dps00x/ erreichbar.
- Der Server ist nur für Projektbezogene Arbeiten zu verwenden!
Termine
Entgegen der Ankündigung im LFU findet das Praktikum nicht alle zwei Wochen statt, es wird mehrere Vortragstermine geben. Bei jedem Vortragstermin präsentiert das Team den aktuellen Stand.
- 9.3., 14:15 - 16:00, SR24, Einführung und Themenvorstellung (durch den Praktikumsleiter). Einführung in die zu verwendenden Tools und Qualitätsmetriken.
- 20.4., Vorstellung des Pflichtenhefts und geplante Architektur.
- 25.5., Zwischenbericht nach der Zwischendemo mit dem Kunden (voraussichtlich 16:30).
- 29.6., Abschlusspräsentationen.
Zusätzlich sind Treffen mit dem dem Kunden und evtl. dem Praktikumsleiter notwendig.
Benotung
Die Benotung setzt sich zusammen aus:
- Präsentationsnoten
- Qualität des Quellcodes (anhand vorgestellter Softwaremetriken)
- Bewertung durch den Kunden
Dabei werden Teilnoten von 1 - 5 vergeben, das gemittelte Ergebnis wird kaufmännisch gerundet.
Voraussetzungen
Soweit im Thema nicht anders verlangt, ist die Programmiersprache Java zu verwenden. Als Projektmanagement wird Maven verwenden, als Revisionskontrollsystem Mercurial.
Das Praktikum wendet sich primär an Informatik-Studierende im 6. Semester. Studierende im 4. Semester werden zugelassen, sofern diese über eine aussreichende Programmiererfahrung verfügen. Studierende im 2. Semester können nicht zugelassen werden.
Themen
Die Liste der Themen ist:
- GUI für WMSX, Martin, Georg
- GUI für Varianten der Erlang-Formel, Lukas F., Lukas S.
- Layoutalgorihmen für Graphen, Ulrich, David
- Version Control for XML DataChristian S., Lukas A.
- Native Java Interface for Web ServicesChristian L
Siehe auch die Liste der Themen für das Programmierpraktikum.
Tipps
Praktische Java Tipps (PDF).
Praktische Java Tipps (online Version).
Hinweise
- Auf Goedis ist das home-directory nicht traverable, daher erscheinen die webseiten nicht: chmod o+x $HOME.
- SCM einstellung im pom.xml fuer mercurial (angenommen das Mercurial verzeichnis ist $HOME/hg):
- Automatische Website auf goedis:
In der pom.xml: Dann sollte noch eine Datei auf dem lokalem rechner in $HOME/.m2 namens settings.xml erzeugt werden. Hier eine Beispiel settings.xml für goedis (ist natürlich anzupassen).
Nun reicht ein einfaches mvn site-deploy zum erzeugen und hochladen der webseite. - Mercurial for Windows + Anmeldung und Synchronisierung mit
goedis.dps.uibk.ac.at
Dank an: Romedius