Slide 1

Programmierpraktikum 1. Treffen

Thorsten Altenkirch

3. November 1999

Slide 2 Ziel

In Gruppen von 4–5 Teilnehmern wird eine netzwerkfähige JAVA-Applikation entwickelt. Dieses Programm soll das beliebte Spiel Die Siedler von Catan mit einer Client-Server-Architektur realisieren. Dabei soll das Serverprogramm den Spielzustand repräsentieren und mit den Klientprogrammen der einzelnen Mitspieler kommunizieren (über TCP/IP-Kanäle). Der Spielzustand soll auf Klientenseite graphisch dargestellt werden und Spielzüge sollen über Mausklicks eingegeben werden. Der Server überwacht die Einhaltung der Regeln. Computergesteuerte Spieler sind zunächst nicht vorgesehen (dies wäre natürlich eine interessante Erweiterung).

Slide 3 Organisatorisches

• Wöchentliches Plenum — Teilnahme obligatorisch!

• Arbeitsgruppen mit 3 – 5 Teilnehmern. Gruppenarbeit ist obligatorisch. Keine Trittbrettfahrer! Die Gruppenbildung sollte spätestens nach dem Plenum am 10.11. abgeschlossen sein.

• Jede Arbeitsgruppe bekommt einen Coach zugeteilt. Coaches sind:

– Thorsten Altenkirch

– Thomas Anderl

– Alessandro Macri

– Ralph Matthes

• Jede Gruppe muß mindestens einmal alle 14 Tage ihren Coach treffen! Mit allen Teilnehmern!

Slide 4 • Es werden Milestones festgelegt. Die Coaches überwachen, ob

die Milestones erreicht werden.

• Betreute Rechnerzeiten im CIP-Pool. Zeiten ?

• Die Gruppen bekommen group ids im CIP-Pool zugeordnet. Der Code soll in Verzeichnissen abgelegt werden, die nur den Mitgliedern der Gruppe (und ihrem Coach) zugänglich sind.

• Die Verwendung von CVS zur Versionskontrolle ist obligatorisch!

Slide 5 • Wichtige Materialien zum Praktikum sind über die Webseite

erreichbar! Aktuelle Informationen werden ebenfalls auf der Webseite bekannt gegeben.

http://www.tcs.informatik.uni-muenchen.de/lehre/WS99-00/ProgPrakt/

• Fragen, Probleme und Lösungen sollen mit dem Coach und/oder im Plenum besprochen werden!

• Wichtig: Die Teilnehmer sollen selber aktiv nach Informationen suchen! Coaches und Plenum helfen dabei.

Slide 6 Nächste Woche !

Probespielen von Siedler von Catan. Anschließend diskutieren wir Ideen und Probleme einer Implementation. Wer kann das Spiel (nur Basisset!) mitbringen?

Slide 7 Wichtige Inhalte

• Objektorientierte Analyse und Programmentwicklung

• Dokumentation des Codes (mit javadoc)

• Erstellung von Anwenderdokumentation

• Verwendung von Software-Management-Tools (z.B. CVS)

• Programmierstandards für Java Beans

• Benutzung von Testwerkzeugen (z.B. jdb)

• Entwicklung einer Teststrategie für eigenen und fremden Code

Slide 8 • Einführung in Client-Server-Programmierung

• Benutzung von Threads (Nebenläufigkeit)

• Benutzung des Swing API (Java 2) zur Entwicklung einer graphischen Oberfläche

• Zusammenarbeit an einem größeren Projekt in einer Gruppe Slide 9 Grober Fahrplan

Bis Ende November

• Erste Erfahrungen mit Client-Server-Programmierung am

Beispiel eines Chat-Systems Dezember

• Entwurf und Implementierung des Datenmodells für den Server.

• Implementation der wesentlichen Serverfunktionalität

(Überwachung und Fortschreibung des Spielgeschehens) Januar

• Entwicklung des Protokolls.

• Graphische Darstellung der Spielzüge durch den Klienten.

• Mausgesteuerte Eingabe der Spielzüge am Klienten.

Slide 10 Bis Mitte Februar

• Debugging und Testen!

• Erstellen der Anwenderdokumentation. Mitte bis Ende Februar

• Testen des Programms einer anderen Gruppe!

• Erstellen eines Testprotokolls.

• Beheben der eigenen Fehler, die durch das Testprotokoll der

anderen Gruppe aufgedeckt wurden. Ende Februar

• Endabnahme!

• Bei der Endabnahme festgestellte Bugs müssen innerhalb von 14 Tagen beseitigt werden.