Die Anfänge des Software Engineering

Die Anfänge des Software Engineering

Gerd Altmann / pixelio.de

Softwareentwicklung ist eine eigene wissenschaftliche Disziplin innerhalb der Informatik, die aus der Not der sogenannten Softwarekrise der 60er Jahre geboren wurde. Damals wurde lediglich „drauflosprogrammiert“, sodass viele fertige Programme mangelnde Qualität aufwiesen und auch Kosten und Zeitaufwand schwer einzuschätzen waren.

Die Folge war die Trennung von Systemanalyse und Programmierung sowie eine ingenieurswissenschaftlichere Herangehensweise an die Thematik. Die anfängliche Softwareentwicklung via Try & Error wich also zunehmend einem systematischen Vorgehen mit dem Fokus auf Planung, Analyse und Modellentwurf, sodass die eigentliche Programmierarbeit heutzutage lediglich noch etwa 20 bis 30 Prozent des gesamten Entwicklungsaufwands ausmacht. Es gibt mittlerweile eine Reihe an Hilfsmitteln, die helfen sollen, Software richtig entwickeln zu können.

Vorgehensmodelle

Da relevanter Teil der Softwareentwicklungsprojekte auch heute noch scheitert, ist dringend ein strukturiertes Vorgehen beim IT Projektmanagement erforderlich. Hierzu wurden sogenannte Vorgehensmodelle entwickelt, die den Entwicklern eine grobe Richtlinie bieten, an denen der Projektablauf ausgerichtet werden kann. Der Klassiker ist dabei das Wasserfallmodell, bei dem die Phasen Initialisierung, Analyse, Entwurf, Implementierung, Test, Installation und Wartung linear nacheinander durchlaufen werden und damit der gesamte Softwarelebenszyklus abdeckt wird. Das größte Problem hierbei sind Rückkopplungen, die durch die lineare Vorgehensweise ausgelöst werden.

Die modernen Vorgehensmodelle sind viel mehr als eine grobe Verfahrensrichtlinie. Sie bieten neben einer strukturierten, iterativen Vorgehensweise eine Auswahl an Methoden sowie Instrumenten und vermitteln den Stakeholdern des Softwareentwicklungsprozesses eine eigene Philosophie, die Qualität und Motivation in den Mittelpunkt rücken soll. Zu nennen sind hier etwa Extreme Programming (XP) und Rational Unified Process. XP bedient sich beispielsweise Zweierteams, bei denen zwei erfahrene Entwickler jeweils den Code des anderen überprüfen. Dies verhindert, dass die Qualität der Software darunter leidet, dass die Developer blind für ihre eigenen Fehler werden. Das IT Projektmanagement wird durch solche Konzepte möglichst ganzheitlich erfasst, strukturiert und optimiert.

Model Driven Architechture

Einer der ersten Schritte bei der Softwareentwicklung ist die Systemanalyse, bei der die relevante Systemumgebung zu einem Modell abstrahiert wird. Als Quasi-Standards haben sich diesbezüglich das Entity Relationship Modell (ERM) und insbesondere auch Unified Modeling Language (UML) herausgebildet. Für gewöhnlich werden diese Modelle dann von den Entwicklern zu Code umgewandelt, der letztlich das fertige Programm bildet. Model Driven Architecture ist ein derzeitiger Trend der Softwareentwicklung, der darauf setzt, das Modell automatisch in eine möglichst funktionsfähige Software umzusetzen. Aus dem UML-Diagramm werden also direkt ein Programm oder Programmelemente abgeleitet, was viel Programmierarbeit, Zeit und Geld einsparen kann. Zudem steigt die Qualität der Software, da Routinen zur Anwendung kommen, die nach ausführlicher Erprobung weniger Fehler machen, als ein Programmierer, der eine Software von der Pike auf selbst schreibt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.