Die Entwicklung eigener Software beziehungsweise die Anpassung bestehender Software gehört heutzutage in nahezu allen Branchen zum täglichen Geschäft. Gleichwohl sind Softwareentwicklungen immer wieder mit kostenträchtigen Problemen verbunden: häufig wird vereinbarte Entwicklungszeit überschritten oder nach Abschluss der Entwicklung treten unvorhergesehene Fehler auf, die Abläufe im Unternehmen verzögern und mehr oder weniger umständlich behoben werden müssen. Dasselbe gilt, wenn neue Technologien oder neue Strukturen in eine vorhandene Software integriert werden sollen.

  

  
Die Hauptschwierigkeit bei der Erstellung von Software ist deren enorme Komplexität. Bei der Softwareentwicklung werden Daten (Variablen) durch Operationen (Funktionen, Methoden) modifiziert bzw. verarbeitet. Auch bei kleinen Applikationen ist die Zahl der notwendigen Funktionen und Variablen sehr groß. Diesem Komplexitätsproblem zu begegnen, wird in allen Phasen der Softwareentwicklung (Analyse, Entwurf/Design, Umsetzung, Test) versucht, das Problem im handhabbare Module/Komponenten zu zerlegen und diese zu bearbeiten. Demzufolge haben sich unterschiedliche Vorgehensmodelle, Programmiersprachen, Architekturen und Testverfahren ergeben. Alle dienen einzig dazu, die Komplexität von Softwareentwicklungen in den Griff zu bekommen.


© [STATE] METHOD GmbH. 2006-2012