Im Rahmen der Vorlesung “Advanced Software Engineering” im Wintersemester 2003/04 wurde ein Studentenprojekt mit dem Namen Mini-Cybercoach eingeführt. Mini-Cybercoach ist eine multi-tier Anwendung für die Verwaltung von Trainingsdaten verschiedener Sportarten. Das Projekt beschränkte sich auf die Realisierung der Geschäftslogik mit Enterprise JavaBeans. Die vorliegende Masterarbeit besteht im Wesentlichen darin, das vorhandene Projekt zu vervollständigen und auszubauen.
Auf der Seite des Presentation-Tiers konzentriert sich die Arbeit sich vor allem auf die Konzeption und Implementation einer fortgeschrittenen Webanwendung. Der Business-Tier wird mit Transaktionen und Sicherheit erweitert. Daneben wird die bestehenden Geschäftslogik mit weiteren Anwendungsfällen ausgebaut.
Das Projekt baut auf verschiedenen Frameworks und Werkzeugen auf. Für den Business- Tier wird weiterhin Enterprise JavaBeans eingesetzt, zusammen mit anderen J2EE-APIs. Als Grundlage für den Presentation-Tier wird Struts verwendet. Struts ist ein Framework für die Entwicklung von Webanwendungen, das auf den J2EE-Technologien Servlet und JSP aufbaut. Daneben kommen Open-Source-Werkzeuge wie XDoclet, Ant und Cactus zum Einsatz um den Entwicklungsprozess zu automatisieren.
Ein wesentlicher Punkt bei Frameworks wie J2EE und Struts ist die Möglichkeit, die zur Verfügung gestellten Dienste auf deklarative Weise konfigurieren zu können. Dadurch wird ein hohes Mass an Flexibilität erreicht, indem Eigenschaften verändert werden können, ohne dass dafür der Code der Anwendung verändert werden muss. Für das Cybercoach-Projekt wird versucht, die verwendeten Dienste durchgehend deklarativ anzupassen. Ein Hauptaugenmerk der Arbeit liegt auf den Konzepten des Software Engineering. Eine wichtige Rolle spielt insbesondere die Softwarequalität. Kriterien wie Robustheit, Wiederverwendbarkeit, Erweiterbarkeit und Wartbarkeit werden unter anderem durch die Anwendung von Design Patterns erfüllt. Sowohl für den Business-Tier, als auch für den Presentation-Tier werden verschiedene Core J2EE Patterns angewendet. Ein Grund für die Wahl von Struts als Grundlage für die Webanwendung ist, dass das Framework bereits mehrere Presentation- Tier-Patterns umsetzt. Die verwendeten Patterns werden in der vorliegenden Arbeit genau beschrieben.
Es wird versucht, aktuelle Praktiken des Software Engineering anzuwenden. Dazu gehören zum Beispiel die Realisierung des Projekts mit einem agilen Entwicklungsprozesses, das automatisierte Testen der Anwendung und die Verwendung von UML für die Dokumentation.
Cybercoach Website: http://diuf.unifr.ch/softeng/cybercoach