Softwareentwicklungspraktikum CM

Veranstaltungsart: Praktikum
Semester: SS
Stunden: 0+4
Dozent:
Übungsleiter: ,
Hörerkreis: Studierende im vierten Semester.
Beginn:

Die Kickoffveranstaltung findet am Montag, den 19.04.2004 um 18:30 im Raum IZ 105 statt.

Inhalt:

Im Rahmen des SEP 2004 bietet die Kommunikation und Multimedia Forschungsgruppe des IBR die Entwicklung einer verteilten Netzwerk-Kollaborationsanwendung fuer professionelle Musik an.

Die Musikindustrie der letzten Jahrzehnte hat enorme Fortschritte bei der Darstellung und der Verbreitung der Musik erreicht. Diese wurden maßgeblich durch die technologischen Entwicklungen auf den Gebieten der Quellencodierung (Audiokompressionsverfahren und -darstellungsformate), der Netzwerktechnik (Streaming Protokolle) und nicht zuletzt der Speicherungstechnik (CDROM; DVDROM, usw.) ermoeglicht. Dennoch hat es sich bei der Kreierung von Instrumentalmusik und auch den dazugehörigen Proben im Wesentlichen nicht viel geändert. Die Musiker müssen sich in einem Probenraum treffen, um gemeinsam an einem Stück arbeiten zu können. Für viele räumlich weit von einander entfernte Musikspieler ist ein gemeinsames Proben oft ein Problem. Daher werden wir im kommenden Sommersemester eine verteilte Kollaborationsplattform entwickeln, die das Erstellen und Einspielen der Instrumentalmusik modernisieren soll.

Es handelt sich dabei um ein realistisches Projekt, bei dem die Studierenden an einem praktischen Beispiel die Entwicklung eines mittelgroßen Softwaresystems lernen und meistern werden. Dabei werden Erfahrungen in folgenden Programmiersprachen bzw. Entwicklungsumgebungen gesammelt: Netzwerkprogrammierung, C, C++, Java, JMF und Streaming Techniken. Dabei soll Teamarbeit eine entscheidende Rolle spielen. Das Gesamtsystem soll in 5 Hauptkomponenten (Audioaufnahme und -wiedergabe, Netwerkschicht, Speicherung und Bereitstellen der Tracks, Steuerung des Clients, Steuerung des Servers) aufgeteilt werden, wobei für jede Komponente eine kleine Gruppe von Studierenden die Verantwortung übernehmen wird.

Als Softwareentwicklungsmodell wird eXtreme Programming eingesetzt. Die Koordination zwischen den einzelnen Projektgruppen, DailyBuilds und Versionskontrolle werden unter Verwendung von CVS durchgeführt.

Die Abbildung zeigt die Hardwarekomponenten innerhalb des Systems.

Die wesentlichen Softwarekomponenten fuer den Client.

Die wesentlichen Softwarekomponenten fuer den Server.

Die Folien der Einfuehrungsveranstaltung sind als .pdf (2 MB) verfuegbar.

The English description of our project can also be downloaded as a .pdf file.