Softwareentwicklung - professionell, zielorientiert & benutzerfreundlich

Softwareentwicklung oder auch Softwaretechnik ist eine zielorientierte Tätigkeit unter systematischer Verwendung derjenigen Prinzipien, Werkzeuge und Methoden die zu einem für den Kunden guten Programm zur effektiven Bewältigung seiner Arbeitsaufgaben führen. Bei einem professionellen Dienstleister kann man hier eine angemessene Unterstützung in allen Phasen der Softwareentwicklung erwarten.

Es gibt insgesamt zehn Phasen in der Softwareentwicklung.

1. Planung

Hier wird zunächst ein sogenanntes Lastenheft geschrieben, dass alle Anforderungsdefinitionen des zu realisieren Projekts enthält. Aus diesem ergeben sich dann das Pflichtenheft, wo schon die mit technischen Ansätzen verfeinerte Variante eines Lastenhefts vorliegt. Ebenfalls in der Planungsphase sind Aufwandsschätzungen hinsichtlich Kosten und Zeit sowie ein tragfähiges Vorgehensmodell zu entwickeln.

2. Analyse

Hier kommt es auf die vollständige - alle Anforderungen des Kunden berücksichtigende - Analyse an.
Dessen Wünsche müssen eindeutig definiert und abgegrenzt werden. Sie ist atomar: es darf genau eine Anforderung je Planungsanforderung beschrieben sein.

Die Analyse muss nachprüfbar sein. Es soll Konsistenz erreicht werden, in dem die Anforderungen zueinander widerspruchsfrei sind.


3. Entwurf

Hier wird noch nicht programmiert aber eine Beschreibung der Softwareentwicklung vorgelegt, bei der man die Struktur erkennen kann. Es gibt hier unterschiedliche Design-Varianten von denen zur Zeit UML (Unified Modeling Language=vereinheitlichte Modellierungssprache) besonders populär ist.

UML ist eine standardisierte Sprache zur Modellierung von Programmentwicklung. Daher definiert UML Bezeichner für die Begriffe, die zur Modellierung wichtig sind, und legt denkbare Beziehungen zwischen diesen Bezeichnern fest.

4. Programmierung

Nun kann endlich der Programmcode geschrieben werden. Hierzu sind natürlich die Vorgaben des Auftragsgebers einzuhalten. Dieser wird es wünschen, dass eine Programmiersprache verwendet wird, die seinem bisherigen Vorgehen entspricht. Allerdings können nur noch sehr wenige Programmierer in den althergebrachten Sprachen wie Cobol oder Fortran arbeiten. Inzwischen setzt man eher auf objektorientierte Sprachen wie JAVA. Möglicherweise setzt der Auftraggeber aber auch SAP ein. Dann muss in ABAP geschrieben werden.

5. Validierung und Verifikation

Vor dem Einsatz müssen die Softwareentwicklungen ausreichend getestet werden, sonst kann ein böses Erwachen folgen. Nur die Marktführer können dem grünen Bananen-Prinzip folgen: Reifung beim Kunden. Diese Tests können als Modultests oder Integrationstests umgesetzt werden. Es sind aber auch Systemtests und sogar Akzeptanztests beim Kunden oder seinen Mitarbeitern von Nöten.


6. Anforderungsmanagement

Das Ziel hier ist ein gemeinsam geteiltes Verständnis vom zu entwickelndes System zwischen Auftraggeber und Auftragnehmer. Dies kann durch den Einsatz verschiedener Techniken erreicht werden.


7. Projektmanagement

Nun wird es Zeit, an die konkrete Umsetzung heranzugehen. Sowohl Risikomanagement wie Projektplanung sind hier die Stichworte. Es ist eine Projektverfolgung und –steuerung zu schaffen, die eine ausreichend qualitative Umsetzung der Anforderungen mit sich bringt.


8. Qualitätsmanagement

Zur dauerhaften Qualitätsentwicklung muss gezielt nach Problemen und Schwachstellen in der Umsetzung gesucht werden. In diesen Zusammenhang müssen die Softwareentwickler auf Softwaremetrik (die genaue Messung von Softwareeigenschaften) und Softwareergonomie (Anpassung der Software an die menschlichen Arbeitsweisen und Besonderheiten) achten.

9. Konfigurationsmanagement

Hier werden die verschieden Stufen in der Entwicklung in eine sinnvolle Reihenfolge gebracht. Dabei hat es sich eingebürgert, mit einer Punkt Schreibweise zu arbeiten. Version 2.5.1 könnte dann bedeuten, dass grundlegende Funktionalitäten in der 2. Version vorliegen. Dort hat man Stufe 5 erklommen und ist noch auf der 1. Stufe von Detailverbesserungen.

10. Dokumentation

Eine gute Dokumentation schließt den Prozess ab. Hierzu gehört die Software-Dokumentation und die Systemdokumentation aber auch die Bedienungsanleitung für die Anwender.