Mit Standardfunktionen für die automatische Verwaltung von Indexdateien samt Matchcode und Nummernverzeichnissen sowie den Maskenfunktionen kann zum Beispiel ein Erfassungs- und Änderungsprogramm für eine Stammdatei - etwa Bücher für ein Bibliotheksprogramm - in wenigen Stunden entwickelt werden. Man muss dazu nur die Felder im Datensatz und in der Bildschirmmaske und für jedes Eingabefeld eine Verarbeitungsfunktion (wieder unter Verwendung von Standardroutinen wie Datumseingabe oder Prüfung der Postleitzahl) definieren. Ohne dass sich der Programmierer darum kümmern muss, werden von diesem Programm automatisch bis zu zwölf verschiedene Dateien verwaltet, alle Anzeige- und Ausgabefunktionen am Terminal abgewickelt, Matchcodeabfragen erledigt und Nummeränderungen ausgeführt.
Jede Aufgabe, die einmal gelöst und als Funktion in eine Bibliothek übernommen wurde, kann in der Folge ohne zusätzlichen Programmieraufwand verwendet werden, und zwar auch von Programmierern, die fachlich von der durch die Funktion gelösten Aufgabe gar keine Ahnung haben. Die wenigsten Programmierer, die Sortierfunktionen verwenden, können einen Sortieralgorithmus auch programmieren.
Der Einsatz von Standardfunktionen führt automatisch zu einer Modularisierung der gesamten Software. Jede Funktion löst ein bestimmtes Problem in einer vorgegebenen Weise, und zwar in den meisten Fällen völlig unabhängig von den übrigen Funktionen der Verarbeitung. Damit kann man bei Bedarf sehr einfach einzelne Funktionen entweder erweitern oder gegen eine andere Funktion austauschen, wenn etwa anwenderspezifische Kostenrechnungsmodule eingesetzt werden können. Bei Betriebssystemen, die Shared Libraries unterstützen, können solche Modifikationen sogar ohne Neucompilation der Anwendungsprogramme vorgenommen werden.
Wenn für eine bestimmte Aufgabe etliche Teilprobleme bereits in Form von fertigen Routinen gelöst sind, reduziert sich automatisch die Komplexität auf die verbleibenden Aufgaben. Die Entwicklung wird damit wesentlich vereinfacht und die Gefahr für Fehler deutlich reduziert.
Die Kommunikationsart wird durch die Art des Austausches von Daten und Steuerinformationen zwischen den Modulen bestimmt. Die Datenkopplung wird möglichst minimal gehalten, wobei es abgesehen von einigen begründeten Ausnahmefällennicht erlaubt ist, verschiedenen Wertebereichen eine unterschiedliche Bedeutung zuzuordnen (etwa Lohnartennummer > 400 ist Abzug). Die Festlegung der Bedeutung wird weitestgehend dem Anwender über entsprechende Kennzeichen überlassen. Die minimale Datenkopplung ist die Voraussetzung für die Entwicklung von universell verwendbaren Funktionen, wie sie zum Beispiel oben bei den strukturspezifischen Funktionalsystemen erwähnt wurden. Sie sind damit auch wiederverwendungsfreundlich, leicht zu warten und weniger fehleranfällig.
Die Datenmodellierung sorgt durch Entwicklung entsprechender Funktionen für eine informale Bindung durch funktional gebundene Zugriffsoperationen, die für jede Datenabstraktion isoliert entwickelt werden und speziell mit dieser Datenstruktur operieren. Jedes Objekt hat seine eigenen Zugriffsfunktionen, über welche das Objekt ausschließlich bearbeitet wird. Damit verbunden ist die Realisierung des bei der Kapselung besprochenen Geheimnisprinzips.
Da jedes Objekt über seine eigenen Zugriffsfunktionen verfügt (informale Bindung) und diese für den Anwender der Funktionen verborgen bleiben, können derartige Operationen in einfacher Weise modifiziert oder ausgetauscht werden: Das Lesen eines Artikelstammsatzes liefert die benötigte Datenstruktur, ohne dass der Programmierer weiß, ob diese Daten aus einer oder aus mehreren physischen Dateien stammt oder aus einer externen Datenbank bezogen wurde. Gerade die Kapselung von auf externen Massenspeichern verwalteten Datenbeständen beseitigt eine in kommerziellen Anwendungen spezielle bei schreibenden Zugriffen sehr häufig zu beobachtende Fehlerquelle und ist ein wesentlicher Grund für die hohe Betriebssicherheit und die enormen Durchsatzraten der Anwendungssysteme.
Durch die Modularisierung werden Softwaretests nicht nur wesentlich vereinfacht, es ist auch sichergestellt, dass die benötigte Funktionalität in allen Anwendungen verfügbar ist, die einen solchen Modul verwenden.
Dieses Beispiel zeigt, dass die Softwarearchitektur einen ganz wesentlichen Einfluss auf die Leistungsfähigkeit eines Entwicklungsteams hat: Für eine Aufgabe, die ein Unternehmen mit entsprechend guten Voraussetzungen in acht Stunden fehlerlos bewältigt, braucht man woanders zwei Jahre.
Sämtliche in den Bibliotheken verfügbare Module werden in der bereits verfügbaren Software natürlich verwendet und im praktischen Einsatz getestet. Ihre Funktionalität ist schon bekannt, man muss nicht erst darauf warten, welche Ergebnisse die Neuentwicklung der Software zeigen wird. Damit sind schon vor Beginn der Entwicklung eines Programms detaillierte Aussagen über dessen Funktionalität möglich.
Da alle Routinen die Daten zwischen den verschiedenen Darstellungsformen im Prozessor (Low bzw. High Byte Ordering) und unterschiedlichen Zeichensätzen automatisch konvertieren (auch das ist eine Bibliotheksfunktion), können alle Dateien ohne spezielle Umformung extern oder über das Netz direkt verwendet werden.
Bitte beurteilen Sie unsere Webseiten durch Klick auf eine Schulnote (noch besser über die Feedbackseite): | ||||||||||||||
Die aktuelle Seite: |
|
Gesamte Website: |
|
Home | Unternehmen | Lösungen | Hardware | Software | Dienstleistungen | Linux | Konzepte | News & Infos | Webservice | |
Zurück zum Seitenanfang | Fragen, Anregungen, Wünsche: Feedback * Impressum * Datenschutzerklärung * Update 20-Nov-2015 |
www.mibs.at: Das
Mitarbeiterbetreuungssystem MIBS (neues Fenster) |
© Dialog Data GmbH., Zweiglgasse 11, A-8020 Graz, Steiermark/Austria, Tel. +43/316/810091, E-Mail: office@dialogdata.com, AGB