Bedingt durch die in den 60er Jahren sich abzeichnenden Schwierigkeiten bei der Erstellung großer Softwaresysteme, der sogenannten Softwarekrise, sind in den letzten Jahrzehnten im Fachgebiet des Software-Engineerings eine Reihe von Vorgehensmodellen, Entwicklungsmethoden und Entwicklungswerkzeugen konzipiert worden, die den Softwareentwicklungsprozeß plan- und kalkulierbar machen [PS94].
Ein Vorgehensmodell beschreibt dabei den Lebenszyklus eines Software-Produkts in Form von Aktivitäten. Durch ein Vorgehensmodell wird festgelegt, in welcher Reihenfolge die Aktivitäten durchgeführt werden können und welche Überschneidungen zulässig sind. Ein Vorgehensmodell liefert außerdem Informationen über die für eine Aktivität relevanten Objekte und die einzusetzenden Methoden bzw. Methodologien und Softwarewerkzeuge. Als eine Methodologie bezeichnet man eine Vorschrift zur Durchführung einer Aktivität und zur Repräsentation entsprechender Ergebnisse.
Moderne Softwareentwicklung ist heute ohne Werkzeugunterstützung nicht mehr denkbar. Erst der Einsatz von CASE-Tools (Computer Aided Software Engineering) -- das sind integrierte Werkzeuge, die den gesamten Entwicklungsprozeß von der Planung bis zur Wartung unterstützen [Bal92] -- gewährleistet die Einhaltung der im Vorgehensmodell eingesetzten Methodologie und damit die Planbarkeit und kosten- und termingerechte Durchführbarkeit eines Software-Projektes.