Projekt Web-Engineering Nina Aschenbrenner / Ruben Jubeh 1 FG Software Engineering Projekt Web Engineering Projektarbeit des Fachgebiet Software Engineering Nina Aschenbrenner, Ruben Jubeh
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
1
FG Software Engineering
Projekt Web Engineering
Projektarbeit des Fachgebiet Software Engineering
Nina Aschenbrenner, Ruben Jubeh
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
2
FG Software Engineering
Web-Applikationen
User Interface
Business-Logic
Datenmodell
DB
Java, C#, PHP, Python, Ruby…HTML, XML, Javascript,Flash, Silverlight
Client Server
Controller
Persistenz-FrameworksData-binding
Schnittstellen-techniken
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
3
FG Software Engineering
Ajax
User Interface
Business-Logic
Datenmodell
Java, C#, PHP, Python, Ruby…HTML, XML, Javascript,
Controller
Client Server
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
4
FG Software Engineering
AJaX
Asynchronous JavaScript and XML
Asynchrone Kommunikation mit dem Server
Benutzer kann nach dem Start der Anfrage weiterhin mit der Applikation interagieren
Nur benötigte Teile der Anwendung oder reine Nutzdaten werden nachgeladen
Schlüsseltechnik für Web 2.0
Vergleich Ajax – klassischer Ansatz
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
5
FG Software Engineering
Ziele
● Praktische Realisierung einer Webanwendung– Vorlesungsverwaltung Programmiermethodik
– Hausaufgaben “online“
– Universell einsetzbar für andere Vorlesungen
● Schwerpunkt: Programmieren– Im klassischen Entwicklungsprozess: Anforderungen,
Analyse, Design, Tests, Implementieren
● Arbeit in Kleingruppen oder gemeinsam– Verteilte Aufgaben
● 4 oder 8 SWS nach Absprache!
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
6
FG Software Engineering
Ablauf
● Wöchentliche Treffen– Austausch, Diskussion
● Ca. alle drei Wochen ein Sprint– 2 Tage gemeinsam ‚hacken‘– Möglichst viel Funktionalität schaffen– XP - Pair Programming– Abschluss-Sprint mit ‚Konferenzbeitrag‘
● Passend zum Seminar des Fachgebiets● Zwischen den Sprints selbstständig arbeiten
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
7
FG Software Engineering
Existierendes System
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
8
FG Software Engineering
„Hausaufgabensystem“
● Online Abgabe der Hausaufgaben– Text-Fragen, Multiple Choice, ...– Diagramm-Fragen– Programmierte Beispiele u/o Fujaba-Modelle
● Können auf dem Server ausgeführt werden● Automatisch Testen?● Sicherheit?
● Benutzerverwaltung: Anbindung ans HRZ● Export, PDF zur Archivierung
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
9
FG Software Engineering
Beteiligte Techniken
● Verteilte Web-Anwendung● User Interface
– Google Web Toolkit, SmartGWT● Applikationsmodell
– Fujaba● Persistenz
– Coobra● Web-Server / Integration
– Apache Tomcat
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
10
FG Software Engineering
Persistenz: CoObRA2
● Speichermechanismus von Fujaba– Wiederverwendbar für Laufzeit-Daten speichern
● Change-basiert– Undo/Redo Funktionalität enthalten
● Server speichert Datei zentral, Zugriff über Netzwerk
● Läuft teilweise auch im Browser● Im Moment nur unidirektionale Updates
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
11
FG Software Engineering
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
12
FG Software Engineering
Aufgabenteilung
● Einarbeitung in beteiligte Techniken (1 Woche)– GWT/SmartGWT: Hello World und Login-Fenster (CC, CK)
- zeige Datenbindung– Coobra - Persistenz: Lade Laufzeitdaten in Server, dann
programmatisch Checkout und im eDOBS live verändern (2-3P)
– Codegenerator für GWT - Reflektive Assoc-Zugriffe generieren (TG,DK)
– Aktivitätsdiagramm-Methode schreiben: kopiere Hausaufgabe mit zugehörigem Dokument, aber ohne Antworten... (OB, SK)
– Authentifizierung in Betrieb nehmen (1P)● Danach Spezialisierung der Kleingruppen: Siehe
Aufgabenstellung im CVS
Projekt Web-Engineering
Nina Aschenbrenner / Ruben Jubeh
13
FG Software Engineering
Weitere Informationen