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

Die folgenden Ausführungen beinhalten, als Zusammenfassung und Erweiterung der unter Softwareentwicklung und Softwareauswahl aufgeführten Punkte, die wesentlichen Aspekte einer idealen Software als Ziel der Softwareentwicklung.

Das Ideal einer perfekten Software ist theoretisch, in der Praxis zur Gänze nicht erreichbar und dennoch ein erstrebenswertes Ziel, dem es gilt möglichst nahe zu kommen.

Was zeichnet nun eine ideale Software aus?

Der Wert einer Software wird gemessen am Umfang nutzbarer Funktionalität, deren Qualität und deren Bedien- und Wartbarkeit. Eine optimale Software bewerkstelligt somit alle anfallenden Geschäftsprozesse schnell, ist fehlerfrei, leicht zu bedienen und änderungsfreundlich.

 

Bedienbarkeit


Aus Sicht des Anwenders sind für eine leichte Bedienbarkeit der Software unterschiedliche Aspekte ausschlaggebend:

Workflow: Die Funktionselemente bilden genau den Workflow aller vorhandenen Arbeitsprozesse ab, d.h. die Software unterstützt die Eingabe und Anzeige von Informationen in der Reihenfolge in der sie anfallen können bzw. benötigt werden.

Navigation: Um zwischen den einzelnen Schritten eines Arbeitsprozesses oder zwischen unterschiedlichen Arbeitsprozessen zu wechseln ist eine einfache und vor allem einheitliche Navigation erforderlich, die für das gesamte Front-End nach gleichem Muster abläuft.

Strukturierung: Menüs und Bildschirmleisten sind sinnvoll und übersichtlich nach Arbeitsgebieten und einzelnen Arbeitsschritten untergliedert.

Antwortzeit: Die Antwortzeiten zwischen einzelnen Online-Transaktionen bzw. zwischen Online angestoßenen Prozessen und einem erwarteten Ergebnis (Batch-Verarbeitungen, Ausdrucke etc.) sind kurz.

Eingaben: Einmal getätigte Eingaben (z.B. Kundennummer) stehen dem System während einer Session ohne erneute Eingabe dauerhaft zur Verfügung.

Plausibilierung: Bildschirmeingaben werden sinnvoll plausibiliert und sprechende und differenzierte Hinweis- und Fehlermeldungen ausgegeben.

Fehlermeldungen: Die Fehlermeldungen weisen nicht nur auf eine Fehlersituation hin, sondern tragen zusätzlich zu deren Behebung bei, also z.B. statt: Die Artikelnummer ist falsch – Bitte geben Sie die Artikelnummer 6-stellig numerisch ein.

Oberflächen: Bei der Gestaltung der Benutzeroberfläche und den Druckausgaben wurden die grundlegenden grafischen Gestaltungsregeln hinsichtlich Aufteilung, Proportionen, Typografie (Schriftart und -größe, Lesbarkeit) und der gezielte Einsatz von Bildern und Farbe berücksichtigt, sowie die vorhandenen Vorgaben eines Corporate Design.

Layout: Benutzeroberfläche und Druckausgaben sind übersichtlich und einheitlich gestaltet, d.h. Kopf-, Rumpf- und Fußteil sind abhängig vom Typ der Oberfläche (z.B. Eingabeformular oder Bericht) gleich aufgebaut. Alle Elemente wie Kopfdaten, Überschriften, Feldnamen, Felder, Steuer- und Kontrollelemente, Hinweis- bzw. Fehlertexte etc. werden übersichtlich und immer an der gleichen Position dargestellt.

Farbgestaltung: Die Farbgebung der Benutzeroberflächen und Druckausgaben ist ebenso einheitlich und die Farbabstimmung ist dezent gehalten, ohne Verwendung greller Farben. Hintergrundfarbe und Textfarbe bilden genügend Kontrast um den Text problemlos lesen zu können.

Betextung: Die Betextung der Benutzeroberflächen und Druckausgaben ist sprechend und verständlich. Verwendete Abkürzungen von Bezeichnungen und Beschriftungen sind bekannt.

Schriftgröße: Die Schriftgröße bei grafischen Benutzeroberflächen und Ausdrucken muss so gewählt werden, dass auch ältere Anwender die Software ohne Anstrengung bedienen und ältere Kunden ein bedrucktes Formular ohne Lupe lesen können.

Funktionstasten: Die Funktionstasten sind für alle Oberflächen des Systems gleich belegt. In Blättermasken erfolgt z.B. das Vorwärtsblättern grundsätzlich mittels der Funktionstaste F8 und das Zurückblättern mittels F7. Bei der Erfassung vor allem größerer Datenmengen über Programme mit einer grafischen Benutzeroberfläche hat die Verwendung von Funktionstasten zur Programmsteuerung aufgrund des leichteren und schnelleren Handlings Vorteile gegenüber der Verwendung der Maus. Funktionstasten kommen daher zusätzlich zu den grafischen Steuerelementen mit Mausbedienung zum Einsatz.

Eindeutige Begriffe: Es ist für eine Bedeutung nur ein Begriff zu verwenden, also z.B. Warengruppe oder Artikelgruppe und nicht auf einem Bildschirm Warengruppe und auf einem anderen Artikelgruppe.

Hilfetexte: Für die Benutzeroberflächen stehen Online-Hilfetexte zur Verfügung, die in verständlichen Worten den Zweck der Masken, Formulare und Berichte, sowie deren Felder erklären und mögliche Eingaben erläutern und aufführen.

Aktive Hilfe: Neben einer passiven Hilfe in Form einer Feldbeschreibung besteht für die Masken- und Formularfelder weiterhin die Möglichkeit einer aktiven Hilfestellung, indem aus einer Übersichtsdarstellung mögliche Feldinhalte ausgewählt und in die Felder übernommen werden können.

Benutzerhandbuch: Den Anwendern liegt ein Online-Benutzerhandbuch mit Suchfunktion und einem ausführlichen und übersichtlichen Inhalts- und Indexverzeichniss vor, das die Funktionalität der Software ausreichend und verständlich beschreibt und veranschaulicht.

 

Funktionalität


Der Umfang nutzbarer Funktionalität ergibt sich aus folgenden Punkten:

Informationsmenge: Die Erfassungsmasken und -formulare erfordern die Eingabe genau der Informationen und die vorhandenen Schnittstellen liefern genau die Daten, die für eine spätere Verarbeitung oder Auswertung benötigt werden.

Funktionsumfang: Die Software bildet alle im Unternehmen anfallenden Arbeitsprozesse problemlos ab.

Reaktionszeit: Das System liefert benötigte Ergebnisse kurzfristig – auch während des laufenden Betriebs.

Flexibilität: Neue oder sich ändernde Anforderungen an die Software können aufgrund deren Beschaffenheit schnell umgesetzt werden. Hierzu gehört einerseits ein vernünftiges Maß an Parametrisierbarkeit und andererseits der ganze Bereich der Softwareentwicklung mit der passenden Methodik um Flexibilität zu ermöglichen (Generatoren, Tools, Strukturiertheit, Standardisierung, Kapselung von Routinen, etc.).
In diesen Rahmen fallen ebenfalls Formular- und Listengeneratoren.

Verwertbarkeit: Ausdrucke und Informationsbildschirme liefern in Form von Auswertungen und Statistiken auf unterschiedlichen Verdichtungsebenen genau die Informationen auf deren Basis richtige Entscheidungen für alle Unternehmensbereiche getroffen werden können.

Datenbasis: Die Software ist mandanten- und mehrsprachenfähig.

 

Wartbarkeit


Die Bedienbarkeit der Software ist für den Anwender von Bedeutung, die Wartbarkeit der Software für den Programmierer. Eine änderungsfreundliche Software umfasst folgende Punkte:

Systemumgebung: Zur Entschärfung der Schnittstellenproblematik ist die Systemumgebung auf möglichst wenig unterschiedlichen Plattformen aufgebaut, d.h. möglichst wenig unterschiedliche Betriebssysteme, Datenbanken, Programmiersprachen, Tools etc.

Texte: Alle bezeichnenden Texte auf Bildschirmen und Ausdrucken (Feldbezeichnungen, Überschriften, Fehlertexte etc.) sind variabel, befinden sich in ausgelagerten Tabellen und können nach Mandant und Sprache verwaltet werden.

Feldausprägungen: Mögliche Ausprägungen von Feldinhalten sind in Tabellen oder Dateien hinterlegt und können in Form einer aktiven Hilfe ausgewählt oder zu Plausibilierungszwecken verwendet werden.

Parametrisierung: Es besteht die Möglichkeit Prozesse ohne Programmänderungen über Parameter, die in Tabellen oder Dateien hinterlegt sind, von außen zu steuern.
Der Grad an Parametrisierung sollte sinnvoll gewählt werden, da mit wachsender Parametrisierung die Komplexität des Prozess-Handlings zunimmt und die Wartbarkeit der Software dadurch abnimmt.

Modularität: Die Architektur des Softwaresystems ist modular aufgebaut.

Wiederverwendbarkeit: Die Module sind wieder verwendbar gekapselt. Funktionen dieses Moduls sind einmalig vorhanden und werden systemweit von allen Programmen genutzt (z.B. Dateizugriffsmodul).

Datenmodellierung: Das Datenmodell ist praxistauglich normalisiert und berücksichtigt Notwendigkeiten hinsichtlich der Verkürzung des Laufzeitverhaltens, der Vereinfachung der Datenadministration und der Reduzierung komplexer Datenstrukturen.

Fehlerhandling: Das Hinweis-, Fehler- und Abbruchmanagement geschieht über eine Standardroutine für alle Programme.

Restartfähigkeit: Alle Batchprogramme mit längeren Laufzeiten sind restartfähig.

Generatoren: Es stehen Generatoren für die Erstellung von Bildschirmoberflächen, Formularen, Listen etc. zur Verfügung.

Standardisierung: Das Coding aller Programme ist nach Programmtyp einheitlich gestaltet, d.h. alle Verwaltungs-, Anzeige-, Blätterprogramme, Zugriffsmodule, Plausibilierungsmodule etc. sind gleich aufgebaut. Unterstützt wird dies durch Programmgeneratoren oder durch das Kopieren eines bestehenden Programms für den jeweiligen Programmtyp.

Struktur: Die Programme sind übersichtlich strukturiert und der Programmcode unterliegt Notationsregeln (Einrückung bei IF etc.).

Namensvergabe: Die Namensvergabe für alle Programmkomponenten, wie z.B. Feld-, Datei-, Programm- und Jobnamen, ist systematisiert und standardisiert.

Einheitlichkeit: Interne Feldnamen von Datei- oder Masken-/Formularfeldern werden für einen Begriff nur ein Mal definiert, d.h. die Kundennummer lautet z.B. systemweit immer KDNR und nicht zusätzlich KNDNR, KDNUM etc.

Feldlängen: Die Datenfelder sind ausreichend dimensioniert und erfordern trotz einer Expansion des Unternehmens keine Anpassung der Feldlängen.

Dokumentation: Die technische Dokumentation beinhaltet eine Übersicht aller Programme mit Komponenten und Schnittstellen, sowie Benutzeroberflächen, Dateien und Tabellen samt der verwendeten Felder mit einer ausreichenden Beschreibung zu deren Struktur, Funktion, Zweck und Zusammenhang.
Sie enthält weiterhin eine visuelle Darstellung des Prozess- und Datenflusses.

Eine Inline-Dokumentation innerhalb des Programmcodes unterstützt dessen Lesbarkeit.
Änderungen des Programmcodes werden innerhalb des Programms anhand einer Änderungshistorie dokumentiert.

Tools: Die Verwaltung der einzelnen Softwarekomponenten und deren Dokumentation geschieht vorzugsweise über ein entsprechendes Tool, wie z.B. ein Data Dictionary mit Dokumentationsmöglichkeit, das ebenfalls den Ausdruck eines vollständigen Handbuchs ermöglicht.

 

Qualität


Alle unter der Überschrift „Wartbarkeit“ aufgeführten Punkte, wie Standardisierung, Strukturierung und Dokumentation von Software etc., begünstigen letztlich die Qualität der Software, da sie Fehlerquellen reduzieren.

Hinsichtlich der Qualität sind folgende Aspekte von Bedeutung:

Fehler: Die Software ist idealerweise fehlerfrei.

Programmabbruch: Treten Umgebungsfehler auf, wie z.B. fehlende, beschädigte, inkonsistente oder nicht verfügbare Datenbestände, so bricht die Software mit Fehlermeldungen ab, die auf die Ursache des Abbruchs detailliert hinweisen und eine rasche Behebung des Fehlers ermöglichen.

Die Aufrechterhaltung einer qualitativ hochwertigen Software unterstützen weiterhin folgende Maßnahmen:

Testumgebung: Es besteht eine von der Produktionsumgebung getrennte Entwicklungs- und Testumgebung mit reproduzierbaren Testdaten.

Testkonzept: Für umfangreichere Tests kritischer Prozesse wird ein Testkonzept mit differenzierten Testfällen und Testszenarien erstellt.

Testtreiber: Für diese Testfälle werden Testtreiber verwendet, welche die zu testenden Module aufrufen und das Ergebnis dokumentieren. Diese Testtreiber kommen bei jeder relevanten Programmänderung erneut zum Einsatz.

Debugger: Es steht ein leistungsfähiger Debugger zur Verfügung.

Test: Der Programmierer testet gründlich sein neu erstelltes Programm oder die durchgeführten Programmänderungen einzeln und im Verbund mit anderen betroffenen Programmen.

Codereview: Neue Programme oder Programmänderungen unterliegen einem Code-Review und einem erneuten Test durch einen anderen Programmierer, der die korrekte Umsetzung der Anforderungen verifiziert und die Einhaltung vorgegebener Standards sicherstellt.

Abnahme: Die neu erstellten oder geänderten Programme werden einzeln und anhand eines übergreifenden Systemtests durch die Fachabteilungen bzw. durch ein eingesetztes Testteam auf korrekte Umsetzung der Anforderungen geprüft, getestet und abgenommen.
Die Durchführung notwendiger Lasttests geschieht in Zusammenarbeit mit den zuständigen Programmierern.

Softwareverwaltung: Für die Verwaltung der Software und deren Komponenten in den unterschiedlichen Umgebungen (Entwicklung, Test, Produktion) steht ein entsprechendes Tool zur Verfügungen, das ebenfalls die Übergabe zwischen den Umgebungen steuert und zusätzlich eine Versionshaltung der Komponenten ermöglicht.

Verfügbarkeit und Nutzen: Eine qualitativ hochwertige Software garantiert eine hohe Verfügbarkeit und ist zusammen mit einer hohen Funktionalität zum Nutzen der Anwender und des Unternehmens und letztlich zum Vorteil des Kunden.