|
Agile Softwareentwicklung
Veranstalter: PD Dr. Bettina Buth
Veranstaltungstermin: 10.-14.2.2004 (Blockkurs)
Veranstaltungsort: MZH 7260
Zeit: jeweils 10:00-16:00
Fachgespräche, Do 19.2.2004: 10:00-14:00, MZH 5290
Fachgespräche, Do 26.2.2004: 17:00-19:00, MZH 8090
Hinter den Stichworten ``Agile Softwareentwicklung'' oder auch
``Extreme Programming'' oder kurz ``XP'' verbergen sich Alternativen
zu den klassischen Softwareentwicklungsprozessen (Wasserfallmodell),
die im engen Zusammenhang mit objektorientierten Programmiersprachen
und UML als Designansatz zu sehen sind. Agile Softwareentwicklung
verspricht eine flexible Durchführung von Softwareentwicklung in engem
Kontakt mit dem Kunden mit dem Ziel ``in-time'' und ``in-cost'' ein
qualitativ hochwertiges Endprodukt zu erzeugen. Die Philosophie der
Agilen Softwareentwicklung wird wie folgt zusammengefaßt:
- Individuals and Interaction over processes and tools
- Working Software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Zwei weitere bekannte Schlüsselbegriffe sind ``pair programming'' und
``test driven design''.
Ziel des Kurses ist es, einen Einblick in die Softwareentwicklung mit
agilem Ansatz zu vermitteln und die Vor- und Nachteile gegenüber
traditionellen Softwareentwicklungsprozessen herauszuarbeiten. Dabei
sollen neben dem Softwareengineering auch die Bereiche
Projektmanagement und Qualitätssicherung angesprochen werden. Dazu
soll als ein durchgehendes Beispiel eine Fahrstuhlsteuerung dienen,
die von den Teilnehmern des Projektes entwickelt werden soll.
Übersicht über die Themen:
- Tag 1:
- Überblick über SW Engineering allgemein
- Agile SW Engineering
- XP im Überblick
- Diskussion: Vorteile von AP
- Tag 2:
- RUP im Vergleich zu XP
- Requirements Capture/Inception bei AP am Beispiel
- Vorstellung Beispiel
- Teambildung
- User Stories
- Grobdesign /Analysis
- Agile Modellierung - Principles and Practices
- Tag 3:
- Analysis - Fortsetzung
- UML - Vorstellung von Modelltypen
- Modelle für das Beispiel
- Diskussion: Modellierung wann und wofür?
- Tag 4:
- Development
- Release Planning
- SW Development Environment
- Initial Iteration Planning
- SW Development Standard
- Diskussion: Dokumentation bei AP
- Tag 5:
- Development Fortsetzung
- Test Driven Development
- Refactoring
- Metriken und AP
Zusatzmaterial:
- Das Fallbeispiel Fahrstuhl, das in der Vorlesung behandelt wird, findet sich unter
fahrstuhl.pdf
- Die Java Coding Rules finden sich unter
SunJavaCodeConventions.pdf
- Folien zu SWE Modellen:
.ps
- Folien zu Agiler SWE - Manifest/Prinzipien:
.ps
- Folien zu XP:
.ps
- Folien zu RUP:
.ps
- Folien zu UML:
.ps
- Mitschrift von Falko Buttler:
.pdf
- TDD Beispiel von Gruppe27 - als Intellij IDEA project:
.zip
Ergänzende Literatur:
Scott W. Amber:
The Elements of UML Style
Cambridge University Press, 2003
ISBN 0-251-52547-0
David Astels:
Test-Driven Development - A Practical Guide
Prentice Hall Professional Technical Reference
ISBN 0-13-101649-0
Kent Beck:
Test-Driven Development By Example
Addison-Wesley Signature Series
ISBN 0-321-14653-0
Kent Beck, Martin Fowler:
Planning Extreme Programming
Addison-Wesley XP Series
ISBN 0-201-71091-9
Alistair Cockburn:
Agile Software Development
Addison-Wesley The Agile Development Series
ISBN 0-201-69969-9
Norman E. Fenton und Shari Lawrence Pfleeger
Software Metrics - A Rigorous & Practical Approach
PWS, ISBN 053495425-1
Martin Fowler:
UML Distilled (Third Edition)
Addison-Wesley / Pearson Education, 2004
ISBN 0-321-19368-7
Davor Gomik:
IBM Rational Unified Process -
Best Practices for Software Development Teams
see IBM Rational White Paper
Ian Summerville: Software Engineering
Pearson Studium, Informatik Software Entwicklung
ISBN 3-8273-7001-9
Georg Erwin Thaller: ISO 9001 - Software-Entwicklung in der Praxis
Heise Verlag
ISBN 3-88229-181-8
Interessante Web-Seiten:
- AgileAlliance
- Extreme Programming: A Gentle Introduction.
- XProgramming.com - an Extreme Programming Resource
- What is Extreme Programming?
- www.modelingstyle.info -- Home Page
- Manifesto for Agile Software Development
- www.agiledata.org Home Page
- Agile Modeling
- Agile Modeling (AM) Home Page
- Rational Literature:White papers
- Modellieren mit UML, Realisieren mit Java (Informatik am Gymnasium)
- OMG Document --
- argouml.tigris.org
- The Diagrams of UML 2.0
- UML 2 Use Case Diagram Overview
- UML 2 Activity Diagram Overview
- Artifacts for Agile Modeling: The UML and Beyond
- Pair Programming, an Extreme Programming practice
- Umbrello UML Modeller Download
|
|