Agile Softwareentwicklung

Iconix

23.08.2010
Iconix stellt, wie RUP (Rational Unified Process), eine UML-bezogene Softwareentwicklungsmethode dar, die allerdings viel leichtgewichtiger ist als RUP.
Iconix-Prozess
Iconix-Prozess
Foto: BQI

Der Iconix-Prozess besteht im Allgemeinen aus vier Phasen (siehe Abbildung) und verwendet insgesamt vier, auf der Unified Modeling Language (UML) basierende Diagramme (Use Case, Sequence, Domain, Class), um priorisierte Anwendungsfälle (Use Cases) durch Iterationen in einen lauffähigen Code zu überführen. In jeder Phase erfolgt eine Überprüfung der zuvor abgeschlossenen Arbeit und bei Bedarf eine Anpassung.

Requirements:

Als erstes werden funktionale Anforderungen für das System aufgenommen. Um einen gemeinsamen Wortschatz für unmissverständliche Kommunikation zwischen den Teammitgliedern zu schaffen, wird ein Wörterbuch aufgesetzt (Domain Modeling). Ziel ist hierbei sicherzustellen, dass jeder im Projekt den Problembereich zweifelsfrei versteht. Dieses Wörterbuch definiert zudem den Umfang und bildet die Grundlage für die Anwendungsfälle. Am Ende dieser Stufe wird sichergestellt, ob die Anwendungsfallbeschreibungen auch mit den Kundenerwartungen übereinstimmen. Die Überprüfung der Anwendungsfälle erfolgt in kleinen Bündeln, um sie zu priorisieren und dann, im nächsten Schritt (Analysis/Preliminary Design), zu entwerfen.

Analysis/Preliminary Design:

In dieser Phase wird die Entwicklungsstrategie festgelegt. So werden Annahmen über den Entwurf wie auch der technischen Architektur getroffen. Mit der Robustness Analysis sollen potenzielle Fehler innerhalb der Anwendungsfallbeschreibungen aufgedeckt werden. Dadurch werden fehlende Klassen erkennbar gemacht, Mehrdeutigkeiten können korrigiert und Attribute zu den Domain-Objekten hinzugefügt werden. Hinterher soll das Domain Modell aktualisiert werden. Bevor zur nächsten Stufe gewechselt wird, erfolgt wiederum eine Überprüfung der in dieser Phase verrichteten Arbeit.

Detailed Design:

Nachdem in der vorigen Phase lediglich eine Entwicklungsstrategie definiert wurde, wird diese hier umgesetzt. Domain Model und Anwendungsfallbeschreibungen werden eingesetzt, um das System zu entwerfen. So wird das Domain Model in ein Klassendiagramm (Class) überführt. Die Anwendungsfallbeschreibungen werden eingesetzt, um Ablaufdiagramme (Sequence) zu erstellen. Auch am Ende dieser Phase findet eine Überprüfung statt.

Implementation:

Auf Basis der vorangegangen Phasen findet nun die Programmierung sowohl der Software als auch der Unit-Tests statt. Klassen- wie auch Ablaufdiagramme werden dabei als Richtlinie verwendet. Die eigentliche Entwicklung erfolgt nach Test Driven Development (TDD). Die Stufen "Analysis/Preliminary Design", "Detailed Design" sowie "Implementation" werden so lange durchlaufen, bis die Software den gewünschten Kundenanforderungen entspricht.

Bewertung BQI Research

Foto: BQI

Iconix deckt die Bereiche Qualitäts-Management (QM), Requirements-Management (RM), Systemdesign (SD), Implementierung (IMP) und Test (T) vollständig ab. Recht gut ist die Methode auch, wenn es um die Integration (INT) und das Projekt-Management (PM) geht. Defizite gibt es bei der Wartung (W), der Betrieb (B) wird überhaupt nicht berücksichtigt.

  • Bekanntheitsgrad und Verbreitung sind eher gering bis mittel.

  • Es existiert keine spezielle Tool-Unterstützung.

  • Die Methode ist nicht normiert/standardisiert oder zertifiziert.

  • Keine Lizenzierung erforderlich.

  • Support ist vorhanden.