Agile Web-Entwicklung
Universität Bremen 2010-01-20/2010-02-15
Prof. Dr.-Ing. Carsten Bormann
cabo@tzi.org
Anwendungsentwicklung: Revolution
- Immense Produktivitätszuwächse
- Web-Anwendungen: z.B. Ruby on Rails
- Agile Entwicklung
- Nachhaltige, standardbasierte Web-Technologien
- (X)HTML, CSS, JavaScript
- ➵ Web 2.0 (Atom/RSS, REST)
- Moderne Methoden
- Paired (“Extreme”) Programming, TDD (Test-Driven Development)
- Dynamische Programmiersprachen (JavaScript, Perl, PHP, Python, Ruby)
- DSL (Domain-Specific Languages)
- Convention over Configuration, DRY (don’t repeat yourself)
Wann, wo
- MZH 7230
- 15.02.–27.02.2010, 09:00–21:00
- 6 CP in Informatik oder Medieninformatik
- Carsten Bormann (Prof.)
- bis zu 50 Teilnehmer in 25 Paaren
- Ihr habt alle vorher Ruby gelernt
- Dazu Vorbereitungstermin am 20.01.2010
Carsten Bormann
- Promoviert an der TU Berlin 1990
- Offene Dokumentverarbeitung (ODA/SGML)
≅ „XML-Technologien“
- Universität Bremen
- Honorarprofessor für „Internet-Technologie“
- TZI-Vorstand (Leitthema Systemqualität und Informationssicherheit)
- Vorlesungen in Rechnernetze und Medieninformatik
- UdK Berlin
- Studiengang „Electronic Business“
Technical Literacy
- Technische Universität Helsinki (jetzt: Aalto-Universität)
- Studiengang „Elektro- und Kommunikationstechnik“
Protocol Design
LV-Stil
- ≠ MTV
- Lehrveranstalter = Katalysator
- Vorlesungsanteil, Selbststudium, Lernen im Projekt
- Einzelne Projekte
- Unabhängige Arbeitsgruppen: je 1 oder 2 Paare
- Keine Integration
- Über Arbeitsgruppen hinaus: Diskussion, Austausch (Ideen, Code!)
- Realistische Kunden
- Deal: Einsatz der Kunden erfordert Klärung der Rechte an den Ergebnissen
Tagesablauf
09:00..11:30 |
„Vorlesungsanteil“ |
12:30..13:30 |
(evtl. Überlauf Vorlesungsanteil) |
12:30..17:00 |
Praktische Arbeit I, Coaching |
17:00..18:30 |
Kommunikation |
18:30..21:00 |
Praktische Arbeit II |
- Schriftführer des Tages (→Wiki)
- Coaching
- Informelle Zusammenarbeit von Gruppen
- Kommunikation
- Schneeball-Prinzip (6×4→3×8)
- Kurzvorträge aus den 8er-Gruppen
Coaching
- Gruppe X sucht Gruppe Y am Rechner auf
- Gruppe X versucht, die Arbeit von Gruppe Y zu verstehen
- Gruppe X gibt dabei Ratschläge an Gruppe Y
- Gruppe X lernt von Gruppe Y
- Jede Gruppe dokumentiert, was sie als Input bekommen hat, im Coaching-Protokoll der anderen Gruppe
- Ergebnisse
Scheinkriterien
Bewertung wie studentisches Projekt:
- Ergebnis (fertige Rails-Anwendung)
- Mitarbeit, Fragen, Beiträge
- im Frontal-Anteil
- im Coaching
- im Kommunikationsabschnitt
Anwesenheit wird als selbstverständlich angenommen
- Bitte gegebenenfalls abmelden
Struktur Woche 1
Mo |
Intro, was ist Rails, Webshop bauen |
Di |
Migrations, Views und Controller, Routing, Agile Dev, Projekt und Kunden |
Mi |
Modelle: ActiveRecord, Validierung |
Do |
TDD |
Fr |
Security; AJAX, RJS |
Sa |
Sprint! |
Ziele:
- Nach zwei Tagen arbeiten können
- Alles für „feature-complete“ in einer Woche
Struktur Woche 2
Mo |
I18n, Unicode |
Di |
REST |
Mi |
Mehr Security |
Do |
Performance, Deployment |
Fr |
Projektpräsentationen |
Sa |
Finishing |
Ziele:
- Mehr Details, Verfeinerung
- Projekt fertigstellen
- Sa 21:00 ist ultimo für Checkins
- Bei Interesse: Independent Study (AWE++)
Hausaufgabe (Vorbereitung)
- Ruby lernen
- UNIX-Shell in Ruby schreiben
- Kommandos und ihre Argumente
- Ein-/Ausgabeumlenkung
- PATH
- Pipes
- Quoting (double, single, backquotes)
- ...
- Subversion-Repository anlegen (svn+ssh)
- Zugriff für
cabo
- Abgabe durch Pointer auf Repo (mail an
cabo@tzi.org
)