Softwaretechnik
Die Softwaretechnik (englisch software engineering) beschäftigt sich mit der standardisierten ingenieurmäßigen Herstellung von Software und den damit verbundenen Prozessen.Es gibt eine Vielzahl von Definitionen für den Begriff Softwareengineering, hier sei die aus Helmut Balzert: "Lehrbuch der Software-Technik", Band 1, Spektrum Verlag, zitiert:
- Softwareengineering ist "[die] zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Herstellung und Anwendung von umfangreichen Software-Systemen."
Planungs- und Analysephase
|
Software-Test
|
Diskurs
Es ist umstritten, ob der Entstehungsprozess von Software so gut verstanden wird, dass eine "ingenieurmäßige Herstellung" möglich ist: Kritiker argumentieren, dass Software nichts anderes sei als "ausführbares Wissen". Wissen jedoch lässt sich nicht ingenieursmäßig herstellen (wie sich etwa eine Brücke oder ein Hochhaus herstellen lässt), sondern wird in einem kreativen Prozess gefunden. Eine Richtung der Softwaretechnik (Extreme Programming) beschäftigt sich daher mit sehr flexiblen Methoden, die die Kreativität des einzelnen Entwicklers betonen und Verwaltungsaspekte in den Hintergrund treten lassen.
Kritiker argumentieren, dass besonders die heftig diskutierten Entwicklungsmodelle (Wasserfallmodell, V-Modell, etc.) und Modellierungssprachen (UML) in der Softwaretechnik-Wissenschaft den behelfsmäßigen, unterstützenden ad hoc Charakter verdecken und den Entwicklungsprozess unnötig bürokratisieren. Diese Methoden hemmen, so die Kritiker, dadurch Kreativität und Problemlösungskapazität des Entwicklers. Gerade das V-Modell der Bundesregierung war dieser Kritik ausgesetzt (Referenz /Quellenangabe wäre sinnvoll!). Wissenschaftliche Hybris und Überbewertung formaler Organisationsmethoden können aber nicht verdecken, dass in der Praxis der Entwicklung diese Methoden mehr den Charakter von Gedankenschulung und Präsentationswerkzeug haben. Kein Programmierer etwa schreibt ein Struktogramm (realer Programmcode ist schneller geschrieben und lässt Veränderungen und Korrekturen leichter zu). Struktogramme findet man dagegen in Lehrbüchern zur Didaktisierung.
Es ist umstritten, ob die von der Softwaretechnik diskutierte Softwarekrise durch Softwaretechnik oder vielmehr durch robustere, strukturiertere Programmiersprachen und Entwicklungstools gelöst wurde.
Man bedenke in diesem Zusammenhang, dass Verfechter der Softwaretechnik in Deutschland auf der Technizität von Software im Rahmen der Software-Patent-Debatte bestanden. Im Sinne des Patentrechtes ist jedoch "Technizität" Voraussetzung für die Patentierbarkeit. Damit wurde die Position der Patentanwälte unterstützt, die verkehrsfremd das Patentrecht auch für Software einführen wollen.
Siehe auch: Softwareentwicklung\n






