| |
|
SOFTWARE |
|
|
|
|
|
jedoch enthalten:
- Zweck und Anwendungsbereich des Programms
- Beschreibung der Steueranweisungen zum Starten und Anhalten des Programms
- Beschreibung der Dialogführung mit Hinweis auf vorprogrammierte Hilfen
- Form und Bedeutung der Eingabedaten
- Form und Bedeutung der Ausgabedaten
- Erläuterung der einzuhaltenden Wertebereiche
- Erläuterung der Fehlermeldungen
- Dialogbeispiele
Zusätzlich zum Benutzer-Handbuch sollte eine Kurzanleitung
vorliegen, die nur die wichtigsten für den Umgang mit dem
Programm notwendigen Schritte und Anweisungen für den
Interessenten bereithält.
Programmbeschreibung
Für spätere änderungen und Ergänzungen (die sogenannte Wartung)
des Programms wird zusätzliche Dokumentation benötigt:
- Name des Programmautors, Datum der Erstellung und Titel
- Beschreibung des Problems
- Modellbildung und Spezifikation
- Entwicklung des Lösungsalgorithmus
- Formulierung der Algorithmen in normierter Entwurfssprache
- Programmausdruck
- Programmlauf
- Diskussion
- Überlegungen zur Korrektheit und zur Effizienz
- Benutzte Literatur
Problemanalyse und Entwicklung des Algorithmus:
Zentraler Teil der Programmentwicklung ist der Programmentwurf
und nicht - wie es manchem Anfänger scheinen mag - die
Programmierung bzw. Codierung in einer Programmiersprache.
Software-Engineering: Angesichts der steigenden
Software-Kosten geht man immer mehr dazu über, die
Programmentwicklung und dabei besonders den Programmentwurf
industriell und ingenieurmäßig vorzunehmen:
Software-Engineering lautet die darauf verweisende
Begriffsbildung. Auf einige der im Rahmen des
Software-Engineering eingesetzten Programmiertechniken sowie
Entwurfsprinzipien gehen wir nachfolgend ein.
Entwurfstechniken und -prinzipien
Entwurfstechniken werden durch Begriffe wie Modularisierung,
Normierung, Jackson-Methode, Top-Down-Entwurf, Buttom-Up-Entwurf,
Unterprogrammtechnik, Menütechnik und Strukturierter Entwurf
geprägt. Im folgenden werden diese Begriffe erläutert:
- Die Modularisierung von Software berücksichtigt,
daß ein in kleine Teile bzw. Module gegliedertes Problem
bzw. Programm einfacher zu bearbeiten ist.
"Klein" heißt, daß ein Modul nur eine
maximale Anzahl von Anweisungen umfassen darf. Ein Modul
ist ein Programmteil mit einem Eingang und einem Ausgang
und kann selbständig übersetzt und ausgeführt werden.
Module verkehren nur über Schnittstellen miteinander,
über die Werte (Parameter genannt) vom rufenden an das
aufgerufene Modul übergeben werden; ein Modul darf als
Black Box nichts vom Innenleben eines anderen Moduls
wissen.
- Die Normierung von Programmabläufen als
Vereinheitlichung durch eine standardisierte
Ablaufsteuerung wird bei der Entwicklung komplexer
kommerzieller Software-Pakete vorgenommen, an der zumeist
mehrere Mitarbeiter beteiligt sind. Oftmals hat jedes
Softwarehaus seine eigenen Normen.
- Die Jackson-Methode geht bei der
Programmentwicklung von der exakten Analyse der
Datenstrukturen aus, um dann die entsprechenden Programm-
bzw. Ablaufstrukturen zu entwerfen. Denn in der
kommerziellen DV sind die Daten zumeist bis in die
Details vorgegeben, während die Abläufe den Daten
gemäß formuliert werden müssen. Anders ausgedrückt:
Die Datenstruktur prägt die Programmstruktur.
- Dem Top-Down-Entwurf als
Von-oben-nach-unten-Entwurf entspricht die Technik der
schrittweisen Verfeinerung: Vom Gesamtproblem ausgehend
bildet man Teilprobleme, um diese dann schrittweise
weiter zu unterteilen und zu verfeinern bis hin zum
lauffähigen Programm. Der Top-Down-Entwurf führt immer
zu einem hierarchisch gegliederten Programmaufbau. Es
besteht jedoch die Gefahr, daß erst in einer relativ
tiefen Ebene bemerkt wird, daß die Realisierung
unmöglich ist. Der Entwurf muß dann völlig neu
begonnen werden.
- Der Bottom-Up-Entwurf als Gegenstück zum
Top-Down-Entwurf geht als Von-unten-nach-oben-Entwurf von
den oft verwendeten Teilproblemen der untersten Ebene
aus, um sukzessive solche Teilprobleme zu integrieren.
Hier besteht die Gefahr, daß zum Schluß die Lösung
nicht zum Problem passt. Beide Entwurfsprinzipien werden
in der Praxis zumeist kombiniert angewendet. Man versucht
beim Top-Down-Entwurf schon möglichst bald die Probleme
bei der endgütigen Realisierung zu erkennen und diese
dann Bottom-Up zu lösen.
- Die Unterprogrammtechnik wird in folgenden Fällen
genutzt:
- Ein Ablauf wird mehrfach benötigt.
- Das Programm wird in seiner Struktur zu
unübersichtlich.
- Mehrere Personen kooperieren und liefern
Unterprogramme ab.
- Menügesteuerter Dialog (Menütechnik).
Der Begriff des Unterprogramms (Funktion, Prozedur)
entspricht dabei in etwa dem des Moduls. Die bekannteste
Schnittstelle ist der Unterprogrammaufruf mit
Parameterübergabe.
- Der strukturierte Entwurf beinhaltet, daß ein
Programm unabhängig von seiner Größe nur aus den vier
(später erklärten) grundlegenden Programmstrukturen
aufgebaut sein darf:
- Folgestrukturen
- Auswahlstrukturen
- Wiederholungsstrukturen
- Unterprogrammstrukturen
Dabei soll auf unbedingtes Verzweigen aus einer
Struktur heraus verzichtet werden. Jede Programmstruktur
bildet einen Strukturblock. Blöcke sind entweder
- hintereinander angeordnet oder
- vollständig eingeschachtelt.
Die teilweise Einschachtelung (Überlappung) ist nicht
zulässig. Sogenannte blockorientierie Sprachen wie
Pascal, Modula-2 oder C unterstützen das Prinzip des
strukturierten Entwurfs weit mehr als die
unstrukturierten Sprachen wie BASIC.
Die oben nur stichwortartig dargestellten Prinzipien dürfen
nicht getrennt betrachtet werden; unter dem
Informatik-Sammelbegriff strukturierte Programmierung
faßt man sie zu einem heute allgemein anerkannten Vorgehen
zusammen. Die tragenden Prinzipien sind:
- Top-Down-Entwurf mit der schrittweisen Verfeinerung.
- Strukturierter Entwurf mit der Blockbildung.
|
| |
|
|
|