Heim

Softwaretechnik

Die Artikel Projektentwicklung (Informatik) und Softwaretechnik überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Bitte äußere dich in der Diskussion über diese Überschneidungen, bevor du diesen Baustein entfernst. Avron 20:14, 27. Jun. 2007 (CEST)

Die Softwaretechnik (engl. software engineering) beschäftigt sich mit der Herstellung von Software. Eine Definition von Helmut Balzert beschreibt das Gebiet als

zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen.“ (Lit.: Balzert, S.36)

Softwaretechnik umfasst eine Vielzahl von Teilgebieten, die in ihrer Gesamtheit die Softwareentwicklung begleiten. Neben dem Entwickeln ist auch das Betreiben der Software Bestandteil der Softwaretechnik. Wichtig ist auch die experimentelle Untersuchung von Softwaretechnik, um ihren praktischen Nutzen zu messen und zu verbessern. Die aktuellen Entwicklungen des Fachgebiets werden in der Dokumentation des „Software Engineering Body of Knowledge“ (SWEBOK) beschrieben.

Ein relativ neues, aus der Softwaretechnik hervorgegangenes Gebiet ist das Web-Engineering, das Erkenntnisse und Themen für die Entwicklung von Internet-Anwendungen nutzt.

Inhaltsverzeichnis

Teilgebiete der Softwaretechnik

Da komplexe Software zu erstellen und zu warten aufwendig ist, erfolgt die Entwicklung von Software durch Softwareentwickler anhand eines strukturierten Planes. Dieser Plan (das Vorgehensmodell) unterteilt den Entwicklungsprozess in überschaubare, zeitlich und inhaltlich begrenzte Phasen. Die Software wird somit Schritt für Schritt fertiggestellt. Die Phasen sind während des ganzen Entwicklungsprozesses eng miteinander verzahnt.

Die Phasen und ihre Aufgabenstellungen sind in der folgenden Tabelle aufgeführt:

Kernprozesse

1. Planung

2. Analyse

3. Entwurf

4. Programmierung

5. Validierung und Verifikation

Unterstützungsprozesse

6. Anforderungsmanagement

7. Projektmanagement

8. Qualitätsmanagement

9. Konfigurationsmanagement

10. Dokumentation

Die oben genannten Teilschritte der Softwareentwicklung werden nicht zwangsläufig bei jedem Projekt komplett durchlaufen. Vielmehr werden einzelne Prozesse spezifisch für die jeweilige Anforderung gewählt. Dies ist aus Sicht der Kosten- und Verwaltungsreduzierung notwendig.

Kritik

Es ist umstritten, ob die Softwarekrise durch Softwaretechnik oder vielmehr durch robustere, strukturiertere Programmiersprachen und Entwicklungswerkzeuge gelöst werden kann.

Siehe auch

Literatur

 Wikibooks: Softwaretechnik – Lern- und Lehrmaterialien