+49-152-53413516 info@malcher-consulting.de

Ein IT-Leiter tätigte zum Thema Softwareentwicklung einmal folgende Aussage: „Was haben Sie für ein Problem? Datenverarbeitung besteht doch nur aus Eingabe, Verarbeitung und Ausgabe!“

Stimmt! Im Grunde auch heute noch und doch gestaltet sich die Softwareentwicklung heute komplexer als in früheren Zeiten. Nun, woran liegt es?

Die Geschäftsvorfälle und deren funktionale Abbildung in einer Software haben sich im Laufe der Zeit wenig geändert. Es gibt immer noch Kunden, die einen Artikel bestellen, der mit Rechnung geliefert wird, deren Betrag in die Buchhaltung einfließt.

Geändert hat sich in erster Linie nicht der Inhalt, sondern die Form und Methode der Darstellung dieser Inhalte und damit ebenfalls die Form und Methode der Softwareentwicklung.

Zu nennen sind hier im wesentlichen die grafische Benutzeroberfläche und die unterschiedlichen Methoden und Verfahren der objektorientierten Programmierung, die zur Komplexität beisteuern.

Die große Herausforderung, ja Kunst bei der Softwareentwicklung besteht nun darin diese formalen und methodischen, sowie auch vorhandene funktionale Komplexitäten in Einfachheiten zu verwandeln.

Wie bei vielen Dingen im Leben besteht auch hier die große Schwierigkeit darin, die Dinge einfach zu gestalten.

Das Motto sollte also lauten: weg von Komplexitäten und hin zu einfachen und übersichtlichen Strukturen und Abläufen.

In diesen Zusammenhang passt ein Zitat von Albert Einstein: „Klug ist der Schweres einfach sagt.“

 

Analyse und Konzeption


Voraussetzung für die Entwicklung einer anforderungsgerechten Software ist die Analyse der bestehenden Prozesse und die Erstellung eines abgestimmten fachlichen Konzepts als Grundlage für die technische Umsetzung.

Die Abstimmung des fachlichen Konzepts erfolgt in Zusammenarbeit mit den Verantwortlichen oder für die Abstimmung verantwortlich Benannten eines jeden einzelnen Geschäftsbereichs des Unternehmens.

Diese Personen sollten über ein hohes Maß an Know-how verfügen, die Fähigkeit besitzen sich für ihren Bereich eine ideale Szene vorzustellen und gewillt sein hinsichtlich dieser Anforderungen Entscheidungen zu treffen.

Führen Sie Gespräche mit diesen Personen nach Möglichkeit immer einzeln. Auf diese Weise erhalten Sie gezielt und ohne Streuverlust genau die Informationen, die Sie benötigen, von genau der Person, die sie Ihnen in der Regel geben wird.

Klären Sie die restlichen offenen Punkte in kleinen Gesprächsrunden mit kompetenten Personen, die zu deren Lösung beitragen und besorgen Sie sich im Vorfeld alle notwendigen Informationen, um eine Entscheidungsfindung zu unterstützen.

 

Realisierung


Die Interface-, Prozess- und Datenmodellierung als nächster technischer Teilschritt auf einer Plattform und mit einer Systemumgebung, die dem Volumen der aufkommenden Geschäftsprozesse gerecht wird, sind die nächsten wichtigen Punkte im Laufe der Entstehung einer neuen Software.

Berücksichtigen Sie ergonomische Gesichtspunkte und gestalten Sie die Abläufe verständlich, die Benutzeroberfläche übersichtlich, die Navigation zwischen den Darstellungskomponenten einfach und geben Sie der Benutzeroberfläche und den Druckausgaben einen einheitlichen Aufbau.

Beachten Sie ebenfalls bei der Gestaltung der Benutzeroberfläche und den Druckausgaben die grundlegenden grafischen Gestaltungsregeln hinsichtlich Aufteilung, Proportionen, Typografie (Schriftart und -größe, Lesbarkeit) und den gezielten Einsatz von Bildern und Farbe, sowie die vorhandenen Vorgaben eines Corporate Design.

Die Architektur der Software sollte modular aufgebaut und entsprechende Module sollten wieder verwendbar gekapselt und systemweit verwendbar sein.

Wählen Sie für eine variable Steuerung von Prozessen einen vernünftigen Grad an Parametrisierung, da mit wachsender Parametrisierung die Komplexität des Prozess-Handlings zunimmt und die Wartbarkeit der Software dadurch abnimmt.

Bei der Datenmodellierung ist auf eine praxistaugliche Normalisierung zu achten, die Notwendigkeiten hinsichtlich der Verkürzung des Laufzeitverhaltens, der Vereinfachung der Datenadministration und der Reduzierung komplexer Datenstrukturen mit einbezieht.

Unabhängig von der Wahl der Systemumgebung und der eingesetzten Tools ist es notwendig Konventionen für die Namensvergabe von Feldern, Programmteilen und Programmen festzulegen, sowie Standards für den Aufbau der Daten- und Programmstrukturen.

Die Einhaltung dieser Konventionen und Standards ist oft unpopulär, weil sie der Kreativität der Entwickler diametral entgegenwirkt, ist aber angesichts einer späteren problemlosen Wartung der Daten und Programme unbedingt notwendig.

 

Test


Für den anschließenden Test ergibt sich bei einer Standardisierung der weitere Vorteil einer geringeren Fehlerquote, da nach einem einheitlichen Standard entwickelte Programme weniger Fehler beinhalten, wenn wir von einem gut getesteten Programmrahmen ausgehen.

Nach dem Test der eigenen Programme durch die Entwickler erfolgt der weitere Test und die Abnahme der Programme durch ein eingesetztes Testteam.

Das Testteam hat im Grunde folgende drei Aufgaben:

  • Funktionstest
  • Qualitätstest
  • Perfomancetest

Anhand des Funktionstests ist zu prüfen, ob alle entsprechenden Vorgaben gemäß Konzept umgesetzt wurden.

Für den Qualitätstest sind ausgewählte Testfälle zu erstellen, die nach Möglichkeit alle plausiblen Datenkombinationen abbilden und am besten automatisiert reproduzierbar sind. Die Kunst ist hier eine vernünftige Anzahl von Testfällen zu erstellen. Ein übergreifender Systemtest prüft dann abschließend den korrekten Ablauf von Prozessen.

Der Perfomancetest ist ein Lasttest, bei dem das Systemverhalten bei parallelem Arbeiten an vielen Bildschirmen gleichzeitig simuliert wird, sowie das Laufzeitverhalten von Hintergrundprogrammen.

 

Dokumentation


Nach Fertigstellung erfolgt, leider nicht immer in ausreichendem Maße, die Dokumentation der Software.

Hierzu gibt es einen kleinen Trick: Ein im Vorfeld mit Bedacht erstelltes, gut gegliedertes fachliches Konzept lässt sich später mit der einen oder anderen kleinen Änderung oder Ergänzung sowohl als Onlinehilfe als auch als fachliche Softwaredokumentation wiederverwenden.

Die technische Dokumentation sollte eine Übersicht aller Programme mit Komponenten und Schnittstellen, sowie Benutzeroberflächen, Dateien und Tabellen samt der verwendeten Felder beinhalten mit einer ausreichenden Beschreibung zu deren Struktur, Funktion, Zweck und Zusammenhang.

Eine visuelle Darstellung des Prozess- und Datenflusses ist ebenfalls von Vorteil.