Software Engineering

Software ist heutzutage aus Kommunikations- und Haushaltsgeräten, medizinischen Ausrüstungen und Implantaten, Fahrzeugen u. a. nicht mehr wegzudenken. Für die Abwicklung immer mehr unserer alltäglichen Abläufe verwenden wir Softwaresysteme. Wir bestellen unsere Lebensmittel mithilfe von Software, buchen unsere Reisen, kommunizieren und zahlen unsere Steuern mittels Software, etc.

Auch wenn für den durchschnittlichen Nutzer:in der Begriff „Software” gleichgestellt ist mit dem Begriff „Computerprogramm”, reicht diese Definition heutzutage nicht mehr aus, um den Sachverhalt wiederzugeben. Insbesondere wenn man über Erwerbsrechte im Zusammenhang mit Software spricht, wird erwartet, dass alle Dateien, Datenbanken und die Dokumentation, die zum Ausführen und Benutzen der Software notwendig sind, dem Auftraggeber übergeben werden. Dazu kommen eventuell noch Rechte auf Kundenbetreuung und Aktualisierungen.

Herausforderungen der Softwareentwicklung

Wie die Geschichte der Softwaretechnik – manchmal tragisch – gezeigt hat, ist qualitativ hochwertige Software zu entwickeln keine triviale Aufgabe. Dem CHAOS-Report der Standish Group zufolge scheiterten im Jahr 2015 19 % der ca. 5000 Projekte, die in diesem Zeitraum verfolgt wurden, während 36 % erfolgreich abschlossen (vgl. mit 16,2 % im Jahr 1994). Die restlichen 45 % der Projekte wurden eventuell abgeschlossen, konnten aber die Zeit-, Kosten- oder Funktionsanforderungen nicht erfüllen.

Einige Herausforderungen der Softwareentwicklung können wie folgt beschrieben werden:


Alle diese Aspekte werden im Studiengang Software Engineering an der WBH nicht nur behandelt, sondern auch in einen sinnvollen Gesamtzusammenhang gesetzt.

Woher stammt der Begriff "Software Engineering"?

Der Begriff „Software Engineering” wurde erstmals von Margaret Hamilton verwendet, als sie an der Software für die Apollo-Missionen arbeitete [Rayl, 2008]. 1968 wurde der Begriff dann auf einer von der NATO geforderten Tagung offiziell eingeführt, die organisiert wurde, um darüber zu diskutieren, wie mit der steigenden Bedeutung und Komplexität von Software umzugehen sei. Laut Organisatoren wurde das Wort „Engineering” bewusst provokativ ausgewählt, um die Notwendigkeit klarzumachen, dass diese Disziplin auf vergleichbaren theoretischen und praktischen Grundlagen basieren müsse, wie sie in etablierten Ingenieurdisziplinen üblich seien [Naur und Randall, 1968]. Im Deutschen wird als Übersetzung der Begriff „Softwaretechnik” verwendet. Softwaretechnik (engl. Software-Engineering) ist die Anwendung eines systematischen, disziplinierten und quantifizierbaren Ansatzes auf die Entwicklung, den Betrieb und die Wartung von Software, das heißt die Anwendung der Prinzipien des Ingenieurwesens auf Software [ISO/IEC/IEEE 24765:2017].

Weitgehend standardisiert, bietet die Softwaretechnik methodische Ansätze zur effektiven Softwareentwicklung, sodass Zeit- und Kostenbeschränkungen eingehalten werden und die entwickelte Software von den Kunden als zufriedenstellend bewertet wird. Robuste Methoden für die Entwicklung, das Testen und die Wartung steigern nämlich das Vertrauen der Kunden in das Endprodukt. Zum Beispiel ist das Spiralmodell (siehe Abbildung 1) zwar auch schon ein Klassiker [Boehm, 1988 und 2000], aber es dient als Vorlage für einige agile Softwareentwicklungsmethoden, wie zum Beispiel SCRUM [Schwaber, 2004]. Auch hier wird der Kunde näher in den Entwicklungsprozess eingebunden, indem immer besser werdende Prototypen entwickelt und dem Kunden vorgestellt werden.

Dieser Glossarbegriff wurde von der WBH-Heft-Autorin Dr. Burcu Yildiz verfasst und von Prof. Dr.-Ing. Michael Fuchs, tätig am Fachbereich Informatik der WBH, redaktionell nur leicht verändert. 

Noch unentschlossen?

Sie wollen mehr zu Inhalten, Perspektiven und Spezialisierungen Ihres Studiums an der Wilhelm Büchner Hochschule erfahren? Unser Infopaket informiert Sie umfassend.

Für den Artikel "Software Engineering" verwendete Quellen:

[Boehm, 1988] Boehm, B. W.: A Spiral Model of Software Development and Enhancement. Computer 21:5, S. 61–72, 1988. 
[Boehm, 2000] Boehm, B. W.: Spiral Development: Experience, Principles, and Refinements. Special Report, Spiral Development Workshop, February 9, 2000. 
[Glinz, 2001] Glinz, M.: Software Engineering I. Vorlesungsskript WS 2001/2002, Universität Zürich, 2001.
[Naur und Randall, 1968] Naur, P.; Randall, B. (eds.): Software Engineering: Report on a Conference Sponsored by the NATO Science Committee. Garmisch, Germany, 7-11 Oct. 1968.
[ISO/IEC/IEEE 24765:2017] ISO/IEC/IEEE 24765:2017(E). ISO/IEC/IEEE International Standard – Systems and Software Engineering – Vocabulary. S. 1–541, 28 Aug. 2017.
[Rayl, 2008] Rayl, A. J. S.: NASA Engineers and Scientists – Transforming Dreams Into Reality. 50th Magazine, NASA, Oktober 2008.
[Schwaber, 2004] Schwaber, K.: Agile Project Management with SCRUM. Microsoft Press, 2004.  

 

Einen Moment bitte...