Anwendungsdesign
Problemstellung:
- Webanwendungen sollen in der Regel kurzfristig verfügbar sein. An Stelle
von Monaten wird in Wochen gerechnet.
- es handelt sich oft um Projekte ohne Vorbild, daraus resultierend häufige
Wechsel der Anforderungen. Die fliessende Modifizierung der Anforderungsdefinition
ist möglich.
- Wandel von starren Projekten zu wachsenden, sich verändernden Lösungen.
Lösungsansatz:
- Wieder- und Mehrfachvererbbarkeit => OOP. Bei PHP ist Objektorientierung
mit einer bestimmten Abstraktionstiefe resourcenfeindlich. Die Entwicklung befindet
sich oft im Widerspruch saubere Zerlegung - Geschwindigkeit
- Es wird das "KISS"-Prinzip verwendet - "Keep it simple, stupid". Die eigenen
Modul APIs werden trivial gehalten, die Namen der Funktionen sind selbsterklärend.
- Hoher Grad an code reusage. Dies läßt sich durch eine häufige Anwendung von
Bibliotheken, evtl. auch in einem Application Framework, erreichen. Diese Bibliotheken
unterliegen in der Regel einem eigenen Versionsmanagement (Bsp.: PHPLIB)
- ständiger Überblick über Status und Änderungen. Die Dokumentation muß ständig
und parallel zur Softwareentwicklung vorhanden und aktuell sein (Lösung: inline
documentation via PHPDoc.
- evolutionäres Prototyping: Es wird frühzeitig ein funktionierender Prototyp
entwickelt - in der Regel bereits in der ersten Woche. Prototypen werden nicht
zwangsläufig verworfen, sondern es wird auf ihnen weiterentwickelt. Es wird eine
hohe Kapselung der Bestandteile notwendig, um einen Austausch von Modulen
schmerzlos zu überstehen.
|