Projektpräsentation von André Käckenmester, Marc Brünig, Jörg Straube, Sven Bartel, Carsten Söhner, Nina Haug
Agenda Organisation der Projektgruppe Entwicklungsumgebung Vorgehen Projektaufbau Live-Präsentation Lessons learned Ausblick Fragerunde
Organisation der Projektgruppe Geschäftslogik André, Marc, Jörg JSP Alle Projektmitglieder CSS Carsten, Sven Dokumentation Nina, Jörg, Marc Testfälle
Entwicklungsumgebung Eclipse J2EE Apache Tomcat 6.0.30 Oracle Database 10g XE SQL Developer SQL Developer Data Modeler SVN Repository (Google Code) Apache Tomcat: Servlet Container mit integriertem Webserver
Vorgehen (1) Ausarbeitung eines Anforderungskataloges und der Testfallspezifikation Grundlegender Projektaufbau aus der betrieblichen Praxis bekannt Umsetzung des Model-View-Controller-Prinzips Iterativ-inkrementelle Vorgehensweise
Vorgehen (2) Aufteilungen Bausteine gemäß Anforderungen nachbessern geplant in Bearbeitung vorgelegt akzeptiert erstellen vorlegen akzeptieren wiederaufnehmen
Vorgehen (3) Implementierung gemäß Anforderungskatalog, chronologische Orientierung an Usecases Registrierung Login Grunddaten Profil pflegen …
Projektaufbau (1) Model-View-Controller-Prinzip Verwendete Frameworks Model: Paket com.dhbw.alumni.model View: Struts2 Controller: Paket com.dhbw.alumni.server.* Verwendete Frameworks Struts 2 Spring
Projektaufbau (2) Java Bibliotheken JavaScript Cascading Style Sheets JavaMail Oracle FileUpload (Apache Commons) JavaScript Cascading Style Sheets
Live Präsentation
Lessons learned (1) Umsetzung ohne Vorkenntnisse aus betrieblicher Praxis in diesem Umfang kaum möglich Frameworks erleichtern das Arbeiten und reduzieren die Komplexität enorm Unterstützung durch „globale Java Community“ Vorherige Verteilung der Arbeitspakete unabdingbar
Lessons learned (2) Simultanes Programmieren im Team ohne Repository nicht möglich Stagnation durch Detailverliebtheit Regression des Projektstatus durch mangelnde Kommunikation Durchgehender Kundenkontakt zur anforderungskonformen Projektrealisierung notwendig Durch schwache Kohäsion der Gruppe kritische Prüfung der Alternativen
Ausblick Weitere Funktionalitäten Produktivsetzung Ausbau der Seminarfunktion zu einem Veranstaltungskalender Implementierung eines Lebenslaufes Produktivsetzung Präventive Maßnahmen zum Schutz des Systems vor Angriffen von außen (SQL-Injection) Open Source-Datenbanklösung verwenden
Fragerunde