Praxis der Softwareentwicklung Group Trip Cloud Foto: Psoup216 http://www.flickr.com/people/psoup216/ Prof. Dr. Max Mustermann | Musterfakultät
Motivation und Projektziele Applikation zur Verwaltung und Abrechnung von Gruppenreisen & -ereignissen Beschäftigung mit Android Programmierung Realisierung eines mittelgroßen Softwareprojekts im Team PSE - Group Trip Cloud
Anforderungen an die zu entwickelnde Applikation Pflichtkriterien Gruppenverwaltung pro Reise/Ereignis Geteilte Einkaufsliste(n) für (Unter)gruppen Aufteilung von Auslagen auf einzelne Gruppenmitglieder Austausch von Kontodaten & Endabrechnung Kommentarfunktion bzgl. Einkauflistens/Auslagen/… Synchronisation aller Daten der Gruppenteilnehmer untereinander Offline vollständig nutzbar Sinnvolle Zusammenführung konkurrierend editierter Daten Verwendung existierender Infrastruktur Google Drive, Dropbox, … PSE - Group Trip Cloud
Anforderungen an die zu entwickelnde Applikation Wunschkriterien Unterstützung für unterschiedliche Währungen Kurs zum Zeitpunkt der Ausgabe Zugriff per Webinterface Zahlungserinnerungen per Email, Instant Messenger, … Importieren älterer Veranstaltungen für regelmäßige Reisen mit ähnlicher/gleicher Gruppenzusammensetzung Änderungshistorie zur Anzeige der letzten Änderungen und Rückgängig machen falscher Einträge Eure eigenen Ideen! PSE - Group Trip Cloud
Werkzeuge und Umgebung Vorgaben: Programmiersprache: Java IDE: Eclipse Unit-Tests: JUnit SDKs: Android SDK Versionsverwaltung: SVN Alle weitere Tools optional (z.B. Jcov, Emma) bzw. nach euren Wünschen Entwickelte Applikation sollte grundsätzlich auf verschiedenen Smartphones und Tablets funktionieren Unterstützt werden sollten auf jeden Fall Android 4.0 und höher Api Level 14 und höher PSE - Group Trip Cloud
Organisatorisches Getrennte Anmeldung für PSE und TSE notwendig! Anmeldezeitraum: 22. April – 20. Mai (verbindlich) Danach keine An- und Abmeldung mehr möglich: Aussteiger bekommen 5.0 SVN Accounts bekommt ihr im Lauf der Woche Phasenartefakte und Quellcode kommen regelmäßig ins SVN Keine Binärdateien oder kompilierte Builds in das SVN einstellen Wöchentliche Gruppentreffen Anwesenheitspflicht aller Teammitglieder! (Wird protokolliert) Unsere Mailingliste: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/tm-pse Kommunikation im Team: Überlegt euch, wie ihr effizient miteinander arbeiten könnt (Skype, Mailingliste, Instant Messaging, Trac/Bugzilla …) PSE - Group Trip Cloud
Terminfindung für Gruppentreffen Montag Dienstag Mittwoch Donnerstag Freitag 09:45-11:15 11:30-13:00 14:00-15:30 30.04.2013 Treffen Regelmäßiger Termin 15:45-17:15 PSE - Group Trip Cloud
Ablauf 5 Phasen (klassisches Wasserfallmodell): Pflichtenheft / Projektplanungsphase 29.04. – 19.05. Entwurfsphase 20.05. – 16.06. Implementierungsphase 17.06. – 14.07. Test- und Qualitätssicherungsphase 29.07. – 18.08. Interne Abnahme u. Abschlusspräsentation bis 15.09. Pro Phase gibt es jeweils einen Phasenverantwortlichen Am Ende jeder Phase gibt es ein kleines Kolloquium (kurzer Vortrag und kritische Fragen) Ergebnisse von wöchentlichen Treffen werden von Phasenverantwortlichen protokolliert Der/die Phasenverantwortliche stellt das Artefakt der jeweiligen Phase vor Alle kommen mal dran: Wer übrig bleibt übernimmt die Abschlusspräsentation PSE - Group Trip Cloud
Phase I: Pflichtenheft Zeitraum: 29.04. – 19.05. Phasenverantwortlich: Abgabetermin Pflichtenheft: Di: 21.05. – 12:00 Uhr Phasenziele: Projektplanung Rahmenbedingungen klären Zielsetzung / Leistungsmerkmale des Systems festlegen Artefakt: Pflichtenheft (ca. 20 Seiten) Sollte enthalten: Muss-, Wunsch- und Abgrenzungs-Kriterien Produktfunktionen Produkteinsatz, -umgebung, und -daten Entwicklungsumgebung, Werkzeuge, verwendete Geräte… Systemmodell (mit Übersicht Hard- und Software) Bedienoberfläche (Entwürfe der GUI z.B. als Skizzen, Konzeptgrafiken, Screenshots) Ausgewählte Testfallszenarien Qualitätszielbestimmungen Lizenzmodell für Veröffentlichung (z.B. GNU GPL …) Glossar PSE - Group Trip Cloud
Bis zum nächsten Treffen Anmelden für PSE und TSE! Anmelden auf Mailingliste: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/tm-pse Gewünschte Technologie und Tools auswählen und Kenntnisse auffrischen (z.B. für UML, Wikis, Trac/Bugzilla …) Model-View-Controller auffrischen (siehe SWT-Skript, Kapitel Architekturstile) Zuständigkeiten im Team klären (Wer macht was? Wie wird kommuniziert?) Arbeitsumgebung einrichten: http://developer.android.com/sdk/index.html Eclipse, ADT, SDK (SDK Installation aus ADT möglich) Android-Tutorial durcharbeiten: http://developer.android.com/training/basics/firstapp/index.html Wunschkriterien überlegen PSE - Group Trip Cloud