Wiki-Systeme sind gunstige und einfach bedienbare Werkzeuge zur kollaborativen Erfassung und Verteilung von Wissen. Aufgrund der erfolgreichen Nutzung in vielen Internet-Gemeinschaften werden sie zunehmend auch im professionellen Unternehmensumfeld eingesetzt [MaWY06]. Insbesondere Softwareentwicklungsprojekte stellen ein klassisches Einsatzgebiet fur Wikis dar. Die Anwendungsfelder reichen dabei von der Ideensammlung und Dokumentation uber Fehlermanagement bis hin zur Projektkoordination. Damit werden jedoch nicht alle Potenziale fur eine umfassende Unterstutzung von Softwareentwicklungsprozessen ausgeschopft. Es stellt sich unter anderem die Frage, wie die Kernaktivitaten im Software-Engineering (SE) besser als bisher unterstutzt werden konnen. Dieser Beitrag zeigt die Einsatzpotenziale von Wikis in ausgewahlten Aktivitaten des SE auf. Nach einer kurzen Vorstellung der Wiki-Technologie betrachten wir insbesondere den Nutzen von Wikis in der Softwareentwicklung. Im Hauptteil dieses Beitrags werden mit Requirements Engineering (RE) sowie Traceability und Rationale Management (TRM) zwei konkrete Anwendungsszenarien vorgestellt. Im Rahmen des RE, der initialen Phase eines Softwareentwicklungprojekts, werden die Anforderungen an das geplante System erhoben, analysiert, spezifiziert und validiert. Wikis stellen hierbei eine leichtgewichtige und agile Alternative zu einer Reihe anderer kommerzieller und teilweise sehr komplexer Losungen dar. Im RE und in den folgenden Phasen der Softwareerstellung mussen neben den Abhangigkeitsbeziehungen der Anforderungen untereinander und zwischen den daraus entstehenden Artefakten auch die zugrunde liegenden Entscheidungsprozesse (engl. "Rationale") der beteiligten Personen festgehalten und nachvollziehbar gemacht werden. Zur Erfassung und Vernetzung dieser Informationen bedarf es eines systematischen TRM-Prozesses, fur dessen Realisierung wiederum Wiki2 Systeme aufgrund ihrer einfachen Benutzbarkeit bei gleichzeitig hoher semantischer Machtigkeit sehr gut geeignet erscheinen. Nach einer Vorstellung dieser beiden konkreten Einsatzmoglichkeiten folgt ein Ausblick auf so genannte „Semantische Wikis“, die traditionelle Wikis um die Moglichkeit einer maschinen-interpretierbaren Auszeichnung von Inhalten erweitern und somit zu einer integrierten Prozessunterstutzung beitragen konnen. Die hier vorgestellten Methoden und Werkzeuge wurden im Rahmen des Forschungsprojekts CollaBaWue entwickelt. Die Anwendungsbeispiele basieren auf dem Wiki-System der kollaborativen Softwareentwicklungsplattform CodeBeamer der Firma Intland, sind aber im Wesentlichen auf die meisten anderen Wiki-Systeme ubertragbar.
[1]
E. Ras,et al.
Self-organized Reuse of Software Engineering Knowledge Supported by Semantic Wikis
,
2005
.
[2]
Joachim Karlsson,et al.
A Cost-Value Approach for Prioritizing Requirements
,
1997,
IEEE Softw..
[3]
Ann Majchrzak,et al.
Corporate wiki users: results of a survey
,
2006,
WikiSym '06.
[4]
Michael Geisser,et al.
A Method for Collaborative Requirements Elicitation and Decision-Supported Requirements Analysis
,
2006,
IFIP Workshop on Advanced Software Engineering.
[5]
Dietmar Pfahl,et al.
Trade-off Analysis for Requirements Selection
,
2003,
Int. J. Softw. Eng. Knowl. Eng..
[6]
Markus Krötzsch,et al.
Semantic Wikipedia
,
2006,
WikiSym '06.
[7]
James A. Hendler,et al.
The Semantic Web" in Scientific American
,
2001
.
[8]
Felix Bachmann,et al.
Experience Using the Web-Based Tool Wiki for Architecture Documentation
,
2005
.