Benutzer:Double81/Bücher/Softwaretechnik
Dies ist ein gespeichertes „Wikipedia-Buch“ | [ Bücherregal ] | |
Softwaretechnik
[Bearbeiten | Quelltext bearbeiten]Softwaretechnik
[Bearbeiten | Quelltext bearbeiten]Ein Überlick
[Bearbeiten | Quelltext bearbeiten]Die Softwaretechnik (engl. software engineering) beschäftigt sich mit der Herstellung von Software, also der Entwicklung und dem Betrieb von Softwaresystemen und der Organisation und Modellierung der zugehörigen Datenstrukturen. 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.
Teilgebiete der Softwaretechnik
[Bearbeiten | Quelltext bearbeiten]Da es aufwändig ist, komplexe Software zu erstellen und zu warten, 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:
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
[Bearbeiten | Quelltext bearbeiten]Es ist umstritten, ob die Softwarekrise durch Softwaretechnik oder vielmehr durch robustere, strukturiertere Programmiersprachen, Datenmodellierungsansätze und Entwicklungswerkzeuge gelöst werden kann.
Siehe auch
[Bearbeiten | Quelltext bearbeiten]- Entwicklungsstadium (Software)
- Softwarearchitektur
- Capability Maturity Model Integration (CMMI)
- Systems Engineering
- Software-Akquisition
Literatur
[Bearbeiten | Quelltext bearbeiten]- Helmut Balzert: Lehrbuch der Software-Technik. Bd.1. Software-Entwicklung. Spektrum Akademischer Verlag, Heidelberg 1996, 1998, 2001, ISBN 3-8274-0480-0.
- J. Ludewig, H. Lichter: Software Engineering – Grundlagen, Menschen, Prozesse, Techniken. dpunkt.verlag, Heidelberg 2006, ISBN 3-89864-268-2.
- Gustav Pomberger, Wolfgang Pree: Software Engineering. Hanser Fachbuchverlag, München 2004, ISBN 3-446-22429-7.
- Ian Sommerville: Software Engineering. 7. Aufl. Addison-Wesley, München 2004, ISBN 0-321-21026-3.
- Wolfgang Zuser, Thomas Grechenig, Monika Köhle: Software-Engineering mit UML und dem Unified Process, Zweite (überarbeitete) Auflage 2004 (1. Auflage 2001), Pearson Studium, München ISBN 3-8273-7090-6
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Software Engineering Introductory Tutorial
- Fachgruppe Softwaretechnik der Gesellschaft für Informatik
- Software-Engineering-Kompetenzzentrum (Ein vom Bundesministerium für Bildung und Forschung/BMBF gefördertes Portal)
- Einführung in die Softwaretechnologie
Ein Überblick
[Bearbeiten | Quelltext bearbeiten]- Softwaretechnik
- Planung
- Anforderungserhebung
- Lastenheft
- Pflichtenheft
- Aufwandsschätzung (Softwaretechnik)
- Analyse
- Auswertung (Informatik)
- Mock-up
- Vorgehensmodell zur Softwareentwicklung
- Prozessanalyse
- Systemanalyse
- Strukturierte Analyse
- Softwarearchitektur
- Strukturiertes Design
- Objektorientierte Analyse und Design
- Unified Modeling Language
- Fundamental Modeling Concepts
- Programmierung
- Normierte Programmierung
- Strukturierte Programmierung
- Objektorientierte Programmierung
- Funktionale Programmierung
- Modultest
- Integrationstest
- Softwaretest
- Anforderungsmanagement
- Projektmanagement
- Risikomanagement
- Projektplanung
- Qualitätsmanagement
- Capability Maturity Model
- Spice (Norm)
- Incident Management
- Problem-Management
- Softwaremetrik
- Statische Code-Analyse
- Software-Ergonomie
- Konfigurationsmanagement
- Versionsverwaltung
- Veränderungsmanagement
- Releasemanagement
- Application-Management
- Dokumentation
- Software-Dokumentationswerkzeug
- Gebrauchsanleitung
- Geschäftsprozess
- Verfahrensdokumentation