199 84 42MB
German Pages 513 [516] Year 1995
Grundlagen der EDV Von
Professor Dr. M. Frank Siegmann
R. Oldenbourg Verlag München Wien
Für Chris und Marvin
Die Deutsche Bibliothek - CIP-Einheitsaufnahme Siegmann, Frank: Grundlagen der EDV / von M. Frank Siegmann. - München ; Wien : Oldenbourg, 1996 ISBN 3-486-23199-5
© 1996 R. Oldenbourg Verlag GmbH, München Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen. Gesamtherstellung: R. Oldenbourg Graphische Betriebe GmbH, München
ISBN 3-486-23199-5
Vorwort Was kümmern mich meine Worte vom letzten Jahr. Dieser Wahlspruch hat für Lehrende auf dem Gebiet der EDV nur zu deutliche Berechtigung. Kein Fachgebiet ändert sich meines Wissens dermaßen schnell, wie das der Datenverarbeitung (die Kollegen aus den Bereichen Steuern oder Recht mögen diese Behauptung verzeihen). Daher war ich bemüht, weitestgehend auf die Angabe von Preisen, technischen Daten und Wertungen zu verzichten und die Teilaspekte der EDV herauszustellen, von denen angenommen werden kann, daß sie für einen längeren Zeitraum Gültigkeit besitzen. Deshalb wird in diesem Buch nicht versucht, auf die letzte Verbesserung des Betriebssystems X oder der Software Y einzugehen. Zum anderen ist die EDV noch immer weit davon entfernt, allgemeinverständlich und selbsterklärend zu sein. Der normale Nutzer ist im wesentlichen Anwender, und als Anwender Ignorant im positiven Sinne. Er weiß nicht, wie er den Speicher seines PCs optimal verwalten kann, er will es auch nicht wissen. Er ärgert sich darüber, daß Programme von Version zu Version alte Fehler beheben, aber neue hinzufügen. Er spielt mit der Möglichkeit seines Programms, Hintergrundfarben zu verändern, was unnötigen Speicherplatz kostet. Und er ärgert sich über eine Software, die ohne ein tausendseitiges Buch nicht verstanden werden kann. Von der idealen EDV-Umgebung sind wir also noch weit entfernt. Die genannten Unzulänglichkeiten erzwingen also nach wie vor den Erwerb von grundlegendem EDV-Wissen. Dieses ist die erste Auflage, die, sollte sie fehlerfrei sein, sicher eine Ausnahme darstellen würde. Daher möge man Fehler zwar nicht übersehen, sie aber freundlicherweise nicht überbewerten. Für Hinweise bin ich jederzeit dankbar. Ich danke meiner Mitarbeiterin Frau Diplom-Betriebswirtin Christiane Schäfer für die aufmerksame Durchsicht des Manuskriptes und die zahlreichen Anregungen. Herr DiplomBetriebswirt Heßling hat das Kapitel zur Programmiersprache COBOL kritisch durchleuchtet, auch dafür gebührt ihm mein Dank.
M. Frank Siegmann
Inhaltsübersicht 0
Einführende Bemerkungen
1
1
DV-Technik
2
Kommunikation
157
3
DV-Organisation
216
4
Softwareentwicklungen
258
5
Einführung in die Programmierung
320
6
Einführung in ein Betriebssystem
406
7
Einführung in eine Standardsoftware
454
20
Inhaltsverzeichnis 0
Einführende Bemerkungen
1
0.1
Problemstellung
1
0.2
Ziel und Gang dieser Einführung
4
0.3
Grundbegriffe
7
0.3.1
Daten und Datenverarbeitung
7
0.3.2
Komponenten einer DV-Anlage
10
0.3.3
Gliederung der EDV
12
0.4
Einige kritische Anmerkungen
13
0.5
Vorteile des EDV-Einsatzes
18
1
DV-Technik
1.1
Geschichte der Hardware
20
1.2
Heutiger Stand der Hardware
32
1.2.1
Homecomputer
33
1.2.2
Personal Computer (ATs)
35
1.2.3
Bürocomputer und Großrechner
38
1.2.4
Weitere Hardware
40
1.3
Die Zentraleinheit
41
1.3.1
Aufbau und Datenfluß
43
1.3.2
Illustrierendes Beispiel
47
1.3.3
Chips und Speicher
49
1.3.4
Einflußfaktoren auf die Rechnerleistung
58
1.3.5
Interne Datendarstellung
62
1.3.5.1
Zahlensysteme
62
1.3.5.2
Historische Zahlzeichen
63
20
X
Inhaltsverzeichnis
1.3.5.3
Rechnen im Binärsystem
64
1.3.5.4
Weitere Codes
69
1.3.6
Grundzüge der Computerlogik
74
1.4
Ein- und Ausgabegeräte
79
1.4.1
Eingabegeräte
81
1.4.1.1
Tastatur
81
1.4.1.2
Maus und Trackball
84
1.4.1.3
Scanner
86
1.4.1.4
Sonstige Eingabegeräte
89
1.4.2
Ausgabegeräte
90
1.4.2.1
Monitore und Grafikkarten
90
1.4.2.1.1
Grafikkarten
91
1.4.2.1.2
Kathodenstrahlröhren
97
1.4.2.1.3
LCD-Bildschirme
102
1.4.2.1.4
Strahlung und Ergonomie
105
1.4.2.2
Drucker
108
1.4.2.2.1
Ältere Technologien
111
1.4.2.2.2
Nadeldrucker
112
1.4.2.2.3
Thermische Drucker
114
1.4.2.2.4
Tintenstrahldrucker
115
1.4.2.2.5
Laserdrucker
117
1.4.2.2.6
Kriterien fiir den Kauf
122
1.4.2.3
Plotter
124
1.4.2.3.1
Vektorplotter
125
1.4.2.3.2
Rasterplotter
126
1.4.2.4
Sonstige Ausgabegeräte
127
1.5
Externe Speicher und -gerate
128
1.5.1
Controller
129
1.5.2
Magnetische Datenträger
130
1.5.2.1
Disketten und -laufwerke
131
1.5.2.2
Festplattenlaufwerke
134
1.5.2.3
Magnetbänder
137
Inhaltsverzeichnis
XI
1.5.2.4
Magnetstreifen
138
1.5.3
Optische Speicher
139
1.5.3.1
Optische Speicheiplatten
140
1.5.3.2
Magneto-optische Speicher
143
1.5.3.3
Sonstige optische Speicher
144
1.5.4
Elektronische Datenträger
145
1.5.4.1
Chipkarten
145
1.5.4.2
Halbleiterplatten
146
1.5.5
Mechanische Datenträger
146
1.5.5.1
Gelochte Datenträger
147
1.5.5.2
Strichmarkierte Datenträger
148
1.5.5.2.1
Barcodes
149
1.5.5.2.2
Klarschriftbelege
150
1.5.6
Zwischenspeicher
151
1.5.6.1
Virtuelle Speicher
152
1.5.6.2
Cache-Speicher
153
1.5.6.3
Expanded Memory und Extended Memory
154
1.5.7
Sonstige Peripheriegeräte
156
2
Kommunikation
2.1
Netzwerke
162
2.2
Datenfernübertragung
173
2.2.1
Bildschirmtext Btx
179
2.2.2
Telefax
182
2.2.3
Datex
184
2.2.4
Mailboxen und externe Datenbanken
185
2.2.5
Internet und andere Netze
187
2.2.6
ISDN und EURO-ISDN
189
2.3
Fehler in Netzen
192
2.3.1
Verfahren zur Erkennung von Fehlern
195
2.3.2
Verfahren zur Beseitigung von Fehlern
197
157
XII
Inhaltsverzeichnis
2.4
Datensicherheit und Datenschutz
201
2.4.1
Datensicherung
205
2.4.1.1
Technische Maßnahmen
205
2.4.1.2
Personelle Maßnahmen
206
2.4.1.3
Organisatorische Maßnahmen
207
2.4.1.4
Bauliche Maßnahmen
208
2.4.2
Datenschutz
209
2.4.3
Die Realität
214
3
DV-Organisation
3.1
Integrierende Wirkung von Datenbanken
217
3.1.1
Einfuhrendes Beispiel
218
3.1.2
Organisationsprobleme
220
3.1.3
Ziele einer Integration
221
3.1.4
Konsequenzen der Integration
222
3.1.5
Weitere Beispiele einer integrierenden Wirkung
223
3.1.5.1
Warenwirtschaftssysteme
223
3.1.5.2
Versicherungen
226
3.1.5.3
Automatisiertes Bestellwesen
226
3.2
Einführung eines EDV-Systems
228
3.2.1
Aufgaben des Managements
228
3.2.2
Maßnahmen bei der Einführung eines EDV-Systems
230
3.2.3
Phaseneinteilung
230
3.2.3.1
Problemanalyse und Aufgabendefinition
232
3.2.3.2
Grobkonzeption
233
3.2.3.2.1
Projektplan
234
3.2.3.2.2
Datenmengengerüst und Speicherbedarf.
235
3.2.3.3
Entwurf
235
3.2.3.3.1
Inhalt und Aufbau des Pflichtenheftes
236
3.2.3.3.2
Softwareauswahl
238
3.2.3.3.3
Hardwareauswahl
252
3.2.3.3.4
Vertragsverhandlungen
253
216
Inhaltsverzeichnis
XIII
3.2.3.4
Programmierung
254
3.2.3.4.1
Ablauf der Programmierung
254
3.2.3.4.2
Dokumentation
255
3.2.3.5
Test
256
3.2.3.6
Systemeinführung
256
3.2.3.7
Produktiveinsatz
257
4
Softwareentwicklungen
4.1
Betriebssysteme
260
4.2
Betriebsarten
269
4.3
Bedieneroberflächen
271
4.4
Textverarbeitung
276
4.5
Tabellenkalkulation
281
4.6
Datenbank
284
4.7
Präsentationen
286
4.8
Integrierte Pakete
293
4.9
Statistik
295
4.10
Branchensoftware
297
4.11
Public Domain und Shareware
298
4.12
Utilities
300
4.13
Programmiersprachen
302
4.14
Spiele
309
4.15
Virenprogramme
311
4.16
Weitere Kriterien für die Softwareauswahl
316
5
Einführung in die Programmierung
5.1
Einführendes Beispiel
258
320 321
XIV
Inhaltsverzeichnis
5.1.1
Zerlegung in Module
322
5.1.2
Formulierung des Algorithmus
322
5.1.3
Überfuhrung in ein Struktogramm
328
5.1.4
Anweisungen, Schleifen und Verzweigungen
330
5.1.5
Beispiele der Codierung in COBOL
334
5.2
Allgemeine Bemerkungen zum methodischen Entwurf und zur Programmierung
335
5.2.1
Vom Problem zum Programm
335
5.2.2
Grafische Darstellungsmöglichkeiten
338
5.2.2.1
Kontrollstrukturen in Programmablaufplänen
338
5.2.2.2
Strukturen nach der Jackson-Methode
339
5.2.2.3
Kontrollstrukturen nach der Nassi-Shneiderman-Methode
341
5.2.2.4
Entscheidungstabellen
344
5.2.2.5
Schnittstellendefinitionen
346
5.2.3
Strukturierte Programmierung
348
5.2.4
Abschließendes Beispiel
349
5.2.5
Übersetzung in ein lauffahiges Programm
357
5.3
Einfuhrung in COBOL
358
5.3.1
Einführung in die COBOL-Syntax
360
5.3.1.1
Der Zeichenvorrat
3 64
5.3.1.2
Wörter
364
5.3.1.3
Die Notation
366
5.3.1.4
Aufbau eines Programms
368
5.3.1.4.1
IDENTIFICATION DIVISION
369
5.3.1.4.2
ENVIRONMENT DIVISION
369
5.3.1.4.3
DATA DIVISION
370
5.3.1.4.4
PROCEDURE DIVISION
371
5.3.1.4.5
Das Programmschema
372
5.3.1.5
Datenstrukturen
373
5.3.1.5.1
Stufennummern
374
5.3.1.5.2
PICTURE
375
5.3.1.5.3
Ausgabeformate
377
Inhaltsverzeichnis
XV
5.3.2
Grundlegende Befehle anhand von Beispielen
378
5.3.2.1
Arithmetische Anweisungen
379
5.3.2.2
Ein- und Ausgabeanweisungen
383
5.3.2.3
Anweisungen zur Ablaufsteuerung
384
5.3.2.4
Beispiele
388
5.3.2.4.1
COBOL-Programm Geldautomat
389
5.3.2.4.2
COBOL-Programm Weitsprung
391
5.3.2.4.3
COBOL-Programm EDV-Klausur
393
5.3.3
Bearbeitung sequentieller Dateien
396
5.3.3.1
INPUT-OUTPUT SECTION
397
5.3.3.2
FILE SECTION
398
5.3.3.3
Befehle zur Verarbeitung sequentieller Dateien
399
5.3.3.4
Einführendes Beispielprogramm
401
5.3.3.5
Weiterfuhrende Beispielprogramme
402
6
Einführung in ein Betriebssystem
6.1
PC-DOS und MS-DOS
407
6.1.1
Versionen von DOS
408
6.1.2
Laden von DOS
410
6.1.3
Laufwerksbezeichnungen
411
6.1.4
Grundlegende DOS-Dateien
412
6.1.5
Dateinamen und-typen
415
6.1.6
Verzeichnisse und Baumstruktur
417
6.2
Grundlegende Befehle
421
6.2.1
Die Tastatur
421
6.2.2
Interne und externe Befehle
425
6.2.3
Befehle zur Ansicht des Inhalts eines Datenträgers
426
6.2.4
Der Format-Befehl
430
6.2.5
Befehle für Verzeichnisse
434
6.2.6
Kopier- und Verschiebebefehle
436
6.2.7
Löschen von Dateien
440
6.2.8
Dateisicherung
441
406
XVI
Inhaltsverzeichnis
6.2.9
Das Prompt
442
6.2.10
Der Pfad
443
6.3
Erstellen von Batch-Dateien
445
6.3.1
Der DOS-Editor
445
6.3.1.1
Aufruf von Befehlen
446
6.3.1.2
Speichern und Laden von Dateien
447
6.3.1.3
Der Befehlsvorrat
448
6.3.2
Beispiel einer Menuetechnik
450
7
Einführung in eine Standardsoftware
7.1
Grundlegende Operationen
455
7.1.1
Starten der Bedieneroberfläche
455
7.1.2
Starten von Works
457
7.2
Tabellenkalkulation
458
7.3
Grafik
466
7.4
Datenbank
471
7.5
Textverarbeitung
478
7.6
Integration verschiedener Funktionen
481
7.7
Abschließendes Beispiel
482
454
0 Einführende Bemerkungen 0.1 Problemstellung Zum Anfang zwei Beispiele: •
1992 veranstaltete Pepsi Cola auf den Philippinen ein Preisausschreiben; in die Kronkorken waren Nummern eingestanzt, wobei die richtige zu einem Gewinn von 1 Mio. Pesos führen sollte. Durch einen Computerfehler wurden nicht 18, sondern 800.000 Kronkorken mit dieser Nummer bedruckt, damit gab es ebenso viele Gewinner. Die Folge war eine Prozeßlawine und letztendlich ein Imageverlust, da Pepsi Cola die 30 Mrd. $ natürlich nicht aufbringen konnte; 20 $ für jeden Gewinner als Trostpreis war die unbefriedigende Lösung.
•
Im Jahre 1960 löste der US-Verteidigungscomputer Norad einen Alarm aus, weil eine russische Rakete im Anflug geortet wurde. Ein Gegenschlag konnte verhindert werden, weil einigen Bedienern der Flugweg bekannt vorkam; der Mond war aufgegangen.
Beide Meldungen zeigen, wie weit unser Leben schon von der Elektronischen (EDV) oder Automatisierten (ADV) Datenverarbeitung beeinflußt wird. Offensichtlich, oder auch ohne daß wir es unmittelbar bemerken, verändern Kommunikations- und Informationssysteme vorherrschende Strukturen. Einige Beispiele für die vielfältigen Einsatzgebiete sind Reservierungs- und Kassensysteme, Telefonanlagen, Waschmaschinen, HiFi-Anlagen, Autos. Ein Bauherr nutzt seinen PC zur Erstellung von Schreiben an seinen Architekten, den fertigen Text übersendet er mit Hilfe seines FAX-Modems. Der Architekt erstellt die Kostenberechnung mit einem Tabellenkalkulationsprogramm; die Pläne werden mit Hilfe einer CAD-Software erstellt und kopiert. Die erstellten Pläne übernimmt der Statiker und übermittelt seine Daten per Datenträger. Der Bauunternehmer berechnet anhand der Vorgaben sein Angebot, füllt es mit Textbausteinen und überprüft in seinem Projektmanagementprogramm freie Kapazitäten. Natürlich werden auch die Überweisungen des Bauherrn mit Hilfe einer Homebanking-Software und einem
2
0 Einführende
Bemerkungen
Datex-J-Anschluß getätigt. Der Unternehmer erhält damit Belege, die er zur Vorlage beim Finanzamt sammelt. Die Kette möglicher Datenverarbeitung ließe sich beliebig fortsetzen. Grundsätzlich kann die Beschäftigung mit der EDV oder den in der EDV eingesetzten Anlagen aus verschiedenen Blickwinkeln gesehen werden; einmal aus der physikalischen Sicht, die sich mit Bauteilen und ihrem technischen Zusammenwirken beschäftigt, zum anderen aus praktischer Sicht, als Hilfsmittel zur Lösung anwendungsbezogener Fragestellungen. Für den Wirtschaftswissenschaftler ist im wesentlichen nur der zweitgenannte Ausschnitt aus dem vielfältigen Gebiet der EDV von Bedeutung. Er möchte Werkzeuge an die Hand bekommen, die es ihm ermöglichen, betriebliche Vorfälle in seiner jetzigen und späteren Praxis mit Hilfe der EDV besser zu lösen. Weniger interessiert ihn dabei die eigentliche Technik einer EDV-Anlage, dies bleibt das Aufgabengebiet der technisch orientierten Informatiker. Grundlagen sollten aber auch auf diesem Gebiet vorhanden sein, um sinnvolle EDV-Lösungen auswählen und beurteilen zu können. Da Bildungsinstitute und Anwender aus Kostengründen in der Regel nur kleinere Maschinen vorhalten können, ist der ausgewählte Themenbereich auf den PC-Bereich beschränkt, Bürocomputer und Systeme der mittleren Datentechnik werden nicht behandelt. Auch MultiMedia wird bewußt nur am Rande erwähnt, weil es für betriebliche Anwender weitgehend uninteressant ist. Trotz dieser Beschränkung auf Teilbereiche ist es bis zur Beherrschung eines grundlegenden und ausreichenden EDV-Wissens ein weiter Weg. Dies liegt häufig an folgenden Problemen, die Anfänger beim Umgang mit der EDV haben: • Der Ursprung der EDV kommt aus dem angloamerikanischen Raum, in vielen Bereichen reicht das Schulenglisch zum Verständnis von englischen Texten und Begriffen nicht aus (z.B. ist der Löschbefehl delete selten ein bekannter Begriff des Englischen). • Viele Begriffe, insbesondere Abkürzungen und damit Kombinationen von Buchstaben, die eine Kommunikation eher erschweren, finden keine Entsprechung im Deutschen, sie können deshalb nur auswendig gelernt werden (z.B. MS-DOS, das nicht etwa der Säuberung von Toilettenanlagen dient). • Die EDV-Lösung selbst ist nur ein Teil des zu erlernenden Wissens, die Umsetzung einer betrieblichen Problemstellung in eine EDV-Lösung ist ebenso wichtig.
0 Einführende
Bemerkungen
3
• Das Wissen junger EDV-Benutzer ist häufig unstrukturiert und auf bestimmte Computer, Systeme bzw. Arbeitsumgebungen beschränkt. • Das Gebiet der EDV ist wenig normiert, sehr unterschiedliche Systeme beherrschen den Markt. Eine Einführung in die EDV kann deshalb nur beispielhaft an einem bestimmten System gezeigt werden. Der Umstieg auf andere Systeme fällt aber auf der anderen Seite recht leicht, wenn die Grundprinzipien der EDV verstanden wurden.
Sicher gibt es immer noch Studenten, Mitarbeiter und Vorgesetzte, die EDV als lästigen Fortschritt betrachten. Verständlich, da der Einstieg in dieses Gebiet eben doch nicht so einfach ist, wie es uns die Hersteller und Anbieter von Hard- und Software weismachen wollen. Aber: Kaum ein Arbeitsplatz im kaufmännischen Bereich ist ohne EDV-Kenntnisse zu besetzen. Dabei nehmen die typischen Kernberufe der DV ab, gleichzeitig steigt der Anteil der sogenannten Randberufe, also der Berufe, in denen Computer im wesentlichen als Hilfsmittel oder Werkzeug benutzt werden. Den weniger Interessierten kann nur der Rat gegeben werden, die etwas mühselige Pflicht des Erlernens von Grundlagen so weit wie möglich wertfrei zu betrachten. Die Freude an der EDV stellt sich häufig erst im Laufe der Zeit ein (wie oftmals auch die Freude an der Betriebswirtschaftslehre). Auch die dem Menschen gegebene unstrukturierte Datenhaltung wird mit Hilfe der EDV deutlich verbessert. Vor dem Lohn steht der Schweiß. Da es sich um eine Einführung handelt, wird weniger auf jeweils neueste Entwicklungen bzw. Versionen Bezug genommen, sondern auf mittelfristig gültige Grundlagen, von denen angenommen werden kann, daß sie auch noch in einigen Jahren in dieser oder ähnlicher Art mit den vorgestellten Instrumenten gelöst werden können. So zeigt sich heute auf dem Markt eine schon lange erwartete Entwicklung. Neue Softwareversionen werden von privaten Nutzern sofort aufgenommen, während im betrieblichen Bereich wegen der damit verbundenen Schulungs- und Umstellungskosten (häufig auch notwendigen Investitionen für die neue Hardware) der Umstieg einen wesentlich längeren Zeitraum benötigt, oder auch einmal verschoben wird. Dies ist sicher auch ein Grund für die Forcierung von Multi-Media, das in erster Linie auf den privaten Anwender zielt. Zudem muß man sich fragen, ob die ständigen Weiterentwicklungen und Optionserweiterungen für den Nutzer wirklich vorteilhaft sind. Viele Funktionen sind einfach überflüssig, man-
4
0 Einführende
Bemerkungen
che sind nützlich, lohnen aber dennoch nicht den Preis eines Updates. Der Umstieg auf eine neuere Version mit Gliederlingsfunktion lohnt beispielsweise dann nicht, wenn lediglich die Diplomarbeit ansteht. Mit einem zusätzlichen Zeitaufwand von einer Stunde hat man auch die Gliederung "zu Fuß" erstellt, allemal preisgünstiger als ein Update. Auch den PC zum Einsatz als FAX-Anschluß rund um die Uhr laufen zu lassen, erscheint wenig sinnvoll, ein stationäres FAX oder sogar ein Brief kann da durch die eingesparten Stromkosten kostengünstiger sein. Der Leser sollte daher etwas gelassen die jeweils aktuellen Trends anhand von weiterführender Literatur beachten. Zusätzlich reicht es in der Regel aus, eine Fachzeitschrift regelmäßig zu lesen; Überschneidungen von Besprechungen über Hardware und Software in verschiedenen Publikationen lohnen den höheren Aufwand meist nicht. Zum Einwand, die Fachzeitschriften werden von den Firmen bestochen, damit sie über neue Produkte berichten bzw. die Firmen werden von den Fachzeitschriften bestochen, damit sie über deren Fehler berichten können, möge sich der Leser selbst ein Urteil bilden. Aber eine Frage sei dennoch gestellt: Was würde aus den Fachzeitschriften, wenn alles ohne Probleme und vor allem selbsterklärend läuft?
0.2 Ziel und Gang dieser Einführung Das vorliegende Buch soll einen möglichst verständlichen Einstieg in die EDV ermöglichen. Es beginnt •
zuerst mit einer Einführung in die Grundlagen der DV-Technik
•
gefolgt von einer Ubersicht der gängigsten Softwarelösungen
•
einer näheren Betrachtung von Kommunikationsmöglichkeiten blembereiche Datensicherheit
und
(Hardware), und einschließlich der Pro-
Datenschutz.
Die praktischen Beispiele werden erläutert anhand •
des gängigen PC-Betriebssystem
MS-DOS,
•
der einfachen, aber recht praxisreifen Anwendungssoftware, WINDOWS und
•
der Einführung in die strukturierte Programmierung.
nämlich WORKS für
0 Einfahrende
Bemerkungen
5
Ziele dieser Einführung sind also, daß der Leser: • erklären kann, wie ein Rechner funktioniert, • erklären kann, was Informationssysteme sind, • erklären kann, wie der gegenwärtige und zukünftige Stand der EDV einzuschätzen ist, • Standardsoftware kennt und einsetzen kann, • Hilfestellung bei betrieblichen EDV-Lösungen bieten kann, • kompetenter Ansprechpartner bei der EDV-Auswahl ist.
Die Umsetzung in eine sachgerechte EDV-Lösung macht nur einen Teil der gesamten betrieblichen Lösung aus, sie muß in das entsprechende organisatorische Umfeld eingebunden werden. Nur tiefgehende Vorüberlegungen helfen spätere Frustsituationen vermeiden; wenn die Anlage beispielsweise nicht das leistet, was man sich vorher nur wage vorgestellt hat. Dies kann folgendes Beispiel verdeutlichen: Ein Textilfilialist, der bisher ohne Datenverarbeitungssysteme ausgekommen ist, könnte beispielsweise aus folgenden Gründen über einen Einsatz nachdenken: • Kostensteigerungen beim Personaleinsatz, • häufige Kundenreklamationen über lange Wartezeiten an der Kasse oder über fehlende Artikel in bestimmten Größen und Farben, • zu späte Bestellungen von Waren, • zu späte Information der Zentrale, • aber auch zu hohe Lagerbestände bei bestimmten Waren • und damit zu hohe Kapitalbindung • und damit hohe Verluste bei den Schlußverkaufsveranstaltungen, • festgestellter Warenschwund bei der Inventur, • fehlende Auswertungen über Sonderangebotsaktionen und Verkaufsförderungsmaßnahmen.
Diesen festgestellten Mängeln muß nun über eine genaue Ist-Analyse nachgegangen werden.
6
0 Einführende Bemerkungen
Typische Daten, die erhoben werden sollten, und ihre Quellen sind: Anzahl der Kunden Kundenwünsche Umsätze in Warengruppen Anzahl Waren Anzahl Lieferungen Anzahl Mitarbeiter Zusammenarbeit der Mitarbeiter Kosten der Aufgabenerfullung
anhand anhand anhand anhand anhand anhand anhand anhand
von Beobachtungen von Befragungen der Kassenbelege von Lagerlisten der Lieferscheine der Personalakten von Befragungen von Kalkulationen
An diese Ist-Analyse schließt sich das Soll-Konzept an, die verwendeten Quellen können sich dabei entsprechen und werden häufig schon bei der Ist-Analyse berücksichtigt. • Kundenbefragung Was kann verbessert werden? • Mitarbeiterbefragung Wo sind Mängel, wie können sie behoben werden? • Lieferantenbefragung Wo weist die Zusammenarbeit Lücken auf? Daraus muß ein Grobkonzept erstellt werden, das Verknüpfungen zwischen den Zielsetzungen herstellt und ein grobes Raster für die angestrebten Lösungen bildet. Mit Hilfe von Literatur, Herstellerbefragungen, oder auch Konkurrentenbefragungen, die häufig die Angaben der Hersteller relativieren, muß ein Detailkonzept erstellt werden. Dabei müssen spätere Probleme, die erfahrungsgemäß immer wieder auftauchen, schon hier antizipiert werden. Das sind insbesondere •
Schulungsprobleme,
•
Akzeptanzprobleme,
•
Budgetüberschreitungen.
Anhand von Wirtschaftlichkeitsrechnungen
schließt sich eine Durchführungsstudie an, in der
über die ökonomisch sinnvolle Hard- und Software und den Ort ihres Einsatzes nachgedacht werden muß.
0 Einführende
7
Bemerkungen
Entschieden werden muß schließlich, ob eine Standardsofitware, eventuell in modifizierter Form, oder eine Individuallösung angestrebt wird. Bei der Auswahl von Standardsoftware
muß auf eine Vorführung einer Demoversion und
einem Test beim Händler bestanden werden. Anhand von Scoringverfahren können unterschiedliche Programmpakete bewertet werden. Bei der Individuallösung
muß ein möglichst genaues Pflichtenheft erstellt werden, eine stän-
dige Absprache mit dem Ersteller muß sichergestellt werden. Schon sehr früh müssen die späteren Nutzer in die Planung einbezogen werden; nichts gefährdet den Erfolg einer EDV-Lösung mehr als der Eindruck beim Nutzer, daß ein System über seinen Kopf hinweg eingeführt wurde, dessen Konsequenzen er aber nicht abzuschätzen vermag. Die Umstellung
sollte schließlich in den Monaten vorgenommen werden, in denen Absatz-
und Beschaffungsaktivitäten gering sind, in denen also Freiraum für zusätzliche Arbeiten wie Einführungen, Parallelanwendung (altes System, neues System) unbedenklich geschaffen werden kann. Alle diese Stufen sind durch ständige Feedbacks gekennzeichnet, ständig muß also ein Schritt oder gleich mehrere Schritte zurückgegangen werden, wenn tatsächliche Entwicklungen und gesteckte Ziele auseinanderlaufen. Im ungünstigsten Fall kann dies auch bedeuten, daß ein EDV-Projekt abgebrochen werden muß, da die neue Lösung keinen durchgreifenden Erfolg verspricht oder unter Kosten- und Organisationsgesichtspunkten nicht praktikabel erscheint. Im folgenden sollen nun einige Grundbegriffe der EDV näher erläutert werden.
0.3 Grundbegriffe 0.3.1 Daten und Datenverarbeitung
Nach einer DIN wurde ein Datenverarbeitungssystem
als eine Funktionseinheit zur Verarbei-
tung von Daten, nämlich zur Durchführung mathematischer, umformender, übertragender und speichernder Operationen bezeichnet.
8
0 Einfahrende
Bemerkungen
Während der erste Halbsatz wenig einfallsreich erscheint, verbirgt der zweite aber doch die eigentliche Zielsetzung eines Datenverarbeitungssystems. Es geht um Daten (Informationen), die nicht einfach nur eingegeben und ausgegeben werden, sondern die von einer Anlage in unterschiedlichen Prozeduren, z.B. Berechnungen, verarbeitet werden. Synonyme Begriffe für Datenverarbeitungssysteme sind: Rechner, Rechnersystem, Rechenanlage, DV-Anlage, Computer, Data Processing System.
Damit Computer Daten verarbeiten können, müssen sie eine bestimmte Ordnung aufweisen (Belege, Formulare). Die Datenerfassung kann übrigens auf verschiedene Arten erfolgen: • Von On-Line-Betrieb
spricht man, wenn eine ständige Verbindung zwischen Eingabe-
medium und Speicherbereich besteht, •
Off-Line-Betrieb
stellt diese Verbindung nur bei Bedarf her bzw. die Daten werden erst
einmal gesammelt und zu bestimmten Zeitpunkten in einem Schub weitergegeben. Direkte Datenerfassung bezeichnet die Übertragung von einem elektronischen System auf ein anderes mittels Datenträger (z.B. Daten des Statistischen Bundesamtes, die direkt in ein anderes System eingelesen werden), indirekte bezeichnet den Weg über Speichermedien, die nicht direkt eingelesen werden können (z.B. die Publikationen des Statistischen Bundesamtes).
Daten stellen also Informationen in einer maschinell verarbeitbaren Form dar; sie werden aufbewahrt auf Datenträgem und können nach folgendem Schema abgegrenzt werden:
0 Einfahrende Bemerkungen
9
Dabei haben analoge Daten in der EDV eine untergeordnete Bedeutung, gearbeitet wird hauptsächlich mit digitalisierten Daten. Im Rahmen der Übertragung von Bildsignalen wird neuerdings auch wieder auf die analoge Datenübertragung zurückgegriffen. Analoge Daten geben einen ununterbrochenen Zustand wider (Schallplatte, Analoguhr), sie können beliebig genau abgelesen werden. Digitale Daten stellen bestimmte Zustände dar, die Information ist unterbrochen (CD oder eine Digitaluhr, die immer nur bestimmte, wenn auch sehr kurze Zeitabschnitte darstellt). Die häufigsten Anwendungen finden sich im Bereich der Verarbeitung von Schrift und zunehmend auch im Bereich Bild (z.B. Multimedia). Sprachverarbeitung ist dagegen noch selten; Beispiele hierfür sind das Erkennen von menschlicher Sprache („Ich möchte jetzt einen Brief schreiben"), die noch teuer und auf Grund unterschiedlicher menschlicher Dialekte schwierig ist, und die Ausgabe von Sprache (z.B. in Aufzügen oder Anrufbeantwortern). Aber auch das Erkennen von Bildinformationen (z.B. Beobachtung von Straßenkreuzungen und Auswertung der Verkehrsdichte, Erkennen eines Busses) wirft immer noch Probleme auf. Auch Übersetzungen von Schrift in andere Sprachen sind nach wie vor problematisch. Ein System, daß "For years experts have questioned whether dogs or cats can seamlessly integrate with one another" übersetzt in "Jahrelang haben Experten befragt, ob folgt und Katzen seamlessly mit ein einanderer integriert einmachen", ist wohl von der Praxisreife noch weit entfernt. Schriftliche Daten lassen sich weiter untergliedern in: • numerische Daten, das sind Zahlen- oder Werteangaben wie z.B. 44801, • alphabetische Daten, sie setzen sich aus Buchstaben zusammen, z.B. Bochum, • alphanumerische Daten, die beide Arten beinhalten, z.B. 44801 Bochum. Sonderzeichen sind alle Zeichen, die nicht Buchstaben oder Ziffern sind (§, $, + usw.). Angemerkt werden muß, daß die Verarbeitung von Daten nicht neu ist; schon immer wurden Daten erfaßt, übertragen, gespeichert. Neu ist das dabei eingesetzte Hilfsmittel. Waren es frü-
0 Einführende
10
Bemerkungen
her Karteikästen, Papier und Bleistift, Rechenschieber, Abakus, so sind es heute EDVAnlagen.
0.3.2 Komponenten einer DV-Anlage
Ziel einer EDV ist die Übernahme von Funktionen, die prinzipiell auch der Mensch selbst ausfuhren kann, die er aber, weil häufig eintönig oder arbeitsaufwendig, einer Maschine übertragen möchte. Entsprechend der menschlichen Datenverarbeitung finden sich die gleichen Grundelemente daher auch bei einer EDV-Anlage wieder.
Eingabe
Verarbeitung
Ausgabe
Tastatur Maus Scanner
Steuerwerk Rechenwerk Arbeitsspeicher
Monitor Drucker Plotter
Externe Speicher Diskette Festplatte Magnetband
0 Einführende
Bemerkungen
11
Damit ist auch gleich eine mögliche Grundkonfiguration einer Rechenanlage dargestellt, die dem EVA-Prinzip gehorcht (Eingabe-Verarbeitung-Ausgabe). ABB. 0.1:
D I E KOMPONENTEN EINES P C
QUELLE:
I B M PRESSEFOTO S W 2 7 5 , I B M D E U T S C H L A N D
Es geht manchmal auch ohne eigene Ein- oder Ausgabegeräte, beispielsweise bei einer Telefonvermittlung.
12
0 Einführende
Bemerkungen
Nimmt man auch die Software hinzu, ergibt sich folgende Übersicht:
0.3.3 Gliederung der EDV War früher die Informatik eher eine Ansammlung von Methoden und Instrumenten aus den unterschiedlichsten Wissenschaften, wie Mathematik (welches Zahlensystem ist geeignet?), Elektrotechnik (wie fließen Ströme auf den Chips?), ist heute aus ihr eine Grundlagenwissenschaft geworden, die sich mit Methoden und Instrumenten der Datenverarbeitung wie Erfassung, Änderung, Speicherung, Übertragung und Ausgabe von Daten beschäftigt. Dies geschieht unter Zuhilfenahme
geeigneter Rechner, d.h. die prinzipiellen Vorgänge der
Datenverarbeitung haben Vorrang vor der Umsetzung auf bestimmte Rechnerplattformen.
0 Einfahrende
Bemerkungen
13
Das gesamte Gebiet der EDV kann folgendermaßen strukturiert werden:
0.4 Einige kritische Anmerkungen EDV fuhrt zu Fleiß, Bescheidenheit und Sauberkeit. Fleißig ist der Anwender, der nächtelang einen neuen Drucker installiert, der bescheiden damit zufrieden ist, daß Sonderzeichen nicht gedruckt werden, weil er schon einmal Probleme mit Viren hatte, die durch den neuen Drukkertreiber nicht auf die Festplatte gelangt wären. So könnte man überspitzt formulieren. Problematisch wird es immer dann, • wenn Entscheidungen von Programmen getroffen werden, die kein Einzelner mehr versteht,
14
0 Einführende
Bemerkungen
• wenn den Entscheidungen von Computern absolute Priorität eingeräumt wird, • wenn dem Menschen stundenlang Entscheidungen vom Computer abgenommen werden, dieser aber beim Ausfall des Rechners blitzschnell reagieren muß, • wenn der Soft- und Hardware zu viel Vertrauen geschenkt wird (neben dem Papst gilt nur der Computer als unfehlbar). Dazu einige Beispiele: • Die NASA stattete ihre Astronauten mit Handbüchern aus, die lauter Computerfehler beschrieben, und wie darauf reagiert werden kann. Die Beseitigung der eigentlichen Programmfehler erschien unmöglich. • Ein Airbus hatte bei der Landung in Warschau 700 Meter Bremsweg verschenkt, weil das Computerprogramm Schubumkehr und Störklappe sperrte; der Unfall ist damit auf die fälschlich auf das Rechensystem übertragene höhere Priorität zurückzuführen. • Piloten sind gut ausgebildet, beim Flug aber unausgelastet und gelangweilt; im Falle eines Fehlers sollen sie aber in Sekundenbruchteilen entscheiden. • Der Abschuß des iranischen Airbus 1988 in der Straße von Hormuz ist auf das blinde Vertrauen in die Technik zurückzuführen. Der Kommandant, abgeschottet in einem fensterlosen Raum vollgestopft mit Instrumenten, hätte ausgerüstet mit einem Fernglas bei einem Blick von Deck erkennen können, daß die angezeigte Meldung „Feindliches Flugzeug befindet sich im Sinkflug" falsch war. • Das medizinische Expertensystem Apache entschied anhand von 20 Parametern, ob lebenserhaltende Maschinen abgeschaltet werden sollen. Menschliche Entscheidungen auf Computer zu übertragen, ist wohl mehr als fraglich.
Die folgenden weiteren Beispiele möge der Leser selbst zuordnen: • Die Pagemaker-Version (ein Programm zur Erstellung von zeitungsähnlichen Veröffentlichungen) verlor in der Macintosh Version (ein bestimmter Rechnertyp) immer wieder Teile von Bildem, wenn sie auf Datenträger kopiert wurden. Antwort des Herstellers: Dies ist kein Problem, nur eine Einschränkung. Das war 1989.
0 Einführende
Bemerkungen
15
• Bei der Chemical Bank in New York wurde in einer Programmzeile der Befehl REM vergessen, was bei 150.000 Kunden zu einer Doppelbelastung ihrer Konten führte. • Auszug aus der Sales-Support-Informationen für Commodore-Händler: Wenn man auf der Tastatur versehentlich die Fl 1 - oder F12-Taste betätigt, stürzt GW-BASIC ab. Dieser Fehler wird vorerst nicht beseitigt. Wenn der Fehler bei MS-DOS bisher nicht auftritt, dann nur deshalb, weil im BIOS ein weiterer Fehler ist, der den ersten aufhebt. Dieser Fehler im BIOS wird aber demnächst beseitigt, so daß GW-BASIC dann auch dort abstürzt. • Ein Computerhersteller brachte einen neuen Rechner auf den Markt und hatte auf der Tastatur die Leertaste vergessen. • Die Fluglinie American Airlines setzte ein neues Reservierungssystem ein, daß bei schwacher Nachfrage Billigtickets anbieten sollte. Trotz leerer Flieger meldete es immer wieder: „Ausgebucht". • Im Handbuch des HP-Laserjets III findet sich folgende Anmerkung: „Personen, bei denen ozonbedingte Reizungen auftreten, sollten sich möglichst nicht in der Nähe eines Laserdruckers aufhalten. Der Benutzer sollte vom Benutzer nach ca. 50.000 Einzelblättern ausgetauscht werden." • Ein anderes Handbuch beschreibt, wie man „den goldfingerigen Randstecker der Tonkarte ausrichtet", zweifelsohne der Fehler eines Übersetzerprogramms. • Folgenreich war der Tippfehler eines Armeemitarbeiters 1979, der zwei Bestellnummern miteinander verwechselte. Anstelle eines Rückfahrscheinwerfers für einen Jeep wurde ein sieben Tonnen schwerer Marineanker geliefert; für eine Militärbasis in der Wüste von Colorado.
Es bleibt zu hoffen, daß die Programme in Flugzeugen, U-Bahnen, Medizingeräten nicht so fehlerhaft sind wie die hier beschriebenen. Vergessen werden sollte auch nicht, daß manches Problem ohne EDV immer noch besser und einfacher gelöst werden kann. 50 Telefonnummern sind in einem Notizbuch häufig schneller auffindbar als in einem Computer oder Notebook, die unter Umständen noch eingeschaltet werden müssen. Auch 1 Adreßaufkleber läßt sich mit einer Schreibmaschine wesentlich schneller herstellen. Zudem ist es eine Tatsache, daß der neue PC-Nutzer nach dem Kauf seines Rechners für längere Zeit nicht mehr im Kreis seiner Familie gesichtet wird, ohne seine
16
0 Einführende
Bemerkungen
Produktivität zu erhöhen. Brachte der Femseher noch die Familienmitglieder zusammen, wenn auch stumm, so bringt der PC sie endgültig auseinander. Multimedia-Gedudel ist wenig kommunikativer als Fernsehen, Datenfernübertragung zeigt immer nur einen Ausschnitt der möglichen menschlichen Kommunikationsformen. Auch für die Volkswirtschaft
insgesamt lassen sich einige negative Auswirkungen verfolgen.
Zwar ermöglicht die EDV •
den optimalen Einsatz der Produktionsfaktoren (oder auch Rationalisierung) und
•
eine optimalere Anpassung der Produktion an die Nachfrage, bei dem heute vorherrschenden Käufermarkt äußerst wichtig.
Dies begünstigt aber Konzentrationstendenzen
in der Wirtschaft, ein aus volkswirtschaftlicher
Sicht negatives Begleitbild. Denn umfangreiche Informationen über den Markt und den Konsumenten können eher große Betriebseinheiten verwalten; außerdem können nur solche Unternehmen große und umfangreiche EDV-Lösungen finanzieren. In der Konsequenz sind solche Unternehmungen allerdings dermaßen abhängig von umfangreichen DV-Lösungen, daß Ausfälle oder Fehler für wenige Tage, manchmal sogar nur Stunden, zu immensen Verlusten fuhren können. Am 22.11.88 orderte die Bank of New York für 32 Mrd. Staatsanleihen bei der Federal Reserve Bank, um sie weiter zu verkaufen. Da der Computer ausfiel, waren bis zum nächsten Tag 5 Mio. $ Zinsen angefallen. In vielen Bereichen werden zudem Erweiterungsinvestitionen von Rationalisierungsinvestitionen verdrängt. Dies wirft auch eine Reihe von Strukturproblemen auf. Typische Beispiele sind das Druckgewerbe, die Fabrikation und der Bürobereich. Sehr kritisch äußerte sich allerdings das ehedem sehr positiv gegenüber Computern eingestellte amerikanische Arbeitsministerium in einer 1982 veröffentlichten Studie. Die Kernaussage: Der Computer erhöht die Produktivität um ziemlich genau 0%. Der Einfluß der EDV auf den Menschen ist auch nicht immer nur positiv. Die physische
Be-
lastung der Arbeit wird sich zwar weiter verlagern, da immer mehr Maschinenkraft die Muskelkraft ersetzt. Moderne Fertigungsstraßen kommen fast ohne Personal aus. Andererseits belastet die Bildschirmarbeit die Muskulatur und die Wirbelsäule einseitig; Computertische verstärken diesen Trend. Die Augen werden extremen Helligkeitswechseln
ausgesetzt;
Büromitarbeiter leiden verstärkt unter Bewegungsmangel, selbst zum Versenden eines Fax muß nicht mehr aufgestanden werden. Die Arbeit wird monotoner, wenn z.B. wie bei McDo-
0 Einführende
Bemerkungen
17
nalds Friteusen computerisiert werden, damit nach 10 Minuten Einweisung jede Aushilfskraft in Moskau oder New York die gleichen braunen Pommes herstellen kann. Oder stressiger durch schlechte Softwaregestaltung und höhere Ansprüche an die Mitarbeiter, weil ja nun alles schneller gehen muß. Jugendliche sitzen stundenlang beim Spielen vor dem Computer. Ein weiterer Trend ist das Zusammenwachsen der Informations- und Kommunikationstechniken. Die funktional ähnlichen Techniken werden verwoben und vernetzt. So wird der PC zum FAX-Gerät, das über globale Netze Nachrichten verschickt. Der Staat hat vor diesem Hintergrund Schwierigkeiten, Datensicherheit und Datenschutz zu reglementieren. Unter dem Gesichtspunkt der voranschreitenden Vernetzung von Systemen und dem Austausch über öffentliche Netze ein immer wichtigerer Kritikpunkt. Ein weiteres Problem ist der zusätzlich anfallende Müll. Noch bestehen Rechner aus den unterschiedlichsten Materialien wie Kunststoff oder Metall, die nur schwer zu trennen und wiederzuverwerten sind. Auch ein aktiver Nadeldrucker nachts um 1.00 Uhr erfreut nicht jeden Nachbarn. Papier wird mehr denn je verbraucht, da Änderungen an Texten einfach sind, aber gerne sofort schwarz auf weiß kontrolliert werden. Die Aussagen: • „Mit dem Computer geht alles schneller", • „Mit dem Computer läßt sich Papier sparen", • „Der Computer erhöht die Effektivität", sind also mit Vorsicht zu betrachten. Realistisch betrachtet ergänzen sich Rechner und Mensch. Der Mensch kann besser sprechen, Muster erkennen, Initiative ergreifen, Überblick gewinnen, Probleme strukturieren, Schätzen, Nebensächliches übersehen (z.B. beim Schachspiel) und vor allem interessiert er sich für das Ergebnis. Computer schalten Ampelanlagen nach dem immer gleichen Muster, kontrollieren Datenflüsse, arbeiten sich gut durch umfangreiche Datenmengen, suchen nach Informationen, bleiben allerdings bei auftretenden Risiken, die ein Mensch erkennen würde, teilnahmslos. Damit bringt der Einsatz der EDV ohne Zweifel auch viele Vorteile mit sich.
18
0 Einführende
Bemerkungen
0.5 Vorteile des EDV-Einsatzes Ein wesentlicher Einsatzschwerpunkt liegt dort, wo es um Schnelligkeit
geht, die beim Com-
puter letztendlich nur durch die Geschwindigkeit des Stroms, also die Lichtgeschwindigkeit begrenzt wird. Damit nicht gemeint ist die Effektivität der Bearbeitung von Problemen unter Zuhilfenahme von Rechnern; diese ist sicher nicht größer, wenn der PC angeschaltet werden muß, um eine Notiz zu schreiben.
Ein Mensch, der die Zahlen 7328 und 3766 multipliziert, schafft das bestenfalls in 4 Sekunden, ein Rechner benötigt nicht einmal eine hundertstel Sekunde. Diese Schnelligkeit macht man sich beispielsweise in Schachprogrammen zu Nutze. Während der menschliche Schachspieler intuitiv vorgeht und bestimmte Züge ausschließt, berechnet der Computer jede denkbare Situation auf ihre möglichen Konsequenzen, bei den vielfältigen möglichen Alternativen wird der Zeitvorteil dadurch allerdings häufig wieder aufgehoben. Ähnliches gilt für überfrachtete Programme, die ständig Programmteile nachladen müssen. Die Sanduhr als Geduldszeichen. Ein weiterer Vorteil ist die Genauigkeit;
ein Computer verrechnet sich grundsätzlich nie, es
sei denn, im Programm sind Anweisungen eingebunden, die falsch sind. Neuere Entwicklungen, wie der Rechenfehler beim Pentium-Prozessor, relativieren diese Aussage.
Bei ausgereiften Programmen, die häufig verwendet werden, z.B. aus dem Bereich der Finanzbuchhaltung, kann von korrekten Ergebnissen ausgegangen werden; Konten werden pfenniggenau abgeschlossen. Ein Traum fiir jeden Buchhalter, der bei manchem Jahresabschluß schon einmal mehrere Tage auf der Suche nach 2 Pfennigen war. Diese Aussage muß auch relativiert werden, wenn es um Software geht, die nicht ausreichend getestet wurde oder so umfangreich ist, daß umfassende Tests unmöglich werden. In einem späteren Abschnitt wird davon noch die Rede sein.
0 Einführende Bemerkungen
19
Natürlich wird auch von den beteiligten Menschen Genauigkeit erwartet. Die Eingabe des Befehls copy kann nur in dieser Syntax vom Rechner erkannt werden; kopiere versteht er nicht. Werden Disketten in einer bestimmten Reihenfolge erwartet, wird nur dies vom Rechner akzeptiert. Ein Mensch kann (absichtlich) falsch rechnen oder bestechlich sein. Ein weiterer Vorteil ist die hohe Einsatzbereitschaft; ein Mensch kann krank werden, streiken. Ein vierter Vorteil ist die Vielseitigkeit eines Computers. Denn er beherrscht nicht nur • die 4 Grundrechenarten und • die logischen Verknüpfungen AND, OR, NOT, XOR usw., sondern er kann z.B. auch • sortieren, ordnen, • im Programm verzweigen, und vor allem in ganz unterschiedlichen Bereichen mit ganz unterschiedlichen Programmen arbeiten. Ein und derselbe Rechner kann z.B. eingesetzt werden: • zur Textverarbeitung, • zum Erlernen von Fremdsprachen, • zur Übertragung von Daten über Telefonleitungen, • zur Erstellung von Konstruktionszeichnungen, • zur Ausgabe von Musik. Ein solches Komplettsystem, das also idealerweise mehrere Aufgaben übernehmen kann, hat damit weitere Vorteile: • Einmalige Datenerfassung und damit Arbeitsersparnis und damit auch • mehr Sicherheit, weil die Daten nicht manuell übertragen werden müssen und die • parallele Verarbeitung von unterschiedlichen Aufgaben • mit großen Datenmengen. Darunter fallen z.B. Systeme, die dem Artikel sowohl den Preis zuordnen als auch den Lagerbestand korrigieren, Bestellungen bei Mindestbeständen ausdrucken und Rechnungen kontingentieren. Abschließend noch ein Wort zur Wettbewerbsfähigkeit der Bundesrepublik. Sie nimmt auf dem Wachstumsmarkt Datenverarbeitung bescheidene Plätze ein. Diese technologische Lücke wird wohl auch in den nächsten Jahren nicht geschlossen werden können.
1 DV-Technik
Obwohl vor der Anschaffung einer Hardware erst die gewünschte Software ausgewählt werden sollte, wird in diesem Kapitel die technische Seite der EDV betrachtet. Dabei soll ein Überblick über die Geschichte der DV und den gegenwärtigen Entwicklungsstand gewonnen werden. Ein zweiter Schwerpunkt liegt in der Betrachtung der einzelnen Komponenten einer EDVAnlage
und
deren
Zusammenwirken "sowie
bei
den
möglichen
angeschlossenen
Peripheriegeräten wie Ein- und Ausgabemedien und externen Speichern. Ziel dieses Kapitels ist es damit, einen Überblick über die technische Seite einer EDV-Anlage zu vermitteln und Entscheidungskriterien für die Auswahl geeigneter Hardware an die Hand zu geben.
1.1 Geschichte der Hardware Auch im Bereich der Computerindustrie sind frühzeitig Wirtschaftsspionage und Ideenklau vorgekommen; unterschiedliche Quellen nennen daher unter Umständen andere Erfinder als hier erörtert. So wird beispielsweise die Konstruktion des Computers ENIAC unter anderem John Mauchly zugeschrieben, der sein Team mit dem Patent einer binären Addierschaltung überraschte, obwohl diese Idee der bis dahin favorisierten parallelen Dezimalverarbeitung widersprach. Das Patent hatte er sich allerdings von John Atanasoff (beschäftigt bei Honeywell) unter den Nagel gerissen, wie erst 1973 in einem Gerichtsverfahren zu Tage kam. Die folgenden Ausführungen mögen vor diesem Hintergrund gesehen werden. Allen Entwicklungen gemeinsam ist der Wunsch nach Übertragung eintöniger, nervenaufreibender Arbeiten an Rechenautomaten; auch die Fortschritte in der Mathematik waren oft Auslöser immer neuer Anforderungen.
1
21
DV-Technik
Rund 300 v. Chr. wurde der Abakus von chinesischen Tüftlern entwickelt, die sich das Rechnen erleichtern wollten. Auch die Römer kannten ihn. Er wird noch heute in weiten Teilen Asiens verwendet, manch ein Benutzer erreicht bei den Grundrechenarten ähnliche Geschwindigkeiten wie ein Computer. Der Abakus besteht aus einem Holzrahmen, in den auf Schilfröhrchen gefädelte Holzkugeln eingespannt sind. Auch in Europa verwendete man bis ins Mittelalter hinein ähnliche Rechenbretter;
Miniver-
sionen findet man heute noch in Kinderlaufställen. Das heutige Ziffernsystem
(und mit ihm die dezimale Schreibweise) ist in Indien entstanden
und wurde etwa um 1500 von den Arabern nach Europa gebracht. Von hier wurde es auf der ganzen Welt verbreitet und ist damit auch Grundlage für die heutige Rechentechnik. Die Uhrmacher
entwickelten ebenfalls um 1500 die Technik der Einteilung des Tages in
Stunden, Minuten und Sekunden. Zahlreiche Zahnräder, Federn und Scheiben waren durch die Art ihrer Konstruktion Vorläufer der ersten Rechenautomaten. 1623 entwarf Schickard (1592-1635) auf dem Papier seine Rechenuhr, die alle vier Grundrechenarten beherrschen und einen Zehnerübertrag verwalten sollte; ein Jahr später Gunter einen Rechenschieber. Im Jahre 1642 entwickelte der Franzose Blaise Pascal (1623-1662) in Paris die erste mechanische Rechenmaschine
(ihm zu Ehren wurde eine weit verbreitete Programmiersprache be-
nannt), die mit Hilfe von Zahnrädern addieren und subtrahieren konnte. Pascal, Mathematiker, Physiker und Philosoph entwickelte die Maschine für seinen Vater, der als Finanzbeamter für die Steuereinnahmen zuständig war. Dessen Arbeit wurde damit wesentlich erleichtert, denn die Maschine konnte bereits, wenn auch etwas mühsam, Zehnerüberträge ausführen. Gottfried Wilhelm Leibnitz lebte von 1646 bis 1716. Als Mathematiker, Physiker, Techniker, Diplomat und Philosoph konstruierte er etwa 1673 einen Rechner, der erstmals alle vier Grundrechenarten einschließlich Zehnerüberträgen beherrschte. Leider konnte der Rechner nicht gebaut werden, weil die Feinmechaniker noch nicht so weit waren, seine Ideen in eine funktionierende Maschine umzusetzen; es blieb daher beim Modell. Viel später wurden Leibnitz Pläne wieder aufgegriffen, das Modell konnte in eine funktionierende Maschine umgesetzt werden.
22 ABB. 1.1:
1
DV-Technik
RECHENMASCHINE VON G . W . LEIBNITZ AUßENANSICHT UND BLICK AUF DIE MECHANIK DES ERGEBNISWERKS UND DIE STAFFEL WALZEN IM EINSTELLWERK
QUELLE:
COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
Leibnitz hat aber durch andere wissenschaftliche Forschungen zur Entwicklung der heutigen EDV-Technik beigetragen. Er entwickelte nämlich 1679 das System, das für Maschinen leichter zu handhaben ist als das Dezimalsystem. Das heute noch in der EDV-Welt gebräuchliche duale oder binäre Zahlensystem stützt sich nicht auf 10 verschiedene Ziffern (0, 1, 2, 3, ..., 9), sondern auf lediglich zwei, und zwar die Null und die Eins. Der Vorteil dieses Systems liegt auf der Hand, denn 0 und 1 repräsentieren nicht mehr Ziffern im eigentlichen Sinne, sondern paarweise Zustände wie ,ja/nein", „ein/aus", „wahr/nicht wahr", „Strom fließt/Strom fließt nicht".
1
23
DV-Technik
1727 entwickelte der österreichische Mathematiker und Optiker Antonius Braun die zweite Rechenmaschine der Welt (Sprossenradmaschine genannt), die ebenfalls alle Grundrechenarten beherrschte. 1820 ließ sich der Franzose Charles Xavier Thomas de Colmar (1785-1870) die erste industriell zu fertigende Rechenmaschine für die vier Grundrechenarten patentieren. 1821 stellte er diese Maschine auf einer Sitzung der „Société de Encouragement pour l'Industrie Nationale" der Öffentlichkeit vor. Er selbst baute die Arithmometre
in drei Versionen, als 6-, 8- und 10-
stellige Maschine. Wegen des hohen Preises fand diese Maschine aber nur sehr wenige Abnehmer. Alle Merkmale eines modernen Computers enthielt die 1850 von dem Engländer Charles Babbage (1792-1871) erfundene Konstruktion (Analytical Machine), die auch komplizierte Operationen durchfuhren konnte. Nach jahrelanger Tüftelei entwickelte er nämlich eine Maschine, die durch Lochkarten gesteuert werden sollte. Außerdem sollte sie Informationen mechanisch speichern können und Ergebnisse später ausdrucken. Leider war die „analytische Maschine" nur auf dem Papier vollständig ausgearbeitet; zu einer praktischen Anwendung kam es nicht, da das Geld fehlte und feinmechanische Hindernisse auftraten. Der Bergwerksingenieur und Sohn deutscher Auswanderer Hermann Hollerith
(1860-1929)
konstruierte zur Auswertung der 11. amerikanischen Volkszählung im Jahre 1890 eine elektromagnetische
Apparatur zum Stanzen von Lochkarten, auf der die statistischen Informatio-
nen mit Hilfe einer schreibmaschinenähnlichen Tastatur abgelocht wurden. Dieses Prinzip ging zurück auf Jacquard, der damit Webstühle steuerte. Die Daten wurden einer Zählmaschine zugeführt, in der an jeder gelochten Stelle ein elektrischer Impuls entstand, der an ein Zählwerk weitergeleitet wurde. 43 Hollerith-Maschinen und 43 Menschen schafften in vier Wochen die Arbeit, die zehn Jahre vorher 500 Menschen sieben Jahre lang beschäftigt hatte. Wie immer hatte ein praktisches Problem zur Erfindung gefuhrt, denn 1774 beschloß der amerikanische Kongreß, den Einfluß jedes Bundesstaates von seiner Bevölkerungszahl abhängig zu machen. 1934 begann der 1910 geborene deutsche Bauingenieur Konrad Zuse im Wohnzimmer seiner Eltern Bleche auszusägen, um daraus seinen 1937 fertiggestellten 21 zu entwickeln, der allerdings noch mechanisch funktionierte.
24
1
DV-Technik
Durch den II. Weltkrieg bedingt, kam es in der Folgezeit zu einigen Parallelitäten. 1939 entwickelte der Wissenschaftler Howard Aiken (1900-1973) an der Harvard University in Zusammenarbeit mit IBM die 1944 fertiggestellte Rechenmaschine MARK I (auch IBM ASCC, Automatic Sequence Controlled Calculator genannt), die 5 Tonnen wog und 400.000$ kostete. Auf einer Breite von 15 Metern und einer Höhe von 2,50 Meter waren 700.000 Einzelteile angeordnet, dazu gehörten 3300 Relais, 3000 Kugellager und 80 Kilometer Leitungsdraht. Es war die erste Maschine, die eigenständig längere Rechenprozeduren ohne menschlichen Eingriff durchfuhren konnte, somit ein weiterer deutlicher Schritt hin zum echten Computer. Für drei Additionen benötigte sie 1 Sekunde, zwei zehnstellige Zahlen multiplizierte sie in 6 Sekunden. Mark I versah 16 Jahre seinen Dienst und wurde mehrmals verbessert.
ABB. 1.2:
HARVARD M A R K I
QUELLE:
COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
Aus dieser Zeit stammt der Begriff bug für Fehler, weil sich im Computation Laboratory von Harvard eine Motte auf ein Relais der MARK I und dieses außer Betrieb setzte.
1941 (nach dem Z2 1938) entstand schließlich der eigentliche Vorläufer der heutigen Elektronengehirne, der Z3. Zuse baute die erste programmgesteuerte
Datenverarbeitungsanlage, die
er für ihn langweilende statische Berechnungen einsetzte. Das Programm wurde in Filmmaterial gespeichert. Die Z3 konnte mit Hilfe von 600 Relais im Rechen- und 1400 Relais im
1
DV-Technik
25
Speicherwerk schon höhere Operationen durchführen und war nicht auf die vier Grundrechenarten beschränkt; sie konnte nämlich duale Zahlen, Gleitkommazahlen und Bool'sche Operanden verarbeiten. Eine Multiplikation dauerte etwa drei Sekunden, einfache Additionen konnten schon in einer 20stel Sekunde bewältigt werden. Bis zur ZI 1 wurde auch sie ständig verbessert. ABB. 1.3:
REKONSTRUKTION DER Z 3 VON K O N R A D Z U S E
HWMWWWiJMIMWWHHWKSCa mtll'liiftM> i m i i n i m i i i i ffiiMVi^iiimrVfiMiiriiiiViH* ^liiiii ^HimTmiliM^IIMIIR ttV>« "•••«?«»« i m n i i ( K i i m
QUELLE:
COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
Das große Problem zu dieser Zeit war immer noch die hohe Anfälligkeit der Maschinen. Schon Zuse schrieb in Der Computer - Mein Lebenswerk: „In der Folgezeit bockte aber die Maschine auffallend häufig." In den Folgejahren stand die Entwicklung ausschließlich im Zeichen des zweiten Weltkrieges; Z4 sollte bei der Konstruktion von Flugzeugen und der Berechnung von Geschoßflugbahnen helfen, während in England ab 1943 der Colossus deutsche Codes erfolgreich knackte.
26
1
DV-Technik
Colossus war auch in einer anderen Hinsicht neu, statt Relais verwendete er die viel schneller schalten konnten. Er rechnete zudem als erster mit dem
Vakuumröhren,
Binärsystem.
1945 und 1946 entwickelten die amerikanischen Wissenschaftler John Presper Eckert und John William Mauchly
den 3 Mio $-teuren ENIAC (Electronic Numerical Integrator and
Computer) zur Berechnung ballistischer Tabellen. Hier tauchte auch zum ersten Mal die heute gebräuchliche Bezeichnung Computer auf. (Als Computer wurden übrigens ursprünglich in England die Menschen bezeichnet, die in Rechensälen Unmengen von Zahlen addierten). ENIAC schaffte die Multiplikation zweier zehnstelliger Zahlen in 2,8 Millisekunden und war damit schon 2000mal schneller als Mark I, obwohl er im Gegensatz zu Colossus wiederum im dekadischen System rechnete. Allerdings entwickelten seine 18.000 Röhren auf einer Stellfläche von 140 Quadratmetern durch die 174.000 Watt Anschlußleistung eine unerträgliche Hitze. ENIAC war bis 1955 im Einsatz und erstaunlich zuverlässig, vergleicht man seine 1 bis 2 Röhrenausfalle pro Woche mit der Aussage von John v. Neumann: Es ist bekannt, daß Vakuumröhren im Durchschnitt 2000 Stunden halten, bei 10.000 Röhren geht damit ca. alle 10 Minuten eine kaputt, nur welche?
ABB. 1.4:
E N I A C - ERSTER ELEKTRONISCHER R E C H E N A U T O M A T MIT E X T E R N E R PROGRAMMSTEUERUNG
QUELLE: COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
1
DV-Technik
27
Eckert und Mauchly gründeten übrigens die erste Computerfirma, deren erster Kunde das Bureau of Census (Statistische Bundesamt der USA) war. 1947 begann die zweite Computergeneration durch die Entdeckung der Vorteile der Rohmaterialien Silizium bzw. Germanium.
Beide Stoffe können gleichzeitig als Leiter und als
Isolator verwendet werden. Damit sind die beiden gegensätzlichen Zustände ,ja/nein", „ein/aus", „wahr/nicht wahr", „Strom fließt/Strom fließt nicht" sehr gut zu behandeln. Aus den beiden Rohmaterialien wurden von J. Bardeen, W. H. Brattain und W. Shockley Transistoren (Kunstwort aus transfer + resistor) gefertigt, die ab 1955 in Serie gingen und gegenüber Elektronenröhren wesentlich kleiner, schneller, zuverlässiger und billiger sind. A B B . 1.5:
QUELLE:
GRÖBENVERGLEICH ELEKTRONENRÖHRE - EINZELTRANSISTOREN
If
COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
Der erste Großcomputer in Serie wurde 1951 produziert. UNIVAC I (Universal Automatic Computer) kostete 600.000 $ und arbeitete mit binär verschlüsselten Dezimalzahlen, wog sieben Tonnen und bestand aus 5600 Röhren, 18.000 Dioden und 300 Relais. Seinen ersten Großeinsatz bestand er bei den Hochrechnungen zur Wahl zwischen Stevenson und Eisenhower. Konzipiert wurde er ebenfalls von Eckert und Mauchly. 1958 erfindet Jack S. Kilby von der amerikanischen Firma Texas Instruments den teilweise integrierten
Schaltkreis
(IC = Integrated Circuit) alif Basis der hybriden Technik; parallel
auch von Robert Noyce bei der Firma Fairchild ein Jahr später entwickelt. Man faßte einzelne Transistoren, Dioden und Widerstände auf einem Keramikplättchen zusammen; die Leistung ist zehnmal so groß, der Preis zehnmal geringer. Zum Einsatz kam der IC ab 1962.
28
1
Neun Jahre später, also 1967, entwickelt Texas Instruments
DV-Technik
den ersten Taschenrechner
mit
angeschlossenem Drucker. Er unterscheidet sich in seiner Leistung nicht von dem 20 Jahre älteren Modell ENIAC, konnte sie aber auf einem Bruchteil des früher notwendigen Platzbedarfs erbringen. Der Rechner enthielt einen Chip, der die gleichen Funktionen wie die 18.000 Elektronenröhren des ENIAC durchfuhren konnte. Das batteriebetriebene Gerät war einfach zu bedienen und setzte sich deshalb schnell am Markt durch. Wiederum Texas Instruments gelang es, und zwar durch seinen Wissenschaftler Gary Broone im Jahre 1970, alle Bauelemente eines Zentralprozessors auf einem einzigen Chip zu vereinen, also Rechenwerk und Steuerwerk. (Aber auch Gilbert Hyatt wird schon 1968 die Erfindung zugesprochen). Serienreif wurden diese hochintegrierten Schaltkreise auf MonolithTechnik 1972 durch den INTEL 4004 von Ted Hoff, der vor allem zur Steuerung von Verkehrsampeln eingesetzt wurde. Durch diese ersten echten Mikroprozessoren
begann eine Revolution auf dem Gebiet der Ver-
braucherelektronik, die heute noch nicht ihr Ende gefunden hat. Kaum ein Produkt, das nicht einen solchen Mikrochip enthält, sei es eine Waschmaschine, ein Fotoapparat, eine Armbanduhr oder ein Videorecorder. 1974 stellte INTEL den 8080-Prozessor
vor, der es ermöglichte, Programme für viele Benut-
zer zu schreiben; er wurde nämlich im ersten Computerbausatz, dem Altair, eingesetzt. Auch der 1975 vorgestellte Rechner von IMSAI enthielt diesen Chip. Beide zählen damit zur 1. Generation der Kleinrechner. Die Entwicklung verlief von nun an immer rasanter. 1976 versetzten Steve Jobs und Steve Wozniak ihren VW-Bus und einen Taschenrechner und gründeten, nachdem sie mit ihrer Idee bei Hewlett Packard und Texas Instruments abgeblitzt waren, eine eigene Firma mit einem Lieferprogramm von nur einem Produkt, das als Mittelding zwischen Großrechner und Taschenrechner gedacht war. Die 2. Computergeneration begann. Apple offerierte den Apple I; der Personal Computer war geboren und erfolgreich, obwohl zunächst niemand an einen Erfolg glaubte. Auch der Apple
II (ab
1978 mit
Diskettenlaufwerk) verkaufte sich gut; allerdings erreichten nicht alle Folgeprodukte, wie z.B. der Lisa, diese Absatzzahlen. Weitere Hersteller drängten auf den Markt, z.B. Commodore 1977 mit seinem PET (Personal Electronic Transactor, oder aber englisch für Haustier, was wahrscheinlich den Ausschlag für
1
DV-Technik
29
die Namensfindung gab). Der Speicher von 16 kByte wurde ein Jahr später aufgerüstet auf 40 kByte. Man erhielt einen Rechner mit 8-Bit-Prozessor, der mit 1 MHz getaktet wurde und BASIC integriert hatte. Bekannt wurden auch der TANDY TRS-80 oder der RAINBOW
von
Digital Equipment. Atari vertrieb seine Produkte über die Handelskette Radio Shack. Eingesetzt wurden überwiegend Prozessoren vom Typ 8086, die 1978 auf den Markt kamen. Alle Rechner waren aber nicht miteinander kompatibel, so daß der Umstieg von einem auf das andere System nicht möglich war. Fünf Jahre nach Apple versucht sich die bei Großrechnern fuhrende IBM auch auf dem Markt der kleineren Rechner. Ohne eigenes Betriebssystem, ohne eigenen Chip; Microsoft
und
INTEL wurden dadurch zu den größten Anbietern. Bei INTEL bekam lange Zeit jeder neue Mitarbeiter ein Buch über die Geschichte von IBM, um deren Fehler nicht zu wiederholen. Dennoch: Am 12.8.1981 stellte IBM den ersten Personal Computer (PC) für jedermann vor (3. Generation); mit 8088-Prozessor, 64 kByte Arbeitsspeicher, 4,77 MHz Taktfrequenz, 12 Zoll-Monochrome-Bildschirm und 160 kByte-Diskettenlaufwerk eine unter heutigen Gesichtspunkten unvorstellbare Minimalkonfiguration, unter der kein ernsthaftes Anwendungsprogramm laufen würde. Der Preis lag zudem in der Größenordnung eines Kleinwagens (ca. 10.000 DM für das grafikfähige Modell). Verkauft wurde er über Filialisten wie Sears, Roebuck & Co. und Computerland. In Europa kam der PC allerdings erst im Januar 1983 auf den Markt. Obwohl Apple in großformatigen Anzeigen „Welcome IBM" verkündete, dauerte es nicht lange, bis das fremdentwickelte Betriebssystem DOS den Vorläufer CP/M, das von Digital Equipment konzipiert worden war, und auch das Apple-System auf die Plätze verwies. Weil IBM anderen Herstellern die technischen Informationen zur Verfugung stellte, eine bis dahin nie vorstellbare Initiative, wurde das Nebeneinander inkompatibler Systeme etwas beseitigt, da zumindest einige grundlegende Standards für die Tastatur und die Anschlüsse geschaffen wurden. Allerdings verfolgte IBM damit nicht nur altruistische Ziele, schließlich war es für sie neu, oder besser unter ihrer Würde, mit Privatleuten zu handeln. Denn früher war es für den Endkunden nicht einmal möglich, eine Schreibmaschine direkt bei IBM zu erwerben. Der Kampf um Marktanteile wurde nun mit aller Härte geführt. Atari ließ Alan Alda (bekannt aus M.A.S.H.) für sich werben, Commodore konterte mit William Shattner (Captain Kirk aus
30
1
DV-Technik
Raumschiff Enterprise). IBM galt durch einen steifen Vertrieb als zu seriös und wollte die Muppets einkaufen, entschied sich aber in einer bis dahin in ihrem Aufwand nicht dagewesenen Marketingkampagne fiir die Figur Charlie Chaplins, der in einer Markterhebung als Sympathieträger ermittelt worden war. Bei vielen Jugendlichen und Anfängern wurde der C64, der 1982 mit integrierter Programmiersprache BASIC auf den Markt kam, fiir lange Jahre ein Hit. ABB. 1.6:
D E R C 6 4 II VON COMMODORE
QUELLE:
EIGENES FOTO, 1 9 9 5
1983 löste der AT den PC ab, ursprünglich ein System mit 128 kByte RAM, 360 kByte Diskettenlaufwerk und 10 MByte Festplatte; er kostete bei der Markteinführung 26.000 DM. Im gleichen Jahr erschien der erste Portable von Compaq, der allerdings nicht ohne Netzanschluß funktionierte und damit eher an einen tragbaren Fernseher erinnerte. Apple antwortete am 24.1.1984
mit dem Macintosh
auf Basis des Motorola-Chips 68000,
einer Maschine fur jedermann mit Maus und grafischer Benutzeroberfläche. Bei 128 kByte RAM ohne Festplatte war der Erfolg im Geschäftsbereich allerdings zuerst mäßig, nahm aber ständig zu. 1984 kam auch der AT auf den Markt, ursprünglich mit bis zu 512 kByte RAM, 1,2 MByte Laufwerk und verschiedenen Festplatten (typisch waren 20 Mbyte). Atari stellt 1985 seinen ST vor. Commodore folgt 1986 mit dem Amiga.
1
31
DV-Technik
Durch den 1986 vorgestellten LapTop, erstmals mit 3,5 Zoll-Laufwerk, setzte IBM auch bei den Laufwerken wieder einen neuen Standard. Die harten und damit unempfindlicheren kleinen Disketten lassen eine höhere Speicherdichte zu und verwalten bis zu 1,44 MByte. Im gleichen Jahr stellt Apple sein Apple Talk-Netzwerk vor, das bis zu 32 Rechner verbinden kann. Auch PCs von IBM können eingebunden werden. Apple kann aber die Erfolge von IBM nicht aufhalten; die einheitliche Benutzeroberfläche ist zwar für den Anwender problemlos zu bedienen, eine Einbindung in andere Systeme aber immer noch schwierig. Außerdem wird Software häufig erst für DOS-Rechner erstellt. Steve Jobs kostete es schließlich seinen Job bei Apple. IBM antwortet mit dem Token Ring-Netzwerk und versucht 1987 durch das Personal
System/2
(insbesondere durch das Modell 50) und eine neue Architektur, die Anbieter von Nachbauten zu schwächen. Das ebenfalls neue Betriebssystem OS/2 wird zudem als Lösung hin zu Multitasking, also der parallelen Verrichtung mehrerer Aufgaben angesehen. Es konnte aber DOS nicht verdrängen, da die Softwarefirmen nicht mitzogen und keine entsprechende Programmvielfalt anboten. Apple liefert die ersten Exemplare des Macintosh II aus, der aber deshalb Anlaufschwierigkeiten hat, weil er in die mittlerweile vorherrschende DOS-Familie nicht integriert werden kann; im grafischen Bereich feiert er allerdings wegen seiner vielen Möglichkeiten Erfolge. Zusammenfassend können damit folgende Computergenerationen unterschieden werden: 1. Generation:
Verwendung von Elektronenröhren (bis Ende der 50er Jahre)
2. Generation:
Halbleiterkreise aus Transistoren und Dioden (bis Ende der 60er Jahre)
3. Generation:
Teilintegrierte Schaltkreise (seit Mitte der 60er Jahre)
4. Generation:
Hochintegrierte Schaltkreise (seit Anfang der 70er Jahre)
5. Generation:
höchstintegrierte Schaltkreise mit mehreren Prozessoren (seit Anfang der 80er Jahre)
32
1
DV-Technik
1.2 Heutiger Stand der Hardware Die Situation eines unübersichtlichen Markts hat sich bis heute wenig verändert, ein Hauptproblem bilden dabei die immer noch fehlenden Standards in vielen Bereichen. Zusätzlich verdoppelt sich die durchschnittliche Leistung der Hardware zur Zeit alle 2 Jahre. Überspitzt ausgedrückt: Wenn man den Rechner endlich optimal bedienen kann, ist er veraltet. Bei Hardwaretests in Zeitungen ergibt sich das gleiche Problem wie in allen anderen Bereichen: Die Tests sind veraltet; die getesteten Geräte sind, bis man Zeit gefunden hat in den Laden zu gehen, nicht mehr erhältlich. Dennoch ist die Auswahl der Hardware, vor allem vor dem Hintergrund der einzusetzenden Software, nicht ganz unerheblich. Niemand würde (oder sollte) einen Ferrari kaufen, um damit Brötchen zu holen. IBM hat den Industriestandard gesetzt, viele Nachbauten, sogenannte Clones füllen den Markt; Apple gewinnt Marktanteile dazu. Viele NoName-, aber auch Markenanbieter, verschwinden ebenso schnell vom Markt, wie sie aufgetaucht sind. Prominente Opfer der allgemeinen Entwicklung waren die Firma Nixdorf, die 1990 von Siemens gekauft wurde, und Commodore, 1991 laut IDC Marktführer, aber 1994 vom Markt verschwunden. Weitere Beispiele lassen sich leicht finden. Um einen Vergleich mit der aktuellen Situation zu ermöglichen, werden deshalb die Marktanteile von 1991 dargestellt. Die Marktanteile der wichtigsten Anbieter in Deutschland im Jahre 1991 waren laut IDC: Commodore
28,3%
Vobis
10,2%
IBM
7,0%
Atari
4,1%
Um den Stand der Technik übersichtlicher darzustellen, werden im folgenden unterschiedliche Leistungsklassen angesprochen, die im wesentlichen mit den eingesetzten Chips korrelieren; dabei muß allerdings beachtet werden, daß auch diese Einstufungen schnell an Aktualität verlieren. Auf den Bereich der mittleren und großen Datentechnik wird nur am Rande eingegangen.
1
33
DV-Technik
1.2.1 Homecomputer Bei ihrem Erscheinen mußten noch über 2.000 DM dafür gezahlt werden, später waren Homecomputer schon ab 200 DM zu haben. Obwohl dauerhaft hohe Zuwachsraten prognostiziert wurden, ist der Absatz urplötzlich zurückgegangen. 2.000 DM gibt der Kunde vielleicht immer noch aus, er erhält dafür aber schon einen vollwertigen PC. Die Leistungen und insbesondere die Vielzahl der angebotenen Programme waren erstaunlich. Dies betraf vor allem Grafikfähigkeit und Musikerzeugung. Nachteil blieb aber die geringe Geschwindigkeit vor allem der externen Speicherung (obwohl Diskettenlaufwerke die ehemals verwendeten Musikkassettenlaufwerke in ihrer Schnelligkeit weit übertrafen). Zielgruppe dieser Computer waren Kinder und Jugendliche, die im wesentlichen Spieleprogramme verwendeten. Sie ermöglichten aber auch einen preiswerten Einstieg in die gesamte EDV-Welt, weil sie vom Prinzip her wie die großen Brüder arbeiteten. Klassische Vertreter sind der C64 und C128 von Commodore, der Sinclair ZX-80 und der Schneider CPC 64. Vorteile waren weiterhin: • Durch ihre Modulbauweise konnten sie nach und nach erweitert werden, die Grundmodelle arbeiteten schon mit einem Fernseher. • Sie konnten zum Programmiereinstieg verwendet werden.
Nachteile waren • der geringe Arbeitsspeicher, • die fehlende Festplatte, • die relativ umständliche Bedienung, • die fehlenden Aufstiegsmöglichkeiten in größere Rechnerfamilien.
Preislich etwas darüber lagen die auch als semiprofessionell
bezeichneten Geräte wie z.B. der
Atari ST und der Commodore Amiga 500. Von den technischen Möglichkeiten her erreichten sie durchaus die stärkeren Geräte, waren aber vom Arbeitstempo und vom Bedienkomfort unterlegen. Insbesondere fehlte das breite Angebot an professioneller Software. Sie basierten auf Prozessoren von Motorola oder dem 6502 von MOS-Technology, dem Z80 oder dem 8080.
34
1
DV-Technik
Ihre Vorteile gegenüber reinen Homecomputern: • größerer Arbeitsspeicher, • mehr Speicherplatz auf Disketten, • bessere Grafikfähigkeiten, • guter Ton, • grafische Benutzeroberfläche mit Maus, • teilweise für Multitasking geeignet, • mögliche Anbindung an die DOS-Welt.
Nachteile: • das Bild war nicht flimmerfrei, • der Bildaufbau war häufig langsam, •
Erweiterungen wurden oftmals nur in Zusatzgehäusen angeboten.
Damit eigneten sich auch diese Rechner für Computerspiele und die damit einhergehenden grafischen Realisationen, sowie für den Programmiereinstieg. Nicht geeignet waren sie für professionelle und technisch-wissenschaftliche Anwendungen. Die ersten Personal Computer {PC und XT, Extended Technology) sind die klassischen Vertreter, die erstmals 1981 von IBM auf den Markt gebracht wurden und als Gegengewicht zu den Homecomputern angesehen werden können. Billiggeräte hatten eine Festplatte mit 20 MByte, einen Arbeitsspeicher von 640 kByte, ein 5'/4-Zoll-Laufwerk mit 360 kByte Speicherkapazität, eine professionelle Tastatur und einen grafikfähigen Bildschirm. Durch den verwendeten Intel 8086 bzw. 8088-Prozessor
waren diese Geräte allerdings eben-
falls recht langsam, wenngleich viele Clones die 4,77 MHz Taktfrequenz des Original IBM XT bis auf 12 MHz heraufgeschraubt haben. Für rechenintensive grafische Anwendungen reichte dies jedoch bei weitem nicht aus. Damit eigneten sich die Geräte für Einsteiger, die Textverarbeitungen, einfache Datenbanken und Tabellenkalkulationen durchfuhren wollten. Auch für einfache Spiele waren sie durchaus ausreichend. Die modulare Ausbaufähigkeit und die Abwärtskompatibilität, und damit auch die durch harte Konkurrenz günstigen Preise, ließen diese Geräte lange ihren Dienst versehen. Auch wenn man es nicht wahrhaben möchte: für Datenfernübertragung, Btx-Anschluß, Terminplanung, als Druckerserver sind diese Geräte dauerhaft zu gebrauchen.
1
DV-Technik
35
Nicht geeignet waren sie für umfangreichere und damit rechenintensivere Kalkulations- und Datenbankanwendungen, grafische Anwendungen wie z.B. CAD (Computer Aided Design) und DTP (Desktop Publishing). Auch für den Einsatz als Server in Rechnernetzen waren sie zu langsam.
1.2.2 Personal Computer (ATs) Diese Rechner (AT, Advanced Technology) sind durch den 1984 entwickelten Intel 80286 etwa lOmal schneller als XTs, was sich aber nicht bei allen Programmen bemerkbar macht (fiir die reine Textverarbeitung ist dieser Unterschied kaum relevant). Standard waren anfangs 1 MByte RAM und 40 MByte Festplatte, VA- oder 5'/4-Zoll-Laufwerk mit 1,44- bzw. 1,2 MByte Speicherkapazität bei einer Taktfrequenz von 6 bis 25 MHz (Standard 12 MHz) und der möglichen Adressierung von 16 MByte. Für umfangreichere Texte (da er auch kaum mehr als ein XT kostete, war ein AT eigentlich immer in Betracht zu ziehen), rechenintensive Tabellenkalkulationen, Datenbankanwendungen und Spiele waren diese ersten ATs damals schon gut geeignet, eingeschränkt auch für DTP. Als Server oder für CAD lag die Leistung aber immer noch zu niedrig. Die 386 A T-Klasse, die erstmals 1986 und damals nicht von IBM, sondern von Compaq vorgestellt wurde, konnte in zwei Rechnerkategorien unterteilt werden. Beide basierten auf dem Intel 80386, der intern 32 Bit gleichzeitig verarbeitet. Die echten 386er-Maschinen (auch 80386DX) kommunizierten nicht nur intern, sondern auch mit den Peripheriegeräten und der Festplatte über 32 Bit-Verbindungen, während die 386SX-Maschinen extern nur 16 Bit wie der AT verarbeiteten. Vom internen Arbeitstempo unterschieden sich daher beide Typen wenig voneinander, der Unterschied entstand durch die unterschiedliche externe Ansprache und die Taktfrequenz von 6 bis 20, 25 bzw. 33 oder auch 40 MHz (386SX etwa 12mal schneller als ein XT, 386DX etwa 20mal). Adressierbar waren 4 GByte Arbeitsspeicher, unterstützt wurden als Betriebsart erstmals sogenannte virtuelle Maschinen. Durch die 386er verlor IBM erstmals die Kontrolle über den PC-Markt, da sie dem Standard folgen mußte, weil Programme wie Lotus 1-2-3, WORD, Wordperfect und dBase auf diesen Maschinen liefen.
36
1
DV-Technik
80486er sind seit 1989 auf dem Markt zu finden, sie beinhalten den Intel 80486 (oder i486), der die technischen Fähigkeiten des 386er mit denen des mathematischen Co-Prozessors 80387 und einem Cache-Speicher verbindet. Insbesondere durch diesen integrierten CacheSpeicher (den allerdings auch schon neuere 80386er bieten konnten) wird die Geschwindigkeit noch einmal deutlich erhöht. Auch die Taktfrequenz wurde nochmals gesteigert, sie liegt bei bis zu 100 MHz. Auch hier wird unterschieden in SX- und DX-Technik, wobei böse Zungen behaupten, der SX wäre nichts anderes als ein in den bestimmten Funktionen nachträglich zerstörter DX. ATs, die 1993 auf den Markt kamen, werden mit Intels Pentium (entspricht dem 80586) teilweise ebenfalls nur mit bis zu 100 MHz getaktet, durch ihre neue Architektur sind sie aber noch schneller geworden. Mittlerweile hat die Firma Intel ihre Monopolstellung auf dem Markt für IBM-kompatible Geräte verloren, unter anderem bietet ihr früherer Kooperationspartner A M D (Advanced Micro Devices) ebenfalls Chips an, was für einen weiteren Preisverfall sorgte.
Damit eignen sich diese Rechner für alle Anwendungen, bei denen es auf schnelle Verarbeitung, unabhängig vom Preis, ankommt, z.B. als Server in größeren Netzen, bei statistischen Auswertungen, bei zeitkritischen Anwendungen, bei CAD, DTP und Datenbankrecherchen. Beispiel:
Soll in der Encyclopaedia Britannica, einem Nachschlagewerk mit 29.000 Seiten nach einem Begriff gesucht werden, benötigt ein Rechner mit •
einem 8088-Prozessor etwa 5 Minuten,
• einem 286er 45 Sekunden, •
einem 386er 7 Sekunden,
•
einem 486er 2 Sekunden und
•
einem Pentium deutlich darunter.
Würde die Entwicklung bei Autos genauso schnell vonstatten gehen, müßte ein Ferrari heute 190 DM kosten und mit einer Tasse Benzin von Hamburg nach München fahren. Um die Entwicklung der einzelnen Rechnertypen und der sie anbietenden Firmen auch in Zukunft verfolgen zu können, werden einige Zahlen aus 1994 genannt.
1
37
DV-Technik
Weltweite PC-Verkäufe 1994 Compaq IBM Apple Packard Bell NEC AST Dell Toshiba HP Acer Rest
10,0% 8,7% 8,5% 4,7% 3,5% 2,7% 2,5% 2,5% 2,5% 2,8% 51,8%
Je nach Abgrenzung und Auftraggeber ergeben sich andere Rangfolgen.
PC-Absatz in Deutschland 1994 nach Prozessoren 8086 80286 80386 SX 80386 DX 80486 SX 80486 DX Pentium Motorola 680x0
100 100 28.000 35.000 221.000 411.000 17.000 79.000
Damit verteilt sich der Markt auf zahlreiche und teilweise namenlose oder unbekannte Anbieter. Problematisch ist bei diesen Anbietern häufig, daß die gleichen Rechnertypen mit unterschiedlichen Komponenten bestückt werden, was ihren Einsatz in Netzen oder ihre Erweiterungsfahigkeit beeinträchtigt. Bei den Großen hingegen läßt der Service häufig zu wünschen übrig, Hotlines sind häufig besetzt; es dauert Tage bis zum Rückruf. Nach einer Umfrage der Telecom Consult Partners waren gerade die großen Ketten Vobis und Escom in dieser Leistung Schlußlicht. Die Apple Macintoshs
unterscheiden sich durch die Verwendung von
Motorola-Prozessoren
(i68020 bis 68060) von den genannten DOS-Maschinen und sind nicht direkt mit ihnen kompatibel. Sie bieten eine sehr gute flimmerfreie und hoch aufgelöste Bildschirmdarstellung und eine einfach zu bedienende Benutzeroberfläche, deren Vorteilhaftigkeit allerdings durch den Einsatz von Windows und anderen Bedieneroberflächen auf DOS-Rechnern relativiert werden muß. Durch den vergleichsweise hohen Arbeitsspeicher, der durch das Betriebssystem voll
38
1
DV-Technik
genutzt werden kann, und den schnellen Prozessor werden sie vor allem im Bereich CAD und DTP eingesetzt; zudem ist das System wesentlich geschlossener, da viele Standards existieren. Weniger geeignet sind sie für Einsteiger und Fortgeschrittene, die eine hohe Programmvielfalt nutzen wollen. Zudem gab es lange Zeit Probleme in Deutschland, da die Ergonomie (kleiner Bildschirm, hohe Tastatur) nicht der DIN entspricht.
1.2.3 Bürocomputer und Großrechner
Den Übergang zur Welt der Großrechner bilden die Abteilungsrechner, Bürocomputer oder Minirechner, die allerdings deutlich geringere Installationszahlen aufweisen. Compaq stellte z.B. 1990 mit seinem SystemPro einen sogenannten Super-Server vor, in dem zwei Prozessoren gleichzeitig arbeiteten und sich gegenseitig unterstützten. Es konnten dabei 386er und 486er kombiniert werden. Coca-Cola orderte z.B. einen Rechner, der mit dreißig 386ern arbeitete. Die Rechenleistung liegt damit deutlich höher als bei einem durchschnittlichen AT; allerdings sind neben den Kosten der Programmerstellung auch der Wartungsaufwand, und die daraus resultierenden Kosten, bei solchen Rechnern vergleichsweise hoch. Aus der Geschichte stammt der Begriff Mittlere Datentechnik (MDT), der noch häufig zu hören ist und auf die Entwicklung aus Buchungsautomaten zurückgeht. Für diese Rechner ist typisch, daß an eine Zentraleinheit viele Terminals (reine Ein- und Ausgabegeräte) angeschlossen sind. Da eine Klimatisierung nicht erforderlich ist, werden Zentraleinheit und Terminals am gleichen Ort vorgehalten; ein Mitarbeiter erledigt (neben anderen Aufgaben) die Bedienung (Hoch- und Runterfahren des Systems) und die gelegentliche Datensicherung. Üblicherweise befinden sich die Programme und Daten verschiedener Anwender im Arbeitsspeicher des Zentralrechners und werden quasi gleichzeitig, oder bei Mehrprozessorsystemen, tatsächlich gleichzeitig bearbeitet. Die verwendeten Betriebssysteme sind auf den Mehrbenutzer- und Mehrprogrammbetrieb ausgelegt und enthalten viele Sicherheitsmechanismen, wie z.B. Vergabe unterschiedlicher Benutzerrechte oder ständige Protokollierung der Ein- und Ausgaben. Andererseits ist die Übertragungsgeschwindigkeit zwischen Terminal und Rechner oft niedrig, da viel Verwaltungsaufwand für die Prioritätenvergabe und die Verwaltung der Zugriffsrechte erforderlich
1
DV-Technik
39
ist. Da die zentralen Prozessoren alle Verarbeitungsschritte erledigen müssen, sinkt die Reaktionszeit des Rechners mit der Anzahl der Nutzer. Typische Vertreter sind neben der VAX von DEC die AS/400 von IBM oder deren Vorläufer, die Typen 36 und 38, und die Nixdorf-Anlagen 8870 bis 8890. ABB. 1.7:
I B M A S / 4 0 0 STANDARDMODELL 9 4 0 6 M O D E L L B 7 0
QUELLE:
I B M PRESSEFOTO, I B M DEUTSCHLAND, 1 9 9 0
Zu unterscheiden sind diese Systeme von den noch zu besprechenden PC-Netzwerken,
in
denen mit eigenen Mikroprozessoren und Arbeitsspeichern ausgestattete Computer lediglich bestimmte Daten vom Zentralrechner einlesen und dann „vor Ort" verarbeiten oder Peripherie gemeinsam nutzen. Workstations sind Rechner mit eigener Intelligenz, die praktisch leistungsfähiger als PCs sind und die man überwiegend für technisch-wissenschaftliche Anwendungen einsetzt; ebenfalls grundsätzlich Einzelplatzsysteme, die aber auch vernetzt werden können. Mainframes oder Großrechner sind das Herz eines Rechenzentrums. Mit ihrer enormen Rechenleistung bedienen sie in Großfirmen Hunderte von Terminals oder berechnen umfangreiche Aufgaben im wissenschaftlichen Bereich. Beispiele sind Wettervorhersagen, Luftfahrttechnik, Energiegewinnung und Umweltforschung. Die Übergänge zwischen den verschiedenen Rechnerkategorien werden immer fließender, denn auch in Zukunft wird sich der Trend fortsetzen, daß immer preisgünstigere Hardware bei steigenden Leistungen zu erwerben ist. Somit könnte sich die lange beobachtete Entwicklung auch umkehren, nämlich daß aus Gründen der Datensicherheit und wegen dem allgemein zu-
40
1
DV-Technik
nehmenden Datenumfang statt Terminals oder PCs leistungsfähige Rechner der M D T eingesetzt werden. Schon heute werden in den USA Rechner verschenkt, wenn Software für einen bestimmten Mindestumsatz gekauft wird; PC-Supermärkte sind keine Seltenheit mehr.
1.2.4 Weitere Hardware LapTops
(von Lapdog = Schoßhund) werden immer häufiger eingesetzt, da sich mit ihnen
netzunabhängig arbeiten läßt. Sie sind sozusagen an jedem beliebigen Ort einsetzbar und eignen sich zur Dateneingabe und -Verarbeitung vor Ort, und damit auch zur Datenübertragung an zentrale Rechner. Diese tragbaren Geräte können z.B. Außendienstmitarbeiter, Kfz-Sachverständige oder Versicherungskaufleute in ihrer Arbeit unterstützen. ABB. 1.8:
LAPTOP
QUELLE:
I B M PRESSEFOTO S W 1 1 7 8 , I B M DEUTSCHLAND, 1 9 9 0
Notebooks
oder Subnotebooks
sind neuere Bezeichnungen für diese Geräte, die immer kleiner
und leichter wurden. Eingesetzt werden Varianten der gängigen Prozessoren (z.B. SL, SLX,
1
41
DV-Technik
SLC), die ebenso wie die CMOS-Technik (bei der verschiedene Komponenten bei Nichteinsatz nach und nach abgeschaltet werden) Batteriestrom sparen. Solche Kleinstrechner erobern immer mehr den Markt, eine deutliche Zunahme bei privaten Anwendern kann erwartet werden. Die 1989 entstandene sehr platzsparende PCZ-Schnittstelle der PCMCIA (Personal Computer Memory Card International Association) ist ein Beispiel dafür, daß auch Entwicklungen aus dem Bereich der kleineren Rechner auf stationäre PCs übertragen werden. Dagegen ist der Sinn sogenannter PalmTops als Notizbuch und PenTops (mit einem Stift zum Schreiben auf dem Bildschirm) eher fraglich; die einen scheinen gegenüber der manuellen Aufzeichnung von Daten keine direkten Vorteile zu besitzen, die anderen sind technisch noch lange nicht so ausgereift, daß ein Arbeiten mit ihnen Vorteile verspricht. Es werden wohl noch Jahre vergehen, ehe ein Computer imstande ist, handschriftliche Aufzeichnungen zu erfassen. Es fragt sich dabei auch immer, ob ein Einschalten lohnt; es ist wohl ähnlich wie bei einer selten eingesetzten Knoblauchpresse: Die Zeit, die man beim Pressen spart, benötigt man später zum Säubern. Natürlich gehört es auch zum guten Ton, über unzureichend funktionierende Hardware zu lamentieren; Sonderangebote sind eben nicht immer preiswert. Wie bei billigen Fernsehern, Videorecordern, Satellitenanlagen fehlt oft die Endkontrolle oder Abweichungen in der Produktion sind möglich. Wer den letzten
10er spart, darf eben keinen Pentium
mit
Markenkomponenten erwarten.
1.3 Die Zentraleinheit Nachdem grundsätzliche Entwicklungen bei der Hardware vorgestellt wurden, wollen wir uns in diesem Abschnitt mit dem Kern eines Rechners beschäftigen. Diese Zentraleinheit wird auch als CPU (central processing unit) bezeichnet. Die Transistorschaltungen im Inneren der Chips werden über Anschlußdrähte, sogenannte pins, mit der Außenwelt verbunden.
42
1
ABB. 1.9:
EIN 4 8 6 E R PROZESSOR
QUELLE:
P C - M A G A Z I N 4 0 / 9 4 , S. 18
DV-Technik
Die Platine, auf der sich diese Teile befinden, bezeichnet man auch als
motherboard
(Mutterplatine). A B B . 1 . 1 0 : S C H E M A T I C H E R A U F B A U EINES M O T H E R B O A R D S
r i i ^ V - ^ r r n o o « ' ° Iff Ç O
i
Schnittstellen-Controller
80C286 Mikroprozessor VGA-Controller
•
100a UUL 3 OCH 1
QUELLE:
•CHEZ]
80C287 Coprozessor-Sockel
—1
HANDBUCH COMPAQ
Speicherchips
1
43
DV-Technik
1.3.1 Aufbau und Datenfluß Folgendes Schaubild gibt nochmals in veränderter Form den grundsätzlichen Aufbau eines Rechners und den möglichen Datenfluß wieder.
Programm
Daten
Daten
Die eigentliche Zentraleinheit besteht aus drei Komponenten mit unterschiedlichen Aufgaben. Der Speicher (memory) taucht unter ganz unterschiedlichen Bezeichnungen als Zentralspeicher, interner Speicher, Arbeitsspeicher, Kernspeicher oder RAM (Random Access Memory) auf. In ihm werden die Daten während der Verarbeitung abgelegt. Er ist nicht für eine dauerhafte Speicherung geeignet, da er auf eine ständige Stromversorgung, d.h. auf eine ständige Auffrischung seines Inhalts angewiesen ist. Er besteht aus einzeln ansprechbaren Speicherzellen, die beginnend bei 0 als Adressen durchnumeriert werden. Heute spricht man von DRAM (Dynamic RAM), einem Speicher, der durch das Laden und Entladen von Kondensatoren aufgefrischt wird. Statische RAMs sind schneller, aber auch teurer, und werden z.B. als Cache eingesetzt.
44
1
DV-Technik
A B B . 1 . 1 1 : GRÖBENVERGLEICH ZWISCHEN EINEM 6 4 - B I T - S P E I C H E R C H I P ( B I L D M I T T E ) UND DEM T E I L EINES FERRITKERNSPEICHERS MIT 2 4 B I T S EINES ALTEN R E C H N E R S
QUELLE:
I B M P R E S S E F O T O S W 1 0 3 6 , I B M DEUTSCHLAND, 1 9 7 0
Das Steuerwerk
(oder Leitwerk) holt Befehle und Daten über die Vorgabe der Speicheradres-
sen aus dem Speicher; es entschlüsselt diese Befehle und übermittelt die Verarbeitungsergebnisse; es sorgt damit für zeitliche und funktionsgetreue Durchführung der einzelnen Befehle. Das Rechenwerk
(ALU, arithmetical logical unit) hat ähnliche Aufgaben, in ihm findet der
eigentliche Rechenvorgang statt. Dabei sind verschiedene Befehlsformen zulässig: 1. arithmetische Befehle (+, -, *,/, usw.), 2. logische Befehle (AND, OR, NOT, TRUE, FALSE), 3. Transportbefehle (z.B. Übertragen), 4. Ein- und Ausgabebefehle (z.B. Lesen, Schreiben). Beispiele für solche Befehle sind: Load
Laden eines Registerinhalts aus dem Arbeitsspeicher
Store
Übertragen eines Registerinhalts in den Arbeitsspeicher
Move
Verschieben von Inhalten innerhalb des Arbeitsspeichers
Add
Addition des Inhalts zweier Register
1
45
DV-Technik
Rechenwerk und Steuerwerk sind häufig zusammengefaßt und werden dann als (Mikro-) Prozessor bezeichnet. Coprozessoren
wie z.B. der Input-/Output-Prozessor sollen den eigent-
lichen Prozessor entlasten. Die CPU besteht somit aus Speicherzellen, sie kann Befehle ausfuhren und dient damit der eigentlichen Verarbeitung von Daten. Die Verbindung zwischen zwei einzelnen Komponenten des Systems, z.B. intern zur Grafikkarte oder extern zur Maus, bezeichnet man dabei als bus (lateinisch für: alle). Dieser bus besteht aus mehreren Leitungen, z.B. 20 parallelen beim 8088; die Anzahl bestimmt damit die maximal ansprechbare Menge Speicher. Das Zusammenspiel von Rechenwerk, Steuerwerk und Speicher kann anhand der folgenden Abbildung verdeutlicht werden.
Rechenwerk
Steuerwerk
Speicher
Beispielsweise soll der Rechengang (5 + 7) / 3 durchgeführt werden. Das Steuerwerk gibt als erstes über den Adreßbus die Speicheradresse 0 vor und lädt den entsprechenden Inhalt über den Datenbus. Der Inhalt lautet LOAD(4), d.h. lade den Inhalt aus Speicherstelle 4. Auch hier wird erst wieder über den Adreßbus die entsprechende Zelle im Hauptspeicher angesprochen und dann der Inhalt über den Datenbus eingelesen, die Zahl 5. Diese Zahl wird an das Rechenwerk in die linke Speicherstelle weitergegeben. Danach wird Speicherzelle 1 angesprochen und gelesen; der Befehl führt dazu, daß der Speicherinhalt von Zelle 5 in den rechten Speicher des Rechenwerks übertragen wird und anschließend beide
46
1
DV-Technik
Werte addiert werden. Das Ergebnis wird im linken Speicher des Rechenwerks abgelegt, damit wird der alte Wert 5 durch die Zahl 12 überschrieben. Entsprechend wird dann die Zahl 3 aus Speicherzelle 6 gelesen, 12 durch 3 dividiert und schließlich über den Befehl aus Speicheradresse 3 in den Speicher 7 abgelegt. Dieses noch heute gültige Prinzip des speicherprogrammierten Rechners geht zurück auf den 1945 konstruierten EDVAC des Wissenschaftler v. Neumann und wird deshalb auch als vonNeumann-Architektur
bezeichnet.
Die folgende Abbildung zeigt nochmals den Aufbau aus anderer Sicht.
Der Steuerbus
regelt die Art der auszuführenden Operation. Der Taktgeber bestimmt die
Taktfrequenz, also die Anzahl der pro Sekunde übertragenen Bits. Bei einem 8-Bit-Rechner mit einer Taktfrequenz von 4,77 MHz können also pro Sekunde 4,77 Millionen Bytes übertragen werden, wenn ein Byte aus 8 Bit besteht. Die Peripheriegeräte werden meist über eine eigene £6i-(Eingabe/Ausgabe-) bzw. //0-(Input/Output-)Einheit mit einem speziellen E/A-Prozessor angesprochen. Die I/O-Einheit oder die Controller verbinden verschiedene Geräte, z.B. Grafikkarte, Bildschirm, Festplatte, Diskettenlaufwerk, Uhr, serielle und parallele Schnittstellen. Allerdings laufen nicht alle Geräte synchron zum Taktgeber, sondern asynchron oder interrupt-gesteuert. Asynchron wird z.B. die Tastatur abgefragt; dieser Vorgang ist vergleichbar mit jemandem, der immer wieder im Briefkasten nachschaut, ob Post angekommen ist. Interrupt-gesteuert wird beispielsweise das Diskettenlaufwerk, es „klingelt", wenn Post da ist.
1
47
DV-Technik
Aufgabe des Zentralprozessors ist damit zusammenfassend die • Ausfuhrung von Maschinenbefehlen, •
Adreßansprache,
•
Programmunterbrechung,
•
Wiederholung bei Fehlfunktionen.
Unter Umständen überwacht zusätzlich ein Service-Prozessor sogenannte Kausalprozessoren
Stromversorgung und Kühlung,
unterstützen bei großen Rechenanlagen außerdem die System-
bedienung und die Fernwartung.
1.3.2 Illustrierendes Beispiel Die Funktionsweise einer Zentraleinheit kann vereinfacht mit der eines streng hierarchisch organisierten Warenlagers verglichen werden. An der Spitze steht der Leiter (Direktor), der sein Büro im Dachgeschoß des Verwaltungsgebäudes hat. Auf dem Gelände stehen verschiedene Lagerhäuser, die durch ein System von Wegen erreichbar sind. Den Transport zwischen den Lagerhäusern übernehmen Förderbänder. Das Betriebsgelände, inklusive dem Verwaltungsgebäude, entspricht dabei der Zentraleinheit des Rechners, der CPU. Dabei ist das Steuerwerk mit dem Leiter vergleichbar; er sorgt dafür, daß alles in geordneten Bahnen verläuft; er gibt die richtigen Befehle im richtigen Augenblick. Die Läger sind mit den Speicherbausteinen zu vergleichen, in denen z.B. Disketten mit Software untergebracht und wieder herausgesucht werden können. Sie speichern dabei die Teile nicht ewig, sondern nur vorübergehend (bis zu einem Update o.ä.) und sind damit einem RAM vergleichbar. Der Prozessor kann in das RAM Programmbefehle, Adressen, Briefe, Zahlen usw. schreiben. Ebenso können in den Lägern neben Disketten auch noch CD-ROMs, Wechselfestplatten usw. abgelegt werden. Dabei wird jedem Regalfach im Lager eine Nummer gegeben, die beim Computer Adresse heißt.
48
1
DV-Technik
Wenn man weiß, unter welcher Adresse welche Software abgelegt ist, kann sie jederzeit wiedergefunden werden. Diese Adressen werden vom Mikroprozessor bzw. der Verwaltung verarbeitet. Die Wege zwischen den Lägern sind die Bussysteme, auf denen die Teile transportiert werden (Datenbus). men gehören
Zusätzlich existieren Haustelefonverbindungen, die ebenfalls zu den Bussyste(Adreßbus).
Der Direktor veranlaßt nun die Versendung von Softwarepaketen zum Kunden. Der beschriebene Vorgang läuft wie folgt ab: Der Leiter ruft über das Haustelefon den entsprechenden Lagerverwalter an und teilt ihm mit, daß bald eine leere Kiste vorbeikommen wird, welche die Software abholt. Die Zentraleinheit teilt also dem Speicher mit, daß sie Daten lesen will und in welchem Fach diese Daten liegen. Die leere Kiste fährt auf dem kürzesten Förderbandweg zum Lager, die Pakete werden eingepackt, der Inhalt der Speicherstelle wird auf den Datenbus gelegt. Nun wird die Kiste mit den unterschiedlichen Produkten nicht dem Direktor persönlich auf den Schreibtisch gestellt, sondern zum Eingang des Verwaltungsgebäudes gebracht. Auch hier existieren eine Reihe von Lagerplätzen, natürlich nicht so viele wie im eigentlichen Lager. Die Pakete werden also in das kleine Lager gebracht, wo verschiedene Mitarbeiter jetzt die Kisten auspacken und die einzelnen Pakete weiterverteilen oder umpacken. Den Inhalt einer Kiste teilen sie in zwei Hälften, eine Kiste leeren sie aus, in eine große Kiste kommt der Inhalt zweier kleiner Kisten usw.. Im Computer spricht man von Prozessorregister und Recheneinheit. Nach der Übertragung der Daten aus dem Lager muß man sie ja auch im Verwaltungsgebäude deponieren, dafür sind die Prozessorregister da, also Speicherstellen im Mikroprozessor. Auf diese Register kann der Prozessor viel schneller zugreifen als auf die RAM-Bausteine. Die Aufgabe der Veränderung der angelieferten Kisten im Register übernimmt das Rechenwerk, Angestellte also, die mit der Weiterverarbeitung der Kisten beschäftigt sind. Danach können die Softwarepakete in den einzelnen Abteilungen weiterverarbeitet, sprich: versandt werden. Auch der umgekehrte Weg kann beschritten werden. Beispielsweise hat man im Verwaltungsgebäude neue Programme erhalten. Damit sie nun nicht ewig im Gebäude (Prozessor)
1
DV-Technik
49
herumliegen, wird ein leere Kiste gerufen, mit der diese Software wieder zurück ins Lager gebracht werden soll. Über den Adreßbus (das Telefon) teilt der Leiter dem Lagerverwalter mit, daß gleich über den Datenbus die Produkte kommen und in welchem Regalfach sie abgelegt werden sollen. Denn die Verwaltung weiß genauestens Bescheid, welche Regalfächer belegt sind und welche noch frei sind. Dieses Lagern und Entlagern entspricht dem Schreib-Lese-Zugriff, wie er ständig auf das RAM erfolgt. Wenn das komplette Lager belegt ist, muß der Computer auf weiter entfernt liegende Speicherplätze zurückgreifen, die externen Speicher. Auch wenn das Betriebslager überfüllt ist, muß auf Außenlager zurückgegriffen werden. Dorthin existieren aber keine schnellen Förderbänder, sondern hier m u ß ein Lieferwagen der Post sich durch die verstopften Straßen quälen. Die Speicherung erfolgt also nach dem gleichen Muster wie innerhalb des Systems, allerdings sehr viel langsamer.
1.3.3 Chips und Speicher
Die Teile der Zentraleinheit bzw. die entsprechenden Schaltungen werden auf sogenannten Chips (zu deutsch: Scheibchen, Schnipsel) untergebracht. Dabei handelt es sich u m Halbleiterplatten, die aus Siliziumdioxid (Quarzsand) gewonnen werden, ein Element, das auf der Erde zu den häufigsten gehört. Durch die Abspaltung von Sauerstoff wird daraus Silizium, das noch gereinigt werden muß. Silizium heißt im Englischen Silicon und wird manchmal immer noch falsch mit Silikon ins Deutsche übersetzt.
Dieses Silizium wird auf 1400 Grad Celsius erhitzt und in die Form eines Kristallstabes
ge-
bracht, der etwa 20 cm Durchmesser hat. Von diesem Stab werden dünne Scheiben abgeschnitten, die weniger als 0,1 m m dick sind, man bezeichnet sie als wafer.
50
1
ABB. 1.12:
DV-Technik
CHIP-HERSTELLUNGSPROZEB: E N T W U R F , BELICHTUNG, IONENIMPLANTATION, W A F E R
QUELLE:
COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
Aus diesen Wafern werden dann die Chips (mehrere gleiche nebeneinander) in einem aufwendigen, wiederholten Vorgang durch das Auftragen von Oxidschichten, Belichtung, Abätzung und Versiegelung durch Fotolack hergestellt. Ein anderes, aber teureres Material, das sich durch eine höhere Schaltgeschwindigkeit auszeichnet und deshalb in Supercomputern seinen Einsatz findet, ist Galliumarsenid.
1
DV-Technik
51
Die mehreren 100 solcher Chips, die auf dem Wafer Platz finden, werden getrennt und müssen genau kontrolliert werden, viele werden als Ausschuß behandelt. A B B . 1 . 1 3 : T R E N N U N G DER W A F E R IN E I N Z E L N E C H I P S
QUELLE:
I B M PRESSEFOTO S W 8 3 4 , I B M DEUTSCHLAND, 0 7 / 1 9 8 9
Der wesentliche Vorteil von diesen Chips (vor allem gegenüber den früher verwendeten Röhren) liegt darin, daß: • der Raumbedarf immer geringer wird, • das Grundmaterial aus Sand gewonnen wird, also billig ist, • der Energieverbrauch gering ist, • die Geschwindigkeit durch kurze Leiterstrecken hoch ist (immer noch 20 Meter bei einem 4-MBit-Chip), • die Zuverlässigkeit sehr hoch ist, • die Wartung durch kompletten Austausch einzelner Chips einfach ist.
Man kann sie sich auch als das miniaturisierte Abbild einer Großstadt mit Straßen, Gebäuden, Energieversorgung vorstellen.
52
1
DV-Technik
Unterscheiden lassen sich: • Standardchips wie z.B. der Intel 80486, der flexibel programmiert und damit für verschiedene Anwendungen eingesetzt werden kann. • kundenspezifische Chips, die für spezielle Anwendungen erstellt werden, z.B. für einen bestimmten Waschmaschinentyp oder eine Kamera, wobei vorgegebene Programme abgearbeitet werden. Schon in einem Auto finden sich unzählige solcher Chips für ABS, Airbag, Diebstahlsicherung, Infrarot-Schlüssel, Einspritzung, Getriebesteuerung, Klimaanlage, Radio, Sperrdifferential, Tempomat, Zentralverriegelung, Zündung. Solche Ein-Chip-Computer werden auch als MCU (micro computer unit) bezeichnet. Eine weitere Unterscheidung ist die oben angesprochene in RAM und ROM. RAM ist der flüchtige Speicher innerhalb des Rechners (Hauptspeicher). Daneben muß ein festprogrammierter und damit dauerhafter Speicher existieren, der beim Anschalten der Stromversorgung die ersten Instruktionen und die Peripheriesteuerung durchführt. Ein solcher Speicher wird als ROM (Read Only Memory), Festwertspeicher oder auch permanenter Speicher bezeichnet. Beispiele sind das BASIC-ROM oder das BIOS-ROM. Daneben gibt es den FROM (factory ROM), PROM (programmable ROM), EPROM (erasable PROM), EEPROM (electrically EPROM) usw. Typische Prozessoren in Personal Computern können sein: von der Firma Inte 1 (neuerdings auch von AMD, Cyrix, NexGen) der 8088, 8086, 80186, 80286, 80386, «0486, 80586 bzw. Pentium von der Firma Motorola der 6800, 68000, 68010, 68020, 68030, 68040, 68060
Frühere Prozessoren waren z.B. der Z80 von Zilog, ein Nachbau des 8080, und der 6502 von MOS Technology. Alle Chips dieser Prozessorfamilien sind abwärtskompatibel, damit kann Software, die für ältere Prozessoren geschrieben wurde, auch auf neuen Rechnern laufen (vergleichbar mit Super-VHS-Rekordern, die auch normale VHS-Bänder abspielen können). Diesen Vorteil er-
1 DV-Technik
53
kauft man sich durch zahlreiche Beschränkungen im Speicherbereich, die auf die alten Konventionen zurückzufuhren sind. 4 Jahre, bei einem Forschungsaufwand von 300 Mio. US$, dauerte beispielsweise die Entwicklung des 80486 (auch i486 genannt).
Wieviele Bits gleichzeitig von dem verwendeten Mikroprozessor intern bzw. extern verarbeitet werden können und welcher maximale Speicher adressiert werden kann, zeigt folgende Auflistung: Prozessor
interner Datenbus
externer Datenbus
8088 8086 80286 80386SX 80386DX 80486SX 80486DX Pentium
16 16 16 32 32 32 32 64
8 16 16 16 32 32 32 32
adressierbarer Speicher Taktfrequenzen 1 1 16 16 4 4 4 4
MB MB MB MB GB GB GB GB
4,74,710 16 16 20 25 60 -
12 12 20 33 33 50 100 120
MHz MHz MHz MHz MHz MHz MHz MHz
Mathematische Coprozessoren tragen häufig eine um 1 erhöhte Bezeichnung (80287, 80387), müssen aber, um Programme zu beschleunigen, durch die Software angesprochen werden; bei einem Textverarbeitungsprogramm nützen sie verständlicherweise wenig.
Neuerdings werden wesentlich mehr Varianten als bei den ersten Generationen angeboten. So gibt es beispielsweise seit 1992 den 486er mit einer internen Taktfrequenz von 6 6 MHz und einer externen von 33 MHz (sogenannter D X 2/66) oder 100 und 25 MHz (DX 4/100) oder die stromsparende Variante 80386 SL für Laptops. Das Aufrüsten von Prozessoren durch Upgrades wurde möglich.
54
1
DV-Technik
A B B . 1 . 1 4 : AUFRÜSTEN EINES PROZESSORS
QUELLE:
I B M PRESSEFOTO, I B M DEUTSCHLAND
Außerdem drängen Hersteller wie Cyrix und AMD auf den Markt, deren Prozessoren nicht mehr direkt vergleichbar sind. Beispielsweise ist ein Cyrix 486er eher mit einem 80386 von Intel zu vergleichen; übrigens mit ein Grund, warum Intel den 586er Pentium genannt hat, denn Zahlen lassen sich nicht als Warenzeichen schützen. (Im Gegensatz dazu nennt Vobis seine Rechner 586er, um den Fortschritt gegenüber dem 486er deutlicher zu signalisieren.) Neben den oben genannten Faktoren unterscheiden sich die Prozessoren in weiteren Punkten: •
Der 1982 vorgestellte 80286 bekam eine erweiterte Speicherverwaltung, die den maximal unter DOS ansprechbaren Bereich bis 1 MByte Speicher aufhob (Real - Protected Mode).
• Der 80386 kam 1985 auf den Markt, er kann einen virtuellen Mode simulieren und verhält sich dann wie ein 8086er. Die SX-Variante erschien 1988. • Der 1989 vorgestellte 80486 enthält standardmäßig einen Coprozessor (dadurch wird er schneller, da die längeren Wege zu einem externen Coprozessor entfallen), 8-kByte-CacheSpeicher on chip, später auch einen sogenannten Second-Level-Cache bis 512 kByte. Beim 2 Jahre später verfügbaren 80486SX fehlt der integrierte Coprozessor.
1
55
DV-Technik
• Der Pentium arbeitet mit einer geringeren Betriebsspannung (die hohen Taktzahlen wären ansonsten nicht möglich), zwei parallelen Rechenwerken und er hat 16 kByte Cache. • Der P6 besteht aus zwei Chips mit Prozessor und Second-Level-Cache und kann bis zu 150 MHz getaktet werden.
Zusätzlich unterscheiden sich die Chips noch in der Bitanzahl, die zur Adressierung benutzt werden können (Adreßbus) und damit den theoretisch adressierbaren Speicher bestimmen (20 Bit beim 8088, damit 2 20 = 1 MByte adressierbar, 24 MByte beim 80286 und 32 MByte ab dem 80386). Um einiges leistungsstärker sind der Power-Chip und der Alpha-Chip. Die Chips der Firma Motorola arbeiten intern alle mit 32 Bits, extern mit 16 (bis zum 68010) bzw. 32 Bits, sie werden immer seltener in PCs verwandt, häufiger als Controller in Druckern usw.
Irritationen entstanden durch Chips, die falsch gekennzeichnet waren und nicht die versprochene Leistung erfüllten. Auch die im Internet verbreiteten Aussagen wie „Was ist 486 + 100 = 585,999983605 = Pentium" waren leider allzu wahr. Tatsächlich gibt der Pentium bei 5505001 / 294911 als Ergebnis 18,66600093 anstatt 18,6665197 aus. Daß dieser Fehler in der 5. Nachkommastelle nicht so unproblematisch ist, wie von Intel behauptet, zeigt sich, wenn in Berechnungen z.B. potenziert wird oder man wie bei 5505001 - (5505001 / 294911) * 294911 nicht als Ergebnis Null, sondern 192 erhält. Niemand hätte Intel diesen Fehler übelnehmen können, da bei einer Registerbreite der Fließkommaarithmetik von 80 Bit 2 8 0 mögliche Zahlenwerte und deren Divisionen einfach nicht zu testen sind. Schlimmer wiegt, daß Intel von diesem Fehler wußte und trotzdem diese Prozessoren auslieferte. Übrigens rechnet auch der Taschenrechner unter WINDOWS 3.1 falsch, 10,42 10,41 ergibt dort 0,00 (multipliziert man mit 10, ergibt sich wieder das richtige Ergebnis).
Typische Speicherchips sind welche mit 64 256 1 4
kBit kBit MBit MBit
(genauer 65.536 (genauer 262.144 (genauer 1.048.576 (genauer 4.194.304
Speicherzellen) Speicherzellen) Speicherzellen) Speicherzellen),
56
1
DV-Technik
die auf einer Leiterplatte (Bank) miteinander verdrahtet werden. Das könnte dann folgendermaßen aussehen: 256k
256k
256k
256k
256k
256k
256k
256k
X
X
X
X
X
X
X
X
X
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
1 Bit
64 k
64 k
64 k
X
X
X
4 Bit
4 Bit
4 Bit
256k
oder
Der jeweils rechte Speicherbaustein nimmt das Paritätsbit auf (siehe Kapitel 1.3.5.4).
A B B . 1 . 1 5 : A N O R D N U N G VON SPEICHERMODULEN
QUELLE:
COMPUTERTECHNOLOGIE FOLIEN, I B M DEUTSCHLAND, 2 / 8 8
1
DV-Technik
57
Ein Hauptspeicher von z.B. 4 MByte kann nun durch die Kombination unterschiedlicher kleinerer Chips erstellt werden, z.B. durch •
160 Chips zu je 256 kBit,
• 40 Chips zu je 1 MBit, •
12 Chips zu je 4 MBit.
Typisch sind z.B. 2 oder 4 Speicherbänke für 1 oder 4 MByte. Die überschüssigen Speicherbereiche werden dabei zur Fehlererkennung und Fehlerkorrektur genutzt. Möchte man später aufrüsten, ist darauf zu achten, daß genügend Sockel für Speicherbänke verfügbar sind, die meisten Hauptplatinen enthalten nur zwei. Ein Board, das mit 2 x 1 MByte voll ist, kann nur mit neuen Bausteinen aufgerüstet werden, die existierenden sind nicht weiter zu verwenden. Dagegen enthalten SIMM-Module mehrere Chips auf Erweiterungskarten bzw. Platinen und können in Steckplätze eingefügt werden. A B B . 1 . 1 6 : EIN S I M M - M O D U L
QUELLE:
HANDBUCH COMPAQ
Beim Austausch können Chips sehr leicht durch statische Entladung zerstört werden.
58
1
DV-Technik
Die einzelnen Speicherzellen werden dabei, wie schon ausgeführt, über Adressen angesprochen; entsprechend groß muß der Adreßbus ausgelegt sein. Ein Arbeitsspeicher von 4 MByte besteht dabei aus 4.194.304 Bytes oder Adressen, dies entspricht einer 2er-Potenz von 22. Nur mit einem Adreßbus von 22 Bit ließen sich also alle 4.194.304 Speicherbereiche genau ansprechen.
1.3.4 Einflußfaktoren aut die Rechnerleistung Ein PC ist normalerweise modular aufgebaut. Die faktische Rechnerleistung ist von den einzelnen Komponenten abhängig und wird nach verschiedenen Kriterien bewertet. Bei sogenannten Benchmark (Vergleichspunkte) -Tests muß man daher wissen, was getestet wird. Schließlich entscheidet ein möglichst harmonisch abgestimmtes Gesamtsystem über die tatsächliche Geschwindigkeit. Als wichtige Faktoren wurden genannt: Verarbeitungsbreite
8, 16, 32 oder 64 Bits gleichzeitig, vergleichbar mit der Breite eines Förderbandes oder der Schrittlänge eines Läufers,
Taktrate
4,77 bis zu 120 MHz, vergleichbar mit der Geschwindigkeit eines Förderbandes oder der Schrittfrequenz eines Läufers.
Die Verarbeitungsbreite
gibt damit an, wieviele Bits pro Buszyklus über den Bus geschickt
werden können. Ein Bus ist, wie gesagt, die Zusammenfassung von Steuer- und Datenleitungen, auf denen die Informationen zwischen dem Prozessor und den Peripheriegeräten, also zwischen CPU, Arbeitsspeicher, Bildschirm, Festplatte usw. transportiert werden. Man muß sich das als eine Leitung vorstellen, die vorsorglich mit Steckplätzen für Erweiterungskarten eingerichtet ist. Die Taktrate bzw. der Takt ist die Spanne, die für die Abarbeitung von einzelnen Befehlen zur Verfugung steht; sie wird vom Taktgeber, einem Oszillator, gesteuert und in Millionen Takten pro Sekunde (MHz) gemessen.
1
59
DV-Technik
Man spricht in diesem Zusammenhang von der sogenannten Busstruktur
und unterscheidet
ISA, EISA, MCA, VESA LOCAL, PCI. • IBM kreierte für seinen ersten PC den PC- oder XT-Bus, der eine Breite von 8 Bit hatte und sich als erster Standard durchsetzen konnte; er war zu Beginn mit 4,77 MHz getaktet. •
Der AT-Bus oder ISA-Bus (Industry Standard Architecture) mit 16-Bit-Breite wurde entwickelt, um die höhere Leistungsfähigkeit der Prozessoren 80286 auszunutzen; er konnte aber auch die älteren 8-Bit-Erweiterungskarten unterstützen. Ein schneller Prozessor nützt nämlich wenig, wenn sich die Daten über einen langsamen und engen Bus quälen müssen.
• Auch die 32-Bit-Prozessoren benötigten eine neue Bus-Technologie, den
EISA-Bus
(Extended ISA), der von den Firmen AST, Compaq, Epson, Hewlett-Packard, NEC, Olivetti, Tandy, Wyse und Zenith Data entwickelt und genormt wurde. Auch mit diesem konnten die älteren Erweiterungskarten (bis 32-Bit-Breite) weiterverwendet werden. •
IBM schlug 1987 im Zuge der Neueinführung des PS/2 (den es verwirrenderweise auch mit ISA-Bus gab) mit der MCA (Microchannel Architecture) eine eigene Richtung ein, mit der eine Kompatibilität zu älteren Karten nicht mehr gegeben ist. Es gibt 16- und 32-BitKarten, die damit 16- und 32-Bit-Prozessoren unterstützen.
•
Der VESA Local-Bus
ist eine 32-Bit-Weiterentwicklung des ISA und eine Norm des
VESA-Konsortiums, der 120 Firmen angehören. Die Peripheriekomponenten sind quasi direkt mit dem PC-Bus verbunden. •
Der PCI-Bus (Peripheral Component Interconnect) ist selbstkonfigurierend, arbeitet unabhängig von der CPU und kann mit allen anderen Karten bis 64 Bit kommunizieren. Er verbindet vier Steckplätze und ist mit Übertragungswerten bis lOOMByte/sec extrem schnell. PCMCIA (PC Memory Card International Association) sind miniaturisierte, telefonkartenähnliche Steckkarten, die speziell für den Anschluß von Peripheriegeräten an Notebooks konzipiert wurden.
Die bisher besprochenen sind Prozessoren mit einem großen Befehlssatz, sogenannte CISC(Complex Instruction Set Code-)Prozessoren; sie benötigen häufig mehrere Takte oder Zyklen (bis zu 20) für einen Befehl; solchermaßen komplexe Befehle fuhren dann gleich mehrere Operationen durch und sind einfacher in Compiler einzubinden.
60
1
DV-Technik
Da aber 10% der Befehle 90% der anfallenden Aufgaben bewältigen, wurden ÄZSC-(Reduced Instruction Set Code-)Prozessoren entwickelt, bei denen die selten benötigten komplexen Befehle durch einfache ersetzt werden; damit ergeben sich zwar längere, aber auch schnellere Programme; ihre Programmierung ist vergleichsweise schwieriger. CÄ/XP-Prozessoren sind eine Kombination aus beiden.
Natürlich kann auch durch kürzere Wege innerhalb des Chips die Geschwindigkeit erhöht werden, eine Tatsache, die bis heute wesentlich zur Verbesserung beigetragen hat. Allerdings dürfte der Geschwindigkeitsgewinn durch die Miniaturisierung bald an eine Grenze stoßen; liegen die Leiterbahnen zu eng beieinander, sind gegenseitige Störungen und Übertragungen nicht mehr zu vermeiden. Weitere Maßeinheiten sind: mips
million instructions per second,
flops
floating point operations per second oder
lips
logical inferences per second.
Je höher diese Werte liegen, desto schneller ist der Datendurchsatz und damit die Geschwindigkeit des Rechners. Von der Verarbeitungsgeschwindigkeit im weiteren Sinne spricht man, wenn die Anzahl der Jobs in einer bestimmten Zeiteinheit gemessen wird. Jobs sind dabei Programme, die nacheinander abgearbeitet werden. Negativ auf die Leistung wirken Waitstates (Wartezyklen), die den schnelleren Prozessor bremsen sollen, wenn er auf den langsameren Hauptspeicher oder Peripheriegeräte zugreift. Je höher die Waitstates, um so häufiger wird ein "unnötiger" Takt ausgelöst. Folgendes Beispiel
kann diesen Sachverhalt verdeutlichen: Zwei Biathleten, ein Olympia-
sieger und ein Hobbyläufer, starten gleichzeitig zu einem 15-km-Rennen. Der Profi ist natürlich schneller und dreht nach dem Schießen Sonderrunden, um dann die nächsten Meter gemeinsam weiterzulaufen.
1
61
DV-Technik
Auf die Geschwindigkeit des Gesamtsystems haben auch folgende Faktoren einen Einfluß: • Die Größe des Hauptspeichers erhöht den Anteil der direkt zugreifbaren Daten, die nicht von einem Speichermedium geladen werden müssen. Gerade unter grafischen Benutzeroberflächen wie z.B. WINDOWS ergibt ein Ausbau einen bedeutenden Performanceschub, da nicht mehr so viele Programmteile ausgelagert werden müssen. •
Virtuelle Speicher erhöhen den Hauptspeicher durch adressierbare Bereiche auf der Festplatte.
• Pufferspeicher erhöhen die Zugriffsgeschwindigkeit, weil Teile des Hauptspeichers in den schnelleren Prozessor geladen werden; sie sorgen also allgemein für einen Ausgleich zwischen unterschiedlich schnellen Komponenten. • Cache-Speicher erhöhen die Zugriffsgeschwindigkeit durch Zwischenlagern von Informationen aus dem Hauptspeicher in einem speziellen, schnellen Speicher, der sich an der Prozessorgeschwindigkeit orientiert. Leider gab es Rechner, die diesen Speicherbaustein nur als Gehäuse enthielten.
• Coprozessoren, die allerdings durch ein Programm auch angesprochen werden müssen, entlasten den Prozessor. • Schnelligkeit, Zugriffszeit, Datentransferrate und Kapazität der Peripheriegeräte weitere Größen.
Beispielsweise benötigt ein
8 MHz-Rechner
sind
für einen Befehl
0,125 Mikrosekunden (Millionstel Sekunde), der Zugriff auf eine Festplatte liegt hingegen bei langsamen 10 Millisekunden (Tausendstel Sekunde). • Schließlich beeinflussen aber auch das verwendete Betriebssystem und das jeweilige Anwendungsprogramm die Rechnerleistung erheblich. Ein Ausbau des Speichers und eine schnelle Grafikkarte mit großem Speicher beschleunigen ein System am meisten.
62
1
DV-Technik
1.3.5 Interne Datendarstellung 1.3.5.1 Zahlensysteme Der Computer greift auf ein Zahlensystem zurück, das sich von unserem gebräuchlichen Zehnersystem deutlich unterscheidet, das Binärsystem. Es müssen also die zu verarbeitenden Informationen in dieses System umgewandelt werden; dies gilt neben Zahlen auch für Texte und Sonderzeichen. Die Vorschriften für die Informationsdarstellung im Computer bezeichnet man als Codes. Dabei geht es um die Zuordnung des Zeichens eines Zeichenvorrats zu dem Zeichen eines anderen Zeichenvorrats (Codierung). Einen einfachen Code stellt der Morsecode dar, in dem die Zeichen unserer Sprache in unterschiedliche Kombinationen von kurzen und langen Zeichen bzw. Tönen umgewandelt werden. Dieses Kurz/Lang entspricht damit auch einem Binärsystem. Die Zuordnung muß natürlich eindeutig sein, damit ein Code verstanden wird. Das Problem ergibt sich also durch die Verbindung von Mensch und Maschine und die unterschiedlichen verwendeten Sprachen; die Maschine kann viele Urbelege oder unsere Texte nicht lesen oder verstehen. Es mußte also ein Code gefunden werden, der diese Verständigung ermöglicht. Beim Computer werden solche Umsetzungen an verschiedenen Schnittstellen benötigt, z.B. zwischen Tastatur und Rechner, zwischen Rechner und Speichermedium, zwischen Rechner und Drucker. Dabei wird die Tastatureingabe in einen der Maschine verständlichen Maschinencode umgesetzt, später dann wieder vom Maschinencode zurückübersetzt, um als Bild, Text oder Sprache auf dem Bildschirm ausgegeben werden zu können. Ein anschauliches Beispiel stellt ein FAX-Gerät dar, es ermöglicht das Übertragen von Daten (insbesondere Schrift und Bilder) über das Fernsprechnetz. Die Vorlage wird in Tausende von Bildpunkten „zerlegt" und zeilenweise von links nach rechts abgetastet, wobei weiße Stellen als 0 und schwarze als 1 codiert werden. Genauso gut könnte die Codierung natürlich A und B lauten, wichtig ist lediglich, daß zwei unterschiedliche Zustände übertragen werden. Damit erhält man als kleinste adressierbare Einheit, die in einem Rechner angesprochen werden kann, das Bit (binary digit). 1 Bit kann also entweder den Zustand 0 oder 1 annehmen, dem entspricht in einem Rechner Strom ja oder nein. Die Kombination verschiedener Bits er-
1
DV-Technik
63
möglicht nun umfangreiche Codierungen, wobei nicht alle denkbaren Kombinationen ausgenutzt werden müssen. Eine Ampel kann z.B. mit ihren drei Lampen 2 3 = 8 mögliche Zustände darstellen; praktisch sind aber nur 4 relevant: 100
für rot
010
für gelb
110
für rot-gelb
001
für grün
Man kann sich an diesem Beispiel leicht vorstellen, zu welchen Verwicklungen schon ein falsches Bit führen kann.
1.3.5.2 Historische
Zahlzeichen
Das erste bekannte Zahlensystem ist das der Sumerer aus dem 3. Jahrtausend v. Chr. Die Bilderzahlschrift
der
Ägypter
und
die
Keilschrift
der
Babylonier
stammen
aus
dem
2. Jahrtausend v. Chr., dabei basiert nur das Zahlensystem der Ägypter auf dem Zehnersystem.
5> 3
> 2
l
5
D 3
DD 4
»
kD
5
J> D J> D 3> b 6
i ? > v
9 5) 0 » D >
V
D J> 1 i
V
*
o 10
Sumerische Zahlzeichen, 3. Jt.v.Chr. I 1
II 2
III
111 I
11 1 11
111 111
111 111
111 111
n
7
III 111 11 8
3
4
5
6
9
10
TTT
TTT TTT
TTT TTT
TTT TTT
• 10100
7
10001
3 -»• 01100
8
01001
4
9 -»• 00101
10010
5 -»• 01010
0
00011
Dieser Code ist so geartet, daß genau zwei Einsen pro Codewort vorkommen. Ein einfacher Fehler kann also immer erkannt werden.
2.3.2 Verfahren zur Beseitigung von Fehlern
Soll sogar eine Rekonstruktion der Übertragung ermöglicht werden, müssen ausgereifitere Protokolle eingesetzt werden. Eine Möglichkeit besteht darin, die Paritätsprüfungen zu kombinieren. Etwas weiter geht die Vorwärtskorrektur, die nicht nur eine Fehlererkennung ermöglicht, sondern u.U. den Fehler sogar korrigieren kann.
•
Vorwärtskorrektur
Dazu wird neben einer kombinierten Prüfung über Quer- und Längsparität noch je ein Bit für die Quersumme übertragen.
198
2 Zeichen 0 0 0 0
l l I l
l l l l
Kommunikation
Ph
Qh
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0 0
0
0
1
1
1
0
Pv
l
l
l
1
1
1
1
Qv
0
0
0
0
0
0
0
1
Einfache Fehler können durch dieses Verfahren lokalisiert und korrigiert werden, wie anhand folgender Übertragung gezeigt werden kann. Zeichen
Pv Qv
0 0 0 0
1 1 1 1
1 1 1 1
0 0 0 0
l 0
1 0
1 0
1 0
0 0 0
0 0 1 1
0 1 0 1
1 0
1 0
1 0
CD
Ph
Qh
1 0 0 1
0 1 1 0
Zwei Fehler können zumindest erkannt werden, eine Korrektur ist aber nicht immer möglich. Zeichen
Pv Qv
0 0 0 0
1 1 1 1
1 1 1 1
0 0 0 0
l 0
1 0
1 0
0
1
0
0
(D
®
0 1 0 1
0 0
1 1
1 0
1
1
0
0
Ph
Qh
1 0 0 1
0 1 1 0
3ei 4 Fehlern bleibt in schlechten Fällen der Fehler unerkannt. Zeichen 0 0 0 0
1 1 1 1
1 1 1 1
Ph
Qh
0
0
0
0
1
0
0
0
0
1
0
® ®
(D
1 1
0
0
1 1
1
1
0
©
Pv
1
1
1
1
1
Qv
0
0
0
0
0
1 0
1 0
199
2 Kommunikation
Die bisherigen Verfahren sind zeichenorientierte Protokolle, sie gehen von einer festen Länge der jeweiligen Übertragung aus, bitorientierte Protokolle können beliebige Übertragungslängen prüfen.
• 3-fach Wiederholung Wird jedes Nutzbit 3-fach übertragen, ergibt sich aus 100 die Bitfolge 111 000 000. Bei einfachen Übertragungsfehlern kann auch hier die Information rekonstruiert werden. Bei mindestens zwei Nullen (also 000, 001, 010, 100) ist das Ergebnis 0, bei mindestens zwei Einsen (also 111, 110, 011, 101) 1. In den Fällen, in denen bei einer Dreiergruppe gleich zwei Zeichen falsch übertragen werden, ist das Ergebnis natürlich auch hier inkorrekt. Der Übertragungsweg wird bei diesem Verfahren dreifach belastet. Besser wäre es, eine Gruppe von Bits mit einer darauffolgenden Gruppe von Redundanzbits zu übertragen. •
1-Fehler-korrigierender-Code
Je drei Bits werden so übertragen, daß weitere drei Bits die Übertragung nach folgender Regel kontrollieren: x
i x 2 x 3 Yi Ji y^ wobei y, = x, XOR x 2 , y 2 = X) XOR x 3 , y3 = x 2 XOR x 3 .
Zur Wiederholung sei angemerkt: 0 XOR 0 = 0, 0 XOR 1 = 1,1 XOR 1 = 0. Statt der Nutzbitfolge 110 wird daher 110 011 übertragen. 1
1 X
1
x
2
0 x
3
Insgesamt bestehen 2 6 = 64 mögliche Folgen, wie 6 Bits übertragen werden können. Nur die ersten drei Bits sind allerdings frei wählbar, von 2 6 bleiben 2 3 = 8 veränderliche Bits. 56 Kombinationen fuhren beim Empfänger also zum Erkennen eines Fehlers; er weiß, daß auf der Übertragungsstrecke ein oder mehrere Bits verfälscht wurden. Es läßt sich nämlich mathematisch beweisen, daß sich je 2 dieser 8 Codewörter an mindestens drei Stellen unterscheiden, denn immer gehören zwei Kombinationen zusammen: 000 000 und 111 000, 001 011 und 1 1 0 0 1 1 , 0 1 0 101 und 101 101,011 llOund 100 110. Eine übertragene Folge 101 001 kann als falsch interpretiert erkannt werden, da die Prüfbits den Fehler nachweisen. Für den Empfänger gibt es aber zusätzlich nur ein Codewort, das sich
200
Kommunikation
2
an nur einer Stelle von der übertragenen Folge unterscheidet, nämlich 101 101; er wird dieses als korrekt unterstellen. 101 001
000 000
3 Abweichungen
101 001
111 000
2 Abweichungen
101 001
001 011
2 Abweichungen
101 001
110011
3 Abweichungen
101 001
010 101
4 Abweichungen
101 001
101 101
1 Abweichung
101 001
011 110
5 Abweichungen
100 110
4 Abweichungen
101 001
•
4-aus-7-Code
Ein Code möge aus 8 möglichen Codewörtern mit einer Länge von je 7 Bit bestehen: A
0000000
E
B
1110100
F -*• 0100111
C -f
0111010
G
1010011
H -»
1101001
D -*• 0011101
1001110
Wird beispielsweise statt A = 0000000 tatsächlich 1111111 übertragen, sind 7 Verfälschungen aufgetreten, dennoch wird der Fehler erkannt. Treten die 4 Verfälschungen für A 1110100 auf, wird der Fehler allerdings nicht erkannt. Korrigiert werden können einfache Fehler; wird nämlich statt 0000000 1000000 übertragen, gibt es nur ein Codewort, das von dieser Kombination nur in einer Stelle abweicht. Diese Aussage gilt allgemein: Da jedes Wort mit 4 Einsen codiert wird, spricht man von der Hamming-Distanz 4. Je weiter also die möglichen Codewörter auseinander liegen, desto besser kann die Redundanz zur Fehlererkennung genutzt werden.
• Cyclic Redundancy Check Beim CRC-Verfahren
werden verschiedene Prüfpolynome verwendet, die sich durch Hard-
wareschaltungen abbilden lassen, sie werden dadurch beim Sender und beim Empfanger berechnet. Dabei ist die Länge der CRC-Zeichen von der Länge der Nutzbits unabhängig, die Prüfung erstreckt sich immer über einen gesamten Block.
201
2 Kommunikation
Die Folge der Nutzbits wird durch das Polynom G(x) dividiert, das Prüfwort entspricht dem verbleibenden Rest. Es gibt Varianten, die von der Anzahl der Fehler, die korrigierbar sein sollen, abhängig sind (z.B. 16-Bit-Sicherung): •
IBM verwendet das Polynom x 16 + x 15 + x 2 + 1
•
ISO normierte x 16 + x 12 + x s + 1
•
e Aufwendiger istx A
J -
•
.
3 2
+x .
2 6
+x .
2 3
+x .
2 2
+x .
16
+x .
12
+x .
11
+x ,
10
+ x + x + x + x + x + x + l .
8
,
7
,
5
,
4
.
2
.
,
,
Es geht also bei der Fehlerbehandlung und -kontrolle nicht um das Übertragungsmedium (Schicht 1 des OSI-Modells), sondern um das Protokoll bzw. den entsprechenden Dienst der zweiten Schicht. Dazu werden unterschiedliche Überlegungen angestellt, welche Fehler auftreten können und wie sie zu behandeln sind. Immer werden den Nutzbits zusätzliche Bits angefügt. Diese Redundanzbits sollen, um ein Netz möglichst wenig zu belasten, kurz sein. Auf Sender- und Empfängerseite müssen die verwendeten Algorithmen außerdem schnell sein. Ziel sind Codes mit guter Informationsrate und Fehlerkorrekturmöglichkeiten. Dazu werden häufig auch verschiedene Codierungen kombiniert. Der Interessierte mag sich mit der entsprechenden Codierungstheorie, die zur modernen Algebra (Theorie endlicher Körper und Vektorräume) gehört, auseinandersetzen. Um noch einmal auf die möglichen Gefahren hinzuweisen, zwei Beispiele zum Schluß: Die GZS sammelt Daten über seine Nutzer und wertet sie aus, angeblich um vor Mißbrauch zu schützen. Was aber, wenn der Beleg aus Münster als der aus Munster übertragen wurde und gerade an dem Tag ein Anschlag auf die dortige Militärbasis stattfand? Das gleiche gilt für Übertragungen von Daten im Zusammenhang mit der Erhebung von Autobahngebühren. Ein Vertreter, der Abrechnungen über Fahrten auf der A9 statt auf der AI erhält, bekommt Ärger bei der Spesenabrechnung oder mit seiner Frau.
2.4 Datensicherheit und Datenschutz Wie sich die Notwendigkeit des Schutzes von Eigentum, und damit auch von Informationen, geändert hat, zeigt das Beispiel Automobil. Früher konnten es nur wenige fahren, es war bekannt, wem es gehörte, es gab keine Schlüssel für Tür oder Zündung und damit auch keinen
202
2
Kommunikation
Anlaß zum Diebstahl. Heute müssen wie das Eigentum auch Informationen geschützt werden, z.B. gegen unbefugten Zugriff. Diese Gesichtspunkte werden unter Datensicherheit und Datenschutz behandelt. Beide Begriffe können folgendermaßen abgegrenzt werden: • Datensicherung sind die Vorkehrungen, die getroffen werden, um Informationen gegen Zerstörung, Verfälschung, Löschung, Beschädigung zu schützen, • Datenschutz
dient dem Schutz von Personen, soll also den unberechtigten Zugriff
(Einsichtnahme, Änderung, Zerstörung, Aneignung, Verwendung) auf personenbezogene Daten verhindern. Viele Maßnahmen betreffen allerdings sowohl die Datensicherheit als auch den Datenschutz. • Die zugegebenermaßen sehr laxe Haltung der USA in Sachen Datenschutz, die zumindest heute noch nicht mit der deutschen Realität vergleichbar ist, kann einige Konsequenzen verdeutlichen. Dort wird die automatische Anruferkennung von den privaten Telefongesellschaften als Service angeboten. So werden z.B. in einem Maklerbüro schon beim Klingeln des Telefons Name und persönliche Informationen über den Anrufer automatisch von einem PC abgerufen. Mit Hilfe von Datenbanken, die als CD-ROMs vorliegen, kann der Makler so schon vor der Abnahme des Hörers erkennen, ob der Kunde bei anderen Unternehmen Schulden hat. Was aber, wenn diese Daten falsch sind? Man kennt die Konsequenzen bei überhöhten Telefonrechnungen. • Interaktives Fernsehen zielt in die gleiche Richtung: Wird ein Werbespot über Schmerzmittel gezeigt, mit einer gebührenfreien Telefonnummer, unter der eine Gratisprobe des Präparats bestellt werden kann, wird auch die Telefonnummer des Anrufers gespeichert; eine große Datenbank ordnet die Adresse zu. Schon weiß man, wer Freitags vor der Glotze sitzt und vom Programm Kopfschmerzen bekommt. • Die Satellitenüberwachung von Fahrzeugen gegen Diebstahl ist sicherlich empfehlenswert, daß dadurch aber auch Geschwindigkeitsübertretungen registriert werden können, empfinden viele als zu weitgehend. • Ungeschützte Notebooks mit für jeden zugänglichen Firmendaten entsprechen auch nicht gerade dem Datenschutz. • Software wird immer häufiger über ISDN oder Telefon freigeschaltet; dabei ist kaum nachzuhalten, was übertragen wird.
2
Kommunikation
203
Damit können die Problembereiche folgendermaßen skizziert werden: • Bewahrung der Anonymität, d.h. man muß Informationen erhalten können, ohne die Identität preiszugeben (wie bei Zeitungen, Fernsehen). • Bewahrung der Authentizität; es muß überprüfbar bleiben, ob der Kommunikationspartner auch der gewählte ist und daß Informationen auch nachweisbar angekommen sind. • Bewahrung der Integrität, Daten müssen für alle gleich und richtig sein und korrekt übertragen werden. • Bewahrung der Vertraulichkeit, nicht alle Informationen sollen anderen zugänglich sein, die Kommunikation zweier Partner soll ohne Wissen anderer stattfinden können. In der Praxis werden verschiedene Sicherheitsstufen (z.B. die Euro-Normen E0 bis E6 oder als D, C2, C l , B3, B2, B l , AI) definiert. Im PC-Bereich erreicht man höchstens C2, worunter u.a. Zugriffsschutz für Verzeichnisse und Dateien sowie eine Protokollierung verstanden wird. Neben den Systemen der Groß-EDV sind vor allem vernetzte Personal Computer gefährdet. Wenn Anwender in gemeinsame Verzeichnisse auf dem Server schreiben dürfen, ist nur wenig Sicherheit gegeben. Und je mehr räumlich getrennte Insellösungen geschaffen werden, desto schwieriger wird die Kontrolle der Einhaltung des Datenschutzes und der Datensicherheit. Sowohl durch die zunehmende Verbreitung von PCs mit hoher Rechnerleistung, mit unabhängigen und zahlreichen Anwendern, die immer mehr Aufgaben übernehmen und sich viel zu häufig für Experten halten, als auch durch den fortschreitenden Einsatz von Datenbanken wird die Sicherung und der Schutz von Daten immer schwieriger. Rein sachliche Datenbestände werden (häufig schleichend) mit personenbezogenen Datenbeständen vermischt. Dies gilt insbesondere für DOS-Rechner, die über keinerlei Methoden der Datensicherheit und des Datenschutzes verfügen. Auch der Einsatz von Portables, LapTops und NoteBooks fördert nicht gerade diese wünschenswerten Ziele und steht im erstaunlichen Widerspruch zum Schutz der Großcomputer durch Stahl und Beton. Zusätzlich erschwert wird die Situation dann, wenn unterschiedliche Betriebssysteme, Standardprogramme und mit verschiedenen Programmiersprachen eigenerstellte Programme eingesetzt werden. Viele Großfirmen arbeiten mit mehr als 10 Sprachen und einer Vielfalt von Hard- und Software.
204
2
Kommunikation
Das folgende Beispiel kann die Gefahr verdeutlichen. • In die Datenfernübertragungsleitung eines Kfz-Zulieferbetriebs hatte ein Blitz eingeschlagen und die Computer durch Schmorbrände außer Gefecht gesetzt. Nicht einmal mehr die Türen des Rechenzentrums ließen sich nach diesem Ereignis öffnen. Außerdem wurde die gesamte Fertigungssteuerung für 8 Stunden unterbrochen, was sich zu einem Verlust von 300.000 DM aufaddierte. Schon wenige Tage ohne EDV können so einen Betrieb in den Konkurs treiben. Eine Studie der IBM beziffert die Überlebenszeit bei Versicherungen auf 5,6 Tage, bei der Industrie auf 4,9, beim Handel auf 3,3 und bei Banken auf 2 Tage. Neue Rechner kann man leicht kaufen, Daten aber nicht. Natürlich sind nicht alle Systeme kritisch zu beurteilen. Ein System, dessen Ausfall nicht schlimmer ist, als wenn es gar nicht existieren würde, ist nicht kritisch. Beispiel dafür ist eine Ampelanlage, die ausfällt. Das ist nicht schlimmer, als wenn gar keine da ist, es sei denn, die Fahrer träumen und verlassen sich darauf. Auch eine Textverarbeitung ist nicht kritisch, es sei denn, man strebt die Unsterblichkeit als Nobelpreisträger für Literatur an. Ein Auto, das bei Tempo 180 das ABS einschaltet, ist zumindest auf deutschen Autobahnen mit seinen Dränglern kritisch. Auch die Software kann fehlerhaft sein oder z.B. durch Viren in Mitleidenschaft gezogen werden. Viele Betriebssysteme ermöglichen den zu leichten Zutritt in eigentlich geschützte Bereiche. Daß die von Finnen geforderten sinnlosen Kombinationen als Paßwörter auf Zetteln notiert werden, die unter Umständen sogar direkt am Bildschirm befestigt werden, ist nur allzuoft traurige Realität, jyslkj34 läßt sich nun mal schlecht merken. Häufige Paßwörter sind: Name von Frau, Mann, Kind, Hund, Goldfisch, Hamster. Hacker prüfen daher automatisiert Mädchennamen ab oder gehen alle Daten von 1940 bis 1980 durch. Maßnahmen sind die Forderung nach Mindestlängen von Paßwörtern, die Verwendung unterschiedlicher Paßwörter bei unterschiedlichen Zugängen und die automatische Aufforderung nach Änderung in bestimmten Abständen. Das Problembewußtsein ist häufig gering. Vielmehr herrscht der Irrglaube vor, daß Pannen selten und dann immer nur bei anderen vorkommen. Dies liegt vor allem daran, daß solche Ereignisse nur selten an die Öffentlichkeit gelangen.
2
205
Kommunikation
Auf der anderen Seite wird fälschlicherweise vermutet, daß vor allem Angriffe von außen abgewehrt werden müssen; viel häufiger ist aber der interne Mitarbeiter Verursacher. Das reicht vom Versuch der Bereicherung über Rachegefühle bis hin zu Frustreaktionen.
2.4.1 Datensicherung Zur Datensicherung geeignet sind eine Reihe von •
technischen,
•
personellen,
• organisatorischen und •
baulichen
Maßnahmen, sie gehen ineinander über.
2.4.1.1 Technische Maßnahmen Technische Maßnahmen können wiederum in Maßnahmen zur Absicherung der Hardware und solche zur Absicherung der Software eingeteilt werden. Mögliche Fehlerquellen bei der Hardware sind z.B. schadhafte Bauteile durch Uberhitzung, Korrosion, Erschütterung usw. Dadurch kann es zu Datenveränderungen oder sogar Datenverlusten kommen. Zum Schutz der Hardware bieten sich folgende Strategien an: • Mehrfaches Vorhalten von Hardware, um bei Ausfällen auf Ersatzgeräte zugreifen zu können, beispielsweise im Bereich der Flugsicherung. • Einsatz von Schlüsseln, die Tastatur, Bildschirm oder Arbeitsspeicher sperren. • Schreibsperren, die Datenträger vor einem ungewollten Schreibzugriff schützen (z.B. Disketten mit den Originalprogrammen). Auf der Softwareseite bieten sich ebenfalls einige Möglichkeiten an: • Plausibilitätskontrollen,
wodurch Eingaben auf ihre Sinnhaftigkeit überprüft werden (z.B.
ob in numerischen Feldern tatsächlich Werte eingegeben werden).
206
2
• Kontrollen der Ergebnisse,
Kommunikation
ob sie im möglichen Definitionsbereich liegen oder ob das
Vorzeichen zulässig ist. • Die Verschlüsselung
von Daten empfiehlt sich zum Schutz gegen Abhören.
• Eine vergleichbare Möglichkeit ist das zweimalige Senden von Informationen mit dem anschließenden Vergleich. •
Verhinderung
von Fehlbedienungen oder zumindest die Ausgabe und Protokollierung von
Bedienungsfehlern. • Protokollierung
aller benutzten Geräte und der Zeiten; Zugang zum System nur für autori-
siertes Personal über Zugangskontrollen (Paßwörter u.ä.); gemeint ist damit nicht eine Kontrolle der Effektivität einzelner Nutzer. • Abschottung
gegenüber Zugriffen von außen, wenn Verbindungen über öffentliche Netze
bestehen. •
Ständige Kontrolle auf Viren mit Hilfe von Checksummenprogrammen, Scannern usw.
2.4.1.2 Personelle Maßnahmen Menschliches
Versagen ist der wesentliche Punkt der Datensicherung. Unbewußt, aus man-
gelnder Erfahrung, aus Gewohnheit, fahrlässig oder vorsätzlich werden Daten zerstört, verändert oder an Fremde weitergegeben. Auch der Gebrauch der Systeme für private Aufgaben fällt unter diesen Punkt (z.B. Schreiben von Bewerbungen). Gründe sind auch Personalknappheit und fehlendes Problembewußtsein. Aus diesen Gründen sollten folgende Vorkehrungen getroffen werden: • Auswahl von qualifiziertem
Personal und ständige Schulung, aber auch Kontrolle der Mit-
arbeiter, um Fehler zu verhindern. Insbesondere muß dem Personal die Bedeutung der Datensicherheit vermittelt werden. • Ein sogenannter closed-shop-Betrieb
erlaubt nur berechtigten Personen den Zutritt zu den
Anlagen und Daten. Unbefugte Personen dürfen nur in Begleitung eintreten, Sicherheitsausweise sind ständig sichtbar zu tragen, das Einbringen von Taschen und Mänteln ist zu untersagen. • Einführung einer log-out-Pflicht
beim Verlassen des Arbeitsplatzes.
2 •
207
Kommunikation
Die Archivierung besonders sensibler Daten sollte nur von speziell ermächtigten
Personen
durchgeführt werden; der Verbleib der Daten muß jederzeit nachgewiesen werden können, was durch Kontrollen abzuprüfen ist. • Zusätzlich sollten Sicherheits- und Datenschutzbeauftragte
auf die Einhaltung der vorge-
gebenen Regeln achten.
Besonders schwierige Situationen ergeben sich immer dann, wenn Teile des Systems umgestellt oder Reparaturen ausgeführt werden; in diesen Fällen muß das betriebsfremde Personal genauestens überprüft und kontrolliert werden.
2.4.1.3
Organisatorische
Maßnahmen
Auch im organisatorischen Bereich können Fehler auftreten, sei es, weil undeutlich abgegrenzte Kompetenzen dazu führen, daß sich die Personen nicht zuständig fühlen bzw. auf andere verlassen, oder weil die Aufbau- und Ablauforganisation nicht ausreichend durchdacht ist und damit organisatorische Lücken entstehen. Maßnahmen in diesem Bereich können sein: •
Festlegung eines Datensicherungskonzeptes
sowie eine Funktionentrennung und damit re-
gelmäßige Sicherungen und Aufbewahrung an sicheren Orten. •
Festlegung der Kompetenzen für die Beschaffung und den Einsatz von Hard- und Software.
•
Shadowing oder Mirroring, also doppeltes Vorhalten von Daten, was aber nicht gegen Diebstahl oder Feuer hilft. Besser geeignet sind Wechselplatten, die mitgenommen und an einem anderen Ort eingeschlossen werden können.
• Bindende Vorschriften für Aufbau- und Ablauforganisation, also z.B. genaue Abgrenzung der Zuständigkeiten und Festlegung des Datenflusses. •
Checklisten für täglich und wöchentlich anfallende Arbeiten.
• Erstellen eines Katastrophenfallplans,
der Vereinbarungen über ein Backup-Rechenzen-
trum, Ersatzgeräte und die Wiederherstellung der Daten nach Prioritätenlisten enthält; die Datenwiederherstellung sollte in periodischen Zeiträumen (auf anderen Rechnern) getestet werden. •
Bindende Vorschriften über die Beschaffenheit
von Urbelegen, die Art ihrer Gestaltung
(Übersichtlichkeit und Lesbarkeit) und die erlaubten Abkürzungen.
208
2
Kommunikation
• Einsatz von Datenträgern, die ein backup ohne Bedienungseingriffe durchfuhren lassen. • Gleichzeitig zur Eingabe sollten die Daten optisch (über den Bildschirm) ausgegeben werden, um dem Eingebenden Vergleiche zu ermöglichen. • Besonders sensible Daten werden von zwei Personen eingegeben und maschinell verglichen. • Das Einbringen fremder Programme durch das Personal und die private Nutzung sind strengstens zu untersagen, Eigenprogrammierung ist einzugrenzen. • Daten werden katastrophensicher oder mehrfach an unterschiedlichen räumlichen Orten aufbewahrt. • Aufbewahrungsfristen
werden festgelegt.
• Die Vernichtung von Daten wird kontrolliert oder zentralisiert (Einsatz von Reißwölfen zur Papierentsorgung, fachgerechte Entsorgung von Datenträgern und Farbbändern) bzw. an spezialisierte Unternehmen übergeben. • Bei Auftragsdatenverarbeitung kommt die Auswahl geeigneter Auftragnehmer und die Abstimmung der Vorschriften zum Tragen. Zusätzlich können Versicherungen abgeschlossen werden, die allerdings die möglichen Schäden nur bedingt kompensieren können. Unterschieden werden • Computer-Mißbrauchsversicherungen (die Vermögensschäden abdecken, die durch die Mitarbeiter entstehen), • Datenhaftpflichtversicherungen (die Schadensersatzansprüche abdecken, die von Betroffenen geltend gemacht werden können), • Datenrechtschutzversicherungen (die Gerichts- und Anwaltskosten abdecken).
2.4.1.4 Bauliche Maßnahmen Auch gewaltsame Einwirkungen von außen müssen ausreichend berücksichtigt werden. Dies können Naturereignisse, aber auch Sabotageakte sein.
2
209
Kommunikation
Die Maßnahmen sind: • Baulich sichere (statische) Konstruktionen einschließlich aller Nebenräume, im Extremfall Unterbringung in einem Bunker. • Unterstützung der Zugangssicherung durch bauliche Maßnahmen (nur ein übersichtlicher Zugang, zusätzliche Notausgänge können nur im Notfall benutzt werden bzw. werden ständig überprüft). • Unterstützung der Zugangssicherung durch automatische Ausweisleser (Ablesen der Fingerabdrücke), Sicherheitsschlösser, Alarmanlagen. • Vermeidung von Glasflächen, da sie einen Einblick ermöglichen (Fotografieren) und nicht so stabil sind bzw. elektromagnetische Strahlen schlechter abschirmen als Mauerwerk (Einsatz von Abhörgeräten und Sendern zur Zerstörung von Daten, Werfen von Brandsätzen u.ä.). Elektromagnetische Strahlen sind bis zu einer Entfernung von 1000 Metern rekonstruierbar. Der Einsatz von sogenannten Tempest-Geräten zur Abschirmung ist in der Bundesrepublik aber nur dem BND und Verfassungsschutz erlaubt. • Einsatz von feuerhemmenden
Türen und automatischen Feuermeldesystemen. Ausrei-
chende Anbringung von CO2-Feuerlöschern und Festlegung von Fluchtwegen. • Raumausstattung aus nichtbrennbarem Material, Verwendung von antistatischen Bodenbelägen. • Einsatz einer Klimaanlage zu Stabilisierung von Raumluft, Temperatur, Feuchtigkeit und zur Reduzierung des Staubanteils in der Luft. • Insbesondere bei sensiblen Prozessen bzw. bei Echtzeitvorgängen ein eigenes Notstromaggregat zur Gewährleistung einer unterbrechungsfreien Stromversorgung.
2.4.2 Datenschutz Das Bedürfnis des Einzelnen nach Schutz seiner Daten soll in den Regelungen des Datenschutzes zum Ausdruck kommen. Es soll vermieden werden, daß personenbezogene Daten an unbeteiligte Dritte weitergegeben oder unerlaubterweise verwendet werden. Dabei ist es
210
2
Kommunikation
sicher nicht so, daß jemand, der nichts zu verbergen hat, auch nichts befürchten muß. An anderer Stelle wurde deutlich, wie schnell Daten verfälscht werden können. Folgende Beispiele zeigen, welche Institutionen Interesse an personenbezogenen Daten haben könnten: Institution
Daten
Arbeitgeber Arbeitgeber Kreditunternehmen Finanzämter Versicherungen Meinungsforscher
Gesundheitszustand Vorstrafen Finanzlage Kapitaleinkünfte frühere Versicherungsfälle Konsumverhalten
Dies ist allerdings nicht so zu verstehen, daß diese Institutionen normalerweise zur Verarbeitung der genannten Daten nicht berechtigt seien. Vielmehr regeln Gesetze den Einzelfall. Daß man nicht überall so kritisch denkt, zeigt das Beispiel Singapur; dort existiert eine zentrale Datenbank, in der alle Einwohner erfaßt sind. Rechtsgrundlage ist erst einmal das Grundgesetz mit seinen Artikeln •
1, der die Unantastbarkeit der Menschenwürde garantiert,
• 2, der die freie Entwicklung der Persönlichkeit gewährleistet, •
10, der das Brief-, Post- und Fernmeldegeheimnis regelt.
Strafandrohungen finden sich im Strafgesetzbuch, z.B. •
§ 268, Fälschung technischer Aufzeichnungen,
•
§ 274, Urkundenunterdrückung.
Eine Reihe von Spezialgesetzen erweitert die allgemeinen Vorschriften (z.B. Vermögensgesetz, Bankgeheimnis). So hat beim Einsatz von Computern für die Bearbeitung personenbezogener Daten der Datenschutzbeauftragte
sicherzustellen, daß das Bundesdatenschutzgesetz
1. Januar 1978) und andere Rechtsvorschriften beachtet werden.
(BDSG, 1. Fassung v.
2
211
Kommunikation
Jedes Unternehmen, das personenbezogene Daten automatisch (ab 5 Mitarbeitern) oder auf sonstige Weise (ab 20 Mitarbeitern) verarbeitet, muß nach dem BDSG einen Datenschutzbeauftragten einsetzen.
Das BDSG regelt auch die Ernennung eines Bundesdatenschutzbeauftragten, durch verschiedene Landesdatenschutzgesetze
te
es wird ergänzt
und Landesdatenschutzbeauftragte.
Private Datensammlungen unterliegen allerdings nicht der Kontrolle der DátenSchützer, sondern den Innenministern der Länder.
§ 1 des BDSG lautet: „Aufgabe des Datenschutzes ist es, durch den Schutz personenbezogener Daten vor Mißbrauch bei ihrer Speicherung,
Übermittlung,
Veränderung und Löschung
(Datenverarbeitung) der Beeinträchtigung schutzwürdiger Belange der Betroffenen entgegenzuwirken". Dies ist aber häufig eine Einzelentscheidung. Die unerlaubte Einsicht in personenbezogene Daten wird durch dieses Gesetz offensichtlich nicht geregelt; dafür sind aber andere Rechtsvorschriften anzuwenden.
Nach § 2 des BDSG sind personenbezogene Daten Einzelangaben über persönliche oder sachliche Verhältnisse bestimmter natürlicher Personen. •
Einzelangaben
sind z.B. Name, Ausweisnummer, Einkommen, benutztes Verkehrsmittel,
Konsumausgaben; entsprechend sind Aggregationen erlaubt, die keinen Rückschluß auf einzelne Personen ermöglichen (z.B. durchschnittliches Einkommen, Verkehrsdichte). • Persönliche und sachliche Verhältnisse sind auf eine bestimmte Person beziehbare Daten. Eine Angabe dieser Verhältnisse liegt damit vor, wenn eine Person als Hausbesitzer, einer bestimmten Berufsgruppe zugehörig, als Kranker usw. bestimmt werden kann. • Bestimmte (oder nach dem Gesetz auch "bestimmbare") Personen sind eindeutig zu identifizieren, wenn ausreichende Informationen vorliegen, wie z.B. Name, Adresse und Geburtsdatum. Es reicht schon aus, wenn Einzelangaben gemacht werden, die sich ziemlich eindeutig auf eine bestimmte Person beziehen. Dazu gehören auch die Fälle, wo durch eine Verknüpfung von an sich anonymen Daten mit weiteren Informationen auf bestimmte Personen rückgeschlossen werden kann. Sind als Einkommen der drei Mitarbeiter einer klei-
212
2
Kommunikation
nen Abteilung beispielsweise die Größen 50.000, 50.000 und 100.000 DM bekannt, kann rückgeschlossen werden, daß der Leiter den höchsten Betrag verdient. • Natürliche Personen sind im Gegensatz zu juristischen Personen Einzelpersonen oder Personengruppen, die über einen persönlichen Schutzbereich verfugen (z.B. auch Familien). Weiterhin wird in § 5 geregelt, daß es den mit der Datenverarbeitung beschäftigten
Personen
untersagt ist, Daten unbefugt zu einem anderen als dem zur jeweiligen rechtmäßigen Aufgabenerfullung gehörenden Zweck zu verarbeiten, bekanntzugeben, zugänglich zu machen oder sonst zu nutzen. Die Personen sind bei Aufnahme ihrer Tätigkeit zur Einhaltung zu verpflichten; die Pflichten bestehen auch nach Beendigung ihrer Tätigkeit fort. Hilfreich ist auch das Urteil des Bundesverfassungsgerichts
vom 15. Dezember 1983, das im
Rahmen der Volkszählung gefallt wurde. Es regelt, daß prinzipiell jeder Bürger über die Verwendung seiner Daten selbst bestimmen kann. Das betrifft die Erhebung, Speicherung, Verwendung und Weitergabe personenbezogener Daten. Geschützt wird nicht nur vor einem Mißbrauch der Daten, sondern die Datenverarbeitung insgesamt wird gesetzlich geregelt. Änderungen dieser Rechtsvorschrift können nach diesem Urteil nur durch eine Änderung des Grundgesetzes vorgenommen werden.
Eine Verarbeitung personenbezogener Daten ist daher nur erlaubt, wenn • das Gesetz dies ausdrücklich fordert bzw. erlaubt (Einwohnermeldeamt, Meldepflicht ansteckender Krankheiten), • oder wenn die Verarbeitung auf Grund eines Vertrages erforderlich ist, • oder wenn die Einwilligung des Betroffenen vorliegt. Sicher gibt es Situationen, in denen dem Betroffenen keine Wahl bleibt, seine ZuStimmung zu geben, wenn er ein bestimmtes Interesse verfolgt (SCHUFA-Klausel bei Eröffnung eines Kontos, polizeiliches Führungszeugnis bei Neuantritt einer Stelle). Die damit zur Verfügung zu stellenden Daten sind aber durch Gerichtsurteile häufig eingeschränkt (eine Vorstrafe muß beispielsweise nur angegeben werden, wenn das Delikt mit der angestrebten Position in Einklang steht; eine bestehende Schwangerschaft darf unter Umständen verschwiegen werden).
2
Kommunikation
213
Bei Personaldaten müssen zusätzlich die Bestimmungen der gesetzlichen Mitbestimmungsrechte beachtet werden.
Damit ergeben sich folgende Rechte der Betroffenen: 1. Das Recht auf Wissen um die Datenspeicherung bzw. die Benachrichtigung. Dies kann durch eine schriftliche Mitteilung erfolgen oder durch die Aufnahme einer entsprechenden Klausel in einen Vertrag. Besondere Benachrichtigungen sind allerdings dann nicht notwendig, wenn der Betroffene davon ausgehen muß, daß zur Erfüllung eines Vertrages Daten gespeichert werden müssen. Beispiele sind der Abschluß einer Versicherung, die Aufnahme eines Kreditvertrages oder die Rechtsbeziehungen zu einer Krankenversicherung. Bei Bundesbehörden reicht die amtliche Bekanntmachung aus. 2. Das Recht auf Auskunft. Die speichernde Stelle muß auf Begehren des Betroffenen Auskunft über die gespeicherten Daten geben. Der entsprechende Datenschutzbeauftragte hat dafür zu sorgen, daß diese Auskunft vollständig und rechtzeitig erteilt wird. 3. Das Recht auf Berichtigung und Sperrung. Daten, die falsch sind, müssen berichtigt werden; Daten, die aus Sicht des Betroffenen fehlerhaft sind, deren Richtigkeit sich jedoch nicht eindeutig feststellen läßt, werden gesperrt und dürfen nicht weiterverarbeitet werden. 4. Das Recht auf Löschung. Sind Daten unzulässigerweise gespeichert oder kann bei sensiblen Daten die Richtigkeit von der speichernden Stelle nicht nachgewiesen werden, oder ist die Zulässigkeit der Speicherung nicht mehr gegeben, dann kann der Betroffene die Löschung der Daten verlangen.
Die Rechte lassen sich beim Verwaltungsgericht einklagen.
214
2
Kommunikation
2.4.3 Die Realität Die Wirklichkeit sieht aber dann doch etwas anders aus, wie folgende Anmerkungen verdeutlichen können. Wenig Augenmerk wird in den USA auf Datenschutz gelegt, so vertreibt das Bureau of Census, die dortige statistische Bundesbehörde, Volkszählungsdaten auf CD-ROM disaggregiert bis auf Straßenzug-Ebene. Auch in Deutschland werden Daten gesammelt und auf Datenträgern verkauft, etwa 400 Firmen leben von diesem Geschäft. Der Kauf einer Waschmaschine oder die Buchung einer Reise führen dazu, daß man sich auf einer solchen Sammlung wiederfindet. Auch Kommunen verkaufen Datenbestände an Adreßverlage und geben (erlaubterweise) Datenbestände an Parteien zur Abstimmung ihrer Wahlwerbung weiter. Zwar kann man durch Eintragung in die Robinson-Liste von einigen der durchschnittlich 65 Werbesendungen pro Jahr verschont werden, die Liste wird aber nur von einigen wenigen Firmen tatsächlich akzeptiert. Auch Telefonanrufe werden immer mehr zu Werbezwecken mißbraucht. Sie sind zwar nur erlaubt, wenn Geschäftsbeziehungen bestehen oder wenn ein eindeutiges Interesse an Informationen bekundet wurde. Ein wirksamer Schutz ist aber nur ein Medium, das auch in den USA aus diesem Grunde so große Verbreitung gefunden hat, der Anrufbeantworter. Der § 28 des BDSG ist geradezu ein Freibrief, denn ein Unternehmen, das zu seinem Vorteil personenbezogene Daten verarbeiten will, wird wohl überwiegend die Ansicht vertreten, daß dies im Rahmen der Zweckbestimmung eines Vertragsverhältnisses geschieht und zur Wahrung berechtigter Interessen der speichernden Stelle erforderlich ist. Es wird kaum zu dem Schluß gelangen, daß schutzwürdige Interessen der Betroffenen überwiegen. So vertreten Kritiker des BDSG die Ansicht, daß es sich wohl eher um ein Ermächtigungsgesetz zur Datenverarbeitung handelt, insbesondere deshalb, weil in vielen Fällen der Betroffene zustimmen muß.
2
Kommunikation
215
Ein Beispiel dafür sind die Versicherer, die mit Erlaubnis der Datenschutzaufsichtsbehörden z.B. in ihren Verträgen eine Klausel einfügen, wonach ein Arzt von seiner beruflichen Schweigepflicht entbunden wird. Außerdem werden • Daten an Rückversicherer und deren Rückversicherer weitergegeben, • Daten untereinander abgeglichen; dabei kann es sich um beantragte, bestehende, abgelehnte oder gekündigte Versicherungen handeln, aber auch um frühere Krankheiten und Versicherungsfalle, Schäden, Schadenhöhe und Schadentag, • Daten zentral gesammelt (z.B. beim Verband der Haftpflichtversicherer, Unfallversicherer, Autoversicherer und Rechtsschutzversicherer); damit sollen auffällige Schadenfalle, KfzDiebstähle oder allgemein Versicherungsbetrügereien aufgedeckt werden, • Daten nur einmal gespeichert, auch wenn Verträge mit unterschiedlichen Gesellschaften, die in einer Versicherungsgruppe zusammenarbeiten, abgeschlossen wurden. Für eine intensive Beschäftigung mit diesem Thema sei auf die entsprechende Literatur und die aktuellen Rechtsprechungen verwiesen.
3 DV-Organisation
Seit Fertigstellung des ersten funktionsfähigen Computers durch Konrad Zuse im Jahr 1941 hat die Computertechnologie eine rasante Entwicklung genommen. Waren die ersten Rechner auf Grund ihres Raumbedarfs und der hohen Preise großen Unternehmen und Forschungseinrichtungen vorbehalten, stehen heute mit Personal Computern preiswerte und leistungsfähige Geräte zur Verfugung, die vielfältige Managementaufgaben und -probleme lösen können. Ziel dieses Kapitels ist es aufzuzeigen, daß die Verarbeitung von großen Datenmengen, wie sie in Betrieben anfallen, durch den Einsatz der EDV zu zahlreichen positiven Auswirkungen auf die Organisation
betrieblicher Abläufe fuhren kann. Allerdings kann es auch zu negativen
Auswirkungen kommen. Unwirtschaftlich und bedenklich, so beurteilte beispielsweise der Bundesrechnungshof die EDV der Bundesanstalt für Arbeit in Nürnberg. Grund war der Einsatz von Rechnern zweier unterschiedlicher Hersteller, die nicht kompatibel waren. Programme wurden mehrfach erstellt und selbst Daten mußten mehrfach eingegeben werden. Auch das Umweltbundesamt kritisierte der Rechnungshof, da die Brauchbarkeit der dort eingesetzten Datenbanken nur sehr eingeschränkt sei. Abnahmetests wurden von den Softwarefirmen selbst durchgeführt, eine Abhängigkeit von wenigen Anbietern wurde festgestellt. Anschließend wird die konkrete Durchführung eines Projektes anhand der einzelnen Projektphasen angesprochen, die bei der Einführung
eines EDV-Systems
beachtet werden müssen.
Deutlich werden soll vor allem, daß die eigentliche Programmierung bzw. die Auswahl eines geeigneten Programms nur ein Teilproblem, häufig das geringste, darstellt. Vielmehr ist darauf zu achten, daß eine Einbindung in das organisatorische Umfeld stattfindet und daß eine ständige Begleitung der Neueinführung gesichert ist. Rechtzeitig ist festzulegen, was durch ein System erreicht werden soll. Insbesondere wird diskutiert, wann Standardsoftwarepakete
und wann individuell
erstellte
Software vorteilhafter erscheint. Es soll aber auch darauf hingewiesen werden, daß verschiedene Standardprogramme Teilprobleme einer Neukonzeption lösen helfen können.
3
217
DV-Organisation
Wie mangelhaft die organisatorische Begleitung bei der Einführung häufig ist, zeigen Zahlen, die von der US-Regierung ermittelt und veröffentlicht wurden: • In 19% aller Fälle wurde die Softwareentwicklung aufgegeben bzw. von vorne begonnen, • 47% der Software wurde geliefert, aber nie benutzt, • 29% wurde bezahlt, aber nie geliefert. Im folgenden werden Argumente aufgeführt, die im Einzelfall durchaus nicht alle zu beachten wären; dies dient der Vollständigkeit. Aus dem gleichen Grunde ist es nicht zu vermeiden, daß Thesen an mehreren Stellen auftauchen, da in unterschiedlichen Situationen erneut über sie diskutiert werden muß.
3.1 Integrierende Wirkung von Datenbanken In diesem ersten Abschnitt soll auf den Einsatz von Datenbanken
eingegangen werden;
schließlich steht in der betrieblichen Praxis die Verarbeitung großer Datenmengen und nicht die Berechnung von Ergebnissen im Vordergrund. Daneben wird versucht herauszuarbeiten, wie der Einsatz von Datenbanken auf die Aufbau- und Ablauforganisation
eines Betriebes
wirkt. Die Analyse der Praxis zeigt folgende Probleme beim Einsatz der EDV: •
Informationsüberfluß und Datenredundanz,
•
unterschiedliche Aktualität der Datenbestände und ein hoher Pflegeaufwand,
•
die hohen Kosten der Wartung und des laufenden Betriebs, die mit der zentralen Verarbeitung von Massendaten
einhergehen.
Man geht sogar noch weiter und sagt: Information
ist neben Arbeit, Betriebsmitteln und
Werkstoffen zum vierten Produktionsfaktor geworden. Als Gründe für diese Einschätzung können genannt werden: • Die Fertigungsautomatisierung
ist in der Vergangenheit fast abgeschlossen worden.
• Kleine Serien und eine Vielzahl von Stücklisten, Arbeitsgängen, Kalkulationen müssen behandelt werden.
218
3
DV-Organisation
• Eine ausgeprägte Dezentralisierung und Spezialisierung hat stattgefunden, an sich ein positives Element, dadurch ergibt sich aber auch ein erhöhter
Koordinierungsbedarf.
Daraus ergeben sich vielfaltige Konsequenzen für die organisatorische Gestaltung der Informationsverarbeitungstätigkeiten, denn die manuelle Verarbeitung von Daten wird modernen Unternehmen nicht mehr gerecht, nur die Umstellung auf elektronische Systeme kann die Konkurrenzfähigkeit gewährleisten.
3.1.1 Einführendes Beispiel Der Pharmagroßhandel ist darauf angewiesen, eingehende Bestellungen der Apotheken innerhalb kürzester Zeit auszuführen. Denn bei heute über 120.000 Arzneimitteln ist ein pharmazeutischer Einzelhandel nicht mehr in der Lage, alle Artikel vorzuhalten. Seltener benötigte Arzneien wünscht der Kunde aber ebenfalls sofort, da er nur darin eine rechtzeitige Heilungsmöglichkeit sieht. Schon das Warten bis zum nächsten Tag wird nicht akzeptiert, in einem solchen Fall wird eher eine zweite Apotheke aufgesucht. Nur Apotheken, die entsprechend schnell liefern können, innerhalb eines halben Tages bzw. bis zum Abend, können ihre Kundschaft auf Dauer halten. Dieses Problem überträgt der Einzelhändler auf den Großhandel, er wählt den Distributeur aus, der die Wünsche seiner Kunden schnellstmöglich befriedigen kann. Diese Lösung ist aber nur mit einem integrierten System zu erzielen. Ein solches Informationssystem kann man sich folgendermaßen vorstellen: Automatisiert werden die Anrufe der einzelnen Apotheken von Telefonistinnen entgegengenommen. Über ein Datensichtgerät kann sofort überprüft werden, ob der gewünschte Artikel auf Lager ist, gleichzeitig werden der Preis und der Lagerbestand angezeigt. Mit den Apotheken, die in der Regel täglich bestellen, werden bestimmte Anrufzeiten vereinbart. Das System meldet zu der festgelegten Uhrzeit (z.B. 17.03 Uhr), daß eine bestimmte Apotheke angerufen werden muß, wählt die Apotheke automatisch an und weist einem freien Arbeitsplatz die Betreuung zu.
3
DV-Organisation
219
Die bestellten Artikel werden automatisch im Lager ausgedruckt (eventuell in einem zweiten Lager, falls der Großhändler mehrere Läger unterhält). Gleichzeitig wird die Bestellung ans Rechnungswesen übertragen. Der Bestellschein wird in einem Korb abgelegt, der automatisch die entsprechenden Positionen im Lager anfährt, wo menschliche Mitarbeiter einige der Artikel in den Korb legen und ihn zum Weitertransport freigeben, damit die nächste Lagerposition angefahren wird. Am Ende des Förderbandes wird das Gewicht des Korbes samt Inhalt gemessen und mit dem Sollgewicht, das sich aus den gespeicherten Einzelgewichten der Artikel ergibt, verglichen. Stimmen Ist- und Sollgewicht überein, wird der Inhalt verpackt und der entsprechenden Apotheke und einem Lieferwagen zugeordnet und dorthin weitertransportiert. Da ständig mehrere Lieferwagen im Einsatz sind, wird gleichzeitig für jeden ein optimaler Tourenplan ermittelt und ausgedruckt. Die Fahrer der Lieferwagen haben die Möglichkeit, über ein Sichtgerät abzufragen, ob ihre Tour komplett ist oder ob noch einzelne Artikel auf dem Weg sind. Gleichzeitig organisiert das System auch das Lager selbst, also die Anordnung der Artikel im Lager nach Häufigkeit der Nachfrage. Damit ergibt sich im Winter eine andere Lagerstruktur (Grippemittel u.ä. in erster Reihe) als im Sommer (z.B. Mittel gegen Verbrennungen). Die Vorteile eines solchen Systems liegen auf der Hand: • Mehrfache Telefonanrufe der Apotheker sind Vergangenheit. • Eine Bestellung wird innerhalb kürzester Zeit bearbeitet. • Im Hause sind keine Botengänge notwendig. • Eine Bestandskontrolle ist jederzeit möglich. • Es entsteht keine Redundanz der Daten, Übertragungsfehler entfallen, es werden immer die richtigen Artikel gewählt. • Es kann eine automatische Bestellung in festen Zeiträumen bei den Pharmaherstellern durchgeführt werden. Einziger Nachteil des Systems ist die Gefahr des totalen Zusammenbruchs der Anlage und damit ein Stillstand jeglicher Verarbeitung. Aus diesem Grunde wird parallel ein zweites identisches System gefahren.
220
3
DV-Organisation
3.1.2 Organisationsprobleme Das Gebiet der Organisation wird im allgemeinen in Aufbau-
und Ablauf Organisation
unter-
teilt. Unter Aufbauorganisation
versteht man den Bereich
•
Stellen und -beschreibungen,
•
Aufbau der Abteilungen und der Hierarchie,
•
Art des Führungsstils und Ausprägung der Beziehungen zwischen den Mitarbeitern.
Unter Ablauforganisation •
versteht man die
Koordination von Tätigkeiten, d.h. Festlegung von zeitlichen und räumlichen Arbeitsbeziehungen.
In die Organisation sind unterschiedliche Hierarchieebenen mit folgenden typischen Entscheidungsprozessen eingebunden. •
Führungstätigkeiten
sind komplex und kaum programmierbar, Führungskräfte benötigen
nicht die gleichen detaillierten Informationen wie die Sachbearbeiter. Hauptaufgaben sind die Leitung, Motivation, Repräsentation, der Aufbau der Kommunikation, die Konsensbildung. Dies erfordert variable Zugriffe auf alle Datenbestände. Aber nicht nur Daten, sondern auch Werkzeuge werden zur Verfügung gestellt, mit denen diese Daten verdichtet und aggregiert werden können. Es wird also eine Verknüpfung von Daten mit einer Fragestellung angestrebt. •
Fachtätigkeiten
erfordern Spezialkenntnisse; es geht um schwierige, innovative Fragestel-
lungen, die unter Zuhilfenahme des verfugbaren Datenmaterial gelöst werden können. •
Sachbearbeiter
lösen Routine- oder mehr strukturierte Aufgaben, sie sind reine Anwender.
Haupteinsatzgebiete sind Tabellenkalkulation, Prognosen, Grafiken. Aber auch sie greifen auf die gleichen Datenbestände zurück. Daneben gibt es Unterstützungstätigkeiten, fassung).
die der Zuarbeit dienen (z.B. Datener-
3
DV-Organisation
221
Es besteht also ein Widerspruch zwischen • Routineaufgaben, die von einer gewissen Stabilität geprägt sind, und • Innovationsaufgaben, die Flexibilität erfordern. Damit ergeben sich die typischen Problembereiche: • Informationen, wie sie normalerweise in einer Organisation anfallen, werden von verschiedenen Stellen mit verschiedenen Zielsetzungen erfaßt; auf dem Weg nach oben gehen Informationen häufig verloren. • Informationen (Bilder, Zeichen, Texte) werden mehrfach bearbeitet. • Die Vorteile der Informationsverarbeitung sind nur begrenzt meßbar. Der Begriff Integration kann nun als Verschmelzung von sich gegenseitig ergänzenden Teilsystemen zu einer neuen Einheit definiert werden. Eine Integration aller Datenbestände wird erreicht durch ihre Sammlung in Datenbanken bzw. Datenverwaltungssystemen. Der Vorteil liegt damit in der Beseitigung der oben genannten Problembereiche.
3.1.3 Ziele einer Integration Die Ziele einer integrierten Informationsverarbeitung sind daher: •
Wirtschaftliche Ziele, also • Verringerung der Durchlaufzeiten, • Steigerung der Qualität der Informationen, • Nutzung von Synergieeffekten, • Senkung der Informationsverarbeitungskosten, • Steigerung der Reaktionsgeschwindigkeit auf Marktgegebenheiten.
• Individual-soziale Ziele • Abwechslung für die Mitarbeiter, • Verbesserung der persönlichen Entfaltungsmöglichkeiten, • Erweiterung der Autonomiebereiche, Damit strebt man eine Reihe von positiven Auswirkungen an: • Es existiert eine gemeinsame Basis für alle Entscheidungen.
222
3
DV-Organisation
• Die Datenerfassung muß nur einmal vorgenommen werden. • Anstelle einer Informationenweitergabe findet eine Funktionenintegration statt.
3.1.4 Konsequenzen der Integration Nach der erfolgreichen Einführung ergeben sich folgende positive Konsequenzen: Für die Ablauforganisation: • Arbeitsabläufe werden gestrafft und reorganisiert, Tätigkeiten werden
zusammengefaßt,
(der Ansprechpartner in der Firma weiß über den jeweiligen Bearbeitungsstand genau Bescheid); es entsteht eine Asynchronisation der Aufgabenerfüllung, denn zu jeder Zeit kann über Informationen verfügt werden. • Es findet eine räumliche Dezentralisierung statt, über Netze kann jeder beliebige Ort für die Verwaltung gewählt werden (Beispiel Handel, wo die Verwaltung vom Verkauf getrennt und an kostengünstigere Standorte ausgelagert wird). • Entscheidungsverlagerung
auf das System (z.B. kundenbezogene Preisuntergrenzen, Min-
destlagermengen, Überwachung des Bestelleingangs). Für die Aufbauorganisation: • Eine objektorientierte
Aufgabenverteilung (umfassender, aktueller Informationsvorrat),
alles von einem Arbeitsplatz aus. • Eine vorgangsorientierte
Aufgabenverteilung (z.B. Textentwurf und -erfassung in einer
Hand). • Ein Abbau der Arbeitsteilung hin zur Geschäftsstellenorganisation. • Die Entscheidungsdezentralisation
(allerdings ist dies auch eine Frage der Unterneh-
mensphilosophie). • Ein Hierarchieabbau im Middle-Management (Planung und Kontrolle fällt zum Teil weg). • Eine starke Reduktion von Kontroll- und Abstimmungsvorgängen, z.B. durch den Rückgriffauf verabschiedete Textbausteine.
3
DV-Organisation
223
• Ein Mehrbedarf an Qualifikation und qualifizierten Mitarbeitern. • Die Möglichkeit von Heimarbeit. Für die sonstigen Bereiche: • Eine zunehmende Individualisierung und Flexibilisierung. • Ein arbeitsplatzorientierter Technikeinsatz. • Kostensenkung, z.B. durch die Ausnutzung von Skonti, eine rechtzeitige Mahnung und eine automatisierte Angebotserstellung. • Geringer Pflegeaufwand. Negativ können sich folgende Bedingungen auswirken: • Datenverzeichnisse fehlen, • eine Datenarchitektur fehlt, • ein Modulkonzept fehlt, • die Dialogfolgen sind an Geschäftsvorgängen orientiert, • Fehlermeldungen können nicht interpretiert werden, • Antwortzeiten sind zu lang.
3.1.5 Weitere Beispiele einer integrierenden Wirkung 3.1.5.1
Warenwirtschaftssysteme
Eines der am häufigsten eingesetzten integrierten Datensysteme sind die Warenwirtschaftssysteme. Technisch handelt es sich um eine Datenbank, in der Lieferanten, Artikel und Kunden abgelegt werden. Vom Bezug der Ware (Wareneingang, Einkauf) über die Manipulation (Distribution, Lagerung) bis zum Absatz (Warenausgang, Vertrieb) werden alle Daten elektronisch verarbeitet und weitergereicht. In der Wareneingangskontrolle stehen Terminals und Belegleser sowie Geräte zur Artikelauszeichnung zur Verfügung; entsprechend werden Menge, Gewicht, Rechnung geprüft und an
224
3
DV-Organisation
das Rechnungswesen weitergegeben, wodurch gleich der entsprechende Buchungssatz erstellt wird. Im Lager werden dann Ein- und Auslieferungspapiere erstellt. Der Warenausgang wird über Scanner am POS (Point of Sale) erfaßt; gleichzeitig werden Verkaufsbelege erstellt, Retouren erfaßt und Auswertungen zur Preisgestaltung durchgeführt. Damit lassen sich fast alle Tätigkeiten in den funktionell gegliederten Abteilungen über EDV durchführen: Im Beschaffungswesen: • Lieferantenvergleiche und -bewertungen, •
Warenbudgetkontrollen,
• Ermittlung der optimalen Bestellmenge, • Erstellen von Bestellisten bei Erreichen von Mindestbeständen, •
Angebotsverwaltung,
• Überwachung von Bestell- und Lieferterminen. Im Lagerwesen-. • Lagerbestandsführung- und buchhaltung, • Differenzermittlung zwischen Lagerbestand und Inventurbestand, • Ermittlung des Sicherheitsbestands, • Bewertung der Lagerbestände, • Berechnung von Lagerumschlagszahlen, • Berechnung der Lagerkosten, • Lagerortverwaltung (z.B. chaotische Lagerhaltung), • Steuerung des innerbetrieblichen Transports, •
ABC-Analysen.
Im Absatzwesen: • Generierung von Sonderangeboten, • Beurteilung von Sonderverkaufsaktionen, • Kreditwürdigkeitsprüfungen, • Kommunikation mit den Außendienstmitarbeitern, • Ausgabe von Tourenlisten, •
Kassenabrechnungen,
3
DV-Organisation
• Artikelausgangserfassung, • Beurteilung von Artikelkombinationen, • Sortiments- und Kundenergebnisrechnung. Im Rechnungswesen: • Vor- und Nachkalkulationen, • Berechnung von Kapital- und Personalkosten, • stufenweise Deckungsbeitragsrechnung, •
Bestandsbewertungen,
• Erstellung von GuV und Bilanz, • Kontrolle der Offenen Posten und Mahnwesen, • Regulierung der Lieferantenrechnungen, • Führen der Gehaltskonten. Im Marketing: • Berechnung von Kennzahlen zur Sortimentsanalyse, • Ermittlung von Trends, • Planung des Absatzes und daraus folgend der Investitionen, •
Soll-/Ist-Vergleiche,
• Planung des Werbebudgets, • Planung der Werbeträger, • Umsätze und Umsatzerlöse nach Artikelgruppen. Auch hier können wieder die Vorteile dargestellt werden: • erhöhte Auskunftsbereitschaft, • jederzeit aktuelle Informationen, • Reduktion der Papierflut, • Beschleunigung des Warenflusses, • Verkürzung der Bearbeitungszeiten, • bessere Sortimentskontrolle, • bessere Verkaufsentscheidungen, • Verbesserung des Kundenservice, • Einsparung an Personal, • Einsparung beim Lagerbestand.
225
226
3
DV-Organisation
Bei der Konzentration auf wenige Lieferanten können unter Umständen auch die Datenträger direkt ausgetauscht werden; damit werden die Daten auch hier nur einmalig erfaßt.
3.1.5.2
Versicherungen
Bei den Versicherungen herrschte früher eine dezentralisierte und sehr spezialisierte Form der Arbeitsteilung vor. Unterschieden wurden Abteilungen für • die Antragsbearbeitung, • die Beratung, • die Kundenkorrespondenz, • das Mahnwesen, •
die Schadensbearbeitung für kleinere Fälle und
• die Schadensbearbeitung für größere Fälle.
Alle Vorgänge, die im Prinzip den gleichen Kunden oder Versicherten betrafen, durchliefen unterschiedliche Abteilungen, niemand war über einen gesamten Vorgang (z.B. bei einem Schadensfall) im Bilde. Der Sachbearbeiter „Schadenregulierung" konnte nicht beurteilen, ob die Korrespondenz schon erledigt wurde, ob eventuell mit geringem Vorlauf ein neuer Vertrag eingegangen war oder ob über rückständige Zahlungen bereits eine Mahnung versendet worden war. Um diese Mängel aufzufangen, hat man in einem ersten Schritt die Auftragsbearbeitung, Vertragsbearbeitung und Leistungsabrechnung für jeweils einen Kunden und eine Versicherungsart bei einem Sachbearbeiter eingeführt. Schließlich wurde auch die Teilung nach Versicherungsarten aufgegeben.
3.1.5.3 Automatisiertes
Bestellwesen
Zugrunde liegt ein Kaufhausunternehmen mit 60 Filialen in einem nördlichen Bundesland. Das Sortiment umfaßt etwa 10.000 Artikel, die zu 90% aus dem Hauptlager bezogen werden; 10% werden von den Herstellern direkt an die Filialen geliefert.
3
DV-Organisation
227
Im Gegensatz zum Einkauf, der den Warenverkehr zwischen Gesamtunternehmen und Herstellern bzw. Großhändlern betreut, ist das Bestellwesen für den Warenverkehr zwischen Hauptlager und den einzelnen Filialen zuständig. Vor der Einführung der EDV wurden die Filialbestellungen per Post oder per Telefon übermittelt. Um den immer größer werdenden Warenstrom zu behandeln, wurden Mobile Datenerfassungsgeräte (MDE) eingesetzt, deren wesentliches Ziel eine Senkung der Lagerkosten, eine schnellere und fehlerfreie Bearbeitung der Bestellungen und eine Verringerung des Personalaufwandes waren. Das MDE-Programm enthielt eine Datei sämtlicher Artikelnummern, die in der Firma verwendet werden, damit waren Plausibilitätsabfragen bei der Eingabe möglich. Nachdem sämtliche Bestellwünsche eingegeben wurden, verband man das MDE wie einen Akustikkoppler mit einem Telefonhörer. Die Telefonnummer wurde gewählt, wodurch eine direkte Verbindung mit der zentralen EDV-Anlage hergestellt wurde.
Damit ergaben sich erste Vorteile der mobilen Datenerfassung: • Die Daten wurden schneller an die Zentrale übermittelt. • Die Belieferung selbst war dadurch auch kurzfristiger möglich, weshalb besser auf Kundenwünsche und Kaufverhalten reagiert werden konnte. • Die Erleichterung der Lagerbestands- und Filialkontenführung, jederzeit konnte eine Übersicht der Filialbestellungen und Lagerbestände erstellt werden. Auch die jährliche Inventur wurde dadurch wesentlich vereinfacht.
Ein wesentlicher Nachteil war die Übertragung in Form eines Akustikkopplers. Das MDE war relativ störanfällig gegen Fremdgeräusche, weshalb die Übertragungen häufig wiederholt werden mußten, was wiederum die Übertragungskosten erhöhte. Außerdem kam es durchaus zu Fehlern bei der Dateneingabe vor Ort. Deshalb wurde umgestellt auf die Ausstattung der Geräte mit einem Scanner und die Übertragung der Daten in einen PC und von dort über Modem an die Zentrale. Im nächsten Schritt folgten weitere Verbesserungen durch die Einfuhrung von Scannerkassen und damit die automatische Bestandsfortschreibung; Bestellungen erfolgen unter Wegfall des MDE.
228
3
DV-Organisation
Damit läßt sich weiteres Personal einsparen, zudem sind Vergleiche zwischen bestellter und verkaufter Ware möglich; Kennzahlen über Diebstahl, Bruch und Verderb können abgelesen werden. In der Zentrale werden die Daten weiterverarbeitet. Insgesamt drei Rechner arbeiten parallel und tauschen die Daten untereinander aus, das System ist dadurch gegen Ausfall weitestgehend gesichert. In einem Rechner werden die Filialkonten gefuhrt (die Filialen werden jeweils mit dem Gesamtverkaufspreis der Bestellung belastet), die Annahme und Verarbeitung der Bestellungen wird durchgeführt. Ein anderer Rechner ordnet den Bestelldaten Artikelnummer, Warengruppe und genaue Bezeichnung zu. Außerdem werden die genaue Lagerposition, der Verkaufspreis und die Verpackungseinheit ermittelt. Daneben wird der Lagerbestand und die schon bestellte, aber noch nicht ausgelieferte Ware fortgeschrieben. Da die Bestellungen sofort vom Lagerbestand abgezogen werden, müssen die Paletten in der Reihenfolge der eingegangenen Filialbestellungen zusammengestellt werden. Sind sämtliche Bestellungen bearbeitet, wird eine Bestelliste ausgedruckt, das Original wird mit den Waren an die Filialen versendet, die Kopie verbleibt in der Zentrale.
3.2 Einführung eines EDV-Systems 3.2.1 Aufgaben des Managements Zu den Aufgaben des Managements gehört die Steuerung des Unternehmens, also die Planung der langfristigen Unternehmensstrategien sowie die Entscheidung, Durchsetzung und Kontrolle dieser Strategien, die Führung und die Festlegung der Organisationsstruktur. Ein Projekt besteht aus mehreren verbundenen Aktivitäten, die ausgeführt werden müssen, um ein bestimmtes Ziel zu erreichen. Es handelt sich um ein einmaliges Vorhaben, das deutlich von anderen Aufgaben abgegrenzt ist; ständig wiederkehrenden Aufgaben fehlt also der Projektcharakter.
3
DV-Organisation
Projektmanagement
229
ist der eigentliche planerische Vorgang, bei dem insbesondere zu Pro-
jektbeginn • das Projektziel definiert wird, • die Ressourcen zugewiesen werden, • der Projektablauf verfolgt wird und • der Projektplan erstellt und ständig angepaßt wird. Dabei sind Kosten- und Zeitrestriktionen zu beachten. Die Techniken, die dabei eingesetzt, aber an dieser Stelle nicht weiter vertieft werden sollen, sind: •
CPM (Critical Path Method), die Methode des kritischen Pfades. Zu jedem Vorgang des Projektes werden Start-, Endzeitpunkt (Knoten) und Pufferzeiten (durch deren Ausnutzung das Projektende nicht verzögert wird) bestimmt. Die dadurch festgelegte Gesamtdauer kann nicht unterschritten werden.
•
GANTT-Diagramme
wurden nach dem Arbeitszeitplaner Henry Gantt benannt; sie ver-
deutlichen die Dauer einzelner Projektvorgänge im Zeitablauf anhand von horizontalen Balkendiagrammen. • Meilensteine bezeichnen besonders markante Endpunkte einzelner Teilprojekte, die der Kontrolle dienen, ob der zeitliche Rahmen eingehalten wird. • MPM (Metra Potential Method) zeigt ebenfalls Knoten mit ihren Anfangs- und Endterminen an. • Netzpläne geben die Teilprojekte und die zwischen ihnen bestehenden Beziehungen in unterschiedlicher grafischer Darstellung wieder. Beispielsweise will ein Lebensmittelgroßhändler mit Sitz im Ruhrgebiet ein Auslieferungslager im norddeutschen Raum aufbauen, um auch dort Kunden schnell beliefern zu können. Auftragsabwicklung, Einkauf und Buchhaltung sollen weiterhin in der Zentrale erfolgen, nur die Verwaltung des Auslieferungslagers soll vor Ort mit Hilfe eines neuen EDV-Systems geschehen. Dieser einmalige Vorgang kann als Projekt bezeichnet werden, das mit den genannten Techniken erfolgreich bewältigt werden kaum.
230
3
DV-Organisation
Im folgenden soll nun näher dargestellt werden, wie ein solcher vollständiger Einführungsprozeß eines EDV-Systems aussehen kann. Gründe dafür, daß ausführlich auf diese Punkte eingegangen wird, sind häufige Organisationsprobleme, die bei der Entwicklung zu Tage treten. Dabei muß aber darauf hingewiesen werden, daß nicht alle Phasen bei jedem Projekt in der geschilderten Ausführlichkeit durchlaufen werden müssen. In der Praxis werden außerdem einige der genannten Phasen ineinander übergehen.
3.2.2 Maßnahmen bei der Einführung eines EDV-Systems Unabhängig vom Einsatz einer standardisierten oder individuellen Lösung sind vorweg einige allgemeine Grundsätze zu formulieren, die immer beachtet werden sollten. Denn die Einführung oder der Ersatz einer EDV-Anlage setzt auch heute noch bei vielen Mitarbeitern starke Emotionen frei. Die Angst vor Arbeitsplatzverlust und die Furcht vor Verlust von mühsam erkämpften Kompetenzen führt häufig zur Ablehnung. Aus diesem Grunde sollten vor der Einführung von EDV-Systemen folgende Maßnahmen getroffen werden: 1. Alle betroffenen Abteilungen müssen an der Planung beteiligt werden, damit Unstimmigkeiten und Fehlplanungen frühzeitig verhindert werden können. Informiert und beteiligt man Belegschaft und Betriebsrat, dann gibt es selten Probleme. Die Nutzer bestimmen letztendlich den Erfolg einer Software. 2.
Man sollte schon in der Vorplanung festlegen, was durch die EDV erreicht und wo EDV eingesetzt werden soll. Entscheiden muß man auch, ob vorhandene Unternehmensstrukturen an das EDV-System angepaßt werden sollen oder ob eine individuelle Lösung angestrebt wird.
3.
Bei der Planung sollte man sich nicht unter Termindruck setzen lassen; häufig ist eine zeitliche Überlastung der Projektbeteiligten festzustellen. Auch das Budget wird oft nicht ausreichend veranschlagt.
4.
Ausfuhrlich muß man sich über kompetente und preisgünstige Anbieter am Markt informieren; Softwarefirmen sind auf Grund des geringen Kapitaleinsatzes schnell gegründet, und ebenso schnell wieder pleite. Auf ein Haus Microsoft kamen Tausende namenlose.
3
231
DV-Organisation
3.2.3 Phaseneinteilung Üblicherweise wird eine Phaseneinteilung vorgenommen, um die Aufgaben zu definieren, die Termine zu überwachen sowie die Kostenentwicklung im Griff zu behalten. Es kann dabei unterschieden werden zwischen • Problemanalyse und Aufgabendefinition
(Abschnitt 3.2.3.1),
•
Grobkonzeption
(Abschnitt 3.2.3.2),
•
Entwurf
(Abschnitt 3.2.3.3),
•
Programmierung
(Abschnitt 3.2.3.4),
•
Test
(Abschnitt 3.2.3.5),
•
Systemeinfiihrung
(Abschnitt 3.2.3.6),
•
Produktiveinsatz
(Abschnitt 3.2.3.7).
Man spricht in diesem Zusammenhang auch von Softwarelebenszyklus, vergleichbar mit dem Produktlebenszyklus im Bereich des Marketing. Jede Phase kann weiter in die Teilphasen • Übernahme der Ergebnisse aus der vorhergehenden Phase, • Planung der durchzuführenden Arbeiten, Zuweisung an die Mitarbeiter bzw. Ressourcenzuweisung in dieser Phase (dabei ist die Kontinuität der Mitarbeiter wichtig für den Erfolg der Software), • Durchführung bzw. Realisation,
232
3
DV-Organisation
• Kontrolle von Terminen und Kosten und • Ergebnisdarstellung bzw. Bewertung der Ergebnisse, unterteilt werden. Insbesondere die Ergebnisdarstellung dient einem ständigen Feedback mit der Möglichkeit der Rückverzweigung, um einmal getroffene Entscheidungen abzusichern und vorherige Stufen neu zu überdenken. Es kann durchaus der Fall eintreten, daß sich an einem bestimmten Punkt zeigt, daß eine Entwicklung in der vorgesehenen Weise nicht fortgeführt werden sollte, oder, daß der Entwicklungsprozeß ganz abgebrochen wird. Außerdem ist es denkbar, daß die Qualität des Systems und der Programme nicht ausreicht und verbessert werden muß, oder, daß die Mitarbeiter hinsichtlich ihrer Motivation und Arbeitseffizienz kontrolliert werden müssen. Nicht jeder Programmierer ist ein Bill Gates; niemand wird 16jährige Autos bauen lassen, aber Software darf von jedem entwickelt werden. Ständige Rückverzweigungen deuten allerdings darauf hin, daß die einzelnen Planungsphasen nicht detailliert und sorgfältig durchgeführt wurden. Dabei können in einzelnen Phasen oder zur Kontrolle auch verschiedene, oben beschriebene Standardsoftwarepakete eingesetzt werden (z.B. Projektmanagement-, Kalkulations-, Grafikprogramme).
3.2.3.1 Problemanalyse und A ufgabendefinition Ziel dieser Phase ist die Bildung einer Entscheidungsgrundlage. Dazu müssen alle Anforderungen an das Projekt allgemein definiert und auf Machbarkeit, Wirtschaftlichkeit und Notwendigkeit überprüft werden. Dies kann man als Projektbegründung bezeichnen. Dabei ist eine enge Zusammenarbeit des Managements mit der Organisations- und, falls vorhanden, EDV-Abteilung notwendig. Auch der verantwortliche Leiter des Projektes muß bestimmt werden. Insbesondere muß untersucht werden, ob keine Zeit-, Budget- oder Personalrestriktionen vorliegen. In einer Voranalyse müssen eventuelle Schwachstellen des Ist-Zustandes festgestellt und Möglichkeiten zur Beseitigung gefunden werden. Bei dieser Ist-Aufnahme wird das Problem
3
233
DV-Organisation
möglichst detailliert beschrieben; alle betriebswirtschaftlichen Konsequenzen werden genauestens untersucht. Dabei werden auch schon grob die Datenmengen,
also die Aus- und
Eingabedaten sowie die Stamm-, Bewegungs- und Bestandsdaten ermittelt. Der Datenfluß wird mit Hilfe eines Datenflußplanes
graphisch dargestellt.
Vier Arten von Kosten müssen grob geschätzt werden, nämlich •
die Kosten der Ist-Analyse,
•
die Kosten der Programmierung,
•
die Kosten der Installation und Schulung,
•
die Folgekosten für Wartung und Abschreibung.
Für eine bessere Auswertung können Kataloge erstellt werden, mit denen die genannten Probleme in der Organisation, das Datenvolumen, die mögliche Datenübertragung sowie weitere wichtige Rahmenbedingungen erfragt werden. Daraus ergibt sich ein Analyseprotokoll,
das
diese Fragen übersichtlich beantwortet und die Aufgabenstellung dokumentiert. Die Phase schließt ab mit der Präsentation
der Ergebnisse
gegenüber der Geschäftsleitung
und der Projektauslösung bei Zustimmung. Eine ausführliche und umfassende Ausgestaltung dieser Phase hat damit folgende Vorteile: • Aus der Schwachstellenanalyse ergeben sich klare Ziele, die später zur Beurteilung des Projekterfolges herangezogen werden können. • Mit einer ausführlichen Dokumentation der Schwachstellen wird verhindert, daß lediglich an einigen Symptomen herumkuriert wird. •
Das gesamte Problemfeld wird detailliert beschrieben und ist weitmöglichst bekannt, bevor Lösungen diskutiert werden.
3.2.3.2 Grobkonzeption Die Anforderungen,
Zielsetzungen
sowie die Kostenplanung
werden detailliert. Am Ende muß
erneut entschieden werden, ob das Projekt realisiert wird. Als Ergebnisse der Grobplanung entstehen ein detaillierter Projektplan, die Einteilung der Ressourcen, die grobe Definition der Software- und Hardwareanforderungen, die Definition der Datenstruktur und des Informationsflusses. Das Ergebnis wird auch als Soll-Konzept
bezeichnet.
234
3
DV-Organisation
Die jeweiligen Entscheidungen werden durch die Geschäftsleitung abgesegnet. Planung und Durchfuhrung liegen in den Händen der Projektleitung. Die fachliche Unterstützung kommt durch Mitarbeiter aus den Fachbereichen, unabhängige Berater oder Mitarbeiter von Hardund Softwarefirmen zustande. Weiterhin müssen Besonderheiten wie Sicherheit und Geheimhaltung einbezogen werden. Mögliche Auswirkungen auf Aufbau- und Ablauforganisation werden dokumentiert. Auch eine erneute Schwachstellenanalyse erscheint ratsam. Fragen, wo eine gewünschte Option verfehlt wird, wo ein Rationalisierungspotential nicht ausgenutzt werden kann und ob Ausbildungslücken bestehen, müssen beantwortet werden. Im groben werden damit folgende Anforderungen festgelegt: • die gewünschten Einzelfunktionen der DV-Programme, • die benötigten Verarbeitungsvorgänge, • die gewünschten Arbeitsergebnisse.
3.2.3.2.1 Projektplan
Für die Erstellung des Projektplanes sind die Aufgaben und die Bearbeitungsdauer zu definieren und die Reihenfolge abzustimmen; die verwendeten Techniken wurden bereits kurz angesprochen. Besteht ein spätester und ein frühester Endtermin für einzelne Teilphasen bzw. für das gesamte Projekt, so ergibt sich eine Pufferzeit, die unvorhergesehene Verzögerungen auffängt. Dagegen gibt es kritische Aufgaben, die das gesamte Projekt bzw. dessen Dauer gefährden, sie werden auch als kritische Wege oder Pfade bezeichnet. Zusätzlich gibt es Kontrollpunkte oder Meilensteine, mit denen überwacht wird, ob das geplante Projekt im zeitlich geplanten Rahmen abläuft. Die Zuteilung von Ressourcen (Geld, Personal, Material, Maschinen) wird detailliert. Dabei muß zwischen fixen und variablen Projektkosten unterschieden werden.
3
235
DV-Organisation
Es werden z.B. folgende Informationen bereitgestellt: • Organigramm der Beteiligten, • Dauer einzelner Projektaufgaben, •
Projektkalender,
•
Ressourcenkalender,
•
Netzplan,
•
Aufgabenbalkendiagramm,
•
Ressourcenbalkendiagramm,
• Kosten der Ressourcen, •
Gesamtkostenübersicht.
3.2.3.2.2 Datenmengengerüst und Speicherbedarf
Die grobe Abschätzung des anfallenden Datenvolumens ist für die spätere Auswahl der benötigten Soft- und Hardware von entscheidender Bedeutung, es ergibt sich in einem einfachen Fall als • Anzahl der Dateien
und dort
• Anzahl der Datensätze x Satzlänge. Verfügt beispielsweise ein Einzelhändler über ein Sortiment von 6000 Artikeln, die durch folgende Datenfelder gekennzeichnet sind: • Artikelnummer (13-stellig), • Artikelbezeichnung (30-stellig), • Lieferantenbezeichnung (30-stellig), • Verpackungseinheiten (5-stellig), • Preis (8-stellig), so kann das Datenvolumen geschätzt werden als 6000 x (13 + 30 + 30 + 5 + 8) und zusätzliche Speicherstellen zur Trennung einzelner Daten, zusätzlich Fortschreibung des jährlichen Artikelzuwachses der letzten 5 Jahre, damit Reserve in Höhe von 30%.
236
3
DV-Organisation
3.2.3.3 Entwurf In dieser Phase wird der DV-technische Lösungsweg festgelegt. Es entsteht das Pflichtenheft, daß als genaue Programmiervorgabe gedacht ist und damit als Grundlage für die Programmierung oder als Auswahlkriterium für Standardsoftware gilt. Dabei werden die Ein- und Ausgabe beschrieben, Programmteile bestimmt und die Anpassungsmöglichkeiten an organisatorische und technische Anforderungen untersucht. Das Pflichtenheft dient dem Programmierer als Information und dem Auftraggeber gleichzeitig als Kontrollinstrument, ob seine Anforderungen erfüllt werden.
3.2.3.3.1 Inhalt und Aufbau des Pflichtenheftes
Das durch das Projektteam zu erstellende Pflichtenheft sollte eine genaue Beschreibung des Soll-Zustandes und der Anforderungen an die Software wiedergeben. Festzulegen, was ein Programm können soll, ist oft der eigentliche Problembereich. Der Kunde denkt nämlich ganz anders als der Entwickler. Sehr leicht wird daraus ein Wunschzettel mit unbegrenzter Komplexität. Zudem ist es eine langwierige und zugegebenermaßen langweilige Arbeit. In der Realität sind falsche Pflichtenhefte daher gar nicht so oft für Fehler verantwortlich, da sie nämlich häufig ganz fehlen. Wird es dennoch erstellt, ist es zumindest ein Papier als Grundlage für Rechtsstreitigkeiten. Ein gutes Pflichtenheft sollte damit folgende Tatbestände wiedergeben: • Angaben über die Firma, wie Branche, Standort, Kundenkreis u.a. • Kurzdarstellung des Ist-Zustands, der Stärken und Schwächen und der Zielsetzung des EDV-Systems bzw. die Soll-Vorstellungen. • Angaben über Aufbau- und Ablauforganisation. • Festlegung des zeitlichen Rahmens und des Budgets. • Benennung der Ansprechpartner. • Festlegung der Systemanforderungen bzw. notwendiger und wünschenswerter Applikationen inklusive möglicher Schnittstellen zu vorhandener Hard- und Software (nach ausrei-
3
DV-Organisation
237
chenden Diskussionen), wobei die Tendenz zu Sonderwünschen eingeengt werden muß; Fernbedienungen von Videorekordern sind ein gutes Beispiel für die immer umfangreicheren Funktionen, die kaum genutzt werden. • grundsätzliche Anmerkungen über Umfang des Programms, die Menge der Daten, die für das Unternehmen zweckmäßige Programmiersprache und die beteiligten Personen auf allen Hierarchieebenen (Management, Mitarbeiter, aber auch Berater). • Darlegung der Entwicklungsrisiken. •
Systemdefinition.
Dabei kommt der Systemdefinition eine überragende Bedeutung zu. Sie beinhaltet die Beschreibung der •
Programmodule,
•
Bildschirmmasken,
• Dateien- und Datensätze, •
Programm-Datei-Matrix,
• einzelnen Programme, • Art der Auswertungen, • Geschwindigkeit der Auswertungen, • Listbilder, also der Funktionen des Programmsystems und die Darstellung der Benutzerschnittstellen. Dazu ist es wichtig, sich nun auch im Detail über die verschiedenen Vorgänge pro Zeiteinheit (Zugriff auf Daten, Häufigkeit der Transaktionen) zu informieren. Früher schloß sich an dieser Stelle in der Regel die Hardwareauswahl an, heute ist die Software der eigentlich bestimmende Faktor. Die Auswahl beider Komponenten sollte daher zumindest gemeinsam erfolgen. Die Entscheidung für eine bestimmte Software wird deshalb immer bedeutender, da sich die Relation zwischen Hard- und Softwarekosten deutlich verschoben hat. Noch 1965 lag das Verhältnis Hardware- zu Softwarekosten bei 80:20, schon 1980 war es in etwa ausgeglichen, während man heute davon ausgehen muß, daß sich dieses Verhältnis auf 20:80 verschoben
238
3
DV-Organisation
hat; dies insbesondere durch Aufwendungen für Anpassung und Wartung, die noch einmal das Doppelte der Entwicklungskosten verschlingen können. Damit ist das Problem der Softwareauswahl wesentlich bedeutender geworden als das der Hardwareauswahl, im Softwarebereich ergeben sich die größeren Einsparreserven.
3.2.3.3.2 Softwareauswahl
Rechtzeitig wird eine Ausschreibung
durchgeführt, man sollte sich dabei auf ca. 10 Anbieter
beschränken, da sonst die Auswahl zu kosten- und zeitintensiv wird. Eine solche Ausschreibung enthält eine Kurzvorstellung des Betriebes, des Ist-Zustandes, der Soll-Konzeption und der Zusatzbedingungen, die eingehalten werden sollen (z.B. Anpassung an vorhandene Hardware). Mögliche Anbieter findet man z.B. • im ISIS-Katalog, • im Verzeichnis gewerblicher Interessengruppen, • über Fachzeitschriften, • über Messen und Seminarbesuche oder • durch Gespräche mit Branchenkollegen.
Neben der einzusetzenden Systemsoftware
(Betriebssystem und Dienstprogramme) muß zum
Abschluß dieser Phase über die einzusetzende Anwendungs- und Unterstützungssoftware entschieden werden. Als Unterstützungssoftware
soll dabei die Art von Software verstanden werden, die zur
Erstellung von Anwendungssoftware eingesetzt werden kann. Dies können problemorientierte Programmiersprachen wie COBOL, PASCAL, FORTRAN, Endbenutzersprachen oder Sprachen der vierten Generation wie APL sein. Im Ergebnis handelt es sich dann um eine spezielle EDV-Lösung, also ein Programm, das auf die Bedürfnisse des konkreten Nutzers abgestellt wird und eine eigenständige Programmlösung darstellt. Zu den Entwicklungswerkzeugen gehören auch Standardsoftwarepakete
wie beispielsweise
Excel, Works usw.; mit ihnen kann unter Umständen, mit oder ohne notwendige Anpassungsmaßnahmen, das gleiche oder bessere Resultat erzielt werden.
3
239
DV-Organisation
Die Vor- und Nachteile beider Lösungen bedürfen einer genaueren Diskussion. Dazu wird unter •
Standardsoftware
eine auf Allgemeingültigkeit und für mehrfache Nutzung ausgelegte
Software verstanden, die auf unterschiedlicher Hardware eingesetzt werden kann; Standardsoftware ist immer eine Fremderstellung, •
Individualsoftware
eine für einen spezifischen Anwendungsfall erstellte Software verstan-
den, deren Eigenschaften einem speziellen Problem entsprechen; diese kann durch das vorhandene DV-Personal als Eigenerstellung
oder wiederum mittels Ankauf als
Fremderstel-
lung durch externes DV-Personal (Software-Häuser usw.) konzipiert sein. Unter Umständen ist auch eine Kooperation mit anderen Firmen oder Geschäftseinheiten denkbar.
Folgendes Beispiel kann den Unterschied verdeutlichen: Ein Marktforschungsinstitut fuhrt verschiedene Studien für die Chemiefaser- und Textilveredelungsindustrie regelmäßig durch. Wegen der Bedeutung einer ansprechenden Präsentation soll geeignete Hard- und vor allem Software ausgesucht werden. Daneben soll in einem getrennten Bericht die Entwicklung wichtiger Produktionszahlen der Textilindustrie dargestellt werden. Es stellt sich daher die Frage, ob diese Studien mit Hilfe von Standardsoftware erstellt werden können oder ob der Einsatz von Individualsoftware notwendig erscheint. Anforderungen an ein System können in diesem Zusammenhang sein: Erstellung von Hochrechnungen, Berechnungen von Wachstumsraten und Regressionsanalysen, Darstellung der Zeitreihenkomponenten (Konjunktur, saisonbereinigte Werte), Aufbereitung von Tabellen. Für diese Fragestellungen existieren eine Reihe von Programmpaketen wie SPSS, SAS, Statgraphics, die aber nicht unbedingt die geforderten Qualitäten erfüllen. Insbesondere stellt sich also die Frage, ob durch die Auswahl von Standardsoftware die Kosten der Erstellung bzw. Anpassung und der Wartung deutlich gesenkt werden können und ob eventuell sogar die Qualität besser ist.
240
3
DV-Organisation
A Standardsoftware a) Entstehung Zwei Tatsachen sorgten dafür, daß Standardsoftware zunehmend entwickelt wurde: • Mit der Konzeption der IBM/360-Familie
wurde erstmals eine abwärtskompatible Pro-
duktlinie vorgestellt, die den Einsatz von standardisierten Softwarelösungen begünstigte, die beim Wechsel auf neuere Systemkonfigurationen weiter einsetzbar blieben. • Die Konzipierung von problemorientierten
Programmiersprachen, insbesondere im kom-
merziellen Bereich (z.B. COBOL), führte zu standardisierten, hardwareunabhängigen Programmen und Softwareprodukten. Damit erhielten Standardsoftwarepakete definierte Funktionen, eine generelle Einsatzfahigkeit, eine Minimierung des Anpassungsaufwandes zu einem Festpreis. Sie waren damit an verschiedene organisatorische Umfelder, unterschiedliche Benutzer, verschiedene EDVSysteme und verschiedene Branchen leicht anzupassen.
b) Vorteile Damit ergeben sich eine Reihe von Vorteilen dieser Programme: • Geringere Kosten. Obwohl der gesamte Entwicklungsaufwand in der Regel höher als bei Einzelentwicklungen ist, verteilen sich diese Kosten auf mehrere Anwender und führen, obwohl unter Umständen Kosten für die Anpassung an die konkrete Nutzerumgebung hinzukommen, zu einer geringeren Belastung des Budgets. • Zeitersparnis.
Ausgereifte Software ist schneller verfügbar, selbst wenn man die Zeit für
eine Anpassung hinzurechnet. • Planungsvorteil.
Es besteht von Anfang an weitgehende Sicherheit über die Höhe der zu
erwartenden Kosten und die benötigte Zeit. • Kompensierung von Personalengpässen.
Ist geeignetes Personal zur Softwareerstellung
nicht vorhanden oder das vorhandene Personal durch die Betreuung der vorhandenen Software ausgelastet, ist der Kauf von Standardsoftware häufig der einzig gangbare Weg. • Kompensierung des Mangels an Know-How. Der Einkauf von Standardsoftware erfordert ein geringeres Maß an EDV-Wissen. •
Gesamtwirtschaftliche
Vorteile. Parallelentwicklungen werden vermieden; die Volkswirt-
schaft insgesamt profitiert vom erzielten technischen Fortschritt.
3
241
DV-Organisation
c) Katalog der Anforderungen An eine Standardsoftware sind in Übereinstimmung mit den oben angesprochenen Punkten folgende Anforderungen
zu stellen, die überwiegend erfüllt sein müssen, damit ein Einsatz
lohnend erscheint. Es sind dies: • Integrationsfähigkeit
in vorhandene Hard- und Softwareumgebungen (z.B. in das Betriebs-
system). • Ausbaufähigkeit
zu größeren Systemen und Anpassung an größere Datenmengen.
• Zumindest bei größeren Programmen die Modularität,
wodurch mögliche Fehler und
Ausfalle auf einzelne Module beschränkt werden können. • Zuverlässigkeit,
Fehlerfreiheit und Betriebssicherheit (eine Finanzbuchhaltung
muß
stimmen). • Datensicherheit,
z.B. durch fehlerimmune
Benutzeroberflächen, die sich durch eine hohe
Bedienungsfreundlichkeit auszeichnen. • Hoher Grad an Ergonomie, also angebotene Hilfefunktionen sowie Konsistenz der Bedeutung einzelner Befehle, Menues und Masken in den einzelnen Modulen. • Qualitativ gute •
Dokumentationen.
Transparenz der eingesetzten Verfahren (z.B. bei Berechnungen).
Daneben gibt es eine Reihe von Kriterien, die zum Vergleich verschiedener Standardlösungen herangezogen werden können. Dies sind: • Die Übereinstimmung
mit dem vorgegebenen Problem; Standardsoftware beruht in der
Mehrzahl auf einer Verallgemeinerung spezieller Kundenlösungen. • Die Qualität hinsichtlich des Entwurfkonzeptes und der technischen Leistungsfähigkeit. • Die Betriebsreife
des Produktes, also Verfügbarkeit, Implementierungszeitraum, Lebens-
dauer, Zukunft und Anzahl der bereits bestehenden Installationen. • Die Zusatzleistungen
wie Anpassung an die Organisation, Haftung, Wartung, Betreuung,
Aktualisierung und Mitarbeiterschulung. • Der Kundendienst (Servicefreundlichkeit, räumliche Nähe) und die Möglichkeit der eigenen Wartung.
242
3
DV-Organisation
• Die Erfahrungen in der Zusammenarbeit (Spezialisierung des Anbieters auf das geforderte Aufgabengebiet und sein Ruf). • Die Unterstützung aus einer Hand (Hard- und Software). • Die Flexibilität und die Modifikationsmöglichkeiten,
also die Möglichkeit der Anpassung
an zukünftige Technologien (z.B. DFÜ, externe Datenbanken). • Der Preis. d) Problembereiche Damit ergeben sich auch eine Reihe von Problemen, die mit der Entscheidung für Standardsoftware auftreten können. Insbesondere die Kostenproblematik stellt sich in der Praxis doch etwas komplizierter dar, als es auf den ersten Eindruck erscheint. Denn die Frage, welche Kosten dem Programm hinzugerechnet werden müssen, ist nicht ganz leicht zu beantworten; letztendlich ist es immer eine Entscheidung unter Unsicherheit. Dazu können im Einzelfall gehören: Die • Kosten des Softwaretests vor der Auswahl für ein bestimmtes Produkt; dies erfordert eine gewisse Einarbeitungszeit, die durch gute Dokumentationen
und
Demonstrations-
programme verkürzt werden kann. • Anpassungskosten
für die Systemgenerierung, das Testen und für den Einsatz von
Maschine, Personal und Sachkosten. •
Umstellungskosten der vorhandenen Software.
• Kosten für die Vergrößerung der Hardware, z.B. des Arbeitsspeichers. • Kosten für die Umstellung der Organisation (Aufbau- und Ablauforganisation, aber auch das Umstellen von Belegen, Formularen usw.). • Kosten der Schulung. • Folgekosten durch Programmfehler und durch die Reparatur bedingte Ausfallzeiten. • Kosten der Wartung und für Weiterentwicklungen. Viele dieser Kosten sind leider nur qualitativ meßbar und damit kaum zu quantifizieren. Dazu kommen eine Reihe weiterer Probleme: • Hauseigenes DV-Personal (insbesondere der ausgebildete Programmierer) lehnt Fremdentwicklungen häufig ab. • Die Softwarequalität ist häufig erst im professionellen Einsatz abschließend zu beurteilen.
3
243
DV-Organisation
• Der Softwaremarkt ist nur schwer zu durchschauen (Anbieter kommen aus den Bereichen Software-Häuser, Unternehmensberater, Verbände, Rechenzentren), niemand hat einen vollständigen Marktüberblick, die Qualifikation und das wirtschaftliche Potential der Anbieter ist oft zweifelhaft, die Informationspolitik der Anbieter häufig bewußt fehlleitend. • Die hohe Abhängigkeit vom Anbieter bei Servicebedarf; zwar wurde, was früher Kundendienst hieß, zum Support aufgewertet, gerade daran wird aber gerne von Herstellerseite gespart. • Die Einschränkung der Benutzerrechte in Verträgen (eigene Modifikationen werden untersagt oder sind unmöglich). • Der schnelle technische Alterungsprozeß durch immer neue Produkte. • Die fehlende Umstellungsmöglichkeit auf neue, leistungsfähigere Hardware. • Die unterschiedlichen Schnittstellen zu anderen (bereits existierenden) Programmen. Häufig existieren zu einem Themenkreis mehr als 50 Pakete, wodurch eine Vergleichbarkeit sehr erschwert wird. Aus diesem Grund müssen Verfahren zur Beurteilung unterschiedlicher Softwarepakete herangezogen werden. e) Beurteilungskriterien Eine Möglichkeit besteht darin, eine detaillierte Bedarfsermittlung in Form einer Checkliste anzulegen, z.B. Muß 1
Mögliche Eingabe
1.1 1.1.1 1.1.2 1.1.3
von Werten Originalwerten Indexwerten Wachstumsraten
1.2 1.2.1 1.2.2 1.2.3
in Perioden Jahreswerte Quartalswerte Monatswerte
Soll
Kann
244 2
3 Mögliche Berechnung
2.1 2.1.1 2.1.2 2.1.3 2.1.4
der Komponenten Trend Konjunktur Saison Zufall
2.2 2.2.1 2.2.2
abgeleiteter Werte saisonbereinigt Glatte Komponente
2.3 2.3.1 2.3.2 2.3.3
oder Umrechnungen in Wachstumsraten Indexreihen Verhältniszahlen
3
DV-Organisation
Ausgabe von
3.1
Zahlen
3.2 3.2.1 3.2.2 3.2.3 3.2.4
Grafiken Stabdiagrammen Histogrammen Liniendiagrammen Kuchendiagrammen
Dabei wird festgelegt, welche Forderungen erfüllt sein müssen, sollen oder können. Ähnlich können die Vergleiche unterschiedlicher
Programmpakete
transparent gemacht wer-
den; Beurteilungskriterien sind hier Notenraster oder andere ordinale Skalen. nicht gegeben
1 1
Gute Bedienerführung (30%)
1.1 verständliche Dialoge (15%) 1.2 verständlicher Bildschirmaufbau (10%) 1.3 Schnelligkeit des Aufbaus (5%) 2
Anforderungen an den Nutzer
2.1 Erlernbarkeit 2.2 Lernhilfen 3
Fehlerbehandlung
3.1 Hilfefunktionen 3.2 Fehlertoleranz 3.3 Fehlermeldungen
2
gegeben
3
4
5
3 4
245
DV-Organisation Programmfunktionen
4.1 zur Unterbrechung 4.2 für Pausen 4.3 zum Umschalten von Darstellungsmodi 5
Technische Kriterien
5.1 5.2 5.3 5.4 5.5 5.6
Kompatibilität Modularität Wartungsfreundlichkeit Effizienz Datensicherheit Datenschutz Gesamtwert
Statt auf Rangskalen, kann auch auf Scoringmodelle
zurückgegriffen werden. Dazu werden
die Kriterien entsprechend ihrer Bedeutung gewichtet. So werden beispielsweise insgesamt 100 Prozentpunkte vergeben, die man im obigen Beispiel auf alle 5 Gliederungspunkte verteilt (z.B. 30 Prozent für die Bedienerführung). Innerhalb der Oberpunkte wird diese Prozentzahl weiter aufgespalten (z.B. 5 Prozentpunkte für Schnelligkeit des Aufbaus). Die oben angegebenen Punktzahlen werden dann mit diesen Prozentzahlen multipliziert. Unterschiedliche Alternativen lassen sich dann anhand ihres Gesamt(nutz)wertes beurteilen.
B Individualsoftware Im folgenden soll nun die zweite Möglichkeit einer Softwareauswahl kurz skizziert werden: Die für einen Anwendungsfall eigens erstellte Individualsoftware, die den spezifischen Problemen, die zur Lösung anstehen, genau entsprechen soll.
a) Vorteile Selbstverständlich können auch für diese Alternative einige Vorteile herausgearbeitet werden: • Die häufig bessere Qualität, die sich durch die genaue Abstimmung auf das Problem (Problemadäquanz) ergibt, also die Übereinstimmung von Anforderungs- und Leistungsprofil und damit die höhere Effizienz der Lösung. •
Die Verteilung der Kosten auf mehrere Perioden.
246
3
DV-Organisation
• Die leichte Pflege der eigenerstellten oder für den speziellen eigenen Bedarf fremderstellten Software und damit die Möglichkeit, jederzeit eigene Anpassungen vorzunehmen und neue Funktionen hinzuzufügen. • Die einfachere Fehlersuche und die höhere Wartungsfreundlichkeit, da das Programm von seiner Struktur und seiner Programmierung her bekannt ist. • Die Möglichkeit der Trennung in Module (z.B. Ein-, Ausgabe usw.) und damit die Vermeidung von Totalausfällen bei Fehlem. • Die bessere Ergonomie, da Bildschirmmasken frei gestaltbar den benutzerspezifischen Bedingungen angepaßt werden und beispielsweise verwendete Abkürzungen beibehalten werden können. • Damit die schnellere Einarbeitung in das Endprodukt, auch deshalb, weil organisatorische Rahmenbedingungen beim Entwurf berücksichtigt wurden. • Die höhere Akzeptanz einer Eigenentwicklung. • Die gesparten Kosten für Suche und Auswahl. b) Nachteile Da eine individuell erstellte Software die Anforderungen auf jeden Fall besser erfüllen kann und sollte, sind Kriterien für die Auswahl nicht anzugeben, sie werden selbst bestimmt und müssen erfüllt werden. Ebenso sind Zusatzleistungen des Programms einzubeziehen und nicht besonders zu bewerten. Allerdings ergeben sich eine Reihe von Nachteilen. Insbesondere die Kosten sind nicht exakt abzuschätzen und werden häufig zu gering angesetzt, in der Praxis ergeben sich deutliche Unterschätzungen. Die einzelnen Positionen, die eine genaue Voraussage besonders erschweren, sind: •
Wartungskosten, die besonders im kommerziellen Bereich mit häufigen und unregelmäßigen Anpassungen (z.B. an neue gesetzliche Rahmenbedingungen) höher einzustufen sind als im technisch-wissenschaftlichen Bereich.
• Opportunitätskosten der Software, da unter Umständen ein gleichermaßen wichtiges anderes Programm nicht erstellt werden kann. • Opportunitätskosten der Hardware, da sie belastet wird und nicht gleichzeitig für andere Zwecke eingesetzt werden kann.
3
247
DV-Organisation
Daneben ist •
der Zeitpunkt der Vollendung letztendlich ungewiß (z.B. durch Banalitäten wie Krankheit des Programmierers) oder nur schwer abzuschätzen,
•
die Lebensdauer
der Software recht kurzlebig; es bleibt offen, ob bei Fertigstellung eine
Aktualität noch gegeben ist, •
die Zielerreichung
überhaupt fraglich; es kann also vorkommen, daß im Verlauf der Pro-
grammierung auftretende Schwachstellen nicht beseitigt werden können.
Aus all dem Gesagten ergibt sich, daß beide Varianten, Standard- und Individualsoftware ihre deutlichen Vorteile besitzen, im Einzelfall aber durchaus zum großen Problem für den Betrieb werden können. Eine möglichst abgesicherte Entscheidung ist daher gefordert. Das Dilemma ist, daß eine Vielzahl von Entscheidungskriterien zu beachten und Preis, Leistungsfähigkeit und Qualität der angebotenen Software schwierig zu beurteilen sind. Kriterienblätter, Punkteverfahren, etc. dienen der Entscheidungsunterstützung. Im folgenden werden einige dieser Vergleichsverfahren exemplarisch vorgestellt.
C Vergleichsverfahren Die angesprochenen Vor- und Nachteile lassen zwar eine Tendenz für die eine oder andere Lösung erkennen, fuhren aber nicht unbedingt zu einer eindeutigen Entscheidung. In der Praxis wird nun versucht, operationale Entscheidungsverfahren
einzusetzen, die eine optimale
Auswahl, Individualsoftware oder Standardsoftware, ermöglichen. Stellvertretend sollen hier einige Verfahren dargestellt werden, die auf Kostenanalysen beruhen (statische Investitionsrechnung). Dynamische Modelle, die auch den Zeitpunkt der Ein- und Auszahlungen berücksichtigen, werden hier nicht angesprochen.
Es wurde die Schwierigkeit deutlich, die einzelnen Positionen korrekt zu schätzen. Denn neben rein monetären Werten wie dem Preis müssen auch nichtmonetäre Größen in die Beurteilung einfließen (Softwarequalität, Verfügbarkeit usw.).
248
3
DV-Organisation
Die wichtigsten Positionen sind: • Schätzung der Programmierkosten
(Mann - Monat - Zeiten, Multiplikation Stunden / Stun-
densätze), • Kosten der •
Systembeschaffung,
Computerkosten,
insbesondere von Testläufen,
• allgemeine Personalkosten •
umgebungsbezogene
(Qualifizierung der Mitarbeiter, Kommunikationsaufwand),
Kosten wie Managementkosten (Organisation, Planung, Kontrolle),
a) Analogieverfahren Aus den Erfahrungen der Vergangenheit werden Rückschlüsse oder Analogieschlüsse auf das aktuelle Problem gezogen. Dabei ist eine Ähnlichkeit vorhandener und neu zu erstellender Programme natürlich nicht immer gegeben. Immerhin kann die Kostenschätzung verbessert werden, wenn der prozentuale zeitliche Aufwand übertragen werden kann. Folgende Kennziffern für den Zeitaufwand und die Kosten können beispielsweise gefunden werden: •
Programmaufbau
20%,
•
Codieren und Testdatei erstellen
20%,
•
Testen und Verbessern
25%,
•
Programmwartung und -pflege
35%.
Dabei läßt sich vielfach feststellen, daß insbesondere der letzte Punkt unterschätzt wird, dieser Aufwand kann nur durch wartungsfreundliche und pflegeleichte Programme verringert werden. Je größer die Programme sind, um so mehr nimmt auch der Fehleranteil zu, entsprechend hoch muß der Zeitbedarf für das Testen und Verbessern angesetzt werden. Die ermittelten Kosten können dann zu einem Vergleich mit Standardsoftwareprodukten herangezogen werden. Neben deren Anschaffungspreis müssen allerdings auch dort die Kosten für Programmanpassungen, Programmwartung und Pflege berücksichtigt werden.
3
249
DV-Organisation
b) Aufwand-pro-Einheit-Verfahren Es wird die Zahl der Instruktionen des Programms geschätzt, die in Abhängigkeit von der Programmiersprache pro Mann und Tag programmiert werden können. Damit ergibt sich:
P
-P
mit T K I i k M p
= = = = = = =
Gesamtzeit der Programmierung Kosten des Programms Instruktionen des Programms (Schätzwert, Analogie) Instruktionen pro Mann und Tag (Erfahrungswert) Kosten Programmierer pro Tag (Ist-Wert) Einsatz an Programmierern (Planung Teamgröße) in Abhängigkeit von der Programmiersprache.
Schafft ein Team von 2 Mitarbeitern (Kosten pro Mann und Tag 1000 DM) beispielsweise pro Tag insgesamt 6000 Instruktionen und die Gesamtzahl der Instruktionen wird auf 60.000 geschätzt, muß mit Kosten in Höhe von 10.000 DM und einem Zeitaufwand von 5 Tagen gerechnet werden. Um nun die Vorteilhafitigkeit der Eigenerstellung zu beurteilen, werden die in diesen Verfahren ermittelten Kosten wieder mit den Kosten einer Standardsoftware verglichen. c) Direkter Vergleich Bei diesem Verfahren wird versucht, einzelne Kosten, die sich bei den beiden Alternativen ergeben, einander gegenüberzustellen. Daraus ergibt sich eine Entscheidungsformel, gende meßbaren Größen beinhaltet: •
Entwicklungskosten,
• Nutzungs- oder Betriebskosten, • Zeit bis zur Bereitschaft des Systems, • Einsparungen des neuen Systems, •
Nutzungsdauer.
die fol-
250
3
DV-Organisation
Der Gewinn (oder Verlust) einer Eigenerstellung gegenüber der Standardlösung kann dann folgendermaßen quantifiziert werden: K KI KN D KB E Z
= Kosten.bzw. Anschaffungspreis, = Installationskosten, = Nutzungskosten, = Verwendungsdauer bzw. Lebensdauer des Systems, = laufende Betriebskosten, = laufende Einsparungen, = Zeit bis zur Installation,
mit Index
s e
= Standardsoftware, = Eigenentwicklung.
G = (Kg - K s ) + (Ki e - KIS) - D (Kn s - KN e ) + D (E s - E e ) + E s (Z e - Z s ) Damit wirkt sich der Einsatz einer Standardsoftware logischerweise immer dann positiv auf den Gewinn aus, wenn • ihr Anschaffungspreis geringer ist als die Kosten der Eigenerstellung, • die Kosten der Installation geringer sind, • die Nutzungskosten geringer ausfallen, • die Einsparungen höher ausfallen und • wenn sie früher eingesetzt werden kann. Durch Umformung ergibt sich: G = (K e + KI e - K s - KIS + E s Z e - E s Z s ) - D (Kn s - KN e + E e - E s ) Setzt man (K e + KI e - K s - Ki s + E s Z e - E s Zg) = K] und D(Kns-KNe + Ee-ES) = K2 ergibt sich: G = Ki - K 2 ,
3
251
DV-Organisation
also eine Beziehung aus •
den Kosten der Eigenentwicklung, inclusive den Opportunitätskosten, und der früheren Verfügbarkeit ( K j ) ,
• den Nutzungskosten der Standardsoftware gegenüber der Eigenentwicklung (K2).
Vergleichbar ist dies mit einer Break-Even-Analyse,
tkrit =
wobei gilt:
Ke - Ks . KNe
K N s
mit tkrit Problematisch
=
kritische Nutzungszeit.
an allen diesen Verfahren ist, daß
•
lineare Beziehungen unterstellt werden,
•
Interdependenzen dann nicht berücksichtigt werden, wenn mehrere Projekte um die knappen Ressourcen konkurrieren (Lösung erfordert dann einen LP-Ansatz).
Dennoch sind die Verfahren dazu geeignet, das eigene Know-How zu verbessern, das Planungsproblem transparenter zu machen und einen Informationsgewinn zu realisieren, der allerdings nicht immer in geldwerten Einheiten gemessen werden kann.
D Abschluß der Auswahl Die eingegangenen Angebote werden gesichtet. Alle diejenigen, die nicht die Mindestanforderungen erfüllen, werden aussortiert. Mit zwei oder drei geeigneten Anbietern finden dann Detailgespräche
statt, dabei sollten auch
Referenzen vorgelegt werden können. Benutzer ähnlicher Anlagen und Programme sollten befragt werden, falls es sich um bestehende oder nur leicht zu ändernde Problemlösungen handelt. Der Entscheidungsfindung dient auch die Vorführung der in die engere Wahl gezogenen Standardsoftware und die probeweise Benutzung anhand von typischen betrieblichen Problemstellungen.
252
3
DV-Organisation
Zusammenfassend läßt sich festhalten: Eigenentwicklungen lohnen i.d.R. nur dann, wenn keine geeignete Software gekauft werden kann bzw. wenn keine Entwicklung in Kooperation möglich ist. Standardsoftware ist also der Individualsoftware vorzuziehen, Fremdentwicklung der Eigenentwicklung.
3.2.3.3.3 Hardwareauswahl
Es kann ausgewählt werden zwischen •
Großrechnern (Mainframes), zentralen Systemen mit einer oder mehreren CPUs,
•
mittleren Systemen bis hin zu Workstations,
• PC-Netzen und
Einzelplatz-PCs.
Dabei müssen ebenfalls Mindestanforderungen
und Auswahlkriterien (Ergonomie, Wartung,
Betreuung) definiert werden. Kritische Punkte sind vor allem die Antwortzeiten
des Systems
bei Verarbeitungsprozessen und die Festlegung der benötigten Massenspeicherkapazität.
Die
angesprochene Nutzwertanalyse unterstützt auch hier die Wahl zwischen unterschiedlichen Alternativen. Ziel ist daher die Auswahl der •
"richtigen" Rechnerklasse und
• die Bestimmung der Peripheriegeräte (Art und Anzahl), die wiederum vom aktuellen und langfristigen Mengengerüst (Speichermedien) und dem aktuellen und zukünftigen Aufgabenumfang (Bildschirmstationen, Drucker) abhängig sind. Um den Bezug aus einer Hand zu gewährleisten und weil die Wahl der Software das größere Problem darstellt, muß die Hardware mit der entsprechenden Software harmonieren und auf sie abgestimmt werden. Eine Ausschreibung
sollte ebenfalls an maximal 10 Anbieter erfolgen. Dabei haben die Liefe-
ranten Vorrang, die bei der Softwareauswahl berücksichtigt wurden. Unter Umständen ändert sich hier noch einmal das Bild.
3
DV-Organisation
253
Wenn man z.B. folgende Fragen an den Hersteller oder Händler vorbereitet, dürfte der gesamte Auswahlprozeß erfolgreich beendet werden. • Welche Anwendungsprogramme für meine Branche kennen Sie? • Welche Programme haben Sie erstellt? • Kann man davon ausführliche Programmbeschreibungen einsehen? • Können Sie Programmänderungen vornehmen und was kostet das? • Haben Sie die passende Hardware dazu? • Wer installiert das System und wer wartet es? • Wird von Ihnen eine ausführliche Schulung angeboten? Informieren sollte man sich, welche Hardware der Händler oder Hersteller einsetzt, er nutzt in der Regel nicht die schlechteste.
3.2.3.3.4 Vertragsverhandlungen
Insbesondere bei einer Fremderstellung folgen die Vertragsverhandlungen. Die genannten und aufgezeigten Forderungen, Wünsche und Ziele des Auftraggebers sind vertraglich zu fixieren. Wichtige Punkte sind •
Urheberrechte der Programme,
• die Kompatibilität mit der gewählten Hardware, • Liefer- und Bereitstellungstermin, •
Vergütung,
• zu erstellende Handbücher, •
Schulungen.
Im Wartungsvertrag sollten auch geklärt werden • die Fehlerbehebung nach Ablauf der Gewährleistungsfrist und • die Möglichkeiten späterer Ergänzungen, Verbesserungen oder Änderungen. Dabei ist es unter Umständen notwendig, auf eine Änderung standardisierter Vertragsunterlagen der Anbieter hinzuwirken.
254
3
DV-Organisation
Beim Kauf der Hardware sollten folgende Punkte im Kaufvertrag berücksichtigt werden: Vertragsgegenstand, Lieferung, Installation, Übergabe, Funktionsprüfung, Abnahme, Kaufpreis, Schutzrechte, Schulung, Wartung, Garantieleistungen. Die Feinkonzeption endet mit der Auftragsvergabe an den Hardware- und Softwarehersteller bzw. -vertreiber. Dabei muß immer davon ausgegangen werden, daß auch das beste Angebot Unwägbarkeiten enthält, die erst im Laufe des Produktiveinsatzes deutlich werden.
3.2.3.4
Programmierung
Die in der Feinkonzeption ausgearbeiteten Funktionen werden anschließend
programmiert.
Dieser Punkt beschränkt sich bei einer Entscheidung für Standardsoftware auf notwendige Anpassungen.
3.2.3.4.1 Ablauf der Programmierung
Es wird die maschinenlesbare Software entsprechend den Vorgaben erstellt. Dies geschieht über die Teilschritte • Aufspaltung in Module, • Entwurf der Algorithmen, • Erstellung von Struktogrammen oder ähnlichen Hilfsmitteln, • Umsetzung in die Programmiersprache und Eingabe der Befehlsfolgen, damit Erstellung des Quellenprogramms, • Übersetzung des Programms in die ablauffähige Version (Objektprogramm) über einen Compiler (oder selten Interpreter), • Speicherung auf einem externen Datenträger. Der methodische Entwurf von Anwendungsprogrammen bzw. Individualsoftware wird unter Punkt 5 detaillierter beschrieben. Die gestellten Anforderungen an die zu programmierende Software (leichte Bedienbarkeit, Wartungsfreundlichkeit, Kompatibilität, Effizienz usw.) werden ständig überprüft.
3 DV-Organisation
255
Daneben kommt der Beachtung des Datenschutzes und der Datensicherheit
eine bedeutende
Rolle zu. Bei der Erfassung, der Speicherung, der Verarbeitung, der Übertragung oder der Ausgabe dürfen weder Daten verlorengehen noch in falsche Hände geraten. Besonders sensible Daten sind z.B. Kontenblätter, Bilanzen, Personaldaten, Geschäftsberichte. Da dieses Thema eine immer größer werdende Bedeutung im Rahmen betrieblicher EDV-Lösungen einnimmt, wurde darauf in einem eigenen Abschnitt detaillierter eingegangen.
3.2.3.4.2 Dokumentation
Programm-
und Systemdokumentationen
richten sich an den sachverständigen Dritten, mit
ihrer Hilfe soll das Programm ohne Schwierigkeiten gepflegt und verändert werden können. Sie beinhalten: • Hinweise zur Installation und zur Inbetriebnahme, • eine funktionale Beschreibung der Problemstellung, • die programmtechnische Lösung, • die Beschreibung aller zu bearbeitenden Datenbestände, • Verzeichnisse aller Dateien und Programmodule. Die Benutzerdokumentationen
richten sich an den Anwender; sie sollen ihn bei der Bedienung
des Programms unterstützen und bestehen in der Regel aus Benutzerhandbuch, buch und
Referenzhand-
Übungshandbuch.
Sie beinhalten • eine Kurzbeschreibung der Problemstellung, • die Darstellung der Grobkonzeption, • Erklärungen zur Inbetriebnahme, • Erklärungen zur optimalen Systembenutzung anhand von Beispielen, • Hinweise auf mögliche Fehlerquellen und Benutzerreaktionen. Beide Dokumentationen müssen auf den jeweiligen Adressatenkreis abgestimmt werden und die unterschiedlichen Vorkenntnisse berücksichtigen. Leider gilt auch hier das Gleiche wie für die Erstellung des Pflichtenhefts: Es ist selten vollständig und wird nur ungern überarbeitet, da das Programmieren einfach mehr Spaß macht.
256
3
DV-Organisation
3.2.3.5 Test Er sollte möglichst oft zur Überprüfimg schon fertiger Module bzw. der erfolgten
Anpassun-
gen durchgeführt werden. Je früher Fehler erkannt werden, desto geringer sind die Kosten, die zur Beseitigung erforderlich werden. Es bietet sich an, die Projektmitarbeiter vorzeitig zu schulen, da etwaige Mängel durch sie leichter festgestellt und behoben werden können. Dabei geht es nicht nur um den fehlerfreien Ablauf des Programms, sondern vor allem um die Suche nach logischen Fehlern. Der Test sollte im Idealfall mit realen Daten der Firma durchgeführt werden, und zwar von Fachleuten, die nicht mit den Programmierern identisch sind. Der Test wird sich erst auf die einzelnen Module des Programms beschränken und in der letzten Phase auch das Zusammenspiel dieser Module überprüfen, insbesondere den problemlosen Datenaustausch untereinander. Gleichzeitig wird das Systemumfeld geplant. Es wird festgelegt, wer wann Rechnerzeiten in Anspruch nehmen darf und wer welche Zugriffsberechtigungen erhalten soll. Diese Phase schließt ab mit der Übergabe des kompletten Programms. Gerade die Testphase ist Ursache für vielfältige Probleme; sobald ein Programm läuft, läßt man es gerne laufen. Niemand hat Lust, es ausgiebig zu testen, schon gar nicht der Programmierer selbst. Häufig wird er Fehler lediglich patchen
(kaschieren). Bei Standardsoftware
überläßt man es den Beta-Testern, Anomalien aufzufinden. Oft ist nur bekannt, was das Programm kann, oder zumindest was es können soll, aber nicht, was es sonst noch kann, aber nicht können soll. Natürlich ist ein vollständiger Test auch gar nicht immer möglich. 10 Befehle in beliebiger Reihenfolge ergeben 10! Varianten (10 x 9 x 8 x ... x 2). Man erkennt leicht, wie schnell die Anzahl exponentiell steigt, häufig würden Jahre benötigt, um alle möglichen Reaktionen des Programms systematisch zu testen.
3.2.3.6
Systemeinführung
In der Installationsphase
ist wiederum eine enge Zusammenarbeit zwischen Anbieter und
Anwender gefordert, sonst ist nicht auszuschließen, daß die Anpassung den Anwender nicht
3
257
DV-Organisation
zufriedenstellt (und wenn es nur deshalb ist, weil ihm der volle Leistungsumfang verborgen bleibt). Das fertige Programm wird auf der gewählten Hardwareplattform installiert und abgenommen, d.h. der Auftraggeber bestätigt, daß es der Problemvorgabe entspricht und dem Anschein nach fehlerfrei läuft. Spätestens jetzt müssen die Voraussetzungen für einen reibungslosen Übergang von der bisherigen Datenerfassung zur EDV-Benutzung geschaffen werden.
Dazu sind
folgende
vorbereitende Maßnahmen geeignet: • Benutzerschulung •
außerhalb des normalen Arbeitsbereichs.
Organisationsanpassung
• Stammdateneingabe,
(Aufbau-, Ablauf-, Sachmittelorganisation).
oder -Übernahme mit Hilfe von Brückenprogrammen, Aufberei-
tung sonstiger Daten. • Probebetrieb parallel zur bisherigen Erfassung.
3.2.3.7
Produktiveinsatz
Wenn das Programm nun zum Einsatz geeignet ist, wird entweder durch schrittweise lung oder Stichtagsumstellung
Umstel-
die alte Ablauforganisation abgelöst, wobei es allerdings schon
an Dummheit grenzt, wenn man sich sofort auf ein neues Programm verläßt. Durch die Ablösung des alten Systems ist das Projekt selbst nicht abgeschlossen, denn es sind folgende Arbeitsbereiche kontinuierlich • Systempflege
abzudecken:
(besser Korrektur von nachträglich auftretenden Fehlern) und Anpassung
an neue Anforderungen wie Änderung der Rechtslage, zusätzliche Programmfunktionen. • Vergleich der Kosten mit den Plandaten. Unter
Umständen
werden
begleitende
Wirtschaftlichkeits-
und
Effizienzrechnungen
(Konsolidierung des Systems) durchgeführt. Beurteilt wird, ob Rationalisierungseffekte spürbar sind (häufig nicht sofort), ob auftretende Probleme bewältigt werden (Servicequalität, Motivation der Mitarbeiter, Systemabstürze). Sollten sich die Anforderungen an
die
gewünschte Softwarelösung auf Dauer derart verändern, daß eine Anpassung nicht mehr sinnvoll erscheint, beginnt schließlich ein neues Projekt.
4 Softwareentwicklungen
Eine Besprechung der vorherrschenden Software verbietet sich eigentlich, da in keinem anderen Bereich dermaßen schnell neue Entwicklungen zu beobachten sind, eine Auflistung ist daher meist schon nach wenigen Monaten veraltet. Dennoch kann man in den Standardanwendungsbereichen auch Software finden, die zwar ständig überarbeitet und damit in neuen Versionen ausgeliefert wird, die aber über Jahre hinweg praktische Bedeutung erlangt. Der Grund dafür liegt darin, daß auch die Käufer ein einmal erworbenes Produkt, bedingt durch den Preis und insbesondere die nicht unerhebliche Einarbeitungszeit, länger nutzen möchten und auch nutzen. Neue Versionen verändern Programme häufig nur marginal und oft in Bereichen, die für den normalen Anwender nicht relevant sind. Mindestens 80% der Anwender nutzen nämlich nur 20% der jeweiligen Softwarefunktionen. Viele Programmpakete sind daher vergleichbar mit einer Bürokratie, sie blähen sich auf, ohne mehr zu leisten. Vorweg lassen sich daher einige allgemeine und kritische Aussagen treffen: • Nach dem Stand der Technik ist es nicht möglich, Fehler in Standardsoftware auszuschließen. Beta-Tester übernehmen Entwicklungsarbeit und Fehlersuche für Programme, die noch nicht ganz fertig sind. Andererseits würde ein einzelner Programmierer Jahrzehnte zur Entwicklung solcher Programme benötigen, die sicher ebenfalls nicht fehlerfrei wären. •
Software bringt häufig nicht genügend Geld, da sie von Kunden ohne Schuldbewußtsein illegal kopiert wird. Programme werden daher nicht ausreichend getestet, sie werden wie Bananen verkauft, die erst beim Kunden reifen.
• In der Computerei löst man Probleme, die man ohne Software nicht hätte; man möchte unbedingt wissen, warum es nicht klappt und verbringt Stunden mit der Suche nach unmöglichen Lösungen. • Updates sind problematisch, weil sie viele Fehler enthalten, an die man sich im Gegensatz zu der alten Version erst noch gewöhnen muß.
4
Softwareentwicklungen
259
• Außerdem ist eine Normierung noch lange nicht in dem Maße erreicht, wie man es von anderen Techniken her kennt. Alle Videorekorder haben Tasten in der Reihenfolge Stop, Pause, Rewind, Play, Forward. Software ist vergleichbar mit Autos, bei denen das Bremspedal mal rechts, mal links, mal in der Mitte sitzt. • Auch in anderer Hinsicht ist Software mit Autos vergleichbar. Ständig werden neue Modelle auf den Markt gebracht, nach denen die Käufer Schlange stehen, während die Straßenränder voll sind mit vermeintlich alten Autos. •
Software kann bei der rasanten Entwicklung der Hardware mittlerweile nicht mehr mithalten, weshalb man eigentlich auch von einer Softwarekrise sprechen könnte. Natürlich ist die Portierung auf immer neue Hardware problematisch und fehleranfällig. Deshalb muß aber nicht nach Winword 2.0 gleich 6.0 folgen, nach Quattro Pro 1.0 gleich 5.0 und WordPerfect für Windows gleich bei 5.1 beginnen. Die hohen Zahlen versprechen nicht unbedingt eine adäquat hohe Leistung.
• Die Hardwareanforderungen, die auf den Softwareprodukten genannt werden, sind häufig auch untertrieben. Wenn Winword 6.0 einen PC mit 80286 oder höher verlangt und einen 80386 empfiehlt, bei 4 MByte RAM, dann ist das eine Minimalausstattung, unter der ein komfortables Arbeiten einfach nicht möglich ist; bei größeren Dokumenten oder eingebundenen Grafiken geht das Programm in die Knie. Den folgenden Absturz der Programme verhindern auch keine guten Computermöbel, wie es mal in einer Klausur zu lesen war. • Vieles ist zu üppig, ein Textverarbeitungsprogramm sollte für Texte eingesetzt werden; DTP-Funktionen sind überflüssig, dazu gibt es DTP-Programme. Irgendwann ist vielleicht auch die Softwarebranche ein Wirtschaftszweig, in dem sich die Kunden das alles nicht mehr bieten lassen.
260
4
Softwareentwicklungen
Im folgenden soll also der Versuch unternommen werden, die wichtigsten Vertreter einzelner Anwendungsbereiche anzuführen. Unterschieden wird deshalb in • Betriebssysteme, • Bedieneroberflächen, • Textverarbeitung, • Tabellenkalkulation, • Datenbank, • Grafik, • Integrierte Pakete, • Statistik, • Branchensoftware, • Public Domain und Shareware, • Utilities, • Programmiersprachen, • Spiele. Nicht angesprochen werden Installationsprogramme, Hilfswerkzeuge, mit denen das jeweilige Programm an die vorhandene Hardware angepaßt wird. Sie waren früher kopiergeschützt, ein Merkmal, das heute nicht mehr akzeptiert wird, weil bei Verlust des Programmes eine sehr aufwendige Prozedur der Wiederbeschaffung beginnt, weshalb heute Disketten oder CDs lediglich versiegelt sind.
4.1 Betriebssysteme Ein Betriebssystem macht die Software erst allgemein einsetzbar, da die Software in der Regel mit dem Betriebssystem und nicht mit der Hardware zusammenarbeitet. Die Hauptaufgaben eines Betriebssystems können folgendermaßen charakterisiert werden: • Initialisieren des Betriebssystems, Laden der Systemdateien, • Kontrolle und Ansprache der Peripheriegeräte, also Organisation der Zusammenarbeit zwischen Tastatur, Diskettenlaufwerk, Monitor usw., Einbindung der Gerätetreiber, • Bearbeitung und Verwaltung von Dateien, also die Ein- und Ausgabe von Daten, die Zusammenfassung von Daten zu Dateien, •
Arbeitsspeicherverwaltung,
• Laden, Starten und Schließen von Programmen, •
Fehlerbehandlung,
4
Softwareentwicklungen
•
Vergabe von Zugriffsrechten,
•
Benutzerverwaltung,
•
Gewährleistung der Sicherheit,
•
Protokollierung der Zugriffe.
261
Eine andere Gliederung unterteilt die Aufgaben in eine •
Steuerungs- oder Organisationsfunktion (Ein- und Ausgabe von Daten, Aufruf von Programmen) durch Steuerprogramme,
•
Übersetzerfunktion (Übertragung der Befehle in Maschinensprache) durch Übersetzerprogramme,
•
Hilfs- oder Dienstfunktion (Anzeigen des Inhaltsverzeichnisses, Löschen von nicht mehr benötigten Dateien) durch Hilfsprogramme,
oder zusammenfassend, und damit auf den Namen DOS bezugnehmend: •
Verwaltung von Dateien auf Datenträgern (Diskette und Festplatte).
Das erste Betriebssystem für Personal Computer, das relativ weite Verbreitung gefunden hatte, war im Jahre 1973 CP/M (Control Program for Microcomputer) vom Gründer Gary Kindall der Firma Digital Research. Es war konzipiert für die 8-Bit-Rechner mit dem 8080-Prozessor. Gefolgt wurde es vom CP/M-86 und Concurrent CP/M-86 für Rechner der Klasse 80x86; beide konnten sich aber nicht durchsetzen, da DOS schon wesentliche Marktanteile gewonnen hatte. DOS basiert auf einem Betriebssystem namens Dirty Operating System und wurde als MSoder PC-DOS weiterentwickelt. Seine Aufgaben (z.B. die Bereitstellung von Steuer- und Dienstprogrammen) gelten stellvertretend für alle Betriebssysteme, sie werden an anderer Stelle detailliert dargestellt (vgl. Kapitel 6).
262 ABB. 4.1:
4
Softwareentwicklungen
DOS-BILDSCHIRM
D:\Profiles>dir D a t e n t r ä g e r in Laufwerk D ist Datenträgernummer: 1946-1ACB Verzeichnis von D:\PROFILES
USER_D
22 . 02 .95 19 .06
22 . 02 . 95 19 . 06
11 . 04 . 95 MEMOS 16..44 SCAN220! EXE 3 8 1 . 3 4 9 0 5 . 04 . 95 14 .37 DAT 64 . 716 31 .03 .95 CLEAN 2 .20 FILE_ID DIZ 1 4 7 3 1 .03 .95 2,.20 NAMES DAT 1 6 3 . 0 8 3 31 .03 .95 2..20 PACKING LST 1 . 1 4 5 31 . 03 .95 .20 2, SCAN DAT 1 6 2 .480 31 .03 .95 2..20 97 . 8 3 9 31 03 . 95 SCAN EXE 2..20 VALIDATE EXE 1 5 . 9 5 8 3 1 . 03 .95 2..20 2..20 VIRUSCAN TXT 2 4 0 .479 31 .03 . 95 82 . 944 12 . 06 .95 EDVO DOC 10,,41 13 ..32 DOS TXT 0 12 .07 . 95 -DFT2C75 TMP 0 12 . 07, 95 10 ..41 19 D a t e i ( e n ) 1.210.140 Byte 62.763.008 Byte frei D:\Profiles> QUELLE:
SCREENSHOT
Der Vorteil in der Verwendung des in Assembler geschriebenen DOS liegt in der • großen Anzahl von verfügbaren Programmen für dieses System, viele Softwarepakete werden erst für DOS-Rechner entwickelt und später erst (wenn überhaupt) auf andere Betriebssysteme übertragen, • großen Anzahl von Hardwareerweiterungsmöglichkeiten für dieses System, • günstigen Preisgestaltung von Hardwareerweiterungen und Software, weil die Konkurrenz groß ist, • weitestgehenden Kompatibilität der Daten innerhalb des Betriebssystems (nicht im Bereich der Anwendersoftware).
Allerdings hat DOS auch einige Schwächen aufzuweisen. • Eine wesentliches Manko ist die relativ komplizierte kommandoorientierte und nicht ganz einfach zu erlernende Bedienung, da syntaktisch einwandfreie Befehlscodes vom System erwartet werden. Erschwerend kommt hinzu, daß viele Kommandos mit sehr unterschiedlichen Erweiterungsmöglichkeiten ausgestattet sind.
4
Softwareentwicklungen
263
• Ältere DOS-Versionen bis 3.3 unterstützten nur 32 MByte auf Festplatten, damit wurde die Datenverwaltung erschwert. Außerdem kann DOS in der Regel nur einen Arbeitsspeicher von 640 kByte direkt unterstützen, obwohl der erste Prozessor schon 1024 Byte adressieren konnte. Da viele Programme einen höheren Bedarf benötigen, muß auf technische Kniffe zurückgegriffen werden. • DOS ermöglicht kein Multitasking, d.h. mehrere Anwendungsprogramme können nicht gleichzeitig aufgerufen oder bearbeitet werden. Dies gilt auch für DOS selbst. So sind beispielsweise während des länger dauernden Formatiervorgangs andere Eingaben blockiert. • DOS verfügt über keinerlei Schutzmechanismen, die den Datenzugriff kontrollieren. DR-DOS von Digital Research war gegenüber MS-DOS mit Zusatzfunktionen ausgestattet, aber nicht immer kompatibel und ohne BASIC-Interpreter. Später wurde es von Novell übernommen, aber in einer Übereinkunft mit Microsoft dann eingestellt.
Aus den genannten Gründen hat IBM das Betriebssystem OS/2 (Operating System/2) entwikkelt, das höhere Arbeitsspeicher verwalten kann und echtes (preemptives) Multitasking ermöglicht. Im Gegensatz zu DOS handelt es sich um ein echtes 32 Bit-Betriebssystem, das die Möglichkeiten moderner Prozessoren voll ausschöpft. 1700 Entwickler und 30.000 Beta-Tester (Tester der Vorabversion) waren notwendig, bis das in Assembler geschriebene Programm 1987 auf den Markt kam. Zuerst sollte das System, gemeinsam mit Microsoft, als DOS 10 vorgestellt werden. Nach Querelen stieg Microsoft allerdings aus. Auf der Suche nach einem geeigneten Namen fand IBM, in Anlehnung an den Chip „Blue Lightning", die Bezeichnung OS/2 „Blue Thunder". Damit gab es allerdings auf dem englischen Markt Probleme, da diese Bezeichnung dort für einen „Donnerbalken" steht. Auch das deutsche BS/2 für Betriebssystem 2 wurde zurückgenommen, da sich in Fachkreisen sehr schnell die Übersetzung „bullshit" bzw. Betriebssystem/2. Anlauf durchsetzte. Heute findet man die Version 3.0 bzw. Warp (entsprechend der Überlichtgeschwindigkeit in Filmen des Raumschiffs Enterprise). Die weiteren Möglichkeiten im einzelnen: • OS/2 legt einen Cache-Speicher an,
264 •
4
Softwareentwicklungen
es kann bis 32 MByte Expanded und 512 MByte Extended Memory ansprechen, es ist sogar durch die 32-Bit-Struktur ein virtueller Speicher (durch Auslagerung auf einen Massenspeicher) bis 4 GByte adressierbar,
• es trennt die einzelnen Adreßräume in einzelne Fenster und ist dadurch sehr absturzsicher, nur das fehlerhafte Programm ist nicht mehr ausführbar, •
Dateinamen bis zu 256 Zeichen sind erlaubt,
•
es enthält Netzwerkfunktionen
• und unterstützt wie Windows Drag and Drop.
Zu OS/2 gehört auch ein Presentation
Manager bzw. eine Workplace Shell, eine Benutzer-
oberfläche, die beim Start geladen wird und das Eintippen einzelner Befehle durch die Menuetechnik ersetzt sowie die Programm- und Dateiverwaltung wesentlich vereinfacht. Gute Lernprogramme
und
zusätzliche
Applikationen,
z.B.
ein
Works
mit
Textverarbeitung, Kalkulation, Datenbank und Grafik, ergänzen das Paket. ABB. 4.2:
OS/2-OBERFLÄCHE
QUELLE:
SCREENSHOT
den
Funktionen
4 Softwareentwicklungen
265
DOS-Programme laufen über die sogenannte DOS-Kompatibilitätsbox auch unter OS/2 (der Virtual Mode emuliert bis zu 256 8086er-Prozessoren), wobei der Verzeichnisaufbau und die Disketten- und Festplattenformate gleich sind (unter den genannten Restriktionen für DOS). Statt der DOS-FAT kann das HPFS (High Performance File System) eingesetzt werden, das Daten effektiver verwaltet. Auch Windows ist eingebunden, wodurch ein Einstieg problemlos möglich ist. Ein Boot-Manager dient dazu, verschiedene Betriebssysteme von einer Festplatte zu starten, z.B. DOS oder OS/2.
Allerdings hat auch OS/2 einige Nachteile: • es benötigt 4 MByte Arbeitsspeicher, besser sind 8, • es benötigt zur sinnvollen Bedienung die Maus und eine VGA-Grafikkarte (oder XGA, 8514/A mit einer Auflösung von mindestens 640 x 480 Punkten und 70 Hz Wiederholrate), • läuft auf Rechnern, die mindestens einen 486er-Prozessor enthalten und • es benötigt deutlich mehr Speicherplatz auf der Festplatte, zusätzlicher Bedarf ist für SWAP-Dateien gegeben. Swap-Dateien sind leere Dateien, die an festen Orten der Festplatte angelegt werden, um Daten zwischenzuspeichern. Damit können sie sehr schnell wiedergefunden werden.
Speziell für diese 32-Bit-Plattform geschriebene Programme waren lange Zeit rar, die Softwarehersteller konnten einfach nicht Programme für 4 Richtungen gleichzeitig entwickeln (DOS, OS/2, Windows, Windows NT). Aber auch wegen des miserablen Marketings wurden OS/2-Anwendungen schlagartig auf Windows umgestellt. Heute ist das Angebot deutlich gewachsen, z.B. Ami Pro für OS/2, Describe (eine Textverarbeitung), Word und Excel für PM (Presentation Manager), Lotus 1-2-3, Corel Draw, Freelance. Zudem läuft jede andere Software, die nicht für OS/2 geschrieben wurde. Eine sogenannte Migrationssoftware erkennt über 2000 Programme, die automatisch optimal konfiguriert werden und DOS bzw. WindowsBoxen erhalten.
266
4
Softwareentwicklungen
Den Wandel zum aggressiven Marketing zeigten Werbespots in den USA, in denen ein armer alter Mann namens Bill (natürlich Gates) gezeigt wird, dessen Programm für seinen Raumanzug WIN-Lifesupport immer wieder abstürzt.
Eine weitere Systemsoftware ist UNIX (schon 1962 von AT&T entwickelt) bzw. die lizensierten ähnlichen Systeme XENIX (von Microsoft), SINIX (von Siemens), AIX (von IBM) und LINUX für den PC, die alle für echte Mehrplatz- (Multiuser-)systeme entwickelt wurden, wo also mehrere Rechner schon mit Hilfe des Betriebssystems vernetzt werden können (bei DOS wird zusätzliche Software benötigt), was die zentrale Datensicherung und eine Benutzerregelung vereinfacht. Zudem sind sie multitaskingfähig (mehrere Programme können scheinbar parallel ablaufen), verfügen über eine anwenderfreundliche Benutzeroberfläche und sind prozessorunabhängig, da sie in der höheren Programmiersprache C geschrieben sind und somit leicht auf andere Prozessorfamilien übertragen werden können. Aber auch sie haben ihre Nachteile: • sie sind speicherintensiv, • es existieren mehrere inkompatible Versionen, • die Bedienung ist relativ kompliziert und nicht einfach zu erlernen. Windows NT (New Technology) ist im Gegensatz zu Windows 3.xx ein eigenständiges 32Bit-Betriebssystem mit elementaren Netzwerkfunktionen und damit ideal als Serversoftware. Es • schafft eine Verbindung zu DOS und Windows, kann aber auch mit OS/2 und UNIX laufen, • ist in C programmiert und damit ebenfalls prozessorunabhängig, • verfügt über ein neues Dateiverwaltungssystem, das NTFS (New Technology File System), • ermöglicht Dateinamen bis 100 Zeichen, • unterstützt echtes Multitasking und verwendet ähnlich zu OS/2 getrennte Adreßbereiche, • ermöglicht eine höhere Datensicherheit durch die Vergabe von Zugriffsrechten, Paßwörtern und die Anfertigung von Protokollen (Stufe C2),
4 •
Softwareentwicklungen
267
unterstützt PCI, aber auch IPX und TCP/IP-Protokolle, über Modem kann man sich auch in ein NT-Netz einwählen,
•
arbeitet auch mit RISC-Prozessoren zusammen.
Zudem wird ein neuer 16 Bit Uni-Code verwendet, mit dem sich statt 256 nun 65.536 Zeichen darstellen lassen, wodurch Zeichen aller Nationen standardisiert werden können. Aber es gibt auch hier einige Probleme: • Nur wenige Programme wurden speziell für diese Plattform entwickelt. • Der Festplattenbedarf ist hoch, ebenso der Speicherbedarf von mindestens 12, besser 16 MByte.
Windows 95 (95 statt 4.0) sollte eigentlich Chicago heißen und war schon für Mitte 1994 angekündigt. Mehrfach wurde der Starttermin verschoben, weshalb man in der Branche schon witzelte Windows 95, 95% komplett, 5% Fehler. Auch die Stadt Chicago setzte eine Werbekampagne unter dem Motto „The City that works" wegen negativem Imagetransfer ab. Erstmals erschien Gates persönlich auf der CeBit '95, um die Anwender zu beruhigen, weil es immer noch nicht fertig war. Allerdings hat die Verzögerung eher neugierig gemacht. 9000 deutsche Nutzer testeten die Beta-Version für Microsoft, ohne dafür einen Pfennig zu erhalten. Umgekehrt mußten Testversionen sogar verlost werden, so viele wollten unbedingt als Erste mitreden können. Man muß den Eindruck gewinnen, die User wünschen schlechte Software, um sie zu testen und zu verbessern; zumindest der Hersteller spart dadurch viel Geld. Im Prinzip handelt es sich bei Windows 95 um ein erweitertes Windows inklusive DOS oder ein abgespecktes Windows NT; viele Eigenschaften entsprechen diesen Versionen: Dateinamen mit bis zu 256 Zeichen, Dateimanager, Netzwerk-Icon, Papierkorb, Konvertierung von Windows 3.1-Dateien, eigenes Booten.
Ein weiteres Betriebssystem ist das System 7 von Apple, das erste mit grafischer Benutzeroberfläche und Mauseinsatz; Apple Talk ist ein System für die dort verwendeten Netzwerke. Weitere herstellerspezifische Systeme sind OS/400 oder MVS von IBM, VMS von DEC oder BS 2000 von Siemens, die aber alle der Mittleren Datentechnik oder den Großrechnern zugerechnet werden müssen. Sie bieten weitergehende Möglichkeiten der Datensicherung durch
268
4
Softwareentwicklungen
Spiegelung (Mirroring, Shadowing) und der Protokollierung, sie erreichen damit höhere Sicherheitseinstufungen. ABB. 4 . 3 :
OS/400-BILDSCHIRM
"1' ••••':! :' Datei Editieren
HUMQA/400 -BCNÜT5Mi Sitzung Übertragung Optionen Makro üilfe Hit allen Jobwarteschlangen arbeiten
Auswahl eingeben und Eingabetaste drucken. 3=ftnhalten 4-Löschen 5=ftrbeiten mit 8=t!it Jobplanungseinträgen arbeiten Auswahl
Uarteschlange PS509S2 QSASE qßftTCH qFNC QiNTER QPGiiR QSNftDS qsPL QS36EUQKE QS3SHRT
Bibliothek QGPL QGPL QGPL QGPL QGPL QGPL QGPL QGPL QGPL QGPL
S=Freigeben 14=Inhalt löschen
Jobs G 0 ü ß 0 0 0 U n n
Subsysten QEftTCH qiNTER qSPL qßflTCH QINTER
Befehl F3=Uerlassen F4=Bedi enerführung F24=Ueitere Tasten
QUELLE:
Mt]
F5=Äktual.
Status RLS RLS RLS RLS RLS RLS RLS RLS RLS RLS Heitere ...
F12=Abbrechen
SCREENSHOT
Folgende Anmerkungen aus den NetNewsGroups verdeutlichen den Unterschied der einzelnen Betriebssysteme auf humorvolle und anschauliche Weise. • Bei DOS schieben alle Passagiere das Flugzeug an und springen erst auf, wenn es abhebt; dadurch ist es aber sofort wieder auf dem Boden und muß erneut angeschoben werden. • Bei Apple Macintosh sehen alle Flugzeuge, alle Piloten, alle Stewardessen gleich aus. Alle sagen das Gleiche: Man müsse einfach nicht wissen, wie man fliegt. • Bei Windows sind die Flugzeuge schön bunt. Alles ist farbig, alle sind freundlich. Nach einem Start ohne Probleme kommt es plötzlich zum Absturz. • Bei OS/2 ist es ähnlich. Vor dem Start müssen allerdings viele Formulare ausgefüllt werden; man hat aber auch viel Zeit, sich auf den Absturz vorzubereiten.
4
Softwareentwicklungen
269
4.2 Betriebsarten Eng verknüpft mit den Betriebssystemen sind die Arten, wie Programme abgewickelt werden. Die ersten Computer wurden ausschließlich für technisch-wissenschaftliche Berechnungen eingesetzt; es folgten Verarbeitungen von Massendaten für kommerzielle Zwecke. Immer wurde nur ein Programm abgearbeitet, man könnte deshalb auch von
Single-Programming
sprechen. Von Batch-Processing oder Stapelbetrieb spricht man dann, wenn alle zu bearbeitenden Programme aneinandergereiht oder geordnet werden und nach einer Prioritätenliste nacheinander abgearbeitet werden. Während dieser Bearbeitung besteht keine Eingriffsmöglichkeit des Benutzers. Im Dialogbetrieb steht der Nutzer hingegen in direkter Beziehung zum Rechner, er erhält während des Programmablaufs ständig Rückmeldungen und wird unter Umständen zu immer wieder neuen Reaktionen aufgefordert. Beim Real Time Processing (oder Echtzeitbetrieb, Prozeßverarbeitung) geht es darum, einen in der realen Welt ablaufenden Prozeß mit Hilfe eines Computers zu unterstützen; es handelt sich also um eine Form des Dialogbetriebs. Beispiele sind die Steuerung von Ampeln, von Industrierobotern in der Automobilfertigung, die Telefonvermittlung oder die Temperaturmessung in Reaktoren. Es handelt sich damit um zeitkritische Einsätze. Wie problematisch kleinste Abweichungen sein können, wie genau also das Programm an die realen Abläufe angepaßt sein muß, zeigt folgendes Beispiel: Das Kampfflugzeug F 18 kann an seinen Tragflächen befestigte Raketen starten. Eine Software steuerte den Vorgang Bügel ö f f nen, Rakete starten, Bügel schließen. Leider schloß sich der Bügel schon wieder, bevor die gezündeten Raketen genug Schub entwickelt hatten. Da ging die Post ab. Ein Problem ist, daß die Programmausführung in den genannten Fällen wenig effektiv abläuft, denn • während Ein- und Ausgabeprozeduren durchgeführt werden, bleibt der Prozessor unbeschäftigt und läuft Warteschleifen.
270
4
Softwareentwicklungen
Dies liegt zum einen daran, • daß zwischen den einzelnen Komponenten eines Computers deutliche Geschwindigkeitsdifferenzen bestehen (z.B. ist der Prozessor während des Lesens von Disketten unausgelastet), oder, • daß menschliche Eingaben den Prozessor "langweilen" (während der Eingabe von Text könnte durchaus im Hintergrund eine Rechtschreibprüfung durchgeführt werden).
Könnten mehrere solcher Aufgaben schrittweise im Wechsel durchgeführt werden, läßt sich erheblich Zeit sparen, man spricht dann von Multi-Tasking.
Mehrere Aufgaben (z.B. Serien-
brieferstellung und Zeichnen einer Grafik) werden also auf einem Prozessor „gleichzeitig" erledigt. • Beim Task-Switching
(wie bei DOS 5.0) oder der Kontextumschaltung "schläft" eine Auf-
gabe (ein Programm) im Hintergrund, bis der Nutzer sie wieder aufruft. • Beim Multi-Threading
werden mehrere Aufgaben innerhalb eines Programms gleichzeitig
durchgeführt (Rechtschreibprüfung während der Eingabe, Silbentrennung beim Formatieren des Textes). • Beim nicht-preemptiven
Multi-Tasking entscheiden die Applikationen darüber, wann sie
die CPU nicht benötigen und anderen Programmen überlassen. Eine Anwendung muß also die Kontrolle über einen Prozeß an das System zurückgeben und den Speicher freischreiben; dies kann allerdings bei schlechter Programmierung zur völligen Blockade fuhren. • Beim preemptiven
Multi-Tasking werden Zeitscheiben bereitgestellt, d.h. die Prozessor-
leistung wird "reihum" den einzelnen Aufgaben (Programmen) zur Verfügung gestellt, das Betriebssystem schreibt also den Speicher frei.
Ein einfaches Beispiel kann diesen Zeitgewinn verdeutlichen. Zwei Programme mögen die einzelnen Komponenten jeweils in folgenden Zeiteinheiten belegen: Zeittakt
12345678 901234 5678 90123456 7890123
Eingabe Zentraleinheit Ausgabe
11
11 11111
22222 11 111
Programm 1
22 111111
222222 Programm 2
4
271
Softwareentwicklungen
Damit ergibt sich ein gesamter Zeitbedarf bei Einzelverarbeitung von 33 Einheiten. Simultan könnte der Vorgang so gesteuert werden: Zeittakt
123456 789012345678901234
Eingabe Zentraleinheit Ausgabe
112211222 1122111
11 111221111112222
Programm
1
Programm
2
Der Zeitbedarf beträgt jetzt 24 Einheiten. Wie die einzelnen Schritte der jeweiligen Programme nacheinander ablaufen, muß allerdings koordiniert werden. Werden mehrere Programme gleichzeitig bearbeitet, spricht man auch von
Multi-Program-
ming. Während also eine Textverarbeitung auf Eingaben wartet, könnten Berechnungen in einer Tabellenkalkulation durchgeführt werden; ein Nutzer arbeitet also mit verschiedenen Programmen gleichzeitig. Von Time-Sharing
oder Multi-User-Mode
spricht man, wenn mehrere Terminals oder Nutzer
beim Zugriff auf einen Zentralprozessor bestimmte Zeiten zugewiesen bekommen, auch hier entsteht für den Nutzer der Eindruck, daß er alleine mit dem System kommuniziert (wird nur ein Programm verwendet, spricht man auch von Transaction-Mode). men drei Terminals den Prozessor jeweils für 200
Beispielsweise bekom-
Millisekunden
zugewiesen,
nach
600 Millisekunden ist also wieder der erste Terminal bearbeitungsberechtigt. Beim Multi-Processing
(echtes Multi-Tasking) arbeiten mehrere Prozessoren gleichzeitig
parallel, jeder Prozessor ist dabei für ein eigenes Programm verantwortlich. Ein Beispiel ist die Berechnung umfangreicher Daten in unterschiedlichen Programmteilen wie bei Wettervorhersagen (Luftdruck, Niederschlag usw.).
4.3 Bedieneroberflächen Früher nutzte jedes Programm eine andere Menüfolge, die den Anwender bei einem Umstieg sehr behinderte. Um den Dialog der menschlichen Kommunikation anzunähern, beschreiten grafische Benutzeroberflächen, man spricht auch von GUI (Graphic User Interfaces), einen anderen Weg. Sie versuchen, die etwas umständlichen DOS-Befehle grafisch zu erläutern
272
Softwareentwicklungen
4
oder Programmschritte anhand von Icons, Menues und Windows (oder Fenstertechnik) zu vereinfachen. Icons sind bildliche Darstellungen fiir Kommandos, z.B. ein Papierkorb, in den Dateien verschoben und damit gelöscht werden. Sie ähneln Piktogrammen, wie man sie von Flughäfen, Bahnhöfen und den Olympischen Spielen kennt. Menues erscheinen über Tastendruck oder Mausansteuerung auf dem Bildschirm und zeigen einen Befehlsvorrat, der direkt angewählt werden kann, oder Dialogboxen, die wie Fragebögen ausgefüllt werden. Windows sind Bildschirmbereiche, die gleichzeitig auf dem Bildschirm erscheinen und die unterschiedliche Inhalte wiedergeben, beispielsweise das Inhaltsverzeichnis eines Textes und die dazugehörigen Passagen. ABB. 4.4:
üatel
ICONS, M E N U E S U N D FENSTER
Bearbeiten
Ansicht
Microsoft Word -EDVO.DOC Formal Extras Tabelle fenster
Einfügen
2
0.2 Ziel und Gang dieser Einführung 0.3 Grundbegriffe 0
0.3.1
Daten und Datenverarbeitung
o 0.3.2 Komponenten einer PV-Anlage o
0.3.3 G l i e d e r u n g der EDV
0.4 Einige kritische Anmerkungen 0.5 Vorteile des EDV-Einsatzes HZ 0.3 Grundbegriffe 0.3.1
Nach
MSEiM
Daten und Datenverarbeitung
einer DIN
Verarbeitung
von
wurde
ein
Daten,
Datenverarbeitungssystem
nämlich
zur
Durchfährung
als eine
mathematischer,
Funktionseinheit umformender,
übertragender und speichernder Operationen bezeichnet Während der erste Halbsatz wenig einfallsreich erscheint, verbirgt der zweite aber doch die eigentliche Zielsetzung eines Datenverarbeitungssystems. Es geht um Daten (Informationen), die nicht einfach nur eingegeben und ausgegeben werden, sondern die von einer Anlage in
nüBEM
Ks 4
. Ab t
QUELLE:
Arn-. SCREENSHOT
I Bal
T
"
"¿1-"« W«?' Sp--. - ct&¥|: ' W tiS:r a : |>.
zur
4
Softwareentwicklungen
273
Diese Benutzerhilfen können in Programmen integriert sein, sind dann aber nicht einheitlich. Selbst ein und derselbe Hersteller achtet nicht immer auf volle Kompatibilität seiner Menueoberflächen. Daneben gibt es programmunabhängige Benutzeroberflächen, die eine Bedienung unterschiedlicher Programme standardisieren sollen. Dabei werden zusätzlich einzelne Funktionen integriert (z.B. Druckertreiber), die für alle Programme gelten und damit nur einmal installiert werden müssen. Neben GEM von Digital Research ist vor allem Windows zu nennen. Zwar kam Apple mit einer solchen Oberfläche, dem Finder, zuerst auf den Markt und wollte sich diese schützen lassen; ein mehr als fünfjähriger Rechtsstreit mit Microsoft führte aber lediglich zu einem Schutz des sogenannten Papierkorbs, in den man zu löschende Dateien einfach verschiebt. Auf der anderen Seite wollte sich Gates tatsächlich das Allerweltswort Windows schützen lassen. ABB. 4.5:
MICROSOFT W I N D O W S - O B E R F L Ä C H E
QUELLE:
SCREENSHOT
274
4
Softwareentwicklungen
24 Entwickler benötigten 3 Jahre, um Windows zu konzipieren; im Jahre 1985 wurde die erste Version 1.03 vorgestellt. Allerdings lief die klassische Software nicht direkt unter dieser Oberfläche, weshalb viele Hersteller abtrünnig wurden und zu GEM wechselten. Man sah in Microsoft eine zu starke Konkurrenz. Erst 1990 wechselten viele wieder zu Windows, dessen Version 3.0 mit einer riesigen Werbeaktion vorgestellt wurde. 6000 Menschen im City Center Theatre von New York wohnten der Veranstaltung bei, die weltweit live über Satellit übertragen wurde, 3 Mio. $ kosteten die Feierlichkeiten, 250.000 Demo-Disketten wurden verschickt. Schon 1993 liefen 80% aller Anwendungen auf PCs unter Windows und nur noch 15% unter DOS bzw. 5% unter Mac.
Windows 3.x • ist überwiegend in C geschrieben, • unterstützt bis zu 16 MByte Hauptspeicher, • ermöglicht den Datenaustausch zwischen verschiedenen Programmen, entweder über die Zwischenablage oder, falls die Anwendersoftware dies unterstützt, auch über das sogenannte OLE (Object Linking and Embedding), wobei eine dauerhafte Verbindung geschaffen wird, die auch nachträgliche Änderungen berücksichtigt, • beinhaltet True-Type-Fonts, also frei skalierbare Schriften, • verfugt wie OS/2 über Drag and Drop. Nachteile sind: • Benutzeroberflächen fressen allgemein Ressourcen, die meiste Kapazität wird für die Berechnung der Oberflächen benötigt und nicht für die Anwendungen. Bei Datenbankabfragen können sie deshalb sogar regelrecht stören. Deshalb findet man GUIs in der Welt der Großrechner kaum. • Es ist mindestens ein 386er-Rechner zu empfehlen, da Rechen- und Speicherbedarf recht hoch sind. • Es empfiehlt sich der Einsatz von mindestens 4 MByte Hauptspeicher und 17 Zoll VGABildschirm; der Einsatz einer Maus ist zudem fast zwingend. • Unter Windows 3.0 erstellte Programme werden nicht mehr von Windows 3.1 unterstützt. • Es ist zwar grundsätzlich multitaskingfähig, allerdings nur nicht-preemptiv, weshalb es immer wieder zu unerklärlichen Abstürzen kommt. Statt Ja/Nein kennt Windows auch die Ausprägung „Manchmal", manchmal klappt es, manchmal nicht.
4
Softwareentwicklungen
275
• Es sind keine Schutzmechanismen enthalten. • Beim Löschen von Anwendungen können umfangreiche Reste auf der Festplatte verbleiben, da sogenannte INI-Dateien beim Installieren erzeugt wurden. Zusätzlich werden die Dateien WIN.INI, SYSTEM.INI und REG.DAT bei jedem Setup erweitert und können an eine Grenze stoßen. Manche Programme verändern auch die autoexec.bat oder die config.sys und fugen zusätzliche Systemdateien und zusätzliche Schriften hinzu. Deinstaller können hier in Grenzen Abhilfe schaffen. • Da Windows bei geringem Hauptspeicher viel auf die Festplatte auslagert, sind Defragmentierungsprogramme ebenso nützlich. Windows for Workgroups 3.11 kann für einzelne Rechner verwendet werden, unterstützt aber zusätzlich auch Peer-to-Peer-Netzwerke, also gleichberechtigte Netze ohne dedizierten Server (obwohl fälschlicherweise von Server und Client gesprochen wird). Die Sicherheitsmechanismen sind verbessert, Zugriffe auf Verzeichnisse und Dateien anderer Rechner lassen sich limitieren. Um den unterschiedlichen Aufbau von Benutzeroberflächen etwas zu vereinheitlichen, wurde auch ein anderer Standard definiert, die SAA, die ein Minimum an Elementen einer solchen Oberfläche fordert, an die sich immer mehr Hersteller anlehnen. SAA steht dabei für Systems Application Architecture (anwendungsbezogene Systemarchitektur) und bedeutet, daß • eine einheitliche Bedienerunterstützung vom Großrechner bis zum PC dafür sorgt, daß sich die Nutzer sehr schnell in verschiedenen Programmen und an verschiedenen Rechnern zurechtfinden (so wie jeder Führerscheinbesitzer unterschiedliche Fahrzeuge bedienen kann). Dies reicht von einheitlichen Tastaturbelegungen bis hin zur Verwendung einheitlicher Befehle und gleicher Bildschirmaufbauten; auch DOS-Programme lassen sich dadurch einfacher und mit der Maus bedienen. Daneben wird die leichte Kommunikation unterschiedlicher Rechner in Netzen und die Vereinheitlichung von Programmiersprachen und Datenbankabfragen gefordert. Kritisch angemerkt werden muß allerdings, daß es gerade in Textverarbeitungsprogrammen oft lästig ist, sich durch verschiedene Menüs zu hangeln, nur um ein Wort fett darzustellen. Deshalb werden wieder verstärkt Tastaturkürzel oder Short-Cuts eingefügt.
276
4
Softwareentwicklungen
Der Einsatz von Bedieneroberflächen ist immer noch weit vom Ziel entfernt, selbsterklärende Programme vorzufinden. Vieles läuft noch nach dem Motto: Klicken Sie in die Menueleiste, dann in den Menuepunkt "Weiter so", in die Dialogbox "Prima"... Und wenn die Meldung „Programm wurde beendet, Speicherfehler" durch ein Anklicken der OK-Schaltfläche bestätigt werden soll, ist das wohl kaum ok.
4.4 Textverarbeitung Der klassische Anwendungsbereich auf dem Gebiet einfacher PC-Technologien und nach wie vor die am häufigsten aufgerufene Funktion dürfte die Textverarbeitung sein. 90% aller Rechner verfügen über eine solche Software, denn kein geschäftlicher Ansprechpartner wird heutzutage Ausarbeitungen annehmen, die wegen handschriftlicher Krakeleien nur mühsam zu entziffern sind. Auch die gute alte (Reise-)Schreibmaschine ist mittlerweile out, häufig benutzte Buchstaben sind verschmutzt oder haben sich ganz verabschiedet. Ersatzteile gibt es nur noch auf Auktionen. Erste Programme waren Easy Writer von Information Unlimited Software und
Volkswriter
von Lifetree. 1982 kam der seit 1979 vom Betriebssystem CP/M bekannte Klassiker Wordstar von Micro Pro auch für DOS auf den Markt; Multimate von Ashton Täte und
Wordperfect,
damals von Data General Minis, folgten. Ein Jahr später gab es die erste Version von Word-, neu waren u.a. Druckformatvorlagen, Fenster, Filter zu Wordstar und Proportionalschrift. Mit über 450.000 verteilten Demoversionen (ohne Speicher- und Druckfunktionen) versuchte man auch hier, die Vormachtstellung von Wordstar zu brechen. 1985 wurde T3 von Triad als erste Textverarbeitung mit dem sogenannten WYSIWYG (What you see is what you get) vorgestellt, also der relativ getreuen Abbildung des auszudruckenden Textes auf dem Bildschirm. 1986 bzw. 1987 kamen die ersten DTP-(Desktop Publishing-) Programme für Windows, Pagemaker und der Ventura
Publisher.
War der Nutzer früher froh, wenn er Anfang der 80er Jahre schon die deutschen Sonderzeichen ä, ö, ü und ß schreiben konnte, so sind heute Blocksatz und Silbentrennung Standardfunktionen geworden, die jedes Programm bietet. Dennoch gilt: Es gibt kein bestes Textverarbeitungsprogramm, vielmehr bestimmt der jeweilige Einsatzzweck die Vorteilhaftigkeit. Ein
4
Softwareentwicklungen
277
guter Roman schreibt sich nach wie vor nicht von selbst, auch wenn manche Texte mit verschiedenen Schriftarten und -großen diesen falschen Eindruck erwecken wollen.
Einige Vorteile von Textverarbeitungsprogrammen gegenüber Schreibmaschinen sind im Überblick: • Texte können leicht verändert werden und brauchen nicht jedesmal erneut eingegeben werden, häufig verwendete Textbausteine werden einfach aufgerufen und eingefügt, gespeicherte Texte können überarbeitet und ohne neue Erfassung verändert werden. • Textbausteine können an andere Stelle kopiert oder verschoben werden. • Zeichen, Absätze, Ränder, Tabulatoren können individuell eingestellt werden, nachträgliche Änderungen des Schrifttyps (unterstreichen, fett, kursiv, Größe usw.) sind problemlos möglich, Änderungen können widerrufen werden. • Automatische Seitenumbrüche werden auch nach Änderung des Textes automatisch durchgeführt, die Seiten werden neu numeriert, Kopf- und Fußzeilen werden entsprechend eingefügt, Fußnoten werden seitengenau verwaltet. •
Serienbriefe können leicht erstellt werden und erwecken den Eindruck individueller Anschreiben.
•
Rechtschreibfunktionen überprüfen die Richtigkeit des eingegebenen Textes (man sollte sie jedoch nicht automatisiert ablaufen lassen, da merkwürdige Ersetzungen vorkommen können).
•
Ein Thesaurus bietet alternative Worte.
•
Suchfunktionen unterschiedlichster Art vereinfachen Korrekturen; Gliederungen und Glossars werden automatisch erstellt.
•
Mit zahlreichen Assistenten für Druckformatvorlagen, Dokumentvorlagen usw. werden standardisierte Texte geboten (die dem Empfänger dann vielleicht bekannt vorkommen).
•
On-Line-Hilfen ermöglichen jederzeit den Zugriff auf Bearbeitungshinweise.
278 ^
4
Softwareentwicklungen
Allerdings sollte man von der Silbentrennung nicht zu viel erwarten. Gerade die deutsche Sprache ist durch die unterschiedlichen Beugungen schwierig zu beherrschen, Silbentrennungen sind daher bestenfalls in 98% aller Fälle korrekt. Zudem können grammatikalische oder stilistische Fehler (z.B. das tut warten) genauso wie sinnentstellende Tippfehler (Tinte statt Tante) natürlich nicht erkannt werden. Auch bei Fachtexten ist die mitgelieferte Rechtschreibhilfe schnell überfordert, deshalb müssen die unbekannten Begriffe nach und nach selbst eingegeben werden (aber richtig!).
Ein wesentlicher Nachteil dieser Programme soll allerdings nicht verschwiegen werden: sie sind echte Papierfresser. Als es noch die Schreibmaschine gab, wurde genau formuliert und vorher überlegt, ob Texte geändert werden müssen. Heute werden Fehler bereinigt, es wird gedruckt, geändert, gedruckt und wieder geändert. Das wichtigste Kriterium
für die Auswahl eines Textverarbeitungsprogramms ist die
Bedienerfreundlichkeit. Dabei gibt es grundsätzlich drei Wege der Annahme von Befehlen: • Über Tastenkombinationen
(z.B. Strg+F6); eine Eingabemethode, die sich eigentlich nur
für Bediener eignet, die sehr häufig ein bestimmtes Programm verwenden, da solche Funktionen abstrakt sind und auswendig gelernt werden müssen. Zumindest sollte die Tastenkombination ein wenig anschaulich sein (z.B. Strg+F für Fettdruck). • Über Menuesteuerung, also Befehlsmenues, die auf Tastendruck auf dem Bildschirm erscheinen und durch Anklicken, Cursorbewegung oder einen Buchstaben ausgewählt werden. Diese Vorgehensweise ist aber wesentlich langsamer als die Anwahl über Tastenkombinationen, insbesondere, wenn die Menues hierarchisch geschachtelt sind und häufig weiter verzweigen. • Über grafische Benutzeroberflächen, die, außer der Eingabe des Textes selbst, ohne Tastatur auskommen. Mit der Maus wird der gesamte Verarbeitungsprozeß gesteuert, Textpassagen werden markiert, Befehle ausgewählt.
279
4 Softwareentwicklungen ABB. 4.6:
TEXTBEARBEITUNG MIT DER M A U S
Zum-AnfangzweiBeispiele:^ •
1992- veranstaltete- Pepsi- Cola- auf- den- Philippinen- ein xr
QUELLE:
1...1
-KT..~.
-
I
I ...—U.:. J: — : » U :
SCREENSHOT
Weitere wichtige Anhaltspunkte für eine Beurteilung unterschiedlicher Textverarbeitungsprogramme sollen genannt werden: • Verfügt das Programm über eine Fenstertechnik, können also verschiedene Textpassagen nebeneinander dargestellt werden? • Verfügt das Programm über eine ausfuhrliche Hilfefunktion, die an jeder Stelle aufgerufen werden kann und mögliche Eingaben oder Fehler ausführlich beschreibt? •
Verfügt das Programm über Schnittstellen zu anderen Programmen, beispielsweise zu Datenbankprogrammen, um Daten kombinieren zu können? Sind Filter vorhanden, so dal? Texte dieser Programme weiterverarbeitet werden können?
•
Verfugt das Programm über automatische Sicherungsfunktionen? Wird der Text also regelmäßig abgespeichert, um beispielsweise bei einem Stromausfall nur wenig Daten zi verlieren? Werden automatisch Sicherungskopien der jeweils vorherigen Fassung angelegt.
• Verfügt das Programm über den richtigen Druckertreiber, wird also auch das ausgedruckt was am Bildschirm sichtbar ist? • Verfügt das Programm über einen Grafikmodus, eine Seitenansicht oder die WYSIWYG Darstellung, um schon auf dem Bildschirm die Anordnung des Textes zu überprüfen?
280
4
Softwareentwicklungen
• Arbeitet das Programm schnell genug oder wird die Eingabe durch häufige Speicheraktionen gebremst? Wie arbeitet das Programm bei umfangreichen Texten? •
Können Formeln, Tabellen und Kalkulationsblätter eingebunden werden?
• Verfugt das Programm über eine Makrosprache, können also Anwendungen programmiert werden? Können die Oberflächen dem Anwender angepaßt werden? •
Ist eine Grammatikprüfung eingebunden?
Bekannte Vertreter auf dem Markt sind (natürlich ohne Anspruch auf Vollständigkeit und ohne Bewertung) •
Wordperfect,
•
Word,
•
Starwriter,
•
Wordstar,
• Ami Pro.
Eine Weiterentwicklung der Textverarbeitungsprogramme für die elektronische Erstellung von Druckvorlagen, z.B. im Verlagswesen, für Bedienungsanleitungen, technische Dokumentationen, Zeitschriften und Prospekte, sind die Programme aus dem Bereich DTP. Für die Texterfassung sind diese Programme allerdings nicht besonders geeignet. Außerdem sollten Experten solche Programme bedienen, die vielen verfügbaren Schriften und Bilder erfordern viel Erfahrung, den Anfänger verleiten sie zur Überfrachtung. Zeitgewinn und Kostenersparnis sind nur beim professionellen Einsatz zu erwarten. Dem Mehraufwand für einen zweiseitigen, durch Bilder und Schriften aufgemotzten, aber eigentlich flachen Text, bezahlt der Kunde; die Gestaltung einer Einladung zum Geburtstag dauert beim Anfänger länger als die eigentliche Feier. Dank DTP-Programm hat die Gestaltung einer Strichliste nur einen halben Tag gedauert. Hier können •
XPress,
•
Pagemaker,
• Ventura Publisher
4
Softwareentwicklungen
281
genannt werden. Sie benötigen einen guten und großen Bildschirm (eventuell Ganzseitenmonitor), eine schnelle CPU, für den Einsatz von Grafiken auch eine schnelle und große Festplatte. ABB. 4 . 7 :
I B M P S / 2 MONOCHROMBILDSCHIRM I B M 8 5 0 6
QUELLE:
I B M PRESSEFOTO S W 1 2 1 4 , I B M DEUTSCHLAND, 1 9 9 0
Eine Sonderform sind OCR-Programme zur Erkennung von Texten. Sie versuchen, die original im Grafikmodus eingelesenen Seiten anhand von Vergleichen über Muster oder typische Umrißformen in Texte umzuwandeln.
4.5 Tabellenkalkulation Klassische Vertreter sind das 1979 von Dan Bricklin vorgestellte Visicalc und das für CP/MRechner konzipierte Supercalc. 1982 verdrängten Lotus 1-2-3 und Multiplan diese Vorreiter; 256 Zeilen und 64 Spalten waren damals die Grenzen auf den 256 kByte-Rechnern. Excel kam 1985 und für Windows 1987 auf den Markt. Im Kampf gegen Lotus bot Microsoft den Umstieg für 75S mit der Geldrückgabegarantie, falls 1-2-3 mit einer neuen Version herauskommt und der Nutzer lieber dieses Programm einsetzen möchte.
282
4
Softwareentwicklungen
Kalkulationsprogramme simulieren das klassische Rechenblatt, können also Papier, Bleistift, Radiergummi und Taschenrechner ersetzen. Insbesondere lassen sich Fragen der Art lösen: Was wäre (die Höhe des Absatzes), wenn (der Preis eines Produktes auf 9,85 DM erhöht würde)? Der wesentliche Vorteil gegenüber der Berechnung per Hand ist deshalb die Möglichkeit, unterschiedliche Situationen durchzuspielen, zu kalkulieren. Auch hier gilt, daß einfache Berechnungen nach wie vor mit den klassischen Hilfsmittein durchgeführt werden sollten. Dabei muß man sich ein solches Programm als ein Blatt Papier vorstellen, das in Form einer Matrix in Zeilen und Spalten aufgeteilt ist. Jeder Schnittpunkt von Zeile und Spalte ergibt ein konkret ansprechbares Feld, das von allen anderen Feldern durch die Angabe der Zeilen- und Spaltennummer unterschieden werden kann. In jedes dieser Felder können Texte, Werte oder Formeln eingegeben werden. ABB. 4 . 8 :
EXCEL-BILDSCHIRM Microsoft E x c e l • M a p p e !
Datei
Bearbeiten
Ansicht
:
Einfügen
Format
Extras
S U M M E ( A 4 L4)
Umsätze der Firma XY
Tabellel , ' - 3
QUELLE:
SCREENSHOT
itl.T
Daten
Fenster
?
4
Softwareentwicklungen
283
Beispielsweise werden die Umsätze mehrerer Monate nebeneinander geschrieben und durch die Eingabe einer Formel im danebenliegenden Feld (z.B. Summe(Feld A1:A12)) automatisch berechnet. Ändert man den Umsatz eines bestimmten Monats, so wird automatisch auch der Jahresumsatz neu berechnet. Da alle Tabellenkalkulationen nach diesem Prinzip arbeiten, sind die Unterschiede gering. Auswahlkriterien müssen deshalb an den möglichen Zusatzfunktionen festgemacht werden: • Sind zahlreiche statistische Funktionen integriert, können also z.B. Mittelwertberechnung, Standardabweichung usw. direkt aufgerufen werden, existieren dafür vordefinierte Funktionen oder muß der Anwender sich selbst entsprechende Formeln konstruieren? • Ist es möglich, verschiedene Tabellen miteinander zu verknüpfen, können also einzelne Werte in andere Tabellen übertragen werden? • Können die Daten in andere Programme konvertiert werden, z.B. um Grafiken zu erstellen? Bleibt diese Verbindung stabil, werden also bei Änderungen in den Tabellen auch die entsprechenden Grafiken angepaßt? Verfügt das Programm eventuell sogar über ein eigenes Grafikmodul? • Können einfache Datenbankfunktionen ausgeführt werden? • Verfugt das Programm über Makrofunktionen, lassen sich also immer wiederkehrende Tastenfolgen abspeichern und schnell aufrufen? • Wird die Hardware ausreichend unterstützt, sind also die Berechnungen nicht zu zeitaufwendig? • Sind Zielberechnungen möglich, können also Parameter in Abhängigkeit von einem vorgegebenen Ergebnis berechnet werden? Der häufigste Anwendungsbereich liegt daher im Bereich Finanzierungen, Investitionen und Kalkulationen, wobei die Größe heutiger Tabellenkalkulationsprogramme, also die Anzahl der verfügbaren Zeilen und Spalten, immer ausreichend sein dürfte. Bekannte Vertreter sind • Excel, • Quattro Pro, • Lotus 1-2-3, • Improv. Empfehlenswert ist ein Rechner mit großem Speicher und mathematischem Coprozessor.
284
4
Softwareentwicklungen
4.6 Datenbank Vom Namen her der eigentlich logische Anwendungsbereich, geht es doch in der betrieblichen EDV vorwiegend um die Verarbeitung von Daten. Mit solchen Programmen lassen sich große Datenmengen, die vom grundsätzlichen Aufbau her gleich sind, speichern und bearbeiten. Beispiele sind Einwohnermeldedateien oder Artikellisten. Der Vorteil liegt vor allem in der schnellen Durchforstung solcher Datenbestände und der Suche nach bestimmten Datensätzen, die vorgegebene Kriterien erfüllen. Einige Beispiele sollen diesen Sachverhalt verdeutlichen: • In einer Rechnungsdatei sollen alle die Kunden gesucht werden, die ihre Rechnung noch nicht beglichen haben. • Von allen Kunden sollen diejenigen speziell angeschrieben werden, die im laufenden Jahr noch keine Bestellung getätigt haben. •
Ein Handelsvertreter möchte eine Liste aller in Bochum neu niedergelassenen Zahnärzte.
• Alle Lagerartikel werden daraufhin überprüft, ob sie einen Mindestbestand unterschritten haben. • Ein Fußballtrainer erstellt eine Liste, in welche Ecke Elfmeterschützen in der Regel schießen. • Ein Videothekenbesitzer sucht alle Filme mit Mel Brooks aus den Jahren 1980 bis 1985.
Historisch beginnen Datenbanken 1974 mit dem von der NASA entwickelten JPLDIS (Jet Propulsion Laboratory Data Management and Information Retrieval System), in dem Daten der Raumfahrt gesammelt wurden. 1977 portierte der Angestellte Wayne Ratliff das System auf einen selbstgebauten Computer und nannte es Vulcan. Hai Cashlee und George Täte gründeten Ashton Täte, erwarben 1980 die Vertriebsrechte und nannten es dBase II. Schon 1983 stieg der Umsatz auf 40 Mio. $. Da die Weiterentwicklung etwas vernachlässigt wurde, konnten andere Firmen auf dem Markt Fuß fassen, Paradox und Q&A kamen, Informix und Oracle für Großrechner. Die heutige Unterscheidung in hierarchische, vernetzte, relationale und objektorientierte Datenverwaltungssysteme ist für den Anfanger nicht sehr bedeutend. Zum Aufbau von Datenbanken gehören nämlich fundierte Kenntnisse über Datenorganisation und Datenmodel-
4
Softwareentwicklungen
285
lierung, sie sollten daher dem erfahrenen Fachmann überlassen werden. Es handelt sich nämlich nicht um das einfache Abbild von Karteikästen, sondern um komplexe Systeme aus Datenbestand bzw. -basis, Datenverwaltung und einer Sammlung aus zahlreichen Beziehungen zwischen diesen Daten. Auch bei der Auswahl eines Datenbankprogramms (bzw. Datenverwaltungssystems) sind verschiedene Kriterien zu beachten: • Ist die Benutzerfuhrung ausgereift, kommt der Anwender ohne das Erlernen von komplizierten Abfragebefehlen aus? Werden Kontexthilfen angeboten? • Datenfelder sollten verschieden definiert werden können, sie sollten außerdem, um Fehler zu vermeiden, nur bestimmte Eingaben zulassen. Beispielsweise darf in einem Datumsfeld die Eingabe 13-13-91 nicht angenommen werden. • Lassen sich mit dem Programm übersichtliche Reports anfertigen, die die gesuchten Informationen anschaulich darstellen? • Können die Daten direkt in Grafiken und Texte eingebunden werden? • Kann die Struktur einzelner Datenfelder oder -Sätze nachträglich verändert werden, ohne daß die Daten selbst verloren gehen? Kann also z.B. ein Feld verlängert werden, weil ein neuer langer Name hinzugekommen ist? • Können Relationen gebildet werden, handelt es sich also um eine sogenannte relationale Datenbank, die Beziehungen zwischen verschiedenen Datenbeständen (z.B. Kundenkartei und Rechnungsdatei) herstellen kann? • Ist die Kapazität im Prinzip unbeschränkt, also lediglich durch den vorhandenen Speicherplatz begrenzt? •
Ist die Arbeitsgeschwindigkeit hoch genug, um auch umfangreiche Datensätze in angemessener Zeit bearbeiten zu können? Können Schlüssel- oder Indexfelder definiert werden?
•
Sind die Suchalgorithmen ausgereift, können Abfragen und Abfrageergebnisse gespeichert werden?
Die typischen Vertreter dieser Gattung sind •
dBase,
• Fox Pro, •
Paradox,
•
Access,
•
Oracle.
286
4
Softwareentwicklungen
Empfehlenswert ist eine schnelle Festplatte mit hoher Kapazität, da beispielsweise beim Sortieren ein Mehrfaches an Platz benötigt wird. Ein guter Prozessor mit Cache ist ebenfalls sinnvoll, während ein einfacher Bildschirm ausreichen dürfte. Erste Standards für einen Datenaustausch sind das IDAPI (Integrated Database Application Programming Interface) von Novell und IBM sowie das ODBC (Open Database Connectivity) von Microsoft.
4.7 Präsentationen Eine Grafik sagt mehr als tausend Worte. Zahlenfriedhöfe, in denen mehrere hundert Umsatzdaten abgelegt sind, bleiben unübersichtlich und wenig illustrierend. Eine Skizze zeigt einen Weg besser als eine verbale Beschreibung. Gute Grafiken wirken zudem überzeugender. Grafikprogramme dienen daher der Erstellung von Zeichnungen und der Umsetzung von Zahlenwerten. Auch in diesem Sektor werden sehr unterschiedliche Programme angeboten, von einfachen Malprogrammen bis hin zum CAD-System. Die Namen variieren, auch wenn häufig das Gleiche gemeint ist: Zeichenprogramm, Businessgrafikprogramm,
Animationspro-
gramm; die Grenzen sind fließend. Die Decision Ressources schafft 1981 mit Chart-Master einen ersten Standard, als Ergänzung zu Multiplan kommt 1984 Chart auf den Markt, ebenso PC-Paint für den Mac. Draw wird unter Windows ab 1985 eingesetzt. Genauso unterschiedlich wie die Namen und die Preise sind aber häufig auch die verwendeten Formate, in denen die Daten abgespeichert werden. Beispiele sind BMP, PCX, TIF, PIC, GEM. Deshalb ist es nur selten möglich, Daten von Programm zu Programm direkt zu transformieren. Vor dem Kauf sollte abgeklärt werden, ob die Daten mit den Programmen, die man ansonsten einsetzt, kompatibel sind. Die Vorteile eines solchen Systems liegen klar auf der Hand. Daten, die an anderer Stelle erhoben wurden, können direkt in Grafiken umgesetzt werden. Sonst verbringt man Stunden mit dem Import von Grafiken, die man früher in den Text eingeklebt hätte. Aber als Power-User tut man das natürlich nicht.
4
287
Softwareentwicklungen
Einige Kriterien können im folgenden dargestellt werden: Manche Grafikprogramme arbeiten pixelorientiert, d.h. das Bild wird aus einzelnen Bildpunkten erzeugt. Dies hat den Vorteil, daß sich eben auch einzelne Bildpunkte leicht verändern lassen, aber auch den Nachteil, daß z.B. bei Vergrößerungen Linien zu Treppen werden können. Beim Verkleinern entfallen Pixel und damit unter Umständen auch Details. Diese Programme eignen sich in Kombination mit einem Scanner zur Bearbeitung vorhandener Zeichnungen oder Bilder. Einzelne Bereiche können farblich verändert, retuschiert oder ganz ausgeblendet werden. Besser arbeiten im wirtschaftlichen Bereich vektororientierte Präsentationsprogramme. Dabei wird z.B. eine Linie dadurch erzeugt, daß Anfangs- und Endpunkt festgelegt und beide Punkte verbunden werden; durch mathematische Funktionen werden Kreise erzeugt (durch Vorgabe von Mittelpunkt und Radius). • Die Bilder werden in der maximal zur Verfügung stehenden Auflösung dargestellt, d.h. in Abhängigkeit von der Auflösung der Grafikkarte bzw. dem verwendeten Drucker. • Die Grafiken können beliebig manipuliert, also gedreht, versetzt, kopiert werden, da nicht das einzelne Pixel, sondern die mathematische Funktion übertragen wird. • Farben können beliebig eingefugt werden, Flächen lassen sich einfach einfärben. • Vergrößerungen führen schließlich nicht zum angesprochenen Treppeneffekt. Konvertierungsprogramme können Pixel- in Vektorgrafiken anhand von Kontrastunterschieden umwandeln. Clip-Art Bibliotheken stellen umfangreiche vorgefertigte Bilder in verschiedenen Formaten zur Verfügung; Snapshoot- oder Capture-Programme können Bildschirminhalte übertragen. Mit einfachen Malprogrammen
kann man Linien, Kreise usw. mit Pinseln, Sprühdosen,
Radierern zeichnen und löschen. Exakte und maßstabsgetreue Abbilder der Wirklichkeit lassen sich damit wohl kaum erzielen. Oft sind die Zeichnungen nicht besser als per Hand erstellte oder sie erinnern an naive Kunst. Bildbearbeitungsprogramme
eignen sich zur Nachbehandlung von Photos oder zu Bildmonta-
gen. Sie sind mittlerweile so perfekt, daß nichts mehr glaubwürdig erscheint, da alles getürkt werden kann. Der Eiffelturm im Monument Valley ist keine Schwierigkeit mehr.
288
4
Animationssoftware
Softwareentwicklungen
erzeugt bewegte Grafiken, sie wird überwiegend im Bereich der Ver-
kaufsförderung eingesetzt, oder dort, wo Veränderungsabläufe besonders deutlich hervorgehoben werden sollen. Sie erfordern wie CAD-Programme
Rechner mit hohen Arbeitsspeichern und besonders
schnellen Prozessoren. Solche CAD-Programme werden überwiegend im Bereich Konstruktion und Architektur eingesetzt, wo es um sehr genaue Darstellungen geht. Sollen Zahlen aus Tabellen in Grafiken umgesetzt werden, spricht man häufig auch von Präsentations-
oder Business-Grafik.
Diese Programme können z.B. eingesetzt werden, um
•
Wahlergebnisse und Sitzverteilungen in Form von Kuchendiagrammen,
•
Umsatzentwicklungen mit Hilfe von Histogrammen oder
•
saisonale Entwicklungen mit Hilfe von Liniendiagrammen
zu verdeutlichen. ABB. 4.9:
BILDSCHIRM VON H A R V A R D GRAPHICS
BUCH-ROS.PRS
\ m
QUELLE:
Jahresüberblick
|
Real Film
SCREENSHOT
Im geschäftlichen Bereich sollte daher auf ein Businessgrafikprogramm zurückgegriffen werden, das alle im folgenden angesprochenen Kriterien und Optionen beinhaltet. Es sollte: •
bedienerfreundlich sein,
•
zahlreiche Schriftarten und -großen ermöglichen,
4
Softwareentwicklungen
289
• Daten anderer Programme lesen und Daten in andere Programme exportieren können, • unterschiedliche Darstellungsvarianten beinhalten, dazu gehört auch die Darstellung in 3-D, • Grafiken in vertretbarer Zeit anfertigen, • eine mitgelieferte Bilddatei mit Symbolen und Zeichnungen enthalten und • die Option unterstützen, mehrere Bilder in einer Präsentationsdatei abzulegen, die dann automatisch ablaufen kann.
Aber auch hier gilt: Ein Balkendiagramm mit Münzen statt Balken, hinterlegt mit einer Weltkarte, umrahmt von Männeken, in 3 Schriftarten bewirkt das Gegenteil vom ersten Satz dieses Abschnitts. ABB. 4 . 1 0 : BILDSCHIRM VON HARVARD GRAPHICS
QUELLE:
SCREENSHOT
Bekannte Vertreter sind • Harvard Graphics, •
Freelance,
•
Powerpoint,
• Corel Draw, •
Designer,
•
PhotoShop.
290
4
Softwareentwicklungen
Erforderlich ist ein Rechner mit viel Arbeitsspeicher, großer Festplatte und einer schnellen Grafikkarte. Ein ausreichend dimensionierter Bildschirm ist ebenfalls zu empfehlen. Zum Schluß sollte angemerkt werden, daß gerade ausgefeilte Grafikprogramme auch die Manipulation bzw. die Verschönerung von Daten ermöglichen. Corriger la fortune, korrigiere das Glück, belasse die Zahlen, aber stelle sie etwas gefälliger dar. Werbebudget für Produkt A in 1000 DM
Umsatz mit Produkt A in Mio. DM
58 64 69 73 76 79 81 83 84 85
1981 1982 1983 1984 1985 1986 1987 1988 1989 1990
114 110 108 105 101 98 95 90 89 88
Stellt man die Zahlen in den oben angegebenen Maßstäben dar, so erweckt die Grafik den Eindruck, daß sich Umsatz und Werbebudget bedrohlich angenähert haben, oder anders: der permanenten Steigerung des Werbebudgets steht eine deutliche Verringerung des Umsatzes entgegen.
120
T
1981
1982
1983
1984
1985
1986
1987
Werbebudget für Produkt A in 1000 DM • Umsatz mit Produkt A in Mio. DM B
1988
1989
1990
4
291
Softwareentwicklungen
Noch katastrophaler erscheint die Entwicklung, wenn man den Nullpunkt unterdrückt, nur den Umsatz darstellt und die Skala zwischen 80 und 120 ansetzt.
120 115 110 105 100 95 90 85 80 1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
p Umsatz mit Produkt A in Mio. DM
Stellt man aber beide Größen einheitlich in Mio. DM dar, ist die Entwicklung längst nicht so erschreckend, da die Steigerung des Werbebudgets kaum noch wahrgenommen wird, ein eher gesundes Verhältnis zwischen Umsatz und Werbebudget wird suggeriert.
120 100 80 60 40 20
o ; 1981
1982
1983
1984
1985
1986
• 1987
1988
_ Werbebudget für Produkt Ä in fflTö.'DM~ _ Umsatz mit Produkt A in Mio. DM
•
•
1989
1990
292
4
Softwareentwicklungen
Auch Prozentwerte können viel vertuschen. Stellt man die Wachstumsraten dar, die sich ergeben, wenn man den jeweiligen Wert auf den des Vorjahres bezieht, ist es beeindruckend, daß der Werbebudgetzuwachs sogar rückläufig ist; der Anstieg der Werbekosten ist also von 1980 auf 1991 drastisch gesunken.
115% -
1981
1982
1983
1984
1985
1986
1987
1988
1989
gWachstumstraten Wertebudget pWachstumstraten Umsatz
Hilfreich (für den Nutznießer) ist auch der Trick, gerade zwei Jahre herauszugreifen, die einen ganz besonders negativen Eindruck erwecken, um z.B. einen Vorgänger in einem schlechten Licht erscheinen zu lassen.
120 115 110 105 . 100 95 90 85 80 75 70 65 60 55 50
H
Werbebudget für Produkt A in 1000 DM
• Umsatz mit Produkt A in Mio. DM
1981
1982
Beliebt sind auch dreidimensionale Grafiken mit viel Beschriftungen, die es dem Betrachter nicht sofort ermöglichen, den eigentlichen Sachverhalt zu erkennen. Oder viele Datenreihen
4
293
Softwareentwicklungen
werden in nur einem Diagramm dargestellt, das erschwert ebenfalls die Analyse. Auch die Schraffur (Umsatz nach rechts oben = positiv) bzw. die Verwendung hoffnungsvoller Farben (Umsatz in grün = positiv, Werbebudget in rot = negativ) können ein insgesamt negatives Ergebnis zwar nicht retten, aber dennoch verschönern. Daher einige Ratschläge, die man bei der Erstellung von Grafiken beherzigen sollte: • Eine Grafik beinhaltet immer eine Überschrift und eine genaue Quelle. Auch die Achsendimensionen und -bezeichnungen müssen deutlich werden, allerdings sind doppelte Bezeichnungen (Monate und Januar, Februar) überflüssig. • Eine Schriftart mit unterschiedlichen Attributen (z.B. fett) wirkt besser als Schriftartenspielereien. Auch ein Hintergrund sollte nicht zu sehr ablenken. •
Serifenlose Schriften wirken nüchterner und sind damit dem Zahlenmaterial besser angepaßt, andererseits dienen Serifen der Orientierung.
• Farben sollten zusammengehörig eingesetzt werden, also Überschrift und Quelle in der gleichen Farbe; den Farbeinsatz sollte man nicht übertreiben. • Kreisdiagramme dürfen nicht zu viele und zu kleine Segmente enthalten. • Bei eindimensionalen Darstellungen (Umsätze in Monaten) sind dreidimensionale Grafiken nicht nur überflüssig, sondern falsch. Ihr Einsatz ist nur erlaubt, wenn tatsächlich drei Abhängigkeiten vorliegen (Umsätze, Monate, Geschäftseinheiten). • Reine Textgrafiken enthalten maximal 8 Zeilen mit wenigen Worten, auf keinen Fall ganze Textpassagen; die Schrift muß ausreichend groß sein. •
Durch zu viele und zu schnell wechselnde Grafiken ist der Zuseher häufig überfordert, weniger ist oft mehr. Zusätzlich sollte eine Papiervorlage verteilt werden. Auch ein einheitliches Erscheinungsbild der Präsentationen erleichtert den Wechsel.
4.8 Integrierte Pakete Als integrierte Pakete werden Programme bezeichnet, die mehrere der oben aufgeführten Aufgaben bewältigen können und häufig für die tägliche Arbeit völlig ausreichend sind. Mindestens
enthalten
Tabellenkalkulation,
sie daher eine Textverarbeitung, häufig
aber
auch
grafische
eine Dateiverwaltung
und
Umsetzungsmöglichkeiten,
eine einen
294
4
Softwareentwicklungen
Taschenrechner, einen Terminkalender, seltener eine Funktion zur Übertragung von Daten über öffentliche oder lokale Netze. Die Vorteile liegen klar auf der Hand. Bedient man unterschiedliche Einzelprogramme von unterschiedlichen Herstellern, muß man häufig mit unterschiedlichen
Benutzeroberflächen
le-
ben; das eine Programm erwartet Punktbefehle, das andere unterstützt die Maus, wieder andere werden über Menueleisten gesteuert und andere bedienen sich der Pull-Down-Menues. Auch der Datentransfer
führt häufig wegen unzureichender Standardisierung zu Problemen.
Selbst Programme eines Herstellers sind nicht immer kompatibel; ein und dieselbe Funktionstaste führt zu unterschiedlichen Befehlen. Integrierte Pakete arbeiten • mit einer Benutzeroberfläche, daher haben • viele Befehle in allen Programmteilen die gleiche Bedeutung, • zudem können Daten leicht zwischen den Programmteilen konvertiert werden und • alle Programmteile können gleichzeitig bearbeitet werden, ohne das Programm verlassen zu müssen.
Das hat zusätzliche Vorteile:
W
•
Der Lernaufwand ist geringer.
•
Die Peripheriegeräte müssen nur einmal installiert werden. Works war das erste Programm, daß 1987 mit einer umfangreichen On-Line-Hilfe und einem Lernprogramm vorgestellt wurde.
Im privaten, aber auch im geschäftlichen Bereich leisten diese Programme häufig das, was in der täglichen Arbeit anfällt, und mehr. Da sie kostengünstiger sind als verschiedene Einzellösungen, sowohl vom Anschaffungspreis als auch von der Einarbeitungszeit, stellen sie eine sinnvolle Alternative dar. Denn insbesondere muß gefragt werden, ob das, was die Einzelprogramme an Mehr leisten, überhaupt notwendig ist. Funktionen zur Erstellung von Gliederungen, Kopfzeilen und Fußnotenverwaltungen sind häufig auch in integrierten Paketen zu finden und werden zudem auch nur im wissenschaftlichen Bereich benötigt. Allerdings sollte man auch hier die Pakete erst einmal testen, denn jedes hat seine Stärken und Schwächen bzw. bevorzugt einen Anwendungsbereich.
4
Softwareentwicklungen
295
Bekannte Vertreter sind • Works (von Anbietern wie Microsoft, Wordperfect, Claris). Zu unterscheiden sind davon sogenannte Office-Lösungen, die mehrere der vorgestellten Vollversionen unter einem Dach vereinigen, somit keine eigene Entwicklung sind. Beispiele sind: • Microsoft Office mit Winword, Excel, Powerpoint und als Professional auch mit Access, • Perfect Office mit Wordperfect, Quattro Pro, Presentations u.a., • Lotus Smartdrive mit Ami Pro, 1-2-3, Organizer, Freelance, Approach.
4.9 Statistik Diese Programme dienen der Unterstützung von statistischen Auswertungen jeder Art, häufig sind auch Grafikfunktionen integriert. Vorteile sind die schnelle Berechnung solcher Kennziffern, die das statistische Ausgangsmaterial verdichten. Viele moderne Verfahren der Statistik (z.B. Zeitreihenanalysen) sind so komplex geworden, daß sie ohne die Hilfe von Rechenanlagen gar nicht oder jedenfalls nicht in vertretbarer Zeit durchgeführt werden können. Das gleiche gilt fiir große Datenbestände, wie z.B. nach Volkszählungen, die ohne den Einsatz der EDV nicht in der Zeit bearbeitet werden könnten, die einer Veralterung der Daten vorgreift. Auch der Wirtschaftswissenschaftler wird immer mehr mit statistischen Prozeduren konfrontiert. Die Auswertungen von großen Datenbeständen wie z.B. Umsatzstatistiken nach Regionen und Produkten, Prognosen von Absatzzahlen und Korrelationen von unterschiedlichen Daten können bedeutende Wettbewerbsvorteile erbringen. Wichtige Kriterien sind gerade in diesem Bereich die Bedienerfreundlichkeit und die Klarheit der Berechnungsverfahren, da unterschiedliche Methoden und Instrumente in vielen Bereichen der Statistik existieren, die deutlich nachvollziehbar sein müssen.
296
4
Softwareentwicklungen
So existieren in der Praxis beispielsweise unterschiedliche Verfahren zur Analyse von saisonalen Schwankungen in wirtschaftlichen Zeitreihen: • die Bundesbank verwendet dazu das sogenannte CENSUS-Verfahren, • das DIW und das Statistische Bundesamt verwenden das Berliner Verfahren, • das Ifo-Institut verwendet das ASA-Verfahren. Nur ein Programm, das seine Verfahrensweise offenlegt, kann daher zur Berechnung und zum Vergleich herangezogen werden. In den falschen Händen wird es zum Problem, denn ein Computer versteht nichts, er ist kein Orakel; er kann lediglich die vorgegebenen Regeln konsequenter und ermüdungsfreier ausfuhren als ein Mensch. Bekannte Vertreter sind hier: •
SPSS,
•
Statgraphics,
•
SAS.
ABB. 4.11:
Datei
IB
B I L D S C H I R M DES P R O G R A M M S S P S S FÜR W I N D O W S
Bearbeiten
Daten
S P S S für Windows Transformieren Statistik Grafik
Extras
Fenster
?
w:\spsswin\bank.sav
IM
M;
saiben
sex
time . . age
salnow
S9ISKÜ9HI / 'work edleve!
jofacat.
miriprily :
4
0
1
628
8400
0
81
28.50
16080
16
.25
2
630
24000
0
73
40.33
41400
16
12.50
5
0
; • 3 632
10200
0
83
31,08
21960
15
4.08
5
0
19200
16
1.83
4
0
„- '
4
633
8700
0
93
31.17
5
635
17400
0
83
41,92
28350
19
13,00
5
0
6
637
12996
0
80
29,50
27250
18
2,42
4
0
7 :s
641
6900
0
79
28,00
16080
15
3,17
1
0
649
5400
0
67
28,75
14100
15
,50
1
0
9
650
5040
0
96
27,42
12420
15
1,17
1
0
' 10
652
6300
0
77
52,92
12300
12
26,42
3
0
11
653
6300
0
84
33,50
15720
15
6.00
1
0
.
aaiBMi
'
; ;
u n S-Prozessor bereit QUELLE:
j 1
"V' -
SCREENSHOT
ra*«
w m i
I
MM
,: •
mmi
hj M B l l i i i M i pssasil m
4
Softwareentwicklungen
297
Anforderungen sind mindestens ein Rechner mit mathematischem Coprozessor, großem Arbeitsspeicher und je nach Datenbestand ausreichender Festplattenkapazität. Einfache Bildschirme sind oft ausreichend; bei grafischen Darstellungen ist eine hohe Auflösung sinnvoll.
4.10 Branchensoftware Sie ist spezieller und mehr auf die Bedürfnisse einzelner Benutzergruppen ausgerichtet. Werden Textverarbeitungsprogramme beispielsweise von Bankern und Versicherungskaufleuten gleichermaßen genutzt, können viele andere Anwendungsgebiete von einer Standardsoftware häufig nicht abgedeckt werden. Steuerberater benötigen andere Programme als Handwerker oder Ärzte. Wichtige Bausteine einer oft modular aufgebauten Branchenlösung sind neben einer Textverarbeitung beispielsweise: •
Adreßverwaltung,
•
Finanzbuchhaltung,
•
Fakturierung,
•
Lagerhaltung,
•
Kalkulation,
•
Materialwirtschaft,
•
Zeiterfassung,
•
Spezialberechnungen.
Von großer Bedeutung ist die Integration branchenspezifischer Anforderungen, z.B. • Abrechnungsverfahren mit den Krankenkassen, • Kalkulationsverfahren, die Verdingungsordnungen berücksichtigen, • Berechnungsverfahren, die gesetzlich festgelegte Normen berücksichtigen, z.B. GOB (Grundsätze ordnungsgemäßer Buchführung). Insbesondere ist auch darauf zu achten, daß Aktualisierungen solcher Rahmenbedingungen ständig in die Software übernommen werden (z.B. Updates neuer Steuergesetze und gerichtlicher Entscheidungen) und daß die Programme anerkannt sind (z.B. vom Finanzamt).
298
4
Softwareentwicklungen
Vor dem Kauf einer Branchenlösung sollte auf eine detaillierte Vorführung geachtet, spezielle betriebliche Probleme sollten durchgespielt werden. Auch unabhängige Berater, die Kammern und verschiedene Verbände vergeben Prüfsiegel und können häufig weiterhelfen. Vielleicht ist auch ein Geschäftskollege bereit, seine Erfahrungen mit einem bestimmten Programm zu schildern. Bezugsquellen sind Kataloge und Softwarefuhrer. Ein bekannter Vertreter ist z.B. SAP. Dem Homebanking •
Money,
•
Quicken,
dienen
die auch von privaten Anwendern eingesetzt werden können.
Weitere spezielle Anwendungen sind z.B.: •
Projektmanagement,
•
Vertriebssysteme,
•
Lernprogramme,
•
Planspiele.
4.11 Public Domain und Shareware Das Besondere an diesen Programmen ist, daß sie nicht urheberrechtlich geschützt sind; allerdings sollte man sich erst dann darauf verlassen, wenn im Programm ein deutlicher Hinweis darauf gegeben wird. Sie können also ungestraft benutzt, kopiert und weitergegeben werden. Häufig werden diese Programme über Zeitungen und von Händlern angeboten, es wird dann lediglich ein Versandkostenanteil, eine Kopiergebühr und der Preis der Disketten berechnet. Dabei steht Public Domain (PD) für öffentlichen Besitz, ein Begriff aus den USA, wo alle durch Steuergelder finanzierten Programme public, also jedem Interessenten zugänglich gemacht werden müssen. Freeware ist PD-Software ähnlich, kostet nichts, die Autoren behalten sich allerdings das Urheberrecht vor.
4
299
Softwareentwicklungen
Daneben gibt es auch Programme, die aus reiner Programmierlust entstanden sind und die der Erfinder gerne weitergeben möchte. Die Anzahl dieser Programme ist mittlerweile imponierend, es findet sich aus fast allen oben angesprochenen Bereichen etwas. Allerdings sind viele dieser Programme auch überflüssig oder fehlerhaft, fast immer fehlen Anleitungen und so ist ein vernünftiger Einsatz und ein Abbruch dieser Programme häufig eine Art "trial and error". ABB. 4.12:
BILDSCHIRM EINES S H A R E W A R E P R O G R A M M S
HÜ 2/15/95
SpeedCommander - Shareware
Qatei
Verzeichnis
I —
C: driveOvolOO
B
Datenträger
Voreinstellungen
Hille
C: drtveOvolOO
I«
toolexe
AMI
bootsys cîpç.bat
b P;-C64_EMU1 C64_TOOL CL CÎTYGUÎD PHLUTIL
CJ PCTOOLS jpïRÉBEii.' ¡&SB16 , Q SCAN 'pSIEC-M'NN p'TEST C3 UTIL B VIDEOOAT CZ WVE81ST P ^INOOWS p UNWORO E 3 suiosxec bat
Archiv
eSuaiia set comnnand CQII cpnfljjiii condB.old E C [
confls.sys dlifom
j p EUROOlOTl • ] GAMES ] OSCANW öleset Programm wl Shareware. ] INTERNET1 Wehn Sie den SpeedComaandei tvach einer Tusiühüto nutzen weilen. lasten Sie «ich Tür ] J N T ï R P H : i 45.00 OM leoMtiionjn ] IPPLUS Autoc Verhieb ; KOBOLD JDS jen» Drittte Sven Bitter : 3 KOSTET, Pf 1260 Uiedomei StmBe 17 j US 26302 Varel 61968 Senftonberg Toi: 04451 ! 85743 • ] MACSEE; • : • S 75240 1075 Fai. 04451 / 860500 | iSiosasStg St» BRIESE* j MOXU8S OS: 100273JZ252 ) MHUNI2 f Nafcere liJofWatiohen da»i finden Sic Mich tn det 1 1 MM-80X2 D a l « U E S M I D I IXT. , M3APP3 : SSMONEV J OROANIII: ; OZV1DEO J O DUPVVIN û PAV-CD1 Wichtiger Hinweis
PCKWN ' 0 PCWLUS C o FROWIN ; 3 • Q PSP !
ÏOQCOPVWN CJ SOCKTORD Q BCRANTIC S Q SEASCAPE • E SESSION . . C 3 SETOES iQSPEDCMDR Q SPICKER i : p : 8TDPLN , B S W J W N ; Q .SYSTEM Ï C 3 TCLÖCK
> S Ü B , Ö « i - s . i 15S5 ;:32 C.NÏINSOaS»
QUELLE:
SCREENSHOT
Etwas sinnvoller sind häufig Programme aus dem Bereich Shareware. Hierbei handelt es sich in der Regel um Programme, die ebenfalls gegen eine Kopiergebühr weitergegeben werden dürfen, die aber unter Umständen wichtige Programmteile (z.B. Drucken) nicht enthalten. Es handelt sich also um eine Art Demoversion, die der Nutzer erst einmal ausprobieren soll. Solche Demoversionen werden auch von renommierten Herstellern angeboten, um vor dem Kauf wichtige Bestandteile der Vollversion testen zu können.
300
4
Softwareentwicklungen
Bei Interesse muß der Nutzer sich bei der angegebenen Stelle registrieren lassen und erhält zu einem häufig günstigen Preis, da Vertriebsnetz und Werbung wie bei den großen Anbietern entfallen, die Komplettlösung. Aber auch hier existiert eine Menge Unnützes, das schon die Versandkosten nicht rechtfertigt. Ein weiteres Problem darf nicht verschwiegen werden: Public Domain und Shareware gelten als beliebtes Übertragungsmedium für Computerviren. Je größer der Anteil der kopierten Programme auf der Festplatte ist, um so höher ist auch die Wahrscheinlichkeit einer Infizierung. Daher: Auf Bürocomputer und in Netzwerke gehören keine solchen Programme.
4.12 Utilities Als Utilities werden Programme bezeichnet, die den Umgang mit dem System vereinfachen oder verbessern sollen. Hier gibt es eine solche Vielzahl, daß sich ein Überblick eigentlich von selbst verbietet. Denn gerade im Bereich Public Domain und Shareware kommen immer wieder neue Programme hinzu, deren Nutzen allerdings häufig im Verborgenen bleibt. Eine wichtige Utility gehört aber in jeden gut sortierten Diskettenkasten, nämlich eine, die Daten, die unter DOS gelöscht wurden, wiederherstellen kann. Denn der Löschbefehl unter DOS war in früheren Versionen in der Regel nicht rückgängig zu machen, obwohl die Daten nicht physikalisch gelöscht wurden, also noch vorhanden waren. Ein sofortiger Einsatz einer solchen Undelete- oder sogar Unformat-Uiility
(ab Version 5.0 auch bei DOS integriert) kann
also fast alles oder alles retten. Außerdem erscheinen einige weitere Utilities sinnvoll: •
Utilities, die den doch etwas langsamen Backup-Vorgang verkürzen.
• Utilities, die Festplatten neu organisieren können, denn die durch Löschen freigegebenen Speicherplätze werden erneut verwendet, wodurch Dateien und Teile von Dateien nach und nach
an
sehr
unterschiedlichen
Stellen
auf
der
Festplatte
abgelagert
werden
(Fragmentierung). Dadurch wird das System zunehmend langsamer. Die Hilfsprogramme ordnen den Datenträgerinhalt neu, korrigieren Fehler und markieren schadhafte Stellen. Der Zugriff auf die Daten wird spürbar beschleunigt.
4
Softwareentwicklungen
301
• Unter Umständen können auch Utilities sinnvoll sein, die einen Datenschutz durch Vergabe von Paßwörtern ermöglichen, dadurch werden einzelne Dateien, aber auch ganze Festplatten gegen unbefugten Datenzugriff geschützt; eine Option, die DOS selbst nicht unterstützt. •
Auch manche sogenannte Schreibtischutensilien machen Sinn, zum Beispiel der Aufruf eines Taschenrechners auf Knopfdruck. So muß das gerade bearbeitete Programm nicht extra verlassen werden, wenn z.B. in einem Textverarbeitungsprogramm kurze Berechnungen durchgeführt werden müssen.
• Komprimierungsprogramme wie PKZIP, ARC oder ARJ sparen Festplattenspeicher. Exakte Komprimierungen (Not Lossy compression) ersetzen anhand exakter mathematischer Algorithmen den Code durch alternative Codierungen; häufig benötigte Zeichen, Werte oder Zeichenfolgen (z.B. das e) erhalten kürzere Codierungen, selten benötigte längere (Huffman-Kompression). Andere Verfahren sind die Delta-Codierung, nur Änderungen werden codiert, und der Lempel-Ziv-Algorithmus, bei dem bei Wiederholungen auf die erste Nennung verwiesen wird (z.B. Auf dem Rasen rasen Raser). Kompressionsfaktoren bis 50% sind keine Seltenheit, Zufallsdateien werden allerdings durch die zusätzlichen Codierungsvereinbarungen, die ja mit übertragen werden müssen, länger. Unexakte Komprimierungen (Lossy compression) werden z.B. bei Bildern eingesetzt, indem einzelne Pixel weggelassen werden.
Utilities haben aber häufig den Nachteil, daß sie speicherresident
abgelegt werden und damit
den häufig dringend benötigten Arbeitsspeicher verringern. Dabei kann es auch vorkommen, daß diese Utilities sich nicht mit anderen Programmen vertragen, deren Ablauf also stören. Diese Probleme sollten vorher abgeklärt werden, zumal auch DOS immer mehr solche Programme enthält (Entfragmentierungsprogramm, Antivirenprogramm, Back-Up-Oberfläche, Undelete, Festplattendoppler). Bekannteste Vertreter sind •
PC TOOLS,
• NORTON UTILITIES.
302
4
Softwareentwicklungen
4.13 Programmiersprachen In den 50er Jahren sollte der elektronische Rechner mit Hilfe von Programmen gesteuert werden; der Einsatz für nur eine fest vorgegebene Aufgabe erschien nicht mehr zeitgemäß. Man erzielte diesen Fortschritt durch die Verwendung von sogenannten Programmierbrettem mit unzähligen Buchsen, die immer wieder neu über Stecker und Kabel verdrahtet wurden. Das jeweils alte Programm wurde aber immer wieder gelöscht und mußte somit bei Bedarf neu verdrahtet werden. Als geeignetes Medium zur Aufbewahrung von Programmen wurde daher später die Lochkarte eingesetzt. In einem nächsten Schritt wurden Programmiersprachen bzw. Codierungsverfahren entwikkelt, die den Umgang weiter vereinfachten. Sie waren anfangs die einzige Möglichkeit der Kommunikation mit den Rechnern. Dabei gilt der Grundsatz: Der Programmierung geht der eigentliche Entwurf der Algorithmen bzw. die eigentliche Lösungsidee voraus, die eher mechanische Umsetzung in eine Programmiersprache ist zweitrangig. So eignet sich vom Prinzip her jede Sprache zur Lösung solcher Probleme. Allerdings existieren eine ganze Reihe unterschiedlicher Sprachen, die für verschiedene Zwecke erstellt wurden bzw. auf die Lösung bestimmter Problemstellungen zugeschnitten sind; sie sollen im folgenden kurz charakterisiert werden. Aufgabe aller Programmiersprachen ist es, eine Verbindung zwischen dem Menschen (und seiner Sprache) und dem Rechner herzustellen. Der Rechner arbeitet nämlich nur mit Folgen von Bits, also Nullen und Einsen, während eine solche Vorgehensweise für einen Menschen sehr unübersichtlich und umständlich ist. Es sollen also allgemeingültige Befehle zur Verfugung gestellt werden. Die Beschäftigung mit einer Programmiersprache ist häufig für den Anfänger keine motivierende Angelegenheit, da diese Regeln erst erlernt werden müssen; auch wenn das Landgericht Düsseldorf im Az 12011/84 sinngemäß ausführt: „Jeder Mensch mit einem IQ oberhalb des Dackels und einer soliden Grundausbildung in Mathematik ist nach einem fünfstündigen Kurs in der Lage, kleine Programme selbst zu schreiben".
4
303
Softwareentwicklungen
Folgende Generationen von Programmiersprachen werden unterschieden: Sprache
der ersten
Sprache
der zweiten Generation
Generation
(Assembler)
Sprachen
der dritten Generation
(BASIC, COBOL, PASCAL, usw.)
Sprachen
der vierten Generation
(SQL, Makrosprachen, usw.)
Sprachen
der fünften Generation
(Künstliche Intelligenz)
(Maschinensprache)
SQL steht für Structured Query Language (strukturierte Abfragesprache).
Maschinensprache ist dabei die eigentliche Sprache, die der Prozessor versteht, sie ist aber durch das Aneinanderreihen von Nullen und Einsen für den Menschen völlig unübersichtlich und nur schwer zu verstehen (typischer Befehl: 0101 0111 0001 1111). Das Wort Sprache ist eigentlich zu hoch gegriffen, auch wenn später alternativ der etwas übersichtlichere Hexadezimalcode verwendet wurde.
Assembler ist eine maschinennahe Sprache, die zwar etwas einfacher zu erlernen und zu lesen ist und die durch das 1:1 -Verhältnis zwischen Prozessor- und Assembleranweisung sehr effizient übersetzt; sie kann aber noch nicht als problemorientiert bezeichnet werden (typischer Befehl mov ax,l 111). Fehler sind nach wie vor nur sehr mühsam zu erkennen. Zudem existiert für jede Prozessorfamilie eine eigenständige Assemblersprache. Beide Sprachen sind bei der Ausführung von Programmen sehr schnell, da der Übersetzungsvorgang weitestgehend entfällt. Durch immer bessere Compiler verliert dieses Argument aber immer mehr an Bedeutung, so daß Assembler nur noch in wenigen Gebieten, wie bei speicherresidenten Programmen oder zeitkritischen Anwendungen, eingesetzt wird. Die Sprachen der dritten Generation werden auch als problemorientiert
bezeichnet, weil sie
sich an der jeweiligen Problemstellung ausrichten. Demzufolge existieren gerade für unterschiedliche Anwendungsgebiete verschiedene Programmiersprachen, die speziell auf dieses Gebiet ausgerichtet wurden oder zumindest bestimmte Problembereiche vereinfachen oder vordringlich lösen helfen.
304
4
Softwareentwicklungen
Durch einen Interpreter oder einen Compiler werden die Programmbefehle in die eigentliche Maschinensprache umgesetzt. Ein Interpreter übersetzt bei jeder Programmausführung Befehl für Befehl erneut, die Abarbeitung ist dadurch langsamer. Ein Compiler übersetzt ein Programm erst in Maschinensprache und speichert es in dieser Form ab, der spätere, eigentliche Ablauf ist dadurch wesentlich schneller. Dadurch ist aber auch die Wirkung eines einzelnen Befehls nicht mehr so gut nachzuvollziehen, außerdem dauert die Programmerstellung durch die notwendigen häufigen Übersetzungen, oft länger. Der erste Compiler wurde 1951 erstellt. Zusätzlich enthalten die meisten Programmiersprachen Hilfsmittel wie Editoren oder sogar ganze Benutzeroberflächen. Die wichtigsten Sprachen werden im folgenden vorgestellt.
FORTRAN
Formula Translator
wurde zwischen 1954 und 1957 von einer sechsköpfigen Mannschaft unter John Backus bei IBM speziell für technisch-wissenschaftliche Anwendungen erstellt, die Verarbeitung von Zahlen steht im Vordergrund (z.B. bei der Raumfährensteuerung). Mathematische Funktionen, das Rechnen mit Matrizen und Vektoren ist leicht möglich, da entsprechende Routinen integriert sind. Diese erste Hochsprache setzte sich schnell durch, da die meisten Probleme eben mathematischer Natur waren (Texte können hingegen nur sehr schwierig bearbeitet werden); zudem sind nur wenige Befehle notwendig und der Bedarf an damals kostspieligem Speicher ist gering.
COBOL
Common Business Oriented Language
war neben Assembler, FORTRAN und LISP Anfang der 60er Jahre die vierte bekannte Sprache. Sie wurde im Auftrag des Pentagon von der CODASYL (Conference of Data Systems Language) entwickelt und mehrere Male erweitert und durch das ANSI (American National Standard Institute) genormt; zuletzt 1985 (daher COBOL-85 oder ANSI-COBOL-85), wobei immer auf Kompatibilität zu früheren Versionen geachtet wurde.
4
Softwareentwicklungen
305
COBOL wurde speziell als allgemeine und einfach zu handhabende Sprache konzipiert und eignet sich vor allem für die Verwaltung großer Datenmengen und daher insbesondere für kaufmännische Anwendungen. Zudem ist sie leicht erlernbar und zwingt den Anfänger zu übersichtlicher Programmierung. Sie ist leicht lesbar, weil die Befehlsfolgen streng festgelegt sind und die Sprache eben standardisiert und computerunabhängig ist. Es ergeben sich allerdings auch größere Programmlängen, die durch geschickte Programmierung andererseits wieder verkürzt werden können. Die Schnelligkeit der Sprache ist ein weiteres Plus. In der Praxis findet man Personal-COBOL, Professional-COBOL und MS-COBOL.
Zu dieser Zeit ergab sich immer wieder ein Problem: Die Sprachen waren recht schwer zu vermitteln, da zwischen Eingabe und Fehlermeldung (Komma in Zeile 41 fehlt) auf Grund der üblichen Off-Line-Datenerfassung viel Zeit verstrich; bis zur endgültigen lauffähigen Version vergingen oft Wochen. Aus diesem Grunde suchte man nach einer interaktiven Sprache, die auch zeilenweise eingegeben werden kann und direkt übersetzt wird, man fand sie in
BASIC
Beginners All Purpose Symbolic Instruction Code,
die heute am weitesten verbreitete und leicht zu erlernende Sprache, die am Dartmouth College in Amerika zwischen 1963 und 1965 von John G. Kemeny und Thomas Kurtz erschaffen wurde, um eben Anfangern das Programmieren zu erleichtern. Gates und Allen programmierten damit den Altair, es hieß 4k Basic und hatte für 50 Programmzeilen Platz. Wenige Standardbefehle verhelfen schon zur Lösung der meisten Probleme. Allerdings ist BASIC nicht gleich BASIC, da mehrere Dialekte existieren. Größere Programme werden zudem häufig unübersichtlich (Spaghetti-Code), da ein strukturiertes Programmieren von einfachen BASIC-Dialekten, die nur wenige Elemente zur Programmablaufsteuerung bereitstellen, nicht unterstützt wird. Man kann eben fast alles mit anderen Sprachen besser lösen, aber in keiner anderen kann man alles so einfach programmieren. Schon nach zwei Wochen wird selbst dem Programmierer eine Befehlsfolge wie GOTO 200:K=AA*PZ wenig sagen können.
306
4
Softwareentwicklungen
Als Interpreterversion wurde es früher zusammen mit DOS (z.B. als GWBASIC, BASICA oder QBASIC) ausgeliefert. Weiterentwicklungen sind die zahlreichen Compiler, die auch schon das strukturierte Programmieren unterstützen, oder Visual Basic, wie es mit den Microsoft-Produkten ausgeliefert wird.
PL/1
Program Language/1
wurde speziell für Großrechner entwickelt. Sie enthielt Elemente aller vorherigen Sprachen und sollte diese ablösen, um einheitliche Strukturen zu schaffen. Von den Programmierern wurde sie aber nicht angenommen und wird deshalb heute kaum noch verwendet. Sie kann aber wiederum als Vorläufer späterer Programmiersprachen bezeichnet werden. Ähnlich erging es ADA, nach der Assistentin von Charles Babbage, der Countess of Lovelace Augusta Ada Byron benannt; sie wurde vom amerikanischen Verteidigungsministerium 1978 als einheitliche Sprache forciert, um das Problem der zunehmenden Kosten für die Software-Pflege in den Griff zu bekommen. PASCAL, benannt nach dem französischen Mathematiker, wurde 1970 an der Eidgenössischen Technischen Hochschule in Zürich von Nikolaus Wirth aus ALGOL für die Ausbildung entwickelt. Sie ist für viele Anwendungen geeignet (Schwerpunkt technischer Bereich), aber nicht sehr leicht zu erlernen. Da sie das strukturierte Programmieren fordert, ist sie nicht bei allen Programmierern beliebt; Programme sind nun nämlich so abzufassen, daß auch andere diese leichter lesen können; dies führt zum Verlust des Autonomiegefiühls. Standard ist der 1985 entwickelte Turbo Pascal-Compiler, daneben gibt es aber auch andere. C, wurde von Dennis Ritchie 1972 aus der Sprache B entwickelt und trat mit dem Betriebssystem UNIX auf den Markt. Seit kurzem normiert ist es eine Sprache, die trotz Strukturierung nicht einfach zu erlernen und zu lesen ist; sie kommt aber mit geringem Speicherbedarf aus und ist sehr schnell. Damit eignet sie sich für maschinennahes Programmieren, z.B. von Betriebs-
4
Softwareentwicklungen
307
systemen, Spielen und Anwendersoftware, da Programmteile nicht über Namen, sondern direkt über Adressen aufgerufen werden. FÖRTH wurde in den sechziger Jahren von Charles Moore entwickelt und ist eine sehr einfache Sprache, die bei wenig Speicherbedarf leicht erweitert werden kann. Sie ist variabel, aber auch schnell und daher für zeitsensible Anwendungen geeignet. Eigentlich sollte FÖRTH FOURTH (Vierte) heißen, das Betriebssystem ließ aber nur 5 Zeichen zu. FÖRTH gibt es vor allem als Public Domain oder Shareware, aber z.B. auch als PC-Forth. Weitere Sprachen sind z.B.: • MODULA-2, eine PASCAL-Erweiterung, mit der Probleme sehr gut in Module zerlegt werden können, • ALGOL (Algorithmic Language), •
LOGO
• und die mathematisch orientierte APL (A Programming Language). Die bisher genannten werden auch als prozedurale Sprachen bezeichnet.
Als Sprache (besser Werkzeuge) der vierten Generation kann z.B. die zum Datenbanksystem dBase zur Verfügung gestellte Abfragesprache angesehen werden, an ihr sollen die Einsatzmöglichkeiten erläutert werden. dBase basiert auf dem Datenverwaltungssystem Vulkan, das 1979 unter CP/M entwickelt wurde. Für DOS kam eine modifizierte Version mit dem Namen dBase II heraus. Damit hatte der Anwender nicht nur ein mächtiges Datenbanksystem zur Hand, sondern auch eine integrierte Abfrage- und Programmiersprache. In ihr teilt der Nutzer dem System lediglich mit, was er möchte; wie das Problem prozedural oder algorithmisch gelöst wird, braucht ihn dagegen nicht zu interessieren. Beispiel: "Suche Datensatz X" statt "Lies 1. Datensatz, vergleiche 1. Datensatz mit Datensatz X, wenn nein, lies 2. Datensatz..."
308
4
Softwareentwicklungen
Mit Hilfe dialogorientierter Entwicklungswerkzeuge, sogenannter CASE-Tools (Computer Aided Software Engineering) werden Strukturen und logische Formalia gebildet. Mit einer Kombination aus Datenbank und Programmierumgebung lassen sich viele kommerzielle Anwendungen realisieren, nicht geeignet ist sie allerdings für den technischen und wissenschaftlichen Bereich.
Im Bereich der Künstlichen Intelligenz finden sich außerdem Sprachen für Probleme, die nicht algorithmisch zu lösen sind, nämlich •
LISP (List Processing), 1959 von J. McCarthy am MIT entwickelt, von der viele Dialekte existieren und deren Stärke bei der Verarbeitung von Zeichenketten liegt und
•
PROLOG (Programming in Logic), in Frankreich entwickelt;
man bezeichnet sie auch als Sprachen der fiinften Generation. Bei ihnen handelt sich eigentlich um keine Sprache im obigen Sinne, sondern eher um eine Kombination aus Wissenssammlungen und logischen Regeln. Beispiel: Wer die Eigenschaften Kind und weiblich besitzt, ist ein Mädchen. Als objektorientierte Sprachen können schließlich noch SMALLTALK,
von Xerox 1972 bis
1980 entwickelt, und C + + genannt werden. Im Gegensatz zu anderer Software sind Programmiersprachen "alt", d.h., ihr Lebenszyklus beträgt mehrere Jahrzehnte. Das liegt vor allem daran, daß •
die Pioniere gute Arbeit geleistet haben,
•
die Sprachen stetig weiterentwickelt und verbessert werden,
•
ein Umstieg auf eine andere Sprache mit sehr hohen Kosten verbunden ist, da alle Programme neu geschrieben werden müssen.
Die Auswahlkriterien für die eine oder andere Programmiersprache richten sich entsprechend den Darstellungen nach den Aufgaben, die vorrangig bearbeitet werden sollen. Wer selten programmiert, findet in einer einfach zu erlernenden Sprache sein Zuhause. Häufige und umfangreiche Programmierarbeiten erfordern und rechtfertigen aber eher eine Sprache mit höherem Lernaufwand.
4
Softwareentwicklungen
309
4.14 Spiele Spielprogramme gehören nicht zu den eigentlich notwendigen Softwareprodukten, die ein Wirtschaftswissenschaftler beherrschen sollte, sie sind aber hin und wieder eine willkommene Abwechslung. Auf eine vollständige Beschreibung kann daher verzichtet werden, ausreichend ist eine Kategorisierung. Adventures
oder Abenteuerspiele verlangen die Lösung einer bestimmten Spielsituation, an
Kreativität und Intelligenz (oder auch Zufall) wird dabei häufig ein hoher Anspruch gestellt. Durch oft ausgesprochen schöne Grafik unterstützt, sind diese Spiele, wenn sie gut sind, eine Beschäftigung für mehrere Wochen und lohnen daher den Preis. Die meisten sind allerdings in Englisch geschrieben und erfordern daher eine recht gute Kenntnis dieser Sprache (unter Umständen sogar die Beherrschung amerikanischer Slang-Ausdrücke und die Kenntnis amerikanischer Lebensweisen). Rollenspiele
finden häufig in Märchen- oder Fantasyumgebungen statt. Der Spieler schlüpft in
die Rolle einer Figur und versucht mit ihr verschiedene Abenteuer zu bestehen. Im Verlauf des Spiels wird die Figur dabei immer stärker und kann immer größere Anforderungen bewältigen. Simulationen
versuchen Situationen der Realwelt nachzustellen, in die der Spieler selbst wohl
kaum kommen würde, beispielsweise als Formel 1-Rennfahrer oder als Jet-Pilot. Denk- und Strategiespiele
erfordern Taktik und schnelle Entscheidungen, beispielsweise müs-
sen durch logische Überlegungen Bausteine aufeinander geschichtet werden (dies unter Zeitdruck). Actionspiele
oder Jump&Run bzw. Ballerspiele sind die am wenigsten zu empfehlenden Vari-
anten; es geht hierbei häufig nur um das Abschießen von feindlichen Eindringlingen und andere Metzeleien. Sportspiele hingegen versuchen, reale Bereiche des Sports abzubilden. Zu nennen wären hier Golfspiele oder olympische Wettkämpfe, die häufig eine recht hohe Geschicklichkeit erfordern. Allerdings können sie die echte sportliche Betätigung nicht ersetzen, bestimmte Spielsituationen können gelernt werden und sind damit nicht von der Tagesform oder ähnlichen, eher intuitiven Komponenten abhängig.
310
4
Softwareentwicklungen
In den Spielrausch getrieben haben •
Kings Quest,
•
Larry,
•
Flight Simulator,
•
Tetris,
•
Ultima Underworld,
•
Lemmings,
und viele andere mehr. Der Einwand des Partners: „Die Geschäfte schließen um 18.30 Uhr, Larry kann warten", waren erste Anzeichen familiärer Zwistigkeiten. A B B . 4 . 1 3 : B I L D S C H I R M EINES S P I E L S
QUELLE:
SCREENSHOT
Da die heutigen Spiele oft mit hohem grafischen Aufwand erstellt wurden (z.B. werden ganze Filmsequenzen eingebunden), empfiehlt sich ein sehr schneller Rechner mit CD-ROM-Laufwerk, farbigem VGA-Bildschirm mit schneller Grafikkarte und Joystick.
4
Softwareentwicklungen
311
4.15 Virenprogramme Diese Programme nehmen eine Sonderstellung unter der bisher angesprochenen Software ein, denn sie dienen nicht der Problembewältigung. Ihr Ziel ist gerade die Zerstörung oder zumindest negative Beeinflussung der Daten. Im schlechtesten Fall gehen sogar alle Daten verloren (wie z.B. in Krankenhäusern, wo die gesamten Patientendaten gelöscht wurden). Anstelle von Viren sind aber oft auch Programmfehler oder noch häufiger Bedienungsfehler Auslöser von Anomalien.
Die Idee, Viren zu programmieren, ist durch ein Computerspiel namens Core War (Krieg um den Kern) entstanden. Verschiedene Programmierer erstellten immer neue Programme, die sich in einem Speicherbereich gegenseitig bekämpften und löschten; Sieger war das Programm, das als einziges übrig blieb. Die Symptome sind manchmal leicht zu erkennen. Beispielsweise ertönen Geräusche, die an das Abziehen einer Toilette erinnern bzw. andere mißliche Melodien werden ausgegeben (Virusname Oropax), Buchstaben trudeln über den Bildschirm (Virusname Herbst bzw. Cascade) oder das System bricht ganz zusammen, weil der Speicher (Festplatte oder RAM) plötzlich voll ist. „Vorsicht, Viren! Häufiger und ungeschützter Datenverkehr mit wechselnden Kommunikationspartnern kann zum Totalausfall fuhren" höhnte ein Virenprogramm.
Andere Beispiele für Viren sind: •
Yankeedoodle ist ein Traditional und ein Virus, der ständig dieses Lied spielt und vor allem die Anwender der ehemaligen DDR, die häufig illegale Software aus dem Westen einsetzten, zur Verzweiflung brachte. Während der Verarbeitung sozialistischer Daten mußte 5 Uhr nachmittags imperialistisches Gedudel ertragen werden.
•
Beim Red Cross Virus rast ein Krankenwagen über den Bildschirm, beim Ping Pong hüpft ein Ball. Smile frißt alle Nullen auf dem Bildschirm.
•
Beim Flip wird der Bildschirminhalt auf den Kopf gestellt.
•
Malta fordert vor der Zerstörung der FAT noch zu einem Spielchen auf.
312 •
4
Der 8-Tones-Virus
Softwareentwicklungen
spielt in unregelmäßigen Abständen Lieder wie „Jenseits des Tales",
„Horch, was kommt von draußen rein", „Hoch auf dem gelben Wagen", „Nobody knows the trouble I've seen". •
Der AIDS-Virus
wurde mit einer Diskette geliefert, die. neueste Erkenntnisse über diese
Krankheit enthalten sollte. Als der Rechner streikte, mußte eine Registrierungsgebühr nach Panama überwiesen werden, damit der Schutz gegen den Virus erworben werden konnte. •
Eigentlich kein Virus, aber dennoch eine unerlaubte Programmänderung war der Fall eines Angestellten einer Bank, der alle Beträge kleiner als 1 Pfennig (z.B. bei Zinsen) auf ein eigenes Konto überweisen ließ. Er wurde nur deshalb durch Zufall entdeckt, weil der Kontostand einfach zu schnell anwuchs.
•
1988 verseuchte ein Virus namens Worm das größte Rechnernetz der Welt (Internet), indem er die Rechner nach und nach durch eine steigende Anzahl von Endlosschleifen lahmlegte. Der Schaden wurde auf 2 Mio. $ quantifiziert, der Täter erhielt 5 Jahre Haft und 250.000 $ Geldstrafe. Allerdings ist es nicht so schlimm, wie ein Student einmal meinte: „Würmer schleusen sich in alle wichtigen Teile des Computers ein".
Das Auftreten eines Virus kann z.B. durch das Erreichen eines bestimmten Datums ausgelöst werden wie beim Freitag, der 13. (welche Viren schlummern wohl noch Jahre in unseren Rechnern?) oder nach einer bestimmten Anzahl von Zugriffen auf ein bestimmtes Programm. Medienwirksam und damit zum ersten Mal einem breiten Publikum vorgestellt, sollte der recht harmlose Virus Michelangelo weltweit Daten zerstören; er konnte allerdings sehr gut aufgefunden und unschädlich gemacht werden. Neben den unerklärlichen, aber bald sichtbaren Erscheinungen wie Geräuschen und Buchstabensalat kann ein Virenbefall an folgenden Merkmalen ausgemacht werden: •
Dateien wie z.B. die COMMAND.COM werden von Mal zu Mal länger,
•
Arbeitsspeicher und Festplatte werden immer voller, bis hin zur nicht mehr zu benutzenden Festplatte,
•
es finden unerklärlich häufige Zugriffe auf die Festplatte statt,
•
Programme verschwinden oder werden so dezimiert, daß sie nicht mehr ablaufen,
•
die Rechengeschwindigkeit wird immer langsamer.
4
313
Softwareentwicklungen
Allerdings treten diese Symptome nicht sofort nach Übertragung des Virus auf das System auf, sondern wie im richtigen Leben nach einer längeren Inkubationszeit.
Dadurch wird er-
reicht, daß sich der Virus möglichst vielfaltig verbreitet hat und seine Herkunft nicht mehr eindeutig lokalisiert werden kann. Außerdem würde ein Virus, der z.B. sofort die Festplatte löscht, auch sich selbst löschen. Im schlimmsten Fall ist daher der Virus auch schon auf den Sicherungskopien vorhanden und damit nur noch schwerlich in den Griff zu bekommen. Man unterscheidet folgende Arten von Viren: •
Systemviren (Boot-Viren) verstecken sich im Systembereich eines Datenträgers (der immer an der gleichen Stelle ist), weisen diesen Bereich als fehlerhaft aus und werden beim Booten des Systems automatisch aktiviert (sie sind also gegenüber einem RESET immun), oder, sie kopieren sich selbst, nachdem sie speicherresident abgelegt wurden, auf jede Diskette (auch auf nicht schreibgeschützte Originaldisketten von Programmen). Veränderungen der Partitionstabelle oder der FAT sind ebenfalls bekannt geworden.
• Programmviren
(File-Viren) hängen sich an ausführbare Programme (com, sys, ovl, bin,
exe), werden automatisch mitkopiert und infizieren von dort weitere Programme, sie können daher ebenfalls Originaldisketten von Programmen infizieren. Typische Angriffe finden auf die command.com und andere com-, exe- und overlay-Dateien statt. Viren in Datenfiles sind dagegen bisher selten aufgetreten, da Datennamen sehr unterschiedlich sind, eine Ausbreitung damit nicht gesichert ist (Ausnahme: ESCSequenzen in Textdateien, dBase-Viren).
•
Trojanische Pferde vermehren sich nicht; sie schleichen sich als harmloses Programm oder Programmteil ein, beispielsweise über eine Demodiskette, die witzige Grafiken darstellt, aber gleichzeitig alle Daten überschreibt.
•
Würmer erzeugen, anstatt Wirtsprogramme zu befallen, Kopien von sich selbst und legen so einen Rechner lahm.
• Logische Bomben müssen in zeitlichen Abständen entschärft werden; wird dies vergessen oder unterlassen, weil z.B. der Programmierer gefeuert wurde, werden sie aktiv.
314
4
Softwareentwicklungen
Scannerprogramme sind Programme, die nach typischen Virencodes suchen und diese eliminieren. Dagegen wehren sich •
Stealth- (Tarnkappen-)Viren, die ihren Code selbsttätig variieren und sich immer wieder neu verschlüsseln.
Dabei nimmt die Anzahl solcher Programme ständig zu, schon 1989 wurden in den USA 19.000 Infektionen registriert. Dabei werden Viren, was relativ einfach ist, häufig nur leicht verändert; damit existieren also regelrechte Virenfamilien. Als Verursacher können drei Gruppen von Programmierern angesehen werden: •
Programmierer, die sich und ihre Programme derart schützen wollen, daß nach ihrem Ausscheiden aus der Firma der Virus auftritt, als Rache für den Rausschmiß oder als "Versicherung", daß ihre Hilfe auch dann noch ständig gebraucht wird.
•
Programmierer, die aus Experimentierfreude oder Langeweile Viren entwickeln, die meist eher einen spaßigen Charakter haben.
•
Programmierer, die tatsächlich fremde Datenbestände zerstören wollen, um damit auf die Gefahr von Computern hinzuweisen oder häufiger, aus reiner Zerstörungslust und Selbstbestätigung.
Solche kriminelle Energie haben z.B. Virenprogramme, die kaum merklich in Datenbanken eindringen und dort Daten manipulieren; ein Vorfall, der häufig erst sehr spät erkannt werden kann. Auf jeden Fall ist immer der Mensch Verursacher. Hauptverbreitungsgebiet war lange Zeit Bulgarien, das viele gut ausgebildete, aber schlecht bezahlte oder gar arbeitslose Programmierer beheimatet, die sich ganz offiziell mit "guten" Virenprogrammen einen Namen machen möchten. Da die Rechtsprechung in diesem Land sehr lax mit dieser Problematik umgeht, werden immer neue Viren erstellt. Bekanntestes Beispiel ist der, allerdings anonyme, EDDIE. Wenn allerdings der Spiegel in Heft 44/1992 auf Seite 298 ein Software-Haus zitiert, wonach neue Computerviren aus Rußland zunehmend in kyrillisch programmiert werden, wurde da wohl etwas mißverstanden.
4 Softwareentwicklungen
315
Folgende Infektionswege sind besonders häufig: • Rechner in Schulen und Hochschulen, da viele Benutzer unterschiedliche Programme (unerlaubterweise) mitbringen und kopieren, •
Shareware- und Public-Domain-Software, da sich vor der Weitergabe Viren eingenistet haben können,
• vernetzte Computer, • aber immer häufiger auch Originalsoftware (z.B. Treiberdisketten aus Femost).
Um einem Virenbefall vorzubeugen, sollten immer wieder Scannerprogramme verwendet werden, auch um Disketten zu testen. Dies gilt insbesondere, wenn neue Programme eingesetzt werden. Der Einsatz von mehrere Scannern kann in der Regel nicht empfohlen werden, da die Programme sich gegenseitig als Virencode erkennen können. Beim Virenbefall hilft eigentlich nur folgendes Vorgehen: 1.
Ruhe bewahren, manche überstürzte Reaktion richtet mehr Schaden an, als es der Virus getan hätte.
2.
Booten mit einer virusfreien Systemdiskette.
3.
Einsatz eines Virenscanners, vielleicht wird der Virus damit schon erkannt. Der Scanner muß aber auf der schreibgeschützten Diskette vorhanden sein, da Virenscanner auf der Festplatte bereits infiziert sein könnten.
4.
Schafft das keine Abhilfe, Formatieren von Disketten mit dem FORMAT-Befehl der Original System-Diskette (ab DOS 5.0 FORMAT /U).
5.
Kopieren der Arbeitsdateien (nicht Programmdateien) mit COPY oder XCOPY.
6.
Festplatte physikalisch formatieren; dies kann manchmal nur vom Hersteller ausgeführt werden.
7.
Programme von den Originaldisketten (besser: Arbeitsdisketten) neu installieren.
8.
Arbeitsdateien über COPY oder XCOPY zurückbringen.
9.
Virenerkennungsprogramme erneut ablaufen lassen, dabei auch Disketten überprüfen.
10. Diejenigen informieren, mit denen Daten ausgetauscht wurden.
Damit es nicht soweit kommt, zum Abschluß folgende Tips: • Nur vertrauenswürdige Originalsoftware verwenden, keine Software aus dem Büro oder der Hochschule kopieren, auch nicht auf Messen oder beim Händler. •
Überflüssige Programme von der Festplatte löschen.
316 •
4 Softwareentwicklungen
Regelmäßig Datenbestände sichern, am besten in mehreren Versionen (Großvater-VaterSohn).
•
Wichtige Dateien schreibschützen, zur Not Schreibschutz herausbrechen.
•
Darauf achten, daß beim Ab- und Einschalten keine Disketten im Laufwerk sind, da beim Anschalten automatisch der Bootsektor gelesen wird.
• Viren mit Virenerkennungsprogrammen lokalisieren und vernichten. •
Originaldisketten mit Schreibschutz versehen, mit DISKCOPY duplizieren und nur die Arbeitsdisketten verwenden.
•
Befehle wie COPY, DELETE, FORMAT usw. umbenennen oder, falls möglich, entfernen; DISKCOPY z.B. kopiert auch den Bootsektor und darin enthaltene Viren.
Naturgemäß läuft die Entwicklung von Antivirenprogrammen dem Auftauchen neuer Viren immer etwas hinterher; der absolut sichere PC verfugt daher über kein Diskettenlaufwerk und keine Schnittstelle. Dennoch muß daran erinnert werden, daß die meisten Probleme durch die Anwender selbst entstehen, Ungeduld (Disketten werden nicht geprüft) oder Faulheit (Backups werden nicht erstellt) sind die häufigsten Gründe. Bekannte Scannerprogramme sind: •
Scan von McAfee,
•
Antivirus.
4.16 Weitere Kriterien für die Softwareauswahl Bei der Auswahl von Programmen sollte das Augenmerk auch auf den Lizenzvertrag und vor allem die mitgelieferte Dokumentation gerichtet werden, denn viele der Handbücher sind: • unübersichtlich und nicht aktuell, Readme-Dateien erläutern die letzten Änderungen, •
umfangreicher als Tolstois „Krieg und Frieden" (das Handbuch zu PC-Tools 8.0 besteht beispielsweise aus über 1500 Seiten),
•
schwer verständlich; zwar ist die Rechtschreibung korrekt, nur weiß man häufig nicht, in welcher Sprache sie abgefaßt sind (für Englisch enthalten sie zuviele deutsche Wörter, für Deutsch zuviele englische),
4
Softwareentwicklungen
317
• nicht an tatsächliche Problemstellungen angelehnt, weil Befehle z.B. alphabetisch geordnet und erklärt werden.
Ein nettes Beispiel ist folgender Auszug aus der Dokumentation eines Textverarbeitungsprogramms: „So wie es manchmal zweckmäßig sein kann, die Druckformatvorlage eines Dokuments durch Kopieren der Druckformatvorlage aus einer Druckformatvorlage zu aktualisieren, kann es manchmal zweckmäßig sein, die Druckformatvorlage in einer Dokumentvorlage durch Kopieren der Druckformate eines Dokuments zu aktualisieren." Der interessierte Leser mag seine Handbücher auf Seite 275 ansehen, vielleicht beschreibt die Textstelle sein Programm. Und: Was dann folgt, ist noch besser. Im besten Fall sollten die mitgelieferten Handbücher in folgende Teile gegliedert sein: • Angaben zu den benötigten Hardwarevoraussetzungen (Computertyp, Grafikkarte und -monitor, Hauptspeicherbedarf, Festplattenbedarf), •
Installationsanleitung,
• Beschreibung der möglichen Funktionen, • Beschreibung der Datenkompatibilität, • Erläuterung, wie Befehle eingegeben werden, • Einführung in die Funktionsweise anhand von einfachen Beispielen, • Erläuterung möglicher Fehler, •
Index zum Nachschlagen.
Ideal ist die Kombination mit einem benutzergeführten Einfuhrungs- oder Lernprogramm, auch Tutorial genannt. Wichtige allgemeine Kriterien sind zudem: •
Einfachheit der Dateneingabe,
• Kompatibilität der Datenbestände mit anderen Programmen, •
Datensicherheit.
Zusätzlich bietet jeder Verlag Fachbücher zu den Programmen an; diese dienen aber auch häufig nur dazu, dem Nutzer zusätzlich Geld aus der Tasche zu ziehen.
318
4
Softwareentwicklungen
Wenn es dann soweit ist, Software zu kaufen, sollte man außerdem folgende Punkte beachten: • Beim Kauf kann sehr viel Geld gespart werden, wenn man sich genauestens im klaren darüber ist, wofür der Rechner eingesetzt werden soll. Wer eine elektronische Schreibmaschine benötigt, kann sich mit einem sehr viel bescheideneren System zufrieden geben als ein Nutzer komplexer grafischer Software. • Viele Käufer laufen von Geschäft zu Geschäft, wenn es darum geht, eine CD möglichst günstig zu erwerben oder wälzen Verbraucherinformationen vor Auswahl eines Mikrowellengerätes. Beim Computer- und Softwarekauf werden aber, ohne mit der Wimper zu zukken, zusätzliche Bauteile oder teurere Module für mehrere hundert Mark erworben, die ungenutzt bleiben. Daher sollte ein klarer finanzieller Rahmen gesteckt und lieber mehr in die Grundausstattung investiert werden. • Bei der Auswahl und Beratung sollte man sich ausreichend Zeit lassen, diese aber auch vom Verkäufer verlangen. Immer mehr Händler konkurrieren, was die Preise drückt. Geringe Gewinnspannen werden nur durch hohe Stückzahlen ausgeglichen. Entsprechend wenig Wert wird auf eine gute Beratung gelegt. Sarkastisch formuliert: Wer gute Kenntnisse über Computer und Software nachweisen kann, steht nicht hinter dem Verkaufstresen, sondern verdient sein Geld woanders. Positiv sind Verkäufer zu bewerten, die nicht ein bestimmtes Gerät präferieren, Software vorführen können und verständliche Erläuterungen geben. Beobachtet man Altkunden, kann man sehr viel über ein Geschäft erfahren. • Kompatibilität wird gerne versprochen, Garantien und Liefertermine werden nur ungern bestätigt; eine Vorführung des Komplettsystems ist daher zwingend. Lassen sich Grafiken einbinden, passen Betriebssystem, Software und Drucker wirklich zusammen? • Der neue Rechner bedient sich nicht von selbst. Drei Wochen vor Abgabe der Diplomarbeit gelingt es nicht mehr, sich in ein Programm einzuarbeiten; dies benötigt immer mehr Zeit als man dem Anfänger gerne weismachen möchte. • Programme werden von Version zu Version immer umfangreicher, nicht jedes Update muß mitgemacht werden. In großen Firmen muß fast eine neue Planstelle geschaffen werden, um alle neuen Features anzupassen. Manchmal reicht auch ein preisgünstiges Standardprogramm aus. Ein Textprogramm, bei dem man immer wieder über Menues stolpert, die wissen wollen, ob man tatsächlich nur einen Standardbrief schreiben will, ist manchmal ungeeignet, aber häufig die Regel.
4
Softwareentwicklungen
319
Vorsicht auch bei folgenden Floskeln: • Ein Ausbau auf mehr als 8 MB ist nicht notwendig. • Mehr als 400 MB Festplatte braucht keiner. •
Den Einbau einer weiteren Festplatte kann sogar Ihre Oma vornehmen.
• Der Rechner ist auch in 5 Jahren noch aktuell.
Vielleicht hilft es, wenn man immer wieder • Programme in Modulbauweise verlangt: Genauso wie man nur den benötigten Druckertreiber installiert, wobei später weitere hinzugefügt werden können, sollte dies eigentlich auch für Programmteile gelten; die Fußnotenverwaltung wird erst dann installiert (und auch erst dann gekauft), wenn sie tatsächlich eingesetzt wird. Viele Programme sind so aufgeblasen, daß selbst die Grundfunktionen nicht mehr schnell genug laufen. In vielen Programmen sind gleiche Funktionen integriert, Works beinhaltet ein eigenes DFÜ-Programm, obwohl jeder vernünftige Anwender ein spezielles Programm einsetzen wird. • Lizenzverträge fordert, die nicht den Erwerb beinhalten, sobald man die Verpackung öffnet, also bevor man das Softwarepaket testen konnte, mit der Konsequenz, daß eine Rückgabe nicht mehr möglich ist. Die meisten Produkte unserer Zeit enthalten standardisierte Garantien, Lizenzverträge von Software hingegen enthalten viele Dementis und räumen Fehler ein (Wir garantieren lediglich, daß das Programm in seinen Grundfunktionen einwandfrei läuft). •
Optionen verlangt, die eine Anwendung so rekonstruieren, wie sie vor dem Ausschalten aktuell war; das komplette Neubooten des Systems nach der Mittagspause, Speichertests, Laden des Programms, Suchen nach der zuletzt bearbeiteten Textstelle würden entfallen (manche Programme und LapTops zeigen, daß es auch anders geht).
• Nicht zu vergessen sind Handbücher, gedruckt auf Recyclingpapier, umweltfreundliche Druckfarben, Vermeidung von giftigen Chemikalien bei der Herstellung und Verzicht auf Plastik und Styropor.
5 Einführung in die Programmierung Im folgenden soll anhand konkreter Beispiele in eine problemorientierte Programmiersprache eingeführt werden; dabei wird besonderer Wert auf die Umsetzung einer lediglich verbal vorliegenden Problemstellung in ein ablauffähiges Programm gelegt. Die eigentliche Codierung eines Programms ist dabei nur ein Teil des gesamten organisatorischen Prozesses zur Lösung eines EDV-Problems. Es geht also weniger darum, die Sprache an sich zu vermitteln, sondern vielmehr um die Darstellung der grundsätzlichen Vorgehensweise bei der DV-gerechten Umsetzung eines Arbeitsvorgangs. Viele Methoden der Problemanalyse, der Darstellung von Programm- und Datenstrukturen und des Projektmanagements können auch losgelöst von der Programmerstellung in anderen Feldern sinnvoll eingesetzt werden. Heutzutage findet man in fast allen Gerätschaften Software: Autos, Flugzeuge, Telefone, Ampelanlagen, Videorekorder, Mikrowelle, Waschmaschine, um nur einige wenige zu nennen. Allerdings ist es nicht immer sinnvoll, Softwareprogramme einzusetzen, denn mechanische Anlagen sind oft besser und leichter zu beherrschen. 1 fehlerhaftes Bit, und ein Flugzeug wird statt um 1 Grad (Bitfolge: 0000 0001) um 33 Grad (0010 0001) nach rechts gezwungen, was bei mechanischer Steuerung kaum möglich sein würde. Zudem können sich die Vorteile des Softwareeinsatzes aufheben. Ein regelrechter Softwarekampf findet statt, wenn beispielsweise Fluggesellschaften Software einsetzen, um unterschiedliche Tarife anzubieten, damit ihre Maschinen optimal ausgelastet sind; Reiseveranstalter aber Software einsetzen, die preiswerte Tickets sucht. Wie wichtig es ist, bei der Programmierung äußerste Sorgfalt walten zu lassen, und wie unterschiedlich die Folgen einer fehlerhaften Software sein können, sollen wieder einige Beispiele verdeutlichen: • Ein Programm, das einen Zug steuert und das nicht läuft, hat keine negativen Konsequenzen (sofern es nicht zu Unfällen mit anderen Zügen kommt), außer der, daß der Zug nicht fährt. • Ein Programm, das einen Zug zu langsam steuert, ist ähnlich einzuschätzen; die Fahrgäste kommen lediglich zu spät.
5 Einführung in die •
Programmierung
321
Ein Programm, das auf Grund eines Fehlers bei 100 Stundenkilometern die Bremsen eines Autos blockiert, ist schon problematischer.
Drei konkrete Beispiele sollen für das folgende sensibilisieren: • NASA-Astronauten bekamen das Handbuch „Notes and Waivers" mit auf die Reise, es enthält eine detaillierte Beschreibung der bekannten Programmfehler und wie sie zu umgehen sind. Absichtlich verzichtete man bei derart komplexen Programmen auf eine Fehlerbeseitigung, da ein entfernter Fehler häufig mehrere neue produziert; Seiteneffekte auf andere Module sind kaum vorhersehbar. • Die bei der Wetterbeobachtung in den 70er und 80er Jahren eingesetzten Satelliten meldeten ständig niedrige Ozonwerte in der Atmosphäre. Die beteiligten Forscher ignorierten diese Werte mit dem Hinweis, daß es sich um Programmfehler handeln müsse. • Die Telefonvermittlungssoftware für Kalifornien wurde 13 Wochen getestet. Vor dem Effektiveinsatz wurden schnell noch drei Zeilen Programmcode geändert, was in den folgenden Wochen zu ständigen Programmabstürzen führte.
Fehlerhafte Computerprogramme haben also schon viele folgenschwere Fehler verursacht. Kein Wunder, wenn man das merkwürdige soziale Verhalten vieler Programmierer kennt: Einsamkeit, Kannen voller Kaffee, abgeglühte Zigarettenstummel. Gerade die Softwarebranche zählt zu den Wirtschaftszweigen, die gewohnheitsmäßig schlechte Programme verkauft, und die sich deren Nachbesserung auch noch bezahlen läßt.
5.1 Einführendes Beispiel Bevor mit der eigentlichen Codierung des Programms begonnen wird, ist es notwendig, das zugrundeliegende Problem möglichst genau zu analysieren und zu verstehen. Am Beispiel eines Geldautomaten, wie er mittlerweile bei allen Banken und Sparkassen anzutreffen ist, soll der Weg zur Problemlösung dargestellt werden. Dabei wird lediglich ein Teilproblem, die Ausgabe des richtigen Betrags, betrachtet. In Übereinstimmung mit der Realität werden nur Vielfache von 50 DM ausgegeben.
322
5 Einführung in die
Programmierung
5.1.1 Zerlegung in Module
Der erste Schritt zur Lösung ist die Zerlegung des Gesamtproblems
in überschaubare Einzel-
probleme, sogenannte Module. Dies erleichtert die spätere Umsetzung wesentlich, da immer nur kleine, überschaubare Problembereiche betrachtet werden, die zu einem Ganzen zusammengefügt werden. Nachteilig ist, daß bei umfangreichen Programmen mit vielen Modulen viele Arbeitsgruppen mit großen Kommunikationsproblemen und Mißverständnissen entstehen. So gibt es sehr schnell eine Gruppengröße, bei der weitere Manpower ein Projekt eher bremst; ein verspätetes Projekt läßt sich also dadurch kaum beschleunigen. Andererseits sind gerade große Programme in vertretbarer Zeit gar nicht anders zu erstellen. Folgende Module können die einzelnen Teilfunktionen des Geldautomaten beschreiben. ÜBERSICHT 5 . 1 :
M O D U L E DES GELDAUTOMATEN
Es könnten weitere Module wie Fehlererkennung, Einzug der Karte usw. eingefugt werden.
5.1.2 Formulierung des Algorithmus
Die einzelnen Module werden nun Schritt für Schritt weiter zerlegt, wir wollen von einem Algorithmus
sprechen.
5 Einführung in die
323
Programmierung
Algorithmus ist abgeleitet von dem Namen eines in Bagdad lebenden Bibliothekars, der im 9. Jahrhundert ein Rechenbuch schrieb; es ist die lateinische Übersetzung seines Namens Abu Jafar Muhammed Ibn Musa Al-Khwa-Rizmi.
Ein Algorithmus kann als eine logische Folge von Arbeitsanweisungen
definiert werden; dies
kann am Beispiel einer Bedienungsanleitung verdeutlicht werden. 1.
Prüfen Sie die Verpackung auf äußerliche Schäden.
2.
Öffnen Sie die Verpackung.
3.
Prüfen Sie den Inhalt auf Vollständigkeit.
4.
Entnehmen Sie den Computer.
5.
Stellen Sie den Computer auf.
6.
Entnehmen Sie den Drucker.
7.
Stellen Sie den Drucker auf.
8.
Verbinden Sie Drucker und Computer mit beiliegendem Kabel.
9.
Verbinden Sie Drucker und Netz. usw.
Offensichtlich reichen die obigen Schritte nicht aus, um zu einer optimalen Lösung zu kommen. Es ergeben sich nämlich Fragen wie: • Was gehört zum vollständigen Inhalt? • Gibt es Vorschriften für die Aufstellung? • Wo muß das Verbindungskabel zum Rechner eingestöpselt werden? • Wo ist der Netzanschluß am Drucker?
Ein Algorithmus muß also sehr genau den Lösungsweg formulieren und jedes Mal zum gleichen Ergebnis fuhren. Dadurch ergeben sich folgende Anforderungen: 1.
Jeder einzelne Schritt eines Algorithmus muß eindeutig sein (Gegenbeispiel: Entnehmen Sie einige Zubehörteile)
2.
Jeder einzelne Schritt eines Algorithmus muß ausführbar sein (Gegenbeispiel: Verbinden Sie Monitor und Drucker)
324 3.
5 Einführung in die
Programmierung
Algorithmen müssen vollständig und allgemeingültig sein, also alle möglichen Situationen erfassen (Gegenbeispiel: Bei dem CD-ROM-Laufwerk drückt man auf Play; weil keine CD eingelegt ist, sucht es ohne Ende)
4.
Algorithmen bestehen aus einer endlichen Anzahl von Schritten (auch wenn die genaue Zahl vorher nicht feststeht) (Gegenbeispiel: Schreiben Sie Ihre Briefe mit dem Computer)
5.
Ein Algorithmus sollte zudem effizient sein, also in möglichst wenigen Schritten zum Ergebnis fuhren.
Wendet man also einen Algorithmus auf das gleiche Problem wiederholt an, muß auch immer das gleiche Ergebnis herauskommen. Das größte Problem ist häufig, alle Faktoren der realen Welt zu berücksichtigen. Dazu wieder drei Beispiele: •
Relativ häufig kommt es vor, daß Bediener Tasten betätigen, mit denen niemand rechnete, daraus folgen Abstürze oder Funktionen, die nicht im Handbuch stehen.
•
1983 durchflog ein Flugzeug einen Sturm vor Denver. Um Treibstoff zu sparen, wurden die Triebwerke gedrosselt, sie froren dadurch allerdings ein. Niemand hatte an die Berücksichtigung der Außentemperatur als Variable gedacht.
•
Die Software für die F 16 bewirkte, daß sie sich beim Überflug des Äquators auf den Rükken drehte. Zum Glück wurde dieser Fehler bei entsprechenden Simulationen entdeckt.
In unserem Beispiel soll die Berechnung der Anzahl der einzelnen Geldscheine genauer analysiert werden. Durch die Eingabe des Nutzers ist klar, welcher Betrag ausgegeben werden muß, unklar ist, wie sich dieser Betrag aus einzelnen Geldscheinen zusammensetzt. 350 DM können beispielsweise auf folgende Arten ausgegeben werden: 1 *100 DM 5 * 50 DM
3 * 100 DM 1 * 50 DM
7 * 50 DM
1 *200 DM 3 * 50 DM
2 * 100 DM 3 * 50 DM
1 * 200 DM 1 * 100 DM 1 * 50 DM
oder auch
5 Einführung in die
Programmierung
325
Üblicherweise wird man aber versuchen, mit möglichst wenigen Scheinen auszukommen. Dies erreicht man auf umständliche Art, indem man alle Möglichkeiten probiert und die mit der geringsten Zahl auswählt (im Beispiel die letzte Lösung). Intuitiv geht man aber effektiver an die Sache heran und beginnt mit dem höchsten Wert, der gerade in die Gesamtsumme paßt, hier dem 200 DM-Schein. Dann dividiert man den Gesamtbetrag durch diesen Betrag, im Beispiel erhält man 350/200 = 1,75. Dabei interessiert nur der Wert vor dem Komma, da ein 200 DM-Schein nicht 0,75 mal ausgegeben werden kann. Im nächsten Schritt wird der Restbetrag errechnet als 350-200 = 150. Diesen Betrag dividiert man wiederum durch den nächstniedrigen verfügbaren Schein, 150/100 = 1,5; der 100 DMSchein muß also ebenfalls einmal ausgegeben werden. Die folgenden Schritte ergeben sich entsprechend, bis bei der Division 1 herauskommt. Schalterbeamte und auch Geldautomaten verfolgen nicht immer das Ziel, mit mös-
cr-
liehst wenigen Scheinen auszukommen; oftmals werden auch kleinere Scheine ausgegeben. Der bisher verbal beschriebene Ablauf kann nun schrittweise in eindeutige Anweisungen übertragen werden: 1. 2. 3. 4. 5. 6. 7. 8.
Schritt Schritt Schritt Schritt Schritt Schritt Schritt Schritt
Berechnung der 200 DM-Scheine, Ausgabe der 200 DM-Scheine, Berechnung des Restbetrags, Berechnung der 100 DM-Scheine, Ausgabe der 100 DM-Scheine, Berechnung des Restbetrags, Berechnung der 50 DM-Scheine, Ausgabe der 50 DM-Scheine,
Selbstverständlich können auch einmal einzelne Schritte im konkreten Fall wegfallen (z.B. beim Ausgabebetrag von 100 DM), dies ändert aber nichts an der grundsätzlichen Vorgehensweise, denn das Problem muß immer so allgemein formuliert werden, daß alle denkbaren Situationen erfaßt werden; das Ergebnis darf also auch einmal sein: Gib 0 (Null) 200 DM-Scheine aus.
326
5 Einführung in die
Programmierung
Diese Anweisungen müssen nun noch weiter verfeinert werden. Dazu könnten • der gewünschte Betrag bzw. der gesamte Auszahlungsbetrag
als a,
• der Betrag oder Wert, der durch einen bestimmten Geldschein abgedeckt wird, als w, • die Anzahl des jeweiligen Scheins als s, • der Restbetrag als r bezeichnet werden.
Bei genauer Betrachtung zeigt sich aber, daß Auszahlungsbetrag a und Restbetrag r identisch sind, denn der eigentliche Auszahlungsbetrag (im Beispiel 350 DM) kann auch als Restbetrag nach einer schon vorgenommenen Auszahlung betrachtet werden, oder anders ausgedrückt: Wenn der erste Restbetrag berechnet wurde, benötigt man den alten Auszahlungsbetrag nicht mehr. Die Berechnung der Anzahl der 200 DM-Scheine läßt sich nun folgendermaßen beschreiben: s = Integer von a dividiert durch 200 oder s = Integer (a/200) Als Integer bezeichnet man in der Programmierung eine Funktion, die bei Zahlen den Dezimalteil abschneidet.
Ausgezahlt wird Ausgabe (s * 200) Um nun den jeweiligen neuen Auszahlungsbetrag zu berechnen, muß nur der gerade zurückgezahlte Betrag s * w abgezogen werden. Das heißt: neuer Auszahlungsbetrag
vorheriger Auszahlungsbetrag - s * 200
Wie gesagt, benötigt man eigentlich nur den jeweils aktuellen Auszahlungsbetrag, da der alte nicht mehr benötigt wird. Das Problem vereinfacht sich dadurch, daß man der Variablen a auch den neuen Auszahlungsbetrag zuweist, somit den alten Wert überschreibt, zu: a = a - s * 200.
5 Einführung in die Programmierung
327
Das Gleichheitszeichen wird hier, wie bei vielen Programmiersprachen, nicht als Gleichheitszeichen im mathematischen Sinne, sondern als Zuweisung verstanden. Der Befehl a = a + 1 ist als mathematische Aussage falsch. Er soll vielmehr bedeuten: Addiere zu der Variablen a den Wert 1 und weise diesen neuen Wert wiederum der Variablen a zu. Alternativ werden auch die Zeichen
=
< = > = .
sind immer obligatorisch, also anzugeben, obwohl sie nicht unterstrichen werden (im Beispiel nicht verwendet).
5.3.1.4 Aufbau eines Programms Ein COBOL-Programm besteht immer aus vier Teilen, die in einer festen Reihenfolge angeordnet sind. Es sind dies: •
der Erkennungsteil
(Programmname) (Datum) (Name des Programmierers),
•
der Maschinenteil
(Informationen über die DV-Anlage) (Datei- und Geräteerklärung),
•
der Datenteil
(Aufbau der Dateien) (Zusammensetzung der Datensätze),
•
der Ablaufteil
(Befehle für Ein- und Ausgabe) (Befehle für die Verarbeitung).
5 Einführung in die Programmierung
369
In COBOL haben diese Programmteile einen bestimmten Namen, sie werden als
DIVISIONS
bezeichnet: IDENTIFICA TION ENVIRONMENT DATA
DIVISION. DIVISION.
DIVISION
PROCEDURE
DIVISION.
Jede DIVISION endet mit dem Beginn der nächsten DIVISION oder mit dem Programmende.
5.3.1.4.1 IDENTIFICATION DIVISION
Dabei erfüllt die IDENTIFICATION DIVISION eine Dokumentationfunktion,
oder
Erkennungs-
sie beinhaltet zumindest den Namen des Programms, kann daneben aber auch wei-
tere Informationen beinhalten. Für einfache Programme (weitere Eingaben sind möglich) z.B. Spalte 8 12 IDENTIFICATION DIVISION. PROGRAM-ID. Programmname.
Auf die Spalten, in denen die einzelnen Zeilen begonnen werden dürfen, wird in Abschnitt 5.3.1.4.5 näher eingegangen.
5.3.1.4.2 ENVIRONMENT DIVISION
Die ENVIRONMENT DIVISION ist der Maschinenteil
des Programms, in dem die Hardware
beschrieben wird, auf dem das Programm ablaufen soll, sowie die Ein- und Ausgabegeräte. Sie erfüllt also eine Kommunikationsfunktion zwischen der Soft- und der Hardware und ord-
370
5 Einführung in die
Programmierung
net Dateien bestimmten Geräten zu. In der PC-Welt hat sie überwiegend Dokumentationsfunktion. Folgende Einträge sind möglich: Spalte 8 12 ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOI JRCE-COMPUTER. Computername. OBJECT-COMPUTER. Computername. SPEC! AT.-NAMES. DECIMAL-POINT IS COMMA. Auch hier können weitere Einträge erfolgen, insbesondere, wenn auf extern gespei-
st
cherte Daten zurückgegriffen wird.
•
CONFIGURA TION SECTION beschreibt die zur Verfügung stehende Hardware.
•
SOURCE-COMPUTER
beschreibt den Computer, auf dem das Programm compiliert wer-
den soll. •
OBJECT-COMPUTER
beschreibt den Computer, auf dem das Programm ausgeführt wer-
den soll. • SPECIAL-NAMES
ordnet Bezeichnungen des Programmierers herstellerabhängigen Be-
zeichnungen zu und stellt auf deutsche Dezimalschreibweise um. •^n
Wird eine INPUT-OUTPUT
SECTION benötigt (immer dann, wenn Daten von ex-
ternen Datenträgern verarbeitet werden sollen), muß auch der
FILE-CONTROL-
Paragraph verwendet werden.
5.3.1.4.3 DATA DIVISION
In der DATA DIVISION werden Angaben darüber gemacht, welche Daten im Programm verwendet werden; dazu gehören Datenname, Datentyp und Feldlänge. Sie erfüllt also eben-
5 Einführung in die
Programmierung
371
falls eine Dokumentationsfunktion, da alle im Programm verwendeten Daten hier beschrieben werden. Folgende Einträge sind möglich (zwingend ist nur die erste Zeile): Spalte 8 12 DATA DIVISION. WOR KINO-STOR AOF, SECTION. Stufennummer-77-Beschreibungen Datensatzbeschreibungen... •
WORKJNG-STORA GE SECTION beschreibt alle Daten, die intern verwendet, also nicht auf externem Wege verarbeitet werden.
em
Wird mit externen Dateien gearbeitet, ist auch die FILE SECTION, wird mit UnterProgrammen gearbeitet, ist auch die LINKAGE SECTION anzugeben.
5.3.1.4.4 P R O C E D U R E DIVISION
Die PROCEDURE DIVISION bestimmt den eigentlichen Ablauf des Programms oder den Algorithmus zur Lösung; damit erfüllt auch sie eine Dokumentationsfunktion, die Beschreibung des Programmablaufs, aber auch eine Steuerfunktion. Folgende Einträge sind z.B. alternativ möglich: Spalte 8 12 PROCEDURE DIVISION. Kapitelname SECTION. Paragraphenname. Satz...
5 Einführung in die Programmierung Spalte 8 12 PROCF.DI JRF. DIVISION. Paragraphenname. Satz... Die Anweisungen werden dabei immer von oben nach unten ausgeführt, wenn dem nicht Verzweigungen widersprechen.
5.3.1.4.5 Das Programmschema
Die PROCEDURE DIVISION macht deutlich, daß innerhalb der DIVISIONS weiter hierarchisch gegliedert werden kann, dazu wird im folgenden die gesamte Rangordnung dargestellt: Programm DIVISION Section/Kapitel Paragraph Satz/Erklärung/Kommentar/Eintrag/entry Anweisung/Klausel/clause Wort Zeichen Bei allen Einträgen ist folgendes Programmschema einzuhalten, Grundlage sind 80 Spalten wie bei den früher verwendeten Lochkarten: Spalten 1-6
Folgenummernbereich
In diesem Bereich können die Programmzeilen aufsteigend numeriert werden. Spalte 7
Zeilenkennung
Diese Spalte wird verwendet, • um Kommentare durch Stern oder Schrägstrich zu kennzeichnen, wobei ein Schrägstrich dazu führt, das beim Ausdruck eine neue Seite begonnen wird oder
5 Einführung in die
Programmierung
373
•
um eine Programmzeile durch ein Leerzeichen zu kennzeichnen oder
•
um eine Folgezeile durch einen Bindestrich zu kennzeichnen, um z.B. ein langes nicht numerisches Literal eingeben zu können.
Spalten 8-72
Programmbereich
Hier wird das eigentliche COBOL-Programm codiert, der Bereich wird weiter untergliedert in die: Spalten 8-11
Bereich A
Hier beginnen die Überschriften der Programmteile, Kapitel, Paragraphen und die Stufenbezeichnungen der DATA DIVISION. Spalten 12-72
Bereich B
Hier beginnen alle weiteren Einträge der einzelnen DIVISIONS, insbesondere die der PROCEDURE DIVISION.
Die Spalten 73 - 80 wurden bei der Verwendung von Lochkarten benutzt, um z.B. den Programmnamen auf jeder Lochkarte zu codieren, um damit also zusammengehörige Lochkarten zu kennzeichnen. Sie hatten damit die Funktion von Kommentarzeilen, werden aber heute nicht mehr verwendet. Kommentar- und Leerzeilen können beliebig eingeführt werden.
5.3.1.5 Datenstrukturen Ebenso wie bei der Beschreibung der einzelnen Programmteile die genaue Syntax eingehalten werden muß, so gilt dies auch für die Definition der Daten selbst; Name, Feldlänge und Datentyp müssen genau angegeben werden. Damit wird festgelegt, welchem Dateinamen welcher Datentyp zugewiesen wird und welche Feldlänge im Hauptspeicher reserviert wird. Dabei muß folgendes Format beachtet werden: Stufennummer
{Datenname-1} [.PIC IS Zeichenkette]:[Zusatz].
374
5 Einführung in die
Programmierung
5.3.1.5.1 Stufennummern
Die Stufennummer hat die Funktion, Daten hierarchisch zu gliedern (Stufennummern Ol bis 49), Stufennummer 77 hingegen bedeutet keine hierarchische Ordnung. Stufennummern Ol und 77 beginnen immer in der Spalte 8, die restlichen ab Spalte 8 beliebig. Auf die anderen Stufennummern 50 bis 76 und 78 bis 88 wird im Moment nicht näher eingegangen.
Die hierarchische Ordnung beginnt immer mit der höchsten Stufennummer Ol. Folgendes Beispiel für eine Datenstruktur kann diese hierarchische Ordnung verdeutlichen:
Der alle anderen Felder umfassende Begriff ist Klausurkandidaten; er erhält die Stufennummer Ol. Auf der nächsten Stufe sind die Felder Matr.-Nr., Name, Anschrift und Note gleichberechtigt, sie erhalten beispielsweise die Stufennummer 10. Vor- und Nachname bzw. Straße, PLZ und Ort sind wiederum gleichberechtigt, aber den vorherigen Feldern untergeordnet, sie erhalten beispielsweise die Stufennummer 20. Die Datenbeschreibung könnte dann folgendermaßen aussehen: 01
Klausurkandidaten 10 Matr-Nr 10 Name 20 Vorname 20 Nachname 10 Anschrift 20 Straße 20 PLZ 20 Ort 10 Note
5 Einführung in die
Programmierung
375
Die Vergabe der Nummern ist wahlfrei, solange die hierarchische Struktur in aufsteigender Reihenfolge eingehalten wird. Entsprechend könnte die Datenbeschreibung für folgendes Beispiel formuliert werden: Eine Bibliothek enthält Bücher verschiedener Sachgebiete (Wirtschaftswissenschaften, Sozialwissenschaften, Jura). Die Autoren werden durch den vollständigen Namen beschrieben, gleichzeitig werden Titel, Untertitel, Erscheinungsjahr und Erscheinungsort sowie die Auflage vermerkt.
5.3.1.5.2 PICTURE
Mit Hilfe der PICTURE-Klausel werden der Datentyp und die Feldlänge bestimmt. Wie schon oben angesprochen, gibt es drei unterschiedliche Datentypen: •
numerische Felder
(Symbol: 9),
•
alphabetische
(Symbol: A),
Felder
• alphanumerische
Felder
(Symbol: X).
Numerische Felder sollten nur dann verwendet werden, wenn tatsächlich damit gerechnet werden soll; Matrikelnummern z.B. werden besser als alphanumerisches Feld definiert, da dann auch Sonderzeichen automatisch berücksichtigt werden können. Grundsätzlich gilt, daß PICTURE-Klauseln nur für die jeweils niedrigste Stufe definiert werden, sogenannte elementare Datenelemente. Im obigen Beispiel sind dies die im folgenden unterstrichenen Daten. Ol
Klausurkandidaten 10 Matr-Nr 10 Name 20 Nachname 10 Anschrift 20 PLZ 20 Ort 10 Note
376
5 Einführung in die
Programmierung
Es könnte definiert werden: 01
klausurkandidaten. 10 k-matr-nr 10 k-name. 20 k-vorname 20 k-nachname 10 k-anschrifl. 20 k-strasse 20 k-plz 20 k-ort 10 k-note
PIC X(9). PIC X( 15). PIC X(25). PIC PIC PIC PIC
X(20). XXXXX. X(20). 9.
Die zu verwendenden Symbole bestimmen jeweils eine Position im Feld, PIC XXXXX bestimmt also beispielsweise ein fünfstelliges alphanumerisches Feld. Statt der Angabe der einzelnen Feldsymbole kann auch ein Wiederholungsfaktor verwendet werden, PIC 9(6) entspricht also PIC
999999.
Die Feldlängen der in der Hierarchie höher angesiedelten Daten ergeben sich unmittelbar aus denen der niedrigeren Ebenen. Die Summierung aller einzelnen Felder des Feldes Klausurkandidaten ergibt damit 95. Die einzelne Zeichenkette selbst darf, wie am Anfang erwähnt, maximal aus 30 Zeichen bestehen, die Feldlänge selbst bei numerischen Feldern bis zu 18, sonst bis zu 160 Zeichen.
cF*
Vorname und Nachname werden als alphanumerisch definiert, damit können auch Bindestriche bei Doppelnamen korrekt verarbeitet werden; ebenso die Postleitzahlen, die nicht zu Berechnungen herangezogen werden.
Außerdem können die Symbole S und V verwendet werden; S steht fiir ein Vorzeichen, V definiert die Stelle des Dezimalzeichens, beide Symbole gehören nicht zur Feldlänge und belegen keinen eigenen Speicherplatz. Entsprechend würden die oben für das Klausurergebnis benötigten Daten Mittelwert x und Anzahl z definiert als: 77 77
mittelwert zaehler
PIC 9V99. PIC 999.
5 Einfuhrung in die
377
Programmierung
5.3.1.5.3 Ausgabeformate
Bisher wurde betrachtet, wie die Felder intern definiert werden, häufig wünscht man aber bei der Druckausgabe "schönere" Formate (z.B. Anordnung der Dezimalpunkte untereinander). Dazu muß das Speicherformat in ein Druckformat überfuhrt werden. Beide Formate fordern eigene Variablen, also sind die intern gespeicherte Variable und die Variable mit dem
Druckformat unabhängig
voneinander;
sie müssen
beide
in
der
WORKING-STORAGE SECTION definiert werden. Es können wiederum zwei Feldtypen unterschieden werden: •
numerische Felder (Symbole:
•
alphanumerische
9
B
Felder (Symbole:
9
0
/
A
Z X
B
+ 0
-
*),
/).
Alphanumerische Felder müssen mindestens ein X oder ein A enthalten.
Mit druckaufbereiteten Feldern kann nicht gerechnet werden (auch nicht mit den numerischen).
Bei numerischen Feldern erfolgt die Ausrichtung dem Dezimalpunkt entsprechend; überstehende Zeichen werden abgeschnitten, fehlende Zeichen durch 0 ergänzt. Alphanumerische Felder werden linksbündig dargestellt. •
Das Symbol 9 steht für eine Position innerhalb des Datenfeldes, die nur einen numerischen Wert enthalten darf.
•
Das Symbol A repräsentiert ein alphabetisches Zeichen (inklusive Leerzeichen).
•
Das Symbol X repräsentiert ein beliebiges alphanumerisches Zeichen.
Zusätzlich dürfen folgende Symbole verwendet werden: •
Das Symbol B fugt beim Ausdruck eine Leerstelle ein.
•
Das Symbol 0 fugt beim Ausdruck eine 0 ein.
•
Das Symbol / fügt beim Ausdruck einen Schrägstrich ein.
•
Das Symbol. markiert die Stelle, an der ein Dezimalpunkt gedruckt wird.
•
Das Symbol, markiert eine Stelle, in der ein Komma eingefügt wird.
378
5 Einführung in die
Programmierung
Das Symbol Z unterdrückt fuhrende Nullen. Das Symbol + druckt die Vorzeichen + und -. Das Symbol - druckt die Vorzeichen Leerstelle (für +) und -. Das Symbol * ersetzt führende Nullen durch Sterne. Im Bankenbereich werden auch die Symbole $, DB und CR eingesetzt, sie werden hier nicht angesprochen.
Folgende Beispiele verdeutlichen den Zusammenhang zwischen Definition und Inhalt von Sendefeld (internes Format) und Ziel- bzw. druckaufbereitetem Feld (Ausgabeformate). Sendefeld (internes Format)
Zielfeld (druckaufbereitetes Feld)
PIC
Inhalt
PIC
Inhalt
A(9) X(ll) X(5) 999 9999 S9(4) S9(4) 9(4) 9(3) 9(5) 9(6)
ANSICOBOL ANSICOBOL85 COBOL 999 1234 1234+ 1234+ 0123 000 01234 001234
A(4)/A(5) XXXXBXXXXXBXX X(5)B00 999.99 9,999.99 +9999 -9999
ANSI/COBOL ANSI COBOL 85 COBOL 00 999.00 1,234.00 +1234 1234 **123
***
***
ZZZZ9 Z9(5)
1234 01234
Zur Überführung der internen Variable in die Druckformatvariable wird der MOVEBefehl verwendet.
5.3.2 Grundlegende Befehle anhand von Beispielen
Es werden nun die wichtigsten Befehle anhand von kleinen Beispielen erläutert, alle Möglichkeiten des jeweiligen Befehls werden jedoch nicht angegeben.
5 Einführung in die
5.3.2.1 Arithmetische
379
Programmierung
Anweisungen
ADD Es sollen zwei Zahlen addiert werden: ADD zahl-1 TO zahl-2 ADD zahl-1, zahl-2 GIVING zahl-3 ADD 12.34 TOmeier Wenn man nicht etwas anderes angibt, wird das Ergebnis der letzten Variablen zugewiesen. Viele Compiler akzeptieren (im Gegensatz zu älteren Produkten) Groß- und Klein-
em
Schreibung ohne Unterscheidung. Hier und in den folgenden Programmbeispielen werden allerdings zur leichteren Unterscheidung reservierte Wörter groß und Programmiererwörter klein geschrieben. Einrückungen über Spalte 12 hinaus sind nicht erforderlich und sollen nur die Lesbarkeit verbessern.
SUBTRACT Es soll eine Zahl subtrahiert
werden:
SUBTRA CT 100 FROM lomo SUBTRACT 100 FROM lomo GIVING
totlomo
MULTIPLY Es sollen zwei Zahlen multipliziert werden: MULTIPLY zahl-1 BY zahl-2 MULTIPLY zahl-1 BY zahl-2 GIVING zahl-2 MULTIPLY 1000 BY kilometer GIVING meter DIVIDE Es soll eine Division durchgeführt werden: DIVIDE nenner INTO zaehler DIVIDE nenner INTO zaehler GIVING
ergebnis
380
5 Einführung in die
Programmierung
MOVE Daten aus einem Speicherbereich sollen in einen anderen übertragen werden: MOVE ZERO TO a MOVE SPACE TO zeile MOVE zahl TOd-zahl MOVF. CORR Ein Sonderfall der MOVE-Anweisung, wodurch Felder einer Datengruppe
in gleichbenannte
Felder einer anderen Datengruppe übertragen werden, ist MOVE CORR. Klausurkandidaten. 10 k-matr-nr 10 k-name. 20 k-vorname 20 k-nachname 10 k-anschrift. 20 k-plz 20 k-ort 10 k-note
Ol
Schein. 10 k-name. 20 k-vorname 20 k-nachname 10 k-note
Ol
PICX(9). PIC X( 15). PIC X(25). P1CXXXXX. PIC X(20). PIC 9.
PIC X( 15). PIC X(25). PIC 9.
Will man das Feld k-vorname eindeutig ansprechen, muß der komplette "Pfad" angegeben werden, z.B. k-vorname IN k-name IM Klausurkandidaten oder k-vorname IN k-name IN Schein. Auch bei der Zuweisung lautet der Befehl z.B. MOVE 3 TO k-note IN klausurkandidaten.
Sollen gleichlautende Variablen aus dem Bereich Klausurkandidaten in den Bereich Schein übertragen werden, lautet der einfache Befehl MOVE CORR klausurkandidaten
TO schein
5 Einführung in die
381
Programmierung
statt MOVE k-vorname IN k-name INklausurkandidaten IN k-name IN schein
TO k-vorname
MOVE k-nachname IN k-name IN klausurkandidaten IN k-name IN schein MOVE k-nole IN klausurkandidaten
TO k-nachname
TO k-note IN schein
Übertragen werden nur die Variablen, die im Quell- und Zielbereich gleich bezeichnet sind. COMPUTE Es soll einer Variablen das Ergebnis einer mathematischen Funktion zugewiesen
werden:
COMPUTE datei = 100 COMPUTEs2 = ((y ** 2) *x *y *xy)/(n * (y ** 2)-y COMPUTE mittelar = (a + b + c + d)/4
** 2)
ROUNDED Damit bei arithmetischen Operationen das Ergebnis gerundet wird, muß diese Anweisung angefügt werden. ADD 1.23, 4.56 GIVING summe führt bei einer mit PIC 9.9 definierten Feldlänge der Variablen SUMME zu dem Ergebnis 5.7. ADD 1.23, 4.56 GIVING summe
ROUNDED
führt hingegen zum korrekteren Ergebnis 5.8.
ON SI7.F. ERROR Es soll der Fall berücksichtigt werden, daß der Speicherplatz
für ein Ergebnis nicht
ausreicht.
ADD 6, 9 GIVING summe führt bei einer mit PIC 9 definierten Feldlänge der Variablen SUMME zu dem Ergebnis 5 statt 15.
382
5 Einführung in die
Programmierung
Die Anweisungen ADD 6, 9 GIVING summe ON SIZE ERROR DISPLA Y "Speicher fiter SUMME zu klein " NOT ON SIZE ERROR CONTINUE END-ADD. zeigen explizit an, daß der Speicherplatz nicht ausreicht.
VALUE In manchen Fällen soll einer Variablen ein Anfangswert
zugewiesen oder es sollen Gültig-
keitsbereiche fur Bedingungsnamen definiert werden. Dazu benutzt man die
VALUE-K\mse\
in der WORKING-STORAGE SECTION (Stufennummer fur Bedingungsnamen ist immer 88): DATA DIVISION. Ol traumnote PIC 9 knote PIC 9. Ol 88 note-gut 88 note-ngut PROCEDURE
VALUE 1. VALUE 1 THRU 4. VALUE 5 THRU 6.
DIVISION.
IF note-gut THEN DISPLAY "bestanden" ELSE DISPLAY "nicht bestanden". SIGN Um ein Vorzeichen in einer eigenen Speicherzelle abspeichern zu können, muß die SIGNKlausel benutzt werden. Benötigt wird eine solche Definition beispielsweise, wenn Zahlen mit negativem Vorzeichen von der Tastatur abgefragt werden sollen. 77
eingabefeld
Ohne die Angabe SEPARATE
PIC S99 SIGN IS LEADING SEPARATE CHARACTER VALUE IS-12. würde das Vorzeichen in der ersten von zwei Speicherzellen,
also bei der 2 mitgeführt. Hier wird eine führende dritte Speicherzelle definiert, die das Minuszeichen enthält. Statt LEADING kann auch TRAILING für ein nachfolgendes Vorzeichen verwendet werden.
5 Einführung in die Programmierung
383
INITIALIZE kann anstelle der VALUE-Klausel dazu benutzt werden, Anfangswerte festzulegen, insbesondere für nichtelementare Datenfelder. Numerischen Datenfeldern wird der Anfangswert 0 zugewiesen, alphabetische Felder erhalten Leerzeichen. DATA DIVISION. kandidat. Ol 10 k-note 10 k-versuch 10 k-matr-nr 10 k-fach
PIC PIC PIC PIC
9.9. 9. X(9). X(3).
PROCEDURE DIVISION. INITIALIZE
5.3.2.2 Ein- und
kandidat.
Ausgabeanweisungen
ACCEPT Es sollen Daten über die Tastatur eingegeben oder vom System übernommen werden: ACCEPT A CCEPT ACCEPT ACCEPT ACCEPT
zahl datum FROM DA TE tag FROM DA Y zeit FROM TIME wtag FROM DAY-OF-WEEK
DISPLAY Es sollen Daten über den Bildschirm ausgegeben werden: DISPLAY zeit DISPLAY "Standardabweichung ist ", S2 DISPLAY "Standardabweichung ist"
384
5 Einführung in die
Programmierung
5.3.2.3 Anweisungen zur Ablaufsteuerung STOP Der Programmablauf soll beendet werden: STOP RUN. CONTINUE Es soll deutlich gemacht werden, daß keine Anweisung
folgt (z.B. bei einer Auswahl, wenn
ein Zweig in einer Auswahl zu keiner besonderen Anweisung fuhrt): CONTINUE IE Es soll eine Bedingung ausgewertet werden: IF k = "J" OR k = "N" THEN CONTINUE ELSE DISPLAY "Falsche Eingabe ". IF wert = 1000 THEN MO VE 0,08 TO zins END-IF.
5 Einführung in die Programmierung
385
Bei Verschachtelungen erhöhen die £7VZ)-/F-Klausel und der Verzicht auf das Wahlwort THEN die Lesbarkeit: IF wert > = 100000 MOVE 0,10 TO zins ELSE IF wert >= 10000 MOVE 0,09 TO zins ELSE DISPLA Y "Zu geringer Anlagebetrag" END-IF END-IF. RV ALI JÄTE Es sollen Bedingungskombinationen
(Mehrfachauswahlen) ausgewertet werden (vgl. Ab-
schnitt Entscheidungstabellen): EVALUATE k-note WHEN 1 DISPLA Y "Note ist sehr gut" WHEN 2 DISPLAY "Note ist gut" WHEN 3 DISPLAY "Note ist befriedigend" WHEN 4 DISPLAY "Note ist ausreichend" WHEN 5 DISPLAY "Note ist nicht ausreichend" END-EVALUATE. Folgende IF-Schleifen führen zum gleichen Ergebnis: IF k-note = 1 THEN DISPLA Y "Note ist sehr gut" ELSE IF k-note =2 THEN DISPLAY "Note ist gut" ELSE IF k-note = 3 THEN DISPLAY "Note ist befriedigend" ELSE IF k-note = 4 THEN DISPLAY "Note ist ausreichend" ELSE DISPLAY "Note ist nicht ausreichend" END-IF END-IF END-IF END-IF.
386
5 Einführung in die Programmierung
Zwei weitere Beispiele für die EVALUATE-Klausel sind: EVALUATE (plz) ALSO (ort) WHEN 1000 THR U 8999 ALSO ANY DISPLAY" " WHEN OTHER DISPLAY "Keine gültige Postleitzahl " END-EVALUATE. EVALUATE
(gast-hunger = "J") ALSO (gast-geld = "J") ALSO (gast-nuechtern = "J") WHEN TRUE ALSO TRUE ALSO TRUE DISPLAY "Gast wird eingelassen". WHEN OTHER DISPLA Y "Gast wird nicht eingelassen" END-EVALUATE.
PERFORM Es werden Unterprogramme aufgerufen, die beispielsweise Berechnungen oder Anweisungen beinhalten, die an mehreren Stellen des Programms benötigt werden. hauptprogramm. PERFORM unter-1 THR U unter-4. PERFORM unter-2. STOP RUN. unter-1. DISPLAY "Adressenliste". unter-2. DISPLAY "== ======== ===". unter-3. DISPLAY"
".
unter-4. DISPLAY "Name
Vorname
Ort".
5 Einführung in die Programmierung
387
Ein besonderer Befehl ist der PERFORM UNTIL zur Codierung von Iterationen (entspricht dem DO WHILE in Struktogrammen): hauptprogramm. MOVE 1 TO w PERFORM eingäbe UNTIL w > 20 STOP RUN. eingäbe. DISPLAY "Eingabe Matr.-Nr„ Name, Note " ACCEPT k-matr-nr, k-name, k-note DISPLAYk-matr-nr, k-name, k-note DISPLAY "Weiterer Prüfling? " ADD 1 TO w. MOVE 1 TO w PERFORM UNTIL w> 20 DISPLAY "Eingabe Matr.-Nr„ Name, Note " ACCEPT k-matr-nr, k-name, k-note DISPLAY k-matr-nr, k-name, k-note DISPLAY "Weiterer Prüfling ? " ADDI TO w END-PERFORM. STOP RUN. Die erste Lösung wird übrigens als Ow/-o/-A;>?e-PERFORM-Anweisung bezeichnet, die zweite als /«-Zi'we-PERFORM-Anweisung. Damit wurden auch die Befehle zur Programmierung von Sequenz, Selektion und Iteration angesprochen: Sequenzen oder einfache Anweisungen lassen sich in COBOL zusätzlich durchnumerieren. 0010 0012 0014
DISPLAY "Summe dreier Zahlen" ADD a, b, c GIVING c DISPLAY "Ergebnis ", c
Selektionen oder Auswahlen werden über die IF-Anweisung (einfache Auswahl) oder die EVALUATE-Anweisung (mehrfache Auswahl) realisiert. Iterationen oder Wiederholungen können mit Hilfe der PERFORM UNTIL-Anweisung codiert werden.
388
5 Einführung in die Programmierung
5.3.2.4
Beispiele
Möchte man in einem COBOL-Programm die Gleichung x * y + 1 / ( n - 1) lösen, bietet sich folgendes Lösungsschema an: WORKING-STORAGE SECTION. 77 x PIC IS 9(16) V99. 77 y PIC IS 9(16) V99. 77 n PIC IS 9(16)V99. 77 ergebnis PIC IS 9(16) V99. PROCEDURE DIVISION. ACCEPTx. ACCEPT y ACCEPTn COMPUTE ergebnis =x*y+ DISPLAY ergebnis.
1 / (rt-1).
Verzichtet man auf COMPUTE und ersetzt man sie durch Alternativen, können folgende Anweisungen eingesetzt werden: WORKING-STORAGE SECTION. 77 x PIC IS 9(16)V99. 77 y PIC IS 9(16)V99. 77 n PIC IS 9(16) V99. 77 ergebnis PIC IS 9(16) V99. PROCEDURE DIVISION. ACCEPTx. ACCEPTy ACCEPTn SUBTRACT 1 FROM n. MULTIPLY x BY y. DIVIDE n INTO 1 GIVING n. ADD y TO n GIVING ergebnis. DISPLAY ergebnis. Die Definition der Datenfelder und die sonstigen Anweisungen sind für den Test erforderlich. Üblicherweise wird n für ganze Zahlen benutzt; trotzdem muß hier n mit Nachkommastellen definiert werden, damit das Ergebnis der Operation DIVIDE n INTO 1 nicht zum Wert 0 abgerundet wird.
5
Einführung
in die
Programmierung
389
B e i dieser L ö s u n g sind allerdings nach der Ausfuhrung der arithmetischen A n w e i s u n g e n die ursprünglichen Variablenwerte für y und n nicht mehr vorhanden. Deshalb wird e i n Feld hilfe für das Z w i s c h e n e r g e b n i s eingeführt. D i e Variablen x, y w e i s u n g e n vorbesetzt. IDENTIFICATION DIVISION. PROGRAM-ID. aufgabe5. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. DATA DIVISION. WORKING-STORAGE SECTION. 77 X PIC 999V999 VALUE 5. 77 y PIC 999V999 VALUE 4. 77 n PIC 999 VALUE 3. 77 ergebnis PIC 999V999. 77 hilfe PIC 999V999. PROCEDURE DIVISION, haupt SECTION, rechnen. SUBTRACT 1 FROM n GIVING hilfe. DIVIDE hilfe INTO I GIVING hilfe. MULTIPLY x BY y GIVING ergebnis. ADD hilfe TO ergebnis DISPLAY ergebnis. STOP RUN.
5.3.2.4.1 C O B O L - P r o g r a m m G e l d a u t o m a t
IDENTIFICATION DIVISION. ************************
PROGRAM-ID. geldautomat. ENVIRONMENT DIVISION. *********************
CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. SPECIAL-NAMES . DECIMAL-POINT IS COMMA.
und n werden durch V A L U E - A n -
390
J Einfuhrung in die Programmierung DATA DIVISION. * * * * * * * * * * * * * *
WORKING-STORAGE SECTION. 77 77 77
a w s
PIC 999. PIC 999. PIC 9.
PROCEDURE DIVISION. ******************* haupt SECTION, paragraph-1. DISPLAY SPACES UPON CRT. berechnungen. MOVE 200 TO w. DISPLAY "Bitte Betrag eingeben " ACCEPT a DISPLAY " " PERFORM UNTIL a = 0 COMPUTE s = a/w DISPLAY " » DISPLAY "Ausgabe von ", s, " ", w, " DM-Scheinen" COMPUTE a = a - s * w EVALUATE w WHEN 2 00 MOVE 100 TO w WHEN 100 MOVE 50 TO w WHEN OTHER MOVE 0 TO a END-PERFORM STOP RUN.
Variablennamen wie a, w und s sind unverständlich, verwendet werden sollten besser "sprechende" Namen.
Exkurs: Zum Vergleich wird das Programm des Geldautomaten in BASIC vorgestellt (mit Hilfe von BASICA bzw. GWBASIC). Damit ergibt sich allerdings die Gefahr, daß der Leser BASIC für die bessere, weil mit weniger Befehlen auskommende Programmiersprache hält. Als Gegenargument sei deshalb nochmals auf die Vorteile von COBOL verwiesen, die insbesondere bei größeren und komplexeren Programmen zum Tragen kommen.
5 Einführung in die Programmierung 10 100 110 120 130 140 150 160 170 180 190 200
391
REM Berechnung der Geldscheinausgabe RESTORE DATA 200,100,50 CLS I N P U T " G e l d b e t r a g e i n g e b e n ",-A FOR I = 1 TO 3 READ W S = I N T (A/W) P R I N T " A u s g a b e v o n ";S;" ";W;" D M - S c h e i n e n A=A-S*W NEXT I END
Wenn man unbedingt will, kann man auch in COBOL sehr kurz, aber dafür schlecht nachvollziehbar programmieren. Das folgende Listing kann als abschreckendes Beispiel dienen.
c
Diese Variante läuft nicht auf allen Compilern und benutzt Sprachelemente, die im Rahmen dieser Einführung nicht behandelt werden. WORKING-STORAGE SECTION. 01 s d a t a VALUE "200100050". 05 w O C C U R S 3 P I C 999. 77 i P I C 999. 77 g e g e b e n P I C 999. 77 a n z a h l P I C 999. PROCEDURE DIVISION. DISPLAY SPACES UPON CRT. DISPLAY "Bitte Betrag eingeben " ACCEPT gegeben . PERFORM VARYING i FROM 1 BY 1 UNTIL i > 3 C O M P U T E a n z a h l = g e g e b e n / w(i) D I S P L A Y " A u s g a b e " a n z a h l " " w(i) " D M - S c h e i n e " COMPUTE gegeben = gegeben - anzahl * w(i).
5.3.2.4.2 COBOL-Programm Weitsprung
>Für ein weiteres Beispiel aus dem allgemeinen Teil (Weitsprung) wird abschließend der komplette Aufbau angegeben. Dabei wird wieder auf möglichst einfache Befehle zurückgegriffen; genauso werden Variablennamen verwendet, die einen Rückschluß auf ihren Inhalt zulassen.
392
5 Einführung in die Programmierung IDENTIFICATION DIVISION.
*************************
PROGRAM-ID. Weitsprung. ENVIRONMENT DIVISION.
***********************
CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. DATA DIVISION.
****************
*
WORKING-STORAGE SECTION. 77 77 77 77
ergbest ergv s d-ergbest
PIC PIC PIC PIC
99V99. 9V99. 9. Z9,99.
PROCEDURE DIVISION. haupt SECTION, paragraph-1. DISPLAY SPACES UPON CRT. berechnungen. INITIALIZE s, ergbest MOVE ergbest TO d-ergbest DISPLAY "Bestes Ergebnis bisher" DISPLAY d-ergbest PERFORM UNTIL s = 3 DISPLAY "Eingabe Weite" ACCEPT ergv IF ergv > ergbest THEN MOVE ergv TO ergbest MOVE ergbest TO d-ergbest ELSE NEXT SENTENCE END-IF DISPLAY d-ergbest ADD 1 TO s END-PERFORM. STOP RUN.
Man kann nun versuchen, Befehle zu vereinfachen, zusammenzufassen oder durch andere Befehle zu ersetzen. Achten sollte man ganz besonders auf die Punkte am Ende eines Satzes. Außerdem kann es Anfängern helfen, zusammengehörige IF-, ELSE- und END-IF-Anweisungen farblich zu kennzeichnen.
5
Einführung
in die
Programmierung
5.3.2.4.3 C O B O L - P r o g r a m m
393
EDV-Klausur
A u c h fiir das bekannte Problem einer EDV-Klausur wird die vollständige C O B O L - S y n t a x vorgestellt. A u c h d i e s e s Programmlisting ist auf die bisherigen Kenntnisse abgestellt. IDENTIFICATION DIVISION. **************************
PROGRAM-ID. klausur. ENVIRONMENT DIVISION. ***********************
CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. DATA DIVISION. ****************
*
WORKING-STORAGE SECTION. 77 77 77 77 77 77 77 77 77 77
zaehler note-gesamt mittelwert mat-nr name-kand nnote abfrage-1 abfrage-2 neg-note negquote
PIC PIC PIC PIC PIC PIC PIC PIC PIC PIC
999. 99V9. 99V9. 9(6) . A (20 ) . 9. A. A. 999 . 999V99.
77 77 77
d-zaehler d-mittelwert d-negquote
PIC ZZ9. PIC ZZ9,9. PIC ZZ9,99.
PROCEDURE DIVISION. *********************
haupt SECTION. Vorbereitung. DISPLAY SPACES UPON CRT. INITIALIZE zaehler, note-gesamt, neg-note DISPLAY "Weiterer Kandidat ? (=J)" ACCEPT abfrage-1.
394
5
Einführung
in die
Programmierung
berechnungen. PERFORM UNTIL abfrage-1 IS NOT EQUAL "J" DISPLAY "Matr.-Nr., Name, , Note" ACCEPT mat-nr ACCEPT name-kand ACCEPT nnote DISPLAY mat-nr, name-kand, nnote ADD nnote, note-gesamt GIVING note-gesamt ADD zaehler, 1 GIVING zaehler IF nnote > 4 THEN ADD neg-note, 1 GIVING neg-note ELSE NEXT SENTENCE END-IF DISPLAY "Weiterer Kandidat ? (=J) " ACCEPT abfrage-1 END-perform. DIVIDE note-gesamt BY zaehler GIVING mittelwert MOVE mittelwert TO d-mittelwert DISPLAY "Durchschnittsnote " DISPLAY d-mittelwert DISPLAY "Durchfallquote (=D) oder Anzahl (=A) ACCEPT abfrage-2 IF abfrage-2 ="D" THEN COMPUTE negquote = neg-note / zaehler * 100 MOVE negquote TO d-negquote DISPLAY "Durchfallquote in % = " DISPLAY d-negquote ELSE DISPLAY "Anzahl = " MOVE zaehler TO d-zaehler DISPLAY d-zaehler END-IF. STOP RUN.
Folgendes Listing zeigt das gleiche Problem in anderer Form: IDENTIFICATION DIVISION.
**************************
PROGRAM-ID. unbekannt. ENVIRONMENT DIVISION.
***********************
CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. SPECIAL-NAMES. DECIMAL-POINT IS COMMA, durchschnitt. DIVIDE zaehler IN rechner INTO note-gesamt GIVING mittelwert IN rechner.
5 Einführung in die
395
Programmierung
DATA DIVISION. **************** * WORKING-STORAGE SECTION. Ol rechner. 10 zaehler 10 note-gesamt 10 mittelwert 10 neg-note 10 negquote
PIC PIC PIC PIC PIC
01 abfragen. 10 abfrage-1 10 abfrage-2
PIC A. PIC A.
01 eingäbe. 10 mat-nr 10 name-kand 10 e-note
PIC X (6) . PIC X (20) . PIC 9.
01 ausgabe. 10 zaehler 10 mittelwert 10 negquote
PIC ZZ9. PIC ZZ9,9. PIC ZZ9,99.
999. 99V9. 99V9. 999. 999V99
PROCEDURE DIVISION. ********************* DISPLAY SPACES AT 0101. haupt SECTION. INITIALIZE rechner PERFORM ergebnis THRU druck STOP RUN. ergebnis. DISPLAY "Weiterer Kandidat ? (=J)" AT 0110 ACCEPT abfrage-1 AT 0135 PERFORM UNTIL abfrage-1 IS NOT = "J" DISPLAY "Matr.-Nr., Name , Note" AT 0510 ACCEPT mat-nr AT 0710 ACCEPT name-kand AT 0721 ACCEPT e-note AT 0741 DISPLAY mat-nr AT 0910 DISPLAY name-kand AT 0921 DISPLAY e-note AT 0941 ADD e-note TO note-gesamt ADD 1 TO zaehler IN rechner IF e-note > 4 THEN ADD 1 TO neg-note END-IF DISPLAY "Weiterer Kandidat ? (=J)" AT 0110 ACCEPT abfrage-1 AT 0135 END-perform.
396
5 Einführung in die
Programmierung
statistik. DISPLAY "Durchfallquote (=D) oder Anzahl (=A) " AT 1710 ACCEPT abfrage-2 AT 1750 IF abfrage-2 ="D" THEN COMPUTE negquote IN rechner = neg-note / zaehler IN rechner + 100 MOVE CORR rechner TO ausgabe DISPLAY "Durchfallquote in % = " AT 2010 DISPLAY negquote IN ausgabe AT 2030 ELSE DISPLAY "Anzahl = " AT 2 010 MOVE zaehler IN rechner TO zaehler IN ausgabe DISPLAY zaehler IN ausgabe AT 2030 END-IF. druck. MOVE CORR rechner TO ausgabe DISPLAY "Durchschnittsnote " AT 1210 DISPLAY mittelwert IN ausgabe AT 1230.
5.3.3 Bearbeitung sequentieller Dateien
Das besondere an den bisherigen Beispielen und Übungen war die Tatsache, daß Dateneinund -ausgaben immer über die Tastatur bzw. den Bildschirm Vorgenommen wurden. Dies ist sicher dann unproblematisch, wenn geringe Datenmengen oder einmalige arithmetische Operationen im Vordergrund stehen. Hauptanwendungen dürften aber in einem Bereich liegen, in dem es um die Verarbeitung größerer Datenmengen geht, ein Bereich, für den COBOL prädestiniert erschien. Diese Datenmengen sind aber nur dann sinnvoll zu verwalten, wenn sie auf einem externen
Speicher-
medium erfaßt werden, von dem sie jederzeit leicht abgerufen werden können. Grundsätzlich können die Daten auf unterschiedliche Art und Weise, und dies nicht nur in COBOL, auf einem Datenträger organisiert werden. Man unterscheidet: •
sequentielle
Dateiorganisation,
•
index-sequentielle
•
wahlfreie Dateiorganisation.
Dateiorganisation,
5 Einführung
in die
397
Programmierung
Die sequentielle Organisation ist für alle Datenträger geeignet, meist einfacher zu handhaben und auch heute noch fur viele Anwendungen die sinnvollste Methode. Im folgenden wird nur die Bearbeitung sequentieller Dateien behandelt. Beispielsweise besteht eine Umsatzdatei aus folgenden Einträgen: Firma
Ort
Umsatz
Horibo Filix Sochard
Hamburg Schwerte Düsseldorf
200.000 150.000 720.000
Die Daten werden genau in der Reihenfolge verarbeitet, in der sie auch abgespeichert wurden. Beim ersten Zugriff auf die Datei wird der Datensatz für Horibo gelesen, anschließend für Filix, dann für Sochard, usw. Ein direkter Zugriff auf den Sochard-Datensatz ist nicht möglich, neue Datensätze können nur am Ende angefugt werden. In COBOL müssen zur Verarbeitung sequentieller Dateien zwei weitere Sections definiert werden: • die INPUT-OUTPUT
SECTION (innerhalb der ENVIRONMENT DIVISION),
• die FILE SECTION (innerhalb der DATA DIVISION). Beide Sections werden kurz dargestellt, daran schließen sich wiederum die wichtigsten Anweisungen in Auszügen an.
5.3.3.1 INPUT-OUTPUT SECTION Typischerweise wird dem intern (also im Programm) verwendeten logischen Dateinamen ein entsprechender physischer Dateiname zugeordnet, wie er vom Betriebssystem erkannt wird. Außerdem werden die logischen Attribute (z.B. Organisations- oder Zugriffsart) definiert. Weil bei sequentiellen Dateien nur ein sequentieller Zugriff möglich ist, kann die Angabe der Zugriffsart hier jedoch entfallen. INPUT-OUTPIJT SECTION. FILE CONTROL. SELECT [OPTIONAL] Dateiname ASSIGN TO {Herstellerbez.}
398
5 Einführung in die
Programmierung
Zum Beispiel: SELECT
OPTIONAL umsatz-datei ASSIGN TO "erfass.seq" ORGANIZA TION IS SEQUENTIAL
Einer intern als UMSATZ bezeichneten Datei wird die physische Datei "erfass.seq" zugeordnet, die sequentiell organisiert sein soll. Ohne Pfadangabe wird die Datei im Standardverzeichnis gesucht bzw. angelegt. Der Zusatz OPTIONAL kann erforderlich werden, wenn die Datei noch nicht existiert (weil sie z.B. im Programm erst geschrieben wird).
Der Zusatz LINE SEQUENTIAL
ist herstellerspezifisch und dient zum Datenaustausch mit
anderen PC-Anwendungen. Dadurch kann jeder beliebige ASCII-Editor zum Bearbeiten einer solchen Datei benutzt werden. Eine Zeile entspricht dabei einem Satz; am Ende jeder Zeile werden Leerzeichen abgeschnitten bzw. beim Lesen wieder aufgefüllt und die Steuerzeichen CR und LF eingefügt. SELECT umsatz-datei
5.3.3.2 FILE
ASSIGN TO "a:\umsatz.txt", ORGANITA TION IS LINE SEQUENTIAL
SECTION
Vor der WORKING-STORAGE SECTION muß bei der Verwendung externer Dateien die FILE SECTION codiert werden. Der Eintrag lautet in allgemeiner Form: DATA DIVISION. FILE SECTION. FD {Datei 1-Name}. Ol
{Datei 1 -Satz-Name}. 05
{Datei 1-Feld 1-Name} PIC .
WORKING-STORAGE SECTION.
5 Einführung in die
Programmierung
399
Zum Beispiel: FD Ol
umsatz-datei. u-satz. u-firma 10 10 u-ort 10 u-betrag
PICX(20). PIC X(20). PIC 9(6).
5.3.3.3 Befehle zur Verarbeitung sequentieller Dateien Um externe Dateien anzusprechen, werden in COBOL folgende 4, für den Anfänger ausreichende Befehle bereitgestellt. OPEN dient zum Öffnen und zum Definieren einer Datei. OPEN INPUT OUTPUT EXTEND
umsatz-datei, druck-datei, zahlungs-datei.
öffnet die benannten Dateien, dabei steht INPUT • fur eine Datei, aus der nur gelesen werden kann, OUTPUT • fur eine Datei, in die nur geschrieben werden kann, EXTEND • fur eine Datei, an deren Ende Datensätze angefügt werden sollen. INPUT setzt voraus, daß die Dateien schon existieren. Bei OUTPUT wird eine Datei neu angelegt. Wenn schon eine Datei dieses Namens existiert, wird die alte überschrieben. Sollen Dateien mit EXTEND erweitert werden, die zum Zeitpunkt des Öffnens nicht existieren, müssen diese in der INPUT-OUTPUT SECTION als OPTIONAL definiert sein.
400
5 Einführung in die Programmierung
RF.AD dient zum Lesen der Datensätze aus einer mit INPUT geöffneten Datei. Durch den OPEN-Befehl wird ein Zeiger auf den Anfang des ersten Datensatzes gesetzt, beim ersten READ wird also der erste Datensatz gelesen; der Zeiger wird dann auf den Anfang des zweiten Datensatzes gesetzt, usw. Der Inhalt des Datensatzes wird in die Variable übertragen, die auf der Stufennummer 1 in der entsprechenden FD-Klausel beschrieben wurde. FILE SECTION. FD umsatz-datei. u-satz Ol
PIC X(50).
WORKING-STORAGE 77 eof
SECTION. PICX.
PROCEDURE DIVISION. READ umsatz-datei ATEND MOVE "1" TO eof NOT AT END PERFORM Verarbeitung END-READ. WRITE schreibt einen Datensatz in eine Datei, die mit OUTPUT oder EXTEND geöffnet wurde. FILE SECTION. FD umsatz-datei. Ol u-satz
PIC X(50).
PROCEDURE DIVISION. WRITE u-satz. Im WRITE-Befehl wird ein Datensatzname angesprochen, im READ-Befehl dagegen ein Dateiname.
CT .PSF. schließt geöffnete Dateien, der Zugriff ist dann erst nach einem erneuten OPEN wieder möglich. CLOSE umsatz-datei, zahlungs-datei, druck-datei.
5
Einführung in die
5.3.3.4 Einführendes
Programmierung
401
Beispielprogramm
Das folgende Beispiel zeigt die unbedingt notwendigen Befehle der sequentiellen Dateiverwaltung noch einmal im Zusammenhang. IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. FILE-CONTROL. SELECT urasatz-datei ASSIGN TO "erfass.txt", ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD umsatz-datei. Ol u-satz. 10 u-firraa PIC X(20). 10 u-ort PIC X(20). 10 u-betrag PIC 9(6). WORKING-STORAGE SECTION. 77 eof-merker PIC 9. 77 summe PIC 9(9). PROCEDURE DIVISION. Steuer SECTION. PERFORM anlegen. PERFORM auswerten. STOP RUN. anlegen SECTION. OPEN OUTPUT umsatz-datei. DISPLAY "Umsatz eingeben (0=Ende)". ACCEPT u-betrag. PERFORM eingeben-schreiben UNTIL u-betrag = 0. CLOSE umsatz-datei. auswerten SECTION, anfang. MOVE 0 TO eof-merker, summe. OPEN INPUT umsatz-datei. vorlesen. READ umsatz-datei AT END MOVE 1 TO eof-merker. PERFORM rechnen-nachlesen UNTIL eof-merker = 1. ende. DISPLAY "Summe ", summe, upro SECTION, eingeben-schreiben. DISPLAY "Firma eingeben ". ACCEPT u-firma. DISPLAY "Ort eingeben ". ACCEPT u-ort. WRITE u-satz. DISPLAY "Umsatz eingeben (0=Ende)". ACCEPT u-betrag. rechnen-nachlesen. ADD u-betrag TO summe. READ umsatz-datei AT END MOVE 1 TO eof-merker.
402
5 Einführung in die
Programmierung
Der Lesevorgang ist aufgeteilt in VORLESEN und NACHLESEN. Versuchen kann man, das Programm durch Umstellen und Weglassen von Zeilen so abzuändern, daß nur an einer Stelle gelesen wird.
5.3.3.5 Weiterführende
Beispielprogramme
Die beiden folgenden Listings sollen noch einmal in einem etwas größeren Zusammenhang die sequentielle Dateiverarbeitung vorstellen. Sie wenden sich an den interessierten Leser, der eigenständig weitere Erfahrungen im Umgang mit COBOL sammeln möchte; aus diesem Grund bleiben sie unkommentiert. IDENTIFICATION DIVISION.
**************************
PROGRAM-ID. klausureingabe. ENVIRONMENT DIVISION.
***********************
*
CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FI LE-CONTROL. SELECT OPTIONAL erfassdat ASSIGN TO "erfdat.TXT" ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION.
****************
FILE SECTION. FD erfassdat. Ol e-satz. 05 e-mat-nr 05 e-name-kand 05 e-note
PIC 9(12) PIC X (20) PIC 9V9
WORKING-STORAGE SECTION. 01
01
eingabefelder. PIC 9(12) . 05 mat-nr PIC X (20) 05 name-kand PIC 9,9. 05 nnote meldezeile. 10 mtexl PIC X(45) VALUE "In dieser Schicht "wurden neu erfasst". 10 d-zaehler PIC ZZ9. 10 mtex2 PIC X(32) VALUE " Sätze ".
5 Einführung in die
77 77 77 77 77
Programmierung
zaehler PIC 999. note-gesamt PIC 99V9. raittelwert PIC 99V9. abfrage-1 PIC A. 88 eingabe-n VALUE "n" "N" . leerzeile PIC X(80) VALUE SPACES.
PROCEDURE DIVISION. * * * * * * * * * * * * * * * * * * * * *
haupt SECTION. anfang. DISPLAY SPACES AT 0101. DISPLAY "Datenerfassung Klausur-Auswertung INITIALIZE zaehler. MOVE "J" TO abfrage-1. OPEN EXTEND erfassdat. PERFORM eingäbe UNTIL eingabe-n. CLOSE erfassdat. PERFORM endemeldung. STOP RUN. eingäbe. INITIALIZE eingäbetelder. DISPLAY leerzeile AT 2101. DISPLAY leerzeile AT 2201. PERFORM 3 TIMES DISPLAY leerzeile. DISPLAY "Matr.-Nr. Name Note " AT 2210. ACCEPT mat-nr AT 2310. ACCEPT name-kand AT 2324. ACCEPT nnote AT 2346. DISPLAY mat-nr AT 2010. DISPLAY name-kand AT 2023. DISPLAY nnote AT 2045. " AT 2310 . DISPLAY "Eingabe richtig J/N ? ACCEPT abfrage-1 AT 2335. IF eingabe-n DISPLAY leerzeile AT 2001 ELSE ADD 1 TO zaehler MOVE eingabefelder TO e-satz MOVE nnote TO e-note WRITE e-satz END-IF. DISPLAY "Weiter erfassen J/N? " AT 2310 . ACCEPT abfrage-1 AT 233 5. endemeldung. MOVE zaehler TO d-zaehler. DISPLAY SPACES AT 2001 2101. DISPLAY leerzeile. DISPLAY meldezeile.
403
404
5
Einführung
in die
Programmierung
IDENTIFICATION DIVISION. PROGRAM-ID. klausurauswertung. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. SPECIAL-NAMES. DECIMAL-POINT IS COMMA. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT OPTIONAL erfassdat ASSIGN TO "erfdat.TXT" ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD erfassdat. 01 e-satz. 05 e-mat-nr PIC 9(12). 05 e-name PIC X(20) . PIC 9V9. 05 e-note WORKING-STORAGE SECTION. PIC 999. 01 zaehler 01 zehnzaehl REDEFINES zaehler. 10 hunderterzehner PIC 99. 10 einer PIC 9. 77 note-gesamt PIC 99V9. 77 mittelwert PIC 99V9. 77 abfrage-1 PIC X. 77 abfrage-2 PIC A. VALUE "e" "E". 8 8 beenden 88 durchschnitt-ausgeben VALUE "d" "D" . 77 neg-note PIC 999. 77 negquote PIC 999V99. PIC X VALUE SPACE. 77 endemerker 88 e-eof VALUE "e". 77 d-zaehler PIC ZZ9. 77 d-raittelwert PIC ZZ9,9. 77 d-negquote PIC ZZ9.99. 77 d-note PIC 9,9. PROCEDURE DIVISION. Steuer SECTION. anfang. INITIALIZE zaehler, note-gesamt, neg-note. DISPLAY SPACES UPON crt. dialog. DISPLAY "Auswertprogramm Klausurergebnisse " DISPLAY "Durchfallquote (=D) oder Anzahl (=A)" DISPLAY "Beenden ohne Auswertung ( = E) " ACCEPT abfrage-2 AT 0935 0948. IF NOT beenden PERFORM vorlesen PERFORM auswerten THRU nachlesen UNTIL e-eof PERFORM ausgabe END-IF. ende. STOP RUN.
AT 0310 . AT 0710 . AT 0910 .
5 Einführung in die
Programmierung
haupt SECTION, vorlesen. OPEN INPUT erfassdat. READ erfassdat AT END MOVE "e" TO endemerker. auswerten. ADD e-note TO note-gesamt. ADD 1 TO zaehler. IF e-note > 4,3 THEN ADD 1 TO neg-note END-IF. anzeigen. MOVE e-note TO d-note. DISPLAY e-name, " ", d-note. IF einer = 0 PERFORM pause END-IF. nachlesen. READ erfassdat AT END MOVE "e" TO endemerker. ausgabe. PERFORM pause. DIVIDE note-gesamt BY zaehler GIVING mittelwert ROUNDED. MOVE mittelwert TO d-mittelwert. DISPLAY "Durchschnittsnote " AT 1210 1850. DISPLAY d-mittelwert AT 1230 1B71. IF durchschnitt-ausgeben THEN COMPUTE negquote ROUNDED = neg-note / zaehler * 100 MOVE negquote TO d-negquote DISPLAY "Durchfallquote in % = " AT 2010 2050 DISPLAY d-negquote AT 2030 2071 ELSE DISPLAY "Anzahl = " AT 2010 2050 MOVE zaehler TO d-zaehler DISPLAY d-zaehler AT 2030 2071 END-IF. pause. DISPLAY " " . DISPLAY "Weiter mit ENTER-Taste". ACCEPT abfrage-1.
405
6 Einführung in ein Betriebssystem
Der N u t z e r wird auf Betriebssystemkenntnisse nicht verzichten können, auch wenn er nur mit Bedieneroberflächen wie Windows oder der Arbeitsoberfläche von OS/2 arbeitet. Kenntnisse über die Organisation von Datenträgern sind immer von Vorteil. Ziel dieses Kapitels ist es daher, den Leser mit den Aufgaben und den wichtigsten Befehlen eines Betriebssystems anhand von D O S vertraut zu machen. Daneben wird als weiterer Einstieg in die Programmierung mit einfachen Batch-Dateien gearbeitet. Wie i m m e r gilt der Grundsatz: Nur durch ausreichende Übung gelingt es, die schriftlich dargestellten Z u s a m m e n h ä n g e zu erlernen. Nicht abschrecken lassen sollte man sich von der starken Syntaxabhängigkeit des Betriebssystems DOS, auch im Großrechnerbereich und im Bereich der Mittleren Datentechnik ist diese Form der Kommunikation üblich; Benutzeroberflächen vergeuden einfach zuviel Rechenkapazität. ABB. 6.1:
I B M A S / 4 0 0 HAUPTMENÜ
"I Datei HAIN
Editieren
Sitzung
RUMBA/400 - BENUT509 Übertragung Optionen Makro IBM AS/400 Hauptmenü
Hilfe
Auswahlnögli chke i ten: 1. 2. 3. 4. 5. E, 7, 8, 9, 10.
System:
S44F3350
Bsnutzeraufgaben Büroaufgaben Allgeneine Systenaufgaben Dateien, Bibliotheken und Ordner Progrannierung Datenfernverarbeitung System definieren oder ändern Problenbehandlung Menü ansei gen Unterstützende Informationen - Auswahlmöglichkeiten
11. Client Access-Aufgaben 90. Abmelden Auswahl oder Befehl F3=Uerlassen F4=Bedienerfiihrung F9=Äuffinden F12=Abbrechen F13=Unterstützende Informationen F23=Anfangsmenü festlegen (C) COPYRIGHT IBM CORP. 1980, 1994. 20-07 2 Sä IM II S44F3350 PS509«2S1
QUELLE:
SCREENSHOT
6 Einführung in ein Betriebssystem
407
6.1 PC-DOS und MS-DOS In der Welt der IBM- und IBM-kompatiblen Rechner werden die beiden Betriebssysteme PCDOS und MS-DOS in einem Atemzug genannt. Dies ist insofern berechtigt, da sich beide Versionen nur in für den Anfänger unwichtigen Details unterscheiden. Früher gab es weitere Varianten wie ZDOS von Zenith, Compaq DOS und DR-DOS von der Firma Digital Research, später als Novell DOS bekannt; aus Rußland kommt PTS-DOS der Firma Phystechsoft. Die Unterschiede liegen vor allem in den Zusatzfunktionen, leider sind sie aber nicht immer kompatibel mit MS-DOS. DOS bedeutet übersetzt "Disk Operation System"; es handelt sich also um ein System, das der Organisation von Massenspeichern dient. PC-DOS ist nun die IBM-Variante (PC=Personal Computer), MS-DOS die Variante für IBM-kompatible Rechner, die von der Firma Microsoft (=MS) erstellt wurde. Übrigens kommt auch PC-DOS ursprünglich von Microsoft. DOS sollte, so wünschte es sich der Initiator IBM, ein Betriebssystem sein, das sich durch Portabilität (Übertragbarkeit) und Kompatibilität (Vergleichbarkeit) auszeichnet, d.h. Programme sollten auf unterschiedlichen Prozessoren einer Familie laufen können. Man beauftragte die damals kleine Firma Microsoft mit der Programmierung, weil man selbst keine Zeit und kein Personal dafür hatte. Die Anekdote geht um, daß man eigentlich Gary Kindall, der CP/M entwickelt hatte, gewinnen wollte, doch der war gerade fischen. IBM hat damit Gates (übrigens auch den Prozessorhersteller Intel) quasi zu Monopolisten gemacht, da andere Hersteller sich an IBM orientierten. Zuerst erkannte auch Gates die Chance nicht richtig, denn mehrmals bot er IBM die Rechte an DOS an, anfangs für 75.000$, später als 10%ige Beteiligung. Man hielt zwar Gates für einen geschäftsuntüchtigen Trottel, wollte aber andererseits mit ihm OS/2 statt DOS als Betriebssystem für leistungsfähige Rechner etablieren. Für einfache Rechner sollte dagegen Windows mit DOS die Plattform sein. Auf einer der Pressekonferenzen wich Gates den Fragen nach dem System der Zukunft jedoch so deutlich aus, daß die Hersteller verunsichert waren. Da DOS damals aber schon zu stark war, setzte sich Windows durch, die Kooperation war beendet.
408
6 Einführung in ein
Betriebssystem
6.1.1 Versionen von DOS
Bekannt geworden sind unterschiedliche Versionen von DOS. Jedes Programm und auch jedes Betriebssystem beginnt erst einmal mit der Version 1 oder 1.0. Höhere Versionen enthalten in der Regel Verbesserungen und Erweiterungen. Aus Kostengründen werden nämlich häufig erst "schmale" Versionen auf den Markt gebracht, die, falls sie sich durchsetzen, rasch komplexer werden. DOS 1.0 kam auf der Grundlage von Tim Pattersons QDOS (Quick and Dirty Operating System) 1981 auf den Markt und konnte Disketten mit maximal 160 KByte verwalten; es bestand aus ca. 4000 Programmzeilen. Geschrieben in Assembler benötigte es 12 kByte. DOS 1.1 arbeitete ab 1982 mit beiden Diskettenseiten und konnte daher 320 kByte formatieren. DOS ¡.25 wurde extra für IBM-kompatible Rechner vorgestellt. DOS 2.0 (1983) bestand schon aus 20.000 Zeilen, bot 360 KByte-Diskettenkapazität an und führte das hierarchische System der Baumstruktur ein, wie es später näher erläutert wird. Außerdem wurden erstmals Festplatten unterstützt. DOS 2.11 (1983) enthielt erstmals internationale Zeichensätze. 200 Hersteller und Händler erwarben Lizensen für diese Version, nur IBM setzte es nicht ein. DOS 3.0 bestand schon aus 40.000 Programmzeilen, kam 1984 für die ATs auf den Markt, unterstützte Diskettenlaufwerke mit 1,2 MByte und Festplatten bis 20 MByte. DOS 3.1 (1984) bot erstmalig Netzwerkunterstützung. DOS 3.2 (1986) führte die 3 1/2-Zoll-Laufwerke mit 720 kByte Speicherkapazität ein. DOS 3.3 erlaubte 1987 erstmalig die Partitionierung (Aufteilung) von Festplatten bis zu je 32 MByte und erhöhte die Speicherkapazität von Disketten auf 1,44 MByte. DOS 4.0 bzw. 4.01 gab es seit 1988; neu waren die integrierte Bedieneroberfläche DOSSHELL, die möglichen Plattenpartitionen über 32 MByte und die Ansprache der Expanded Memory. DOS 5.0 kam 1991 auf den Markt. Es bot zusätzlich mehr verfügbaren Arbeitsspeicher, ein verbessertes DOSSHELL mit Programm- und Dateimanager, einen Plattencachespeicher
6 Einführung in ein Betriebssystem
409
zum schnelleren Datenzugriff, eine ständig verfügbare Hilfefunktion, Undelete- und Unformat- Funktion zur Rücknahme von Dateilöschungen, einen neuen BASIC-Interpreter, und daraus entnommen einen verbesserten Editor zur Programmierung von Batch-Dateien, sowie ein Task-Switching, also die Möglichkeit zwischen verschiedenen Anwendungen hin und her zu schalten. Während man früher den Herstellern das Update überließ, witterte man nun ein Geschäft. Denn DOS konnte mittlerweile 80 Mio. Installationen vorweisen. Man mußte aber für diese Update-Version die Lauffähigkeit das erstmalig auch für alle kompatiblen Rechner testen. In einer der umfangreichsten Aktionen wurden daher 70.000 Beta-Versionen verteilt. DOS 6.x gibt es seit 1994, aber zum ersten Mal in recht unterschiedlichen Versionen von Microsoft und IBM. Die Version MS-DOS 6.0 wurde wegen einiger problematischer Funktionen (z.B. Double Disk) schnell überarbeitet, es folgten u.a. PC-DOS 6.1, MS-DOS 6.2, MS-DOS 6.21, PC-DOS 6.3. Eine Version mußte vom Markt genommen werden, da sie einen nicht lizensierten Programmteil der Firma Stac Electronics enthielt. Im folgenden daher einige Neuerungen, die je nach Version hinzugekommen sind: • Memmaker dient der optimalen Speicherverwaltung, • Double Space komprimiert Dateien, • Defragmentierungen sind möglich, • Batch-Dateien lassen sich zeilenweise abarbeiten, • die Startdateien können umgangen werden, • Anti-Viren-Programme sind integriert, • das Backup wurde deutlich verbessert und kann auch einen Streamer ansprechen, • Zwei-Computer-Netzverbindungen können installiert werden (Interlink und Interserve). Sicher wird nicht immer die jeweils neueste verfügbare Version eingesetzt. Dies liegt daran, daß höhere Versionen für den Anwender häufig nicht den Fortschritt bedeuten, daß sich ein Umstieg lohnen würde, zumal die Anwendersoftware, die das eigentliche Instrument der meisten Nutzer darstellt, von neuen Betriebssystemvarianten kaum betroffen ist. Hinzu kam ein weiterer Nachteil bei älteren DOS-Versionen bis Version 3.2: Da die neuen Versionen mehr Platz auf der Festplatte benötigten, die alte Version des Betriebssystems sich selbst aber nur einen bestimmten Bereich reservierte, war der Umstieg ohne Neuformatierung
410
6 Einführung in ein
Betriebssystem
der Festplatte nicht möglich; der Arbeitsaufwand inklusive der Neuinstallationen für die Anwendersoftware beträgt mehrere Stunden.
=
Um die vom System verwendete DOS-Version und die Herkunft (MS-DOS oder PCDOS) herauszufinden, tippt man den Befehl VER ein.
6.1.2 Laden von DOS Das Einschalten des Computers muß man sich als das Füllen eines Glases vorstellen. Im ausgeschalteten (leeren) Zustand ist die Verwendungsalternative noch offen, man kann Bier oder Wein (falls man nicht Wert auf die Form des Glases, sondern auf den Inhalt legt), man kann aber auch Salz, Senf oder Haselnüsse einfüllen. Ähnlich muß man sich den ausgeschalteten PC vorstellen. Auch hier ist das Füllen mit unterschiedlichen Inhalten (Betriebssystemen) möglich. Diesen Vorgang, der auch einen Speichertest beinhaltet, nennt man Booten (von einem englischen Sprichwort abgeleitet: sich an den Stiefeln aus dem Sumpf ziehen). Im Set-Up werden Daten gelesen, Komponenten benannt und getestet; damit weiß der Rechner u.a. auch, welches das Boot-Laufwerk ist. Wenn man also den PC einschaltet, bemerkt man erst einmal, daß der Speicher getestet wird. Danach leuchtet die Kontrollampe des Laufwerks A auf. Irgendetwas (natürlich etwas Bestimmtes) sagt dem Rechner, daß er erst auf Laufwerk A nach einem Betriebssystem (genauer: dem Boot-Record) suchen soll. Dieses Etwas ist ein BIOS-ROM, das grundlegende Programme fest programmiert enthält. Gängige BIOS-ROMs sind von Phoenix, Ami oder Award.
Ein Boot-Record
enthält wichtige Parameter der Hardware (angeschlossene Laufwerke) und
die Position der FAT (File allocation table), die Informationen über das Speichermedium enthält.
6 Einführung in ein ABB. 6.2:
Betriebssystem
411
B E I S P I E L F Ü R E I N T R A G U N G E N IN E I N E M B I O S
BIOS SETUP PROGRAM ADVANCED CMOS SETUP (C) 1993 American Megatrends Inc., All Rights Reserved Typematic Rate Programming Typematic Rate Delay (msec) Typematic Rate (Chars/Sec) Above 1 MB Memory Test Memory Test Tick Sound Memory Parity Error Check Hit UUII«M«Älüitl
'
.
;
BILD1.WK3 8
A
r
I
M
1
c
Vorgaben:
-
D
. .
E
F
; iir
G
t
2 3
• 4 H 5 9f 6
m 8 p a
p o i
Rate JahreszinssaU Periodizität Monat 1
2 3
Restkredit 18000 =B8-D8 =B9-D9
500 =F4*12 12
Zinssatz pro Monat
Zinszahlung =B8*$F$4 =B9*$F$4 =B10*$F$4
Tilgung =$C$3-C8 =$C$3-C9 =$C$3-C10
A-\ 4-1 IS
0,00675
kumulierte Zinsza =C8 =F8+C9 =F9+C10
ll»l 1
~
*
Die einmal erstellten Formeln werden beliebig nach unten kopiert; dies geschieht z.B. über Markieren des Feldes, Auswahl von Bearbeiten / Kopieren, Markieren der Zielfelder und Bearbeiten / Einfügen. Vergrößern muß man die Spalten unter Umständen (Works weist mit ###### daraufhin) über Format / Spaltenbreite, Nachkommastellen lassen sich über Format / Zahlenformat ändern. Auch wenn nur zwei Nachkommastellen angezeigt werden, wird mit den tatsächliehen korrekten Werten gerechnet.
Weitere Anpassungen könnten sein: •
Darstellung in DM-Währung (Icon Geldschein oder Format / Zahlenformat).
•
Einfügen einer weiteren Spalte, die angibt, wieviele Zinsen bis zum Monat x bezahlt wurden.
•
Benennung des Feldes, in dem der Zinssatz steht, mit dem Namen Zins (Einfügen / Bereich berechnen). Dieser Name kann dann anstatt der Feldbezeichnung in Formeln verwendet werden.
•
Auffüllen der ersten Spalte mit den tatsächlichen Monatsbezeichnungen über Bearbeiten / Datenreihen ausfüllen; dazu muß der gesamte Bereich der ersten Spalte einschließlich des ersten konkret eingegebenen Monats markiert werden. Man gibt also in dem Feld, in dem bisher 1 steht, Januar ein, markiert die Spalte einschließlich dieses Felds und wählt Bearbeiten / Datenreihen
ausfüllen.
464
7 Einführung in eine
Standardsoftware
Als weiteres Beispiel soll gezeigt werden, daß man mit Tabellenkalkulationen auch Iterationen lösen kann, also Annäherungen an einen Grenzwert. Ein Vertriebsleiter kommt von einer Besprechung (Gelage) aus dem Elsaß zurück und greift sich gleich den Wirtschaftsingenieur mit dem Namen Kopfrechnen. "Herr Kopfrechnen, ich habe einen Auftrag für Sie. Gestern traf ich Herrn Dr. Meyer von Inter-Meyer. Er ist an unseren Maschinen Schnitzelhackprofi, Sauertrumpf und Eiermaster interessiert. Flitzen Sie gleich zu Buchhalter Zitrone und besorgen Sie sich die Kalkulationsdaten. Heute abend soll ich Meyer anrufen und ihm den bestmöglichen Preis nennen, also setzen Sie sich an den Rechner und benutzen Sie dieses, na Sie wissen schon. Übrigens, Meyer will von jeder Maschine 200 Stück haben. Und kalkulieren Sie so, daß wir pro Maschinentyp 1000 Mark Gewinn machen, insgesamt also 3000." Von Buchhalter Zitrone erfahrt der Ingenieur die folgenden (unwillig gegebenen) Daten. Lieber hätte er nämlich selber kalkuliert. "Also, ich gebe Ihnen jetzt die Daten jeweils für Schnitzelhackprofi, Sauertrumpf und Eiermaster. Abschreibungen 1000, 2000 und 2500; Kosten für Miete 200, 400, 300; Löhne 1000, 1000, 1200, Rohstoffkosten pro Stück 50, 100 und nochmal 100. Ja, und Betriebsstoffe, pro Stück 10 bei allen Maschinen. Fixe Vertriebskosten haben wir in Höhe von 1500 insgesamt, variable sind 22% vom Umsatz." Man kennt den Chef, er ist genau an den einzelnen Berechnungen interessiert. Er erwartet also eine Tabelle, in der er die Kalkulation nachvollziehen kann, denn er hat immer etwas zu meckern. Und so passiert es auch! "Kopfrechnen, sagen Sie mal, wie hoch ist der Preis, wenn wir 2000, also insgesamt 6000 Mark Gewinn machen wollen? Und wie sieht es aus, wenn wir unsere Abschreibungsart ändern und nur noch mit dem halben Satz abschreiben? Und was ist, wenn ich Meyer dazu überreden kann, doppelt soviele Maschinen zu kaufen? Und was, wenn die fixen Vertriebskosten halbiert werden und der Prozentsatz der variablen auf 30% erhöht wird?" Schwitz, stöhn.
7 Einführung in eine
465
Standardsoftware
Die folgende Tabelle gibt eine mögliche Lösung mit den entsprechenden Formeln an, dabei muß über F9 solange neu berechnet werden, bis sich das Ergebnis nicht mehr ändert.
Date!
Bearbeiten
Ansicht
flnfügen
Microsoft Works Extras f e n s t e r
Format
KP
H l
2
BILD2.WKS D F ••• E Sauertrumpf ISchnitzelhackprofi Eiermaster ¿¿Schreibungen 1000.00 2000,00 " 2500,00 r f - Miete L _ 400.00 200.00 300,00 : Löhne L _ 1000.00 1000.00 1200,00 5 ifixe Kosten 2200.00 3400,00 "4000.00 R e m itoffkosten jr " 50,00" 100.00 "100,00' 6 V Betri ebskosten 10,00 10.00 10.00 8 variable Kosten 12000,00 22000.00 22000.00 ¡Kosten ohne Vertrieb 14200,00 25400.00 26000.00 pertrieb« äkosten fix [ 500.00" 500.00 500.00 1500' p Vertriebskosten variabel 7587.18 7756.41 I 4428.21 22%] I ; 14" Gesamtkosten 19128.21 33487,18 34256.41 I : 16 || 16 Menge _ 2ÖÖ 2ÖÖ1 2¡5T Gewinn 1000,00 1000,00 I 1000.00 Umsatz •• " " " " 2 0 1 2 8 , 2 1 i 34487718] 35256.4Ï1 1 -1
;
ÄIBT
C
R '
G
H
3 p—
«
Preis/Stück
100,64]
172.44
-
176.28
±
1 ¡ M
Datei
i
=r
Bearbeiten
ûnslcht
¿Infügen
Formal
Microsoft Works Eitras fenster
2
BESIEH
Eiermaster Abschreit Miete_ Löhne fixe Ko
=SUMME(D2:D4)
Rohstolfk Betriebsk vanablt [vertneosl-
=SUMME(De:D7)'D16 Kosten ohne Ver 0 5 - D 8 ÍCJ11/3
[vertriebst
:$C$13'D18 Gesamtkosten
i=D9»D10'-D12
_
=SUMME(E2:E4)
: SUMME{E6:E7)*E16
-E5*E8 =$C$11/3
=SUMME(F2:F4) 100 ^UMMEifgfTJ'FI^ =F5»F8 _ " ' L$C$1J/3
=$C$13*E18~ =E9+E10+E12
:F9+F10+F12
Menge Gewinn Umsatz
=D16*D20
=E16*E20
:F16*F20
Preis/Slück
•(D14*D17yP16
=(E14+E17)/E16
»(F14*F17yF16
466
7 Einführung in eine
Standardsoftware
Überlegen sollte man vor dem eigentlichen Anlegen der Tabelle immer die sinnvolle Anordnung, insbesondere im Hinblick auf die Handhabung auf dem Bildschirm und beim Druck. Grundsätzlich ist sie nämlich auf jeweils zwei Arten denkbar: Umsatz
Gewinn
oder
Umsatz Gewinn
wobei die erste die bessere ist, da der Bildschirmbereich optimal ausgenutzt werden kann.
7.3 Grafik Eng verbunden mit der Tabellenkalkulationsfunktion ist die Grafik. Dabei geht es darum, Teile einer Tabelle in grafischer Form aufzubereiten. Das Prinzip ist recht einfach: Markiert man den Bereich, der grafisch dargestellt werden soll und wählt man im Menue Extras / Neues Diagramm erstellen, wird ein Bildschirm mit verschiedenen Diagrammarten geöffnet. Auf der rechten Seite dieses Fensters wird eine Vorausansicht der gewünschten Diagrammart gezeigt.
Microsoft W o r k s Datei
Bearbeiten
Ansicht
Einfügen
Format
Extras
Fenster
?
Neues Diagramm erstellen Verwenden Sie die gewünschten Optionen, bis Sie mit dem Aussehen ihres Dfegfarnms zufrieden rird. Und wahien Sir dorm "ÜK'\
Wählern S i e d i e g e w ü n s c h t e Diagrammai!:
Säulendiagramm Liniendiagramm Kreisdiagramm G e s t a p e l t e s Liniendiagramm Punktdiaqramm
W i e t i n d i h r e D ^ t e n a n g c o r d n c l ' - V 'T
:
'-' •
-
1) iis w e l c h e R i c h t u n g Verlaufs« Ihre D a t e n s ä t z e ?
EXiotizontal 2) Erste Zeile enthält: 31 E r s t e S p a i l e erUhäS:
^T^^jbokenl^s^tftr1 en
liii markierten Drttn
1 Overrate
Abbrechen !
7 Einführung in eine
Standardsoftware
467
Nach Betätigung des OK-Buttons wird der Tabellenausschnitt einschließlich markierter Textanteile in der gewählten Form dargestellt. Es lassen sich auch mehrere Datenreihen in einer Abbildung unterbringen.
Der zu verwendende Grafiktyp ist allerdings vom zugrundeliegenden Merkmal abhängig; nicht jede Darstellungsform ist sinnvoll oder erlaubt, obwohl Works oder andere Programme keine Einschränkungen machen. Man unterscheidet folgende • Nominalskalierte
Merkmalsskalierungen:
Merkmale sind Merkmale, die in keine natürliche Rangfolge gebracht
werden können, bei denen also Aussagen wie "besser als, schlechter als" nicht möglich sind. Beispiele sind: Geschlecht von Personen, Haarfarbe, Vertriebsgebiete nach Postleitzahlen, Namen von Kunden. •
Ordinalskalierte
Merkmale können in eine Rangfolge gebracht werden, allerdings ist der
Abstand zwischen den einzelnen möglichen Merkmalsausprägungen ungleich. Beispiele sind: Bundesligaplazierungen (der Erste ist besser als der Zweite, der Dritte usw., aber die Abstände zwischen dem Ersten und Zweiten bzw. Zweiten und Dritten sind ungleich), Rangfolge der Außendienstmitarbeiter nach Umsatz, Schulnoten. •
Kardinalskalierte
Merkmale beinhalten zusätzlich, daß die Abstände zwischen den Merk-
malsausprägungen gleich sind. Beispiele sind: Umsätze (die Differenz zwischen 1 und 2 Mark ist die gleiche wie zwischen 1011 und 1012 Mark), Körpergröße, Anzahl der Mitarbeiter, Besuchshäufigkeit bei Kunden.
Je nach vorliegendem Merkmal bieten sich folgende Grafiken an: Säulendiagramme
eignen sich am besten für die einfache Darstellung nominalskalierter, kön-
nen aber auch bei ordinalskalierten Merkmalen verwendet werden; die einzelnen Merkmalsträger werden nebeneinander dargestellt. Eine Darstellung metrisch skalierter Merkmale würde korrekterweise voraussetzen, daß die einzelnen Balken direkt aneinandergrenzen.
468
7 Einführung in eine
Standardsoftware
Beispiel: Absatz
Filiale A
Filiale B
Lebensmittel Bekleidung Sonstiges
800.097 DM 766.345 DM 812.783 DM
912.387 DM 812.985 DM 814.712 DM
Das Merkmal, das in diesem Fall skalierungstechnisch beurteilt werden muß, ist die Sparte und nicht der Absatz. Entscheidend für das Skalierungsniveau ist also die Bezeichnung der X-Achse, nicht die der Y-Achse.
E
BILD^.WKS-Diagrammi
Lebensmittel
Bekleidung SSI Filiale A
Liniendiagramme
SI
Sonstiges Filiale B
sollten für kardinalskalierte Merkmale verwendet werden, da die Abstände
zwischen den einzelnen Merkmalsausprägungen gleich sind und damit die Daten als Linienzug dargestellt werden können. Dies gilt z.B. dann, wenn die obigen Daten nicht den Absatz in Sparten, sondern in verschiedenen Jahren wiedergeben. Beispiel: Absatz
Filiale A
Filiale B
1993 1994 1995
800.097 DM 766.345 D M 812.783 DM
912.387 DM 812.985 DM 814.712 DM
Dieses Beispiel verdeutlicht sehr gut, wann 3D-Diagramme gewählt werden können, nämlich eigentlich nur, wenn tatsächlich drei verschiedene Variablen darzustellen sind. Works und viele andere Programme negieren diese Tatsache und stellen aus rein optischen Gründen dreidimensional dar.
7 Einführung in eine
469
Standardsoftware \ BILD5.WKS - Diagramm?
1000000 800000 600000 400000 200000
Filiale A
Gestapelte
Liniendiagramme
Filiale B
zeigen Ausprägungen verschiedener Merkmale übereinander
und somit auch die Gesamtsumme an. Bei obigem Beispiel entsteht also ein Diagramm, das für Lebensmittel den Wert 800.097 annimmt, darauf wird eine weitere Linie abgetragen, die den Wert der Filiale B kennzeichnet; die Gesamthöhe beträgt also 800.097 + 912.387 = 1.712.484. Für Flächendiagramme Kreisdiagramme
gilt das gleiche.
sind bekannt von Wahlanalysen, sie zeigen den Anteil einzelner Merkmals-
ausprägungen als Anteil an einem Kuchen; es können nominal-, ordinal- oder kardinalskalierte Werte zugrundeliegen, außerdem kann immer nur eine Datenreihe dargestellt werden. Im Beispiel würde also ein Kreisausschnitt den Wert 800.097 / (800.097 + 766.345 + 812.783) = 33,63% annehmen. Alle Kreisausschnitte ergänzen sich wieder zu 100%.
Lebensmittel
Sonstiges
Bekleidung
470
7 Einführung in eine
Punktdiagramme
Standardsoftware
eignen sich ebenfalls für kardinalskalierte Werte, aber auch für ordinal- und
nominalskalierte Merkmale; ihre Aussagekraft ist allerdings gering, da die einzelnen Werte durch Punkte repräsentiert werden. Zur Tabellenkalkulation kehrt man jeweils über Ansicht / Tabellenkalkulation
zurück.
Die erstellten Diagramme werden automatisch mit der entsprechenden Kalkulationstabelle gespeichert.
Von Bedeutung ist auch, daß Änderungen in der eigentlichen Tabelle automatisch zu Anpassungen in der entsprechenden Grafik fuhren, ein besonderer Vorteil der engen Verknüpfung der einzelnen Works-Programmteile. Auch folgende Zahlen sollen mit Works visualisiert werden: Der Absatz mit Textilien und Bekleidung in Nordrhein-Westfalen betrug 1990 (1980=100): Bekleidung Jan Feb Mär Apr Mai Jun Jul Aug Sep Okt Nov Dez Quelle:
103
86 124 117 121 98 104 100 129 136 145 176
Textilien 154 131 181 201 173 148 165 163 187 195 207 266
LA für Datenverarbeitung und Statistik NRW Düsseldorf, Entwicklung von Umsatz und Beschäftigung im EH in NRW, Messzahlen
Erstellen sollte man aus der Tabelle das zugehörige Liniendiagramm (ein Säulendiagramm eignet sich bei diesem Beispiel nicht). Auch Legende und Titel sollen eingefügt werden.
7 Einflihrung in eine
Standardsoftware
471
7.4 Datenbank Eine Hauptanforderung an Datenverarbeitungsanlagen im betriebswirtschaftlichen Bereich ist nicht das Rechnen, sondern das Speichern und Verarbeiten großer Mengen von Daten bzw. Informationen. Deshalb gehören Datenbankprogramme (oder Datenverwaltungssysteme) mit zu den am häufigsten eingesetzten Softwaretypen. Immer geht es darum, Übersicht zu gewinnen und gezielt Informationen auszuwählen. Aus diesem Grunde muß überlegt werden, wie solche großen Datenmengen organisatorisch behandelt werden können und welche Anforderungen man an ein Datensystem stellt. Die Umsetzung in einem konkreten Programm ist dann erst ein zweiter Schritt. Als Beispiel kann eine Bibliothek dienen. In ihr werden Bücher aufbewahrt und an Benutzer verliehen. Das sogenannte Realweltobjekt
Buch muß dabei in ein Datenobjekt
Buch überfuhrt
werden, das Realweltobjekt Benutzer in ein Datenobjekt Benutzer. Daten beschreiben damit Sachen, Personen oder allgemein Objekte. Üblicherweise beinhalten diese Objekte mehrere Fakten bzw. Informationen. Deshalb muß abstrahiert
werden, jedes
Objekt der Realwelt wird auf solche Kennzeichen zurückgeführt, die eine eindeutige Identifizierung bei geringstmöglichen Datenaufwand ermöglichen. Oder anders: Ähnlichkeiten verschiedener Objekte sollen erkannt, Unterschiede ignoriert werden. Dies dient nicht zuletzt auch der Überschaubarkeit der Datenbestände und hält den Aufwand zur Pflege auf einem Minimum. Informationen wie: „In Bochum in der Universitätsstraße befindet sich eine Bibliothek, in der das Buch Einfuhrung in die EDV vom Autor Siegmann in der Zeit freitags von 18.00 bis 20.00 Uhr bis Montag ausgeliehen werden kann" können zwar so erfaßt werden, die Speicherung, Suche oder Wiederherstellung der Informationen ist jedoch umständlich. Im konkreten Einzelfall muß deshalb vor dem Erstellen einer Datenbank entschieden werden, welche Merkmale für die zukünftige Analyse erfaßt werden müssen, welche weggelassen werden können bzw. wie die einzelnen Datenfelder definiert und zu Datensätzen zusammengefaßt werden.
472
7 Einführung in eine
Standardsoftware
Bei einem Buch können beispielsweise folgende wesentlichen Merkmale
unwesentlichen Merkmale
Verfasser Titel Erscheinungsort Erscheinungsj ahr Verlag
Farbe des Einbandes Größe Anzahl der Abbildungen Seitenzahl Schriftart des Textes
bestimmt werden. Dabei muß immer zumindest ein wesentliches Merkmal erfaßt werden, damit eine eindeutige Bestimmung möglich ist, man bezeichnet das als Schlüsselfeld. Bei dem Objekt Ausleiher reicht es beispielsweise nicht aus, nur den Nachnamen den Nachnamen und Vornamen den Nachnamen und die Adresse den Nachnamen, die Adresse und das Geburtsdatum
(viele Meier) (viele Hans Meier) (Herr und Frau Meier) (Zwillinge Meier)
einzugeben, denn eine Ausleihe ist damit nicht immer eindeutig einer bestimmten Person zuzuordnen. Eindeutige Attribute und damit geeignet sind alle diejenigen, die tatsächlich nur einmal vorkommen, z.B. •
Matrikelnummer,
•
Paßnummer,
•
Steuernummer.
Folgende grundlegenden Begriffe über Daten und Datenbestände können anhand des Beispiels Bibliothek verdeutlicht werden: Zeichen Datenfeld Datensatz Datei Datenbank
(z.B. A, z, 2, ß , . ) (z.B. Verfasser, Titel) (alle Daten eines Buches) (alle Bücher) (Bücherdatei, Benutzerdatei)
7 Einführung in eine
473
Standardsoftware
Schließlich unterscheidet man in Nutzdaten (user data)
maschinell zu verarbeitende Daten über die Objekte der realen Welt
Steuerdaten (control data)
bestimmen den Ablauf in einer EDVAnlage, z.B. ein Programm
Stammdaten (master data)
bleiben über einen längeren Zeitraum im wesentlichen unverändert
Änderungsdaten (change data)
verändern den Stammdatenbestand in unregelmäßigen Abständen
Bestandsdaten (inventary data)
unterliegen unregelmäßigen, aber systematischen Änderungen
Bewegungsdaten (transaction data)
entstehen in unregelmäßigen Abständen immer wieder neu
Auf das Beispiel einer Bibliothek bezogen sind also z.B. Stammdaten Änderungsdaten Bestandsdaten Bewegungsdaten
Ausleiher-Nr., Name, Adresse, Buchtitel Neuausleiher, Neue Bücher Anzahl, Verfügbarkeit der Bücher Entleihvorgang
Das Prinzip einer einfachen Datensammlung ist vergleichbar mit einem Karteikasten,
nur
wird er auf elektronischem Weg abgebildet. Ein solcher Karteikasten wird beschriftet, erhält also einen Namen (Dateinamen), damit der Benutzer weiß, in welchem Karteikasten gesucht werden muß. Außerdem wird der typische Datensatz definiert, er entspricht einer der Karteikarten im Kasten. Er setzt sich zusammen aus den einzelnen Datenfeldern,
in die einzelne
Informationen abgelegt werden. Damit sich eine einheitliche Struktur ergibt, müssen vergleichbare Daten immer an der gleichen Stelle auf den Karteikarten stehen, ansonsten würde die Ablage unnötigerweise erschwert. Wichtige Funktionen sind: • Das Suchen innerhalb des Karteikastens, z.B. nach bestimmten Büchern, Autoren, Erscheinungsjahren usw. Wenn der Begriff nicht ganz präzise bekannt ist, wird die Suche über sogenannte Abfragesprachen erleichtert. Durch Eingabe von *analyse läßt sich beispielsweise gleichzeitig nach allen Büchern über das Gebiet der Zeitreihenanalyse und der Saisonanalyse suchen.
474
7 Einführung in eine
Standardsoftware
• Das Sortieren, z.B. nach Umsatzgrößen. •
Das Aktualisieren,
•
Das Erstellen von Reports oder zusammenfassenden Berichten, z.B. Umsätze von Kunden
z.B. das Hinzufugen neuer Kunden.
nach Postleitzahlgebieten. •
Das Durchführen von statistischen Auswertungen,
z.B. Durchschnittskosten einer Produkt-
gruppe. • Das Verwenden von Datensätzen für Serienbriefe oder zum Bedrucken von Etiketten.
Works verfugt über vier unterschiedliche Bildschirme im Datenbankmodus, zwischen denen gewechselt werden kann: • den Formularbildschirm, •
den Listenbildschirm,
•
den Abfragebildschirm,
•
den Berichtbildschirm,
die in den folgenden Übungen angesprochen werden.
Als Beispiel dient die Erstellung einer Datenbank CD-Sammlung, die folgende Titel enthält; dabei dient das Feld Bestellnummer als eindeutiges Identifizierungskriterium. The Singles Collection 1984/1990 featuring Jimmy Sommerville, Bronski Beat and the Communards, 1990 FFRR Records Ltd., 17 Titel, Bestellnummer 828226-2 Behaviour, Pet Shop Boys, 1990 EMI Records Ltd., 10 Titel, Nummer CDP 79 4310 2 Union, Yes, 1991 Arista Records, 15 Titel, 261558 Innuendo, Queen, 1991 EMI Records Ltd., 12 Titel, CDP 79 5887 2 The Immaculate Collection, Madonna, 1990 Sire Records Company, 17 Titel, 9 26440-2 We can't dance, Genesis, 1991 Virgin Records Ltd., 12 Titel, 262 082 Remasters, Led Zeppelin, 1990 Atlantic Recording Company, 26 Titel, 7567-80415-2 Symphonie Rock, Vienna Symphonie Orchestra Project, 1987 Dino Music GmbH, 9 Titel, HR 52018 Gröööhl, verschiedene, 1991 Sony Music Entertainment (Germany) GmbH, 19 Titel, 468276 2 Live, Die Ärzte, 1988 CBS Schallplatten GmbH, 37 Titel, 463119 2 Die Eingabe der Daten wird über den Formularbildschirm
vorgenommen, der beim Aufruf
einer neuen Datenbank automatisch erscheint. Die Feldnamen (z.B. Titel) dürfen maximal 15 Zeichen betragen und werden durch einen Doppelpunkt abgeschlossen; sie werden an be-
7 Einführung in eine
475
Standardsoftware
liebiger Stelle des Bildschirms angelegt. Rechts davon werden später die eigentlichen Feldinhalte abgelegt (erkennbar am unterstrichenen Bereich, der beim Anklicken geschwärzt wird). Auch erläuternder Text kann jederzeit eingefugt werden. Auch hier ist wieder die Eingabe (s. Tabellenkalkulation) von Text, Werten und Formeln möglich, wobei auf die letztgenannte Alternative erst später eingegangen werden soll. Zwischen den Feldern wechselt man mit der Tabulator-Taste, zwischen Datensätzen wird ebenfalls mit der Tabulator-Taste oder schneller mit der Strg- + Bild-Taste bzw. über die Pfeil-Symbole gewechselt. In der Fußzeile steht außerdem, welcher Datensatz zur Zeit bearbeitet wird und wieviele Datensätze die Datei enthält. Selbstverständlich ist es auch hier wieder möglich, nachträglich Feldinhalte zu ändern und zu löschen, z.B. über die F2-Taste; außerdem kann die Feldbreite nachträglich geändert werden. Dies kann man an folgendem Datensatz zeigen, der an dritter Stelle einfugt wird. Halleluja, Marius Müller-Westernhagen, 1989 WEA Music GmbH, 10 Titel, 246 149-2 Entsprechend leicht läßt sich der Datensatz der Madonna-CD löschen. Außerdem kann ein weiteres Datenfeld einfugt werden, das bezeichnet, ob es sich um eine Einzel- oder DoppelCD handelt. Über den Listenbildschirm
kann man sich den kompletten Datenbestand ansehen. Hier lassen
sich auch die Datensätze alphabetisch nach Interpreten sortieren (Extras / Datensätze
sortie-
ren) oder es-kann nach allen CDs von EMI Records gesucht werden, wenn die Syntax genau beachtet wird. Dazu wird über Bearbeiten Neue Abfrage Datensätze
der Befehl Suchen oder über Extras der Befehl
erstellen ausgewählt, verborgene Datensätze lassen sich über Ansicht
/ Alle
anzeigen wieder aufrufen. Ähnlich läßt sich eine Liste erstellen, in der nur Titel
und Bestellnummern dargestellt werden. Insbesondere bei großen Datenbeständen lohnt sich die schnelle Suche nach bestimmten Informationen (bei der hier vorliegenden Datei wird der Vorteil nicht unmittelbar sichtbar).
476
7 Einführung in eine
Standardsoftware
Als weitere Übung soll folgende Kundendatei von Einzelhändlern, die amerikanische Biersorten fuhren, angelegt werden. Nummer Name 10001 10008 10007 10006 10002 10011 10014 10003 10019 10015 10018
Napp Schnurz Kolli Mümmelman Magnet Sonderbar Sonderbar Sonderbar Sakra Allerlei Allerlei
Vorname Karl Pete Christiane Heinz Heino Peter Christiane Birgit Helge Gerd Christine
Straße Leerstr. 3 Bernsteinstr. 1 Kunstweg 4 Schlafeck 3 Burgfrieden 13 Schröpfgasse 12 Schröpfgasse 12 Schröpfgasse 14 Markstr. 12 Markstr. 17 Gartenstr. 14
Ort Hamburg Bochum Hamburg Bochum Münster Hamburg Hamburg Bochum Bochum Bochum Hamburg
Unter Einsatz der Hilfefunktion und des Handbuchs sollte es gelingen, folgende Fragen automatisiert zu beantworten. •
Welche Händler kommen aus Bochum?
•
Welche Sonderbaren aus Hamburg wohnen in der Schröpfgasse 12?
• Auf erfolgreichen Verkaufstrips nach Hamburg hat der Importeur ein nettes Mädchen kennengelernt, das Christiane oder Christine hieß. Wie sucht er alle Hamburger Christines und Christianes mit einem Befehl?
er*
Beachtet werden muß die Interpretation von UND, beispielsweise kann kein Einzelhändler aus Bochum und Hamburg kommen, sondern nur aus Bochum Hamburg.
Erweitert werden sollte die Datei, nun wieder im Formularbildschirm, wie folgt: Kunden-Nr.
Forderung
Bezahlt
10001 10008 10007 10006 10002 10011 10014 10003 10019 10015 10018
112013,64 108013,00 132,00 10020,32 9755,12 32034,00 22416,33 10000,00 11400,00 17889,74 100105,13
112013,64 104000,00 132,00 0,00 6332,40 32034,00 22416,33 0,00 11400,00 17898,74 100105,13
am 31.12.94 31.12.94 02.01.95 03.01.95 31.12.94 31.12.94 02.01.95 31.12.94 03.01.95
oder
7 Einführung in eine Standardsoftware Auch folgende Aufgaben lassen sich nun sicher leicht durchfuhren: • Berechnen der offenen Beträge über Eingabe der Formel =Forderung-Bezahlt in einem neuen Feld Offen im Formularbildschirm, die Formel wirkt sich dann auf alle Datensätze der Datei aus. • Abfrage aller Rechnungen, die bis zum 31.12.94 vollständig bezahlt wurden. • Auflisten aller Kunden mit einem Umsatz über 100.000 DM. • Erstellen eines Berichts mit Hilfe des Berichtsbildschirms, der nur die Kunden, den mit ihnen getätigten Umsatz, die bezahlten und die offenen Beträge der einzelnen Firmen enthält; außerdem die entsprechenden Gesamtsummen ausweist. Zusätzliche Gesamt-, Seitenüber- und Unterschriften lassen sich in der Berichtsdefinition leicht einfügen. Die Seitenansicht unter Datei zeigt die Einzelergebnisse.
ßatei
Bearbeiten A
M i
Ansicht
Einfügen
Formal
Extras
Eenster
2
I F O T i üBEiHEHBOBK ZQEäEHOI
-
BIL07.WDB
A Berichtstlte: SEWfififlffifl PsWITOMhMB
B
J»
.
C
_ j.
D
1
E
t
—
Name =Name
Forderung =Fordeaing
Bezahlt =Bezahlt
Offen PÖffen
SUMME: SUMME: SUMME: =SÜ M M E(Forderung) =SUMME(Bezahlt) =SUMME(Offen)
! BHRnffl»-!. K I H I I S f f l B M .
•••
_
Ähnlich wie bei der Tabellenkalkulation mehrere Diagramme, lassen sich hier je Datei mehrere Berichte abfassen, die unter gleichem Namen abgespeichert werden. Problematisch wird es natürlich, wenn ein Kunde mehrmals oder mehrere Biersorten bestellt hat und dies unter Umständen an verschiedenen Tagen.
478
7 Einführung in eine Standardsoftware Biersorte
Menge
bestellt von
Budweiser Coors Hamms Heineken Kronenbourg Labatts Lowenbrau Michelob Miller High Life Molson Old Milwaukee Olympia Pabst Blue Ribbon Schlitz Schmidts St. Pauli Girl
120,00 24,00 144,00 24,00 20,00 60,00 24,00 160,00 100,00 140,00 40,00 40,00 40,00 6,00 12,00 105,00
10008 10008 10008 10008 10008 10002 10002 10019 10008 10008 10008 10019 10008 10015 10015 10015
am 21.12.94 21.12.94 02.02.95 03.02.95 03.02.95 03.03.95 15.03.95 15.03.95 16.03.95 01.04.95 01.04.95 01.04.95 01.04.95 02.05.95 10.05.95 03.06.95
In diesen Fällen läßt sich die Ursprungstabelle nicht einfach erweitern, sondern es muß eine zweite, dritte oder vierte Tabelle erstellt und mit der ersten verknüpft werden. Ähnlich schwierig abzubilden wären folgende Informationen über die letzten Parties: Essen, das keiner wollte
Soja-Bohnen, Soja-Fleisch, Soja-Fisch, Soja-Plätzchen
Essen, um das man sich prügelte
Bratwürste Fettstufe 4, Chips, Kartoffelsalat von Aldi
Nur 2 Bier vertragen
Heinz, Heinrich, Gerda, ich
Mehr als 20 Bier vertragen
Gudrun, Gisela
Hang zum Randalieren haben
Norbert, Karl-Heinz
Nicht zusammensitzen dürfen
Norbert und Karl-Heinz, Gudrun und alle anderen
Die Vorteile professioneller Datenbanksysteme zeigen sich erst darin, daß solche Verknüpfungen möglich sind. Zur Einfuhrung in die entsprechende Theorie über Datenbankdesign und Datenmodellierung muß auf die weiterführende Fachliteratur verwiesen werden.
7.5 Textverarbeitung Um einen ersten Eindruck von diesem Modul zu erhalten, sollte der folgende Brief eingegeben werden. Man sollte dies vorerst ohne Leerzeilen und überflüssige Leerzeichen tun, also
7 Einführung in eine Standardsoftware
479
lediglich alle Worte hintereinander abschreiben. Im Gegensatz zum Gebrauch einer Schreibmaschine betätigt man auch nicht die RETURN-Taste (vorerst auch nicht bei Absätzen) und schreibt nicht über das Zeilenende hinaus, den Zeilenumbruch besorgt Works selbst. Erst später soll der Brief wie im folgenden dargestellt formatiert werden. Liebe Frau Schmidtgereit, Das ihre Tochter schlecht im deutsh ist, liegt garantirt nicht an meinen Nachhilfeuntericht. Seid 3 Jaren betreue ich sie und ich finde, das sie dollste Vortschritte macht, ihre Kritick ist also nicht zutreffent. Auserdem bekomme ich noch 12 Mack für die lezte Unterichtstunde. Mid freuntlichen Grüsen Hansi Deutsh Anhand einiger Übungen können wesentliche Elemente einer Textverarbeitung erlernt werden. • Die Rohfassung sollte mit Speichern unter auf Diskette unter dem Namen Uebungl abgelegt werden. Dabei sollte man daran denken, daß DOS-Namen keine Sonderzeichen (und damit auch keine Leerzeichen) enthalten. • Die der Vorlage entsprechenden Absätze fugt man ein, indem man überall dort, wo ein Absatz endet, die RETURN-Taste betätigt. Entscheidend ist dabei die Position des Cursors, nicht die der Mausmarke. • Drückt man mehrmals die F8-Taste, markiert man dadurch Wort, Zeile, Absatz bzw. das gesamte Dokument. Die gleichzeitige Betätigung der Umschalttaste und der F8-Taste hebt die letzte Markierungserweiterung auf. ESC-Taste und Betätigen einer Cursortaste hebt die gesamte Markierung auf. Oder man geht mit der Maus auf ein Zeichen, drückt die Maustaste und hält diese gedrückt, bis man die Marke zum letzten Zeichen in diesem Absatz gezogen hat; läßt man dann die Maustaste los, ist auch so der Text markiert worden. • Formatieren kann man nun den Text über Format / Absatz / Ausrichtung, oder über die Icons in der Symbolleiste, im Blocksatz. Dies alles funktioniert leider nur dann tadellos, wenn die Zeilen tatsächlich im Fließtext eingetippt wurden, also ohne Betätigung der RETURN-Taste am Ende einer Zeile. Falls doch, hilft nur das mühsame Löschen der ent-
480
7 Einführung in eine
Standardsoftware
sprechenden Absatzendemarkierungen, die über Ansicht / Alle Zeichen sichtbar gemacht werden können. •
Kopieren kann man den zweiten Absatz an den Anfang des Textes über die Icons Kopieren und Einfügen oder über das Menue Bearbeiten', dazu muß der zu bearbeitende Textteil vorher markiert worden sein. Anschließend kann man diesen Absatz wieder löschen über Entfernen.
•
Über Bearbeiten / Ersetzen lassen sich innerhalb des Textes das Wort ihre in das freundschaftliche Deine umbennen. Stilistisch wird dabei der Text natürlich nicht angepaßt.
•
Der Text kann mit Hilfe der Rechtschreibprüfung
(unter Extras oder als Icon ABC) verbes-
sert werden, verlangen sollte man aber trotz der 150.000 gespeicherten Worte nicht zu viel, die deutsche Sprache kennt einfach zu viele Wörter, die nicht alle im Works-Wörterbuch Eingang finden konnten. • Vom System kann man sich auch Alternativen des Thesaurus
unterbreiten lassen
(gespeichert sind 60.000 Synonyme). Manche Vorschläge sind allerdings nicht ganz passend, man sollte es daher nicht zu weit treiben (bzw. anfeuern bzw. anheizen bzw. fanatisieren). •
Mit Einfügen / Sonderzeichen
kann an beliebiger Stelle das aktuelle Datum eingefügt wer-
den; verschieben läßt es sich unter anderem mit der Tabulator-Taste. •
Läßt man sich den ersten Absatz (über Format / Absatz) einen Zentimeter nach rechts einziehen, kann man sich im zweiten Schritt über die Eingabe von Erste Zeile -1 cm von dieser Funktion überzeugen.
•
Bevor man weitere Änderungen vornimmt, speichert man den Text über das Icon Diskette oder über Datei / Speichern unter dem gleichen Namen ab.
Ein zweiter kurzer Text soll ebenfalls ohne Rücksicht auf Zeilenumbrüche, Schriftarten und -typen eingegeben werden, bevor er das hier verwendete Format erhält. Zur Erstellung der Tabelle verwendet man das Aufzählungszeichen, nur so ist gewährleistet, daß bei einem Wechsel der Schriftart oder bei späteren Änderungen die Positionen eingehalten werden.
481
7 Einführung in eine Standardsoßware An die Opel-Werksleitung
Karl Napp Strassenweg 1 55443 Hammelsprung
Bochum Sehr geehrte Damen und Herren, hiermit reklamiere ich den bei Ihrer Firma gekauften Omega, denn er hat folgende Mängel, die ich nicht hinnehmen möchte: 1. Das Auto muß immer wieder betankt werden, offensichtlich verliert es Benzin. 2. Morgens ist es immer sehr kalt im Wageninnern, die Heizung ist demnach kaputt. 3. Während der Fahrt wird es hingegen sehr warm, obwohl der Schornstein am Heck des Wagens gut zu funktionieren scheint. 4. Der Blinker geht regelmäßig aus und wieder an, außerdem blinken immer beide Seiten. D a er auch sehr regelmäßig klickt, macht mich dieses Geräusch nervös. 5. Der Reservereifen dreht sich während der Fahrt nicht mit. Ich denke, Sie werden einsehen, daß ein solches Auto nichts taugt. Bitte zahlen Sie mir den vollen Kaufpreis zurück, obwohl mir die meisten Fehler erst nach der 30.000er Inspektion aufgefallen sind. Mit freundlichen Grüßen
Weitergehende Übungen zur Gliederungserstellung, Fußnotenverwaltung usw. sollte der Leser selbständig durchführen.
7.6 Integration verschiedener Funktionen Ein wesentlicher Vorteil eines integrierten Pakets wie Works ist die Möglichkeit, Daten zwischen den einzelnen Programmteilen zu übertragen. Informationen sind innerhalb von Works so standardisiert, daß dies ohne weiteres möglich ist; eine Option, die bei der Verwendung von unterschiedlichen Softwarepaketen, selbst wenn sie von einem Hersteller stammen, nur selten in dieser Einfachheit gegeben ist. Ein Beispiel für eine solche Integration ist ein Serienbrief, wobei in einen vorbereiteten Text automatisch die Informationen aus einer Datenbank eingefugt werden, und zwar für jeden
482
7 Einführung in eine
Standardsoftware
Brief erneut. Einzige Vorraussetzung ist, daß jeweils alle benötigten Dateien über Datei / Öffnen verfügbar gemacht wurden. Folgende Übungen können die Funktionsweise verdeutlichen: • Die Einzelhändler sollen über ein neues Bier informiert werden. Dazu schreibt man einen Text und fügt an den Stellen, an denen später die Informationen Datensatz für Datensatz aus der Datenbank übernommen werden sollen, über Einfügen / Datenbankfeld
die Feldbe-
zeichnungen aus der Datenbank ein. • Starten kann man die Ausgabe über Datei / Drucken / Seriendruck.
Wählt man die Seiten-
ansicht, kann man das Ergebnis erst einmal auf dem Bildschirm kontrollieren. • Vergleichbar wäre ein Serienbrief, in dem alle bisher säumigen Kunden gemahnt werden. Vorgeschaltet wird dazu eine Abfrage in der Datenbank. • Entsprechend lassen sich die Daten zur Textil- und Bekleidungsindustrie NordrheinWestfalens als Diagramm in einen Text einfügen, dies funktioniert entsprechend über Einfügen /
Diagramm.
Der Programmteil Datenübertragung
wird im folgenden nicht näher angesprochen, es soll da-
her auf die einschlägige Literatur verwiesen werden. Auch das Bearbeiten von
Verknüpfungen
und Objekten sowie das Einfügen von Objekten wird hier nicht näher erläutert, obwohl es sich dabei um sehr fortschrittliche Dateiverbindungen handelt, wie sie auch unter Windows möglich sind.
7.7 Abschließendes Beispiel Tomanien ist ein kleines Fürstentum in Mitteleuropa, gelegen am Zusammenfluß von Igentvo, Igentvi und Igentvan. Das Land wird im politischen System einer konstitutionellen Monarchie nicht mehr von Fürst Eumelbert II. regiert; stattdessen hält ein Parlament die Macht, das durch vier Parteien vertreten ist. Diese sind die regierende CDU/CSU (Chaotische Demokraten/Südländer Untertomaniens, angesiedelt im Regierungshaus Süd), deren kleiner Koalitionspartner FDP (Freudlose Demokraten ohne Plan, mit Räumlichkeiten im Regierungshaus Nord), sowie die oppositionelle SPD (So-Egal und Pausenlos-Demokraten, angesiedelt im Oppositionshaus) und die ebenfalls oppositionellen Bündnis 90/Grünen (90 Mitglieder, Grün
7 Einführung in eine Standardsoftware
483
wegen der Hautfarbe der Mitglieder nach Sitzungen, untergebracht im Gartenhaus des Parlaments). Die Parlamentsarbeit vollzieht sich, wie in anderen Ländern auch, hauptsächlich in Ausschüssen. Der Parlamentsreferent für Information und Kommunikation Gela Ber hat nun die Aufgabe, den Ausschuß für wirtschaftspolitische Zusammenarbeit zu unterstützen. Der Ausschuß besteht aus sechs Mitgliedern: • Kay Jaehregaill (CDU, Büro 187) ist der Vorsitzende der Arbeitsgruppe. Er ist machtorientiert und hat in den letzten Jahren einen raschen Aufstieg in seiner Partei durchlaufen. • Mon Olog (SPD, Büro I I I ) wurde zum stellvertretenden Vorsitzenden gewählt. Er besticht durch lange und meist monotone Reden, die er vom Blatt liest. • Vers Hlaven (CDU, Zimmer 112) kommt häufig zu spät und präsentiert den Mitgliedern fadenscheinige Ausreden (Der Bus hatte Gegenwind). Da er für die Protokollführung zuständig ist, sind diese häufig lückenhaft. Nach Meinung der Journalisten stellt er damit einen durchaus repräsentativen Abgeordneten dar. Äußerst jovial unterstützt er alle Anträge des Vorsitzenden Kay Jaehregaill, weil er sich durch sein Zuspätkommen häufig keine eigene Meinung bilden kann. • Farin Urlaup (FDP, Zimmer 133) verwaltet die Reisekasse des Ausschusses. Unter Verschiedenes der Tagesordnung stellt er jedesmal neue Ausschüsse im Ausland vor, mit denen Gespräche geführt werden müssen. • Nimmich Nicht wurde als Notlösung der CSU in den Ausschuß gedrängt (Raum 3), obwohl ihr Spezialgebiet eher im Bereich Schutz der südländischen Gebirge Tomaniens liegt. Sie kontrolliert das Budget der Arbeitsgruppe. • Feget Arier vertritt die Bündnis 90/Grünen (Gartenhaus). Ihr Spezialgebiet ist die Kontrolle der Soja-Anbauflächen und der Parlamentsküche. Gela Ber hat nun folgende Aufgaben zu erledigen: 1. Kay Jaehregaill bittet um Einladung aller Mitglieder des Ausschusses zur nächsten Sitzung (heute in 10 Tagen), eine Kopie des Schreibens möchte er für seine Akten. 2. Nimmich Nicht fügt eine Notiz über die im letzten Jahr angefallenen Kosten der Arbeitsgruppe hinzu. Papier 10.000 Mücken (Mücken ist die Währung in Tomanien), Schreibma-
484
7 Einführung in eine
Standardsoftware
terial 1200, PC 35.000, Software 4500, neuer Teppichboden für das Sitzungszimmer (weil die Ausschußmitglieder bei den Reden von Mon Olog ungeduldig mit den Füßen scharren) 20.000. Eine grafisch veranschaulichte und verbal erklärte Darstellung soll den Sachverhalt untermauern und in das Schreiben von Kay Jaehregaill eingefügt werden. 3. Vers Hlaven möchte seine Tätigkeit als Protokollant abgeben, da er an den in Zukunft schon um 9.00 Uhr terminierten Sitzungen nur zur Hälfte teilnehmen kann. Dieses Schreiben soll an seine Regierungsfreunde mit der Bitte um Zustimmung gesandt werden. 4. Farin Urlaup bittet um eine grafische Übersicht der Ausgaben für Dienstreisen im letzten Jahr; diese soll mit einem Anschreiben auch allen anderen Mitgleidern zukommen. Folgende Reisen mit den entsprechenden Kosten wurden gebucht: Südtomanien 40.000, Liechtenstein 30.500, Monaco 28.700, San Marino 22.300, Luxembourg 80.000 Mücken. 5. Feget Arier möchte in kurzen Sätzen erklärt bekommen, warum überhaupt ein PC angeschafft wurde und ob neueste Stromspartechniken beachtet wurden. 6. Mon Olog bittet um Abschrift seines 40-seitigen Manuskripts, das er im Rahmen der konstituierenden Sitzung als stellvertretender Vorsitzender vortragen möchte.
Als Wahlbeamter weiß Gela Ber, daß er in seinem Eid eine zügige und gewissenhafte Bearbeitung versichert hat und begibt sich sofort ans Werk. Das Manuskript von Mon Olog ist aber komischerweise verloren gegangen. Dafür stellt ihm Kay Jaehregaill die Position des Regierungssprechers in Aussicht.
Index 386 AT 35
Apple Macintosh 30; 37
68020 Siehe Prozessor, Motorola
Apple Talk 31; 267
68060 Siehe Prozessor, Motorola
Archie 188
80486er 36
Arcnet 168
80586 Siehe Pentium
Arithmometre 23
8080-Prozessor 28
ARPANET, Advanced Research Projects Agency Network 170
—A—
Assembler 303
Abakus 21 ADA 306 Adressierung absolute 460 gemischte 460 relative 460 Adventure 309 Aiken 24 AIX 266 Akustikkoppler 174 ALGOL 307 Algorithmus 254; 322 ALOHA-Verfahren 168 Altair 28 Analytical Machine 23 Animationsprogramm 286 Animationssoftware 288 ANSI 359 ANSI.SYS 83 Anwendungsprogramm 61 Anwendungssoftware 4 APL, A Programming Language 307 Apple 28; 30
AT 30; 35 Atari 29 ff. Ausbaufahigkeit 241 AUTOEXEC.BAT 414 —B— Babbage 23 Backbone 173 Backslash 420 Bardeen 27 BASIC, Beginners All Purpose Symbolic Instruction Code 305 Basisanschluß 190 Basisband 168 Batch-Processing 269 Baud 164 Baumdiagrammtechnik 339 Baumstruktur 417 Beamer 127 Befehl extern, transient 425 intern, resident 425 Befehle 74 Benutzeroberflächen 278
486 Benutzerrechte 243 Benutzerschulung 257 Bereitstellungstermin 253 Betriebsreife 241 Betriebssystem 61 Bildbearbeitungsprogramm 287 Bildfrequenz 100 Bildschirm LCD-Bildschirm 102 TFT, Thin Film Transistor 104 Bildtelefon 177 Bildwiederholfrequenz 99 Binärsystem 26; 62; 64 Addition 67 Inversion 67 Multiplikation, Division 68 Subtrahieren 67 Binärzahlen echte 69 unechte 69 Binden mit Linker 358 Bit 62 Bitmap 121 Boolsche Algebra 75
Index Adreßbus 45; 48 AT-Bus 59 Datenbus 45; 48 EISA-Bus 59 ISA-Bus 59 Maus-Bus 85 PCI-Bus 59 Steuerbus 46 VESA Local-Bus 59 Businessgrafikprogramm 286 Busstruktur 59 —C— C 306 C++ 308 C64 30 Cache Festplatten- 152 Software- 152 CAD-Programm 288 Cambridge Ring 169 CCD-Sensor 86 CD-ROM 141 Charaktergenerator 91
Boot-Record 410
Chip 49 kundenspezifischer 52 Standardchip 51
Boot-Sektor 431
Chipkarte 145
Brattain 27
Client-Server Technologie 165
Braun 23
Clones 32
Breitbandkabel 168
Closed-Shop-Betrieb 206
Bridge 172 Broone 28
COBOL, Common Business Oriented Language 304; 358
BS 2000 267
CODASYL 304; 358
Btx 179
Code 62 ASCII-Code 73 Barcode 86 BCD-Code, EBCD-Code 69 f EAN-Code 86; 149
Booten 410
bug 24 Bundesdatenschutzgesetz, BDSG 210 bus 45
Colossus 25
487
Index COM 144 Commodore Amiga 500 33
Software- 185 Volltext- 185
Compiler 304; 357
Datenerfassung direkte 8 indirekte 8
Compuserve 187
Datenfeld 473
Concurrent CP/M-86 261
Datenfernübertragung 160
CONFIG.SYS 413
Datenflußplan 232
Contention-Ring 169
Datenmißbrauch 192
Controller EIDE 130 ESDI 130 IDE 129 MFM 129 PCI 130 RLL 129 SCSI 130
Datenobjekt 471
Compaq 38
Datensatz 473 Datenschutz 4; 192; 202; 255 Datenschutzbeauftragter 207; 210 Datensicherheit 4; 193; 241; 255 Datensicherung 202
Coprozessor 45
Datensicherungskonzept 207
CP/M 29
Datenstruktur 339; 350
CP/M-86 261
Datenträger elektronische 128 magnetische 128 mechanische 129 optische 128
CPM, Critical Path Method 229 CPU 41; 45 CSMA/CD 168
Datentransfer 294 —D—
Datentransferrate 134
DAT-Bänder 138
Datentyp 370
Dateiname 415
Datenübertragungsfunktion 455
Dateiorganisation index-sequentielle 396 sequentielle 396 wahlfreie 396
Datenverarbeitungssystem 7
Dateityp 416 Daten 8 alphabetische 9 alphanumerische 9 numerische 9 Datenautobahn 191 Datenbank 217; 455 bibliographische 185 numerische 185
Datenverbund 160 Datex-J 179 Datex-L 184 Datex-P 184 de Colmar 23 Desktop 455 Diagramm Flächen- 469 gestapeltes Linien- 469 Kreis- 469 Linien- 468
488 Punkt- 470 Säulen- 467 Dialogbetrieb 158; 269
Index PCL 121 Druckertreiber 109 DTP, Desktop Publishing 280
Dialogfeld 456 DIP-Schalter 109
—E—
directory root 419; 431 sub- 419
Early Token Release-Verfahren 169
Disketten 131
Editor 357
Diskettenlaufwerke 133
EEPROM 52
Display reflektives 103 transflektiv 103 transmissiv 103
Einprogrammbetrieb 157
DIVISION 369 DATA 370 ENVIRONMENT 369 IDENTIFICATION 369 PROCEDURE 371
Eckert 26
elektromagnetische Lochkartenstanzer 23 elektrostatisches Feld 106 Emulation 95 ENIAC 26 Entscheidungstabelle 345; 350 EPROM 52
DNA, Digital Network Architecture 170
Ergonomie 241; 246
Dokumentation 241 Benutzer- 255 Programm- 255 System- 255
ergonomischen Anpassung 105 Ethernet 168 externe Datenbank 185
Dokumentationsfunktion 369 DOS 29
—F—
dpi 87
FAT 410; 431
DRAM 43
Feedback 7
Drucker anschlagende 110 Laserdrucker 117 Nadelmatrixdrucker 112 nichtanschlagende 110 Postscript-Drucker 121 Thermodrucker 114 Thermotransferdrucker 114 Tintenstrahldrucker 115 Typenraddrucker 111 Zeichendrucker 110
Fehler
Druckersteuersprache HIPLOT 127 HPGL 127
logischer 256 Fehlerbehandlung 194 Fehlerliste 357 Feld alphabetisches 375 alphanumerisch druckaufbereitet 377 alphanumerisches 375 numerisch druckaufbereitet 377 numerisches 375 Feldlänge 370 Fenster 456
489
Index Festverbindung 176 figurative Konstante 366 Fileserver 165 Finder 273 flops 60 Floptical 144 Folgenummernbereich 372 Format gepacktes 71 ungepacktes 71 Formatierung High-Level- 433 Low-Level- 433 FORTH 307
TIGA, Texas Instruments Graphics Architecture 97 Truecolor-Karte 97 VGA, Video Graphics Array 95 WINDOWS-Accelerator 97 XGA, Extendet Graphics Array 97 Grafiktablett 90 grafische Benutzeroberfläche 30 Großrechner 252 GSM, Global System for Mobile Communication 176 GUI, Graphic User Interfaces 271 Gunter 21 II
FORTRAN, Formula Translator 304 FROM 52
Halbduplexbetrieb 162 Halbleiterplatte 145
Funktionenintegration 222 —G—
Handbücher 253 Benutzerhandbuch 255 Referenzhandbuch 255 Übungshandbuch 255
Galliumarsenid 50
Harddisk 134
GAN (Global Area Network) 160
head-crash 136
GANTT-Diagramm 229
Hexadezimalsystem 73
Gateway 161; 172
Hoff 28
GEM 273
Hollerith 23
Germanium 27
Holographischer Speicher 144
Gopher 188
Homebanking 298
Grafik 454 Grafikkarte 91 8514/A, 8514 Adapter 96 CGA, Color Graphic Adapter 93 EGA, Enhanced Graphic Adapter 94 HGC, Hercules Graphic Card 94 Hicolor-Karte 97 MCGA, Multi Color Graphics Array 94 MDA, Monochrome Display Adapter 93 PGC, Professional Graphics Controller 94 SVGA, Super-VGA 95
Host 165 Hyatt 28 Hybridtechnik 27 —I— i486 Siehe Prozessor, Intel 80486 IBM 29 IC 27 Icon 272
490
Index
IDN, Integrated Digital Network 174
Kommunikationsverbund 161
IEEE, Institute of Electrical and Electronics Engineers 170
Kompatibilität 253
IMSAI 28 Individualsoflware 239 Installationsphase 256 Integrated Circuit 27 Integration 455 integrierter Schaltkreis 27 Integriertes Programm 454 INTEL 29 INTEL 4004 28 Internet 187 Interpreter 304 ISDN 174; 189 ISO, International Standardization Organization 170
Kontrollbit 71; 196 Kontrollstruktur 340 Konventionen Green Book 140 High Sierra Standard 140 Orange Book 141 Red Book 140 White Book 141 Yellow Book 140 Korrektur 357 kritischer Pfad 234 Kugelkopfschreibmaschine 111 Künstliche Intelligenz 308 —L— I AN (Local Area Network) 159 Landesdatenschutzgesetz 211
Isolator 27 —J— Jackson-Diagramm 338 Jobs 28 Joystick 89 —K— Kabelfernsehen 178 Kabelhörfunk 178 Kapitelname 365 Kathodenstrahlröhre 99 kernel 425 Kerr-Effekt 144 Keyboard 81 Kilby 27 Kommunikationsmöglichkeiten 4 Kommunikationssystem 15 8
LapTop 31; 40 Laserdrucker Laserstrahl 118 LCS, Liquid Crystal Shutter 119 LED, Light Emitting Diode 119 LCD DSTN-LCD, Double Super Twisted Nematic LCD 104 STN-LCD, Super Twisted Nematic LCD 104 TN-LCD, Twisted Nematic Liquid Crystal Display 103 TSTN-LCD, Triple Super Twisted Nematic LCD 104 Leibnitz 21 Lichtgriffel 90 LINUX 266 lips 60 LISP, List Processing 308 Literal 365 nicht numerisch 366
491
Index numerisch 365 Lochkarte 23; 147 Lochstreifen 147 Logik 74 logische Einheit 91 LOGO 307 log-out-Pflicht 206 —M—
kardinalskaliert 467 nominalskaliert 467 ordinalskaliert 467 Mickey-Einheit 85 Microsoft 29 Mikrofiche 144 Mikroprozessor 28 Mikroverfilmung 127 Minitel 180 mips 60
Magnetbänder 137
Mittlere Systeme 252
Magnetbandgerät 138
mittlere Zugriffszeit 134
magneto-optische Disk 143
Modacom 179
Magnetstreifen 138
Modem 174
Magnetstreifenleser 138
MO-Disk Siehe magneto-optische Disk
Mailbox 186
Modul 254; 322
Malprogramm 286; 287
MODULA-2 307
MAN (Metropolitan Area Network) 160
Modularität 241
MARK I 24
Modulo-10-Verfahren 194
Markierungsträger 148
Modus Batch- 445 Grafikmodus 92; 94 Interlaced-Modus 99 Kommando- 445 NLQ, Near Letter Quality 112 Textmodus 92; 93
Maschinensprache 303; 337 Maschinenteil 369 Massenspeicherkapazität 252 Mauchly 26 Maus Infrarot- 85 mechanische 84 Microsoft-Mouse 85 optische 85 MCA 59 Mehrfach-Token-Verfahren 169 Meilenstein 229 Menue 272 Pull-Down- 446 Menuepunkt 456 Menuesteuerung 278 Merkmalsskalierung
Monitor 90 Farbmonitor 100 Monochromebildschirm 98 Multiscan-Monitor 101 Moore 307 motherboard 42 mouse.com 85 mouse.sys 85 MPM, Metra Potential Method 229 multifunktionales Endgerät 181 Multiplexbetrieb 162 Multi-Processing 271
492 multi-programming 158; 271 multi-tasking 158; 270 nicht-preemptiv 270 preemptiv 270 Multi-Threading 270 Multi-User-Mode 271 MVS 267 —N—
Index —O— Objekt Einfügen 482 Verknüpfung 482 Objektprogramm 254; 336; 358 Off-Line-Betrieb 8 On-Line-Betrieb 8 Optische Speicherkarte 144 OS/2 31; 263
Nachlesen 353; 402
OS/400 267
Nadeldrucker 24-Nadeldrucker 112 9-Nadeldrucker 112
OSI-Schichtenmodell 171
Nassi-Shneiderman-Diagramm 338
—P—
Near-Video-on-Demand 191
PalmTop 41
Net News 188
Paragraphenname 365
Netz heterogenes 161 homogenes 161
Paritätsbit 56
Netzplan 229 Netzwerk 160 Netzwerksoftware 166 Netzwerktopologie 166 Bussystem 167 Ring 167 Stern 167 Norm Ergonomie geprüft 106 ISO 9241-3 107 MPR-II 106 TCO-92 106 VDI 106 Normung CD-I 140 CD-ROM-XA 140 DVI 140 MPEG 141
Pascal 21; 306 patchen 256 Pay-per-Channel 191 Pay-per-View 191 PC 29 Siehe Personal Computer PC-Betriebssystem 4 PCI 41 PCMCIA 41; 59; 130 PC-Netzwerk 39; 252 Pentium 36 PenTop 41 Peripheriegeräte 61 Personal Computer 34 Personal System/2 31 PET 28 Pfad 444
Notebooks 40
Pflichtenheft 235
Noyce 27
PICTURE-Klausel 375 pixelorientiert 287
493
Index PL/1, Program Language/1 306 Plattenstapel 134 Platzhalter 429 Plausibilitätskontrolle 205 Plotter elektrostatische Plotter 126 Laserplotter 126 Schneidepiotter 125 Thermotransferplotter 126 Tintenstrahlplotter 126 Tischplotter 125 Trommelplotter 125
Protokoll CRC 72 LRC 72 Protokollierung 206 prozedurale Sprache 307
POST 411
Prozessor 52; 110 CISC-Prozessor 59 Coprozessor 61 CRISP-Prozessor 60 E/A-Prozessor 46 Intel 52 Intel 286 35 Intel 80386 35 Intel 80486 36 Intel 8086 bzw. 8088 34 Kausalprozessor 47 Mikroprozessor 45 Motorola 37; 52 RISC-Prozessor 60 Service-Prozessor 47
Präsentationsgrafik 288
Prozessorregister 48
Presentation Manager 264
Public Domain Software 298
Primärmultiplexanschluß 190
Pufferzeit 234
Plottertechnologie 125 Rasterverfahren 126 Vektorverfahren 125 port 79 Portable 30
Programmablaufplan 338 Programmentwicklung Phasen 335 programmgesteuert
-
Q
-
Quellprogramm 254; 336
Datenverarbeitungsanlage 24 Programmiererwort 365
—R—
Programmiersprache 337
RAINBOW 29
Programmschema 372
RAM 43; 52; 110 Video-RAM 91
Programmstruktur 350 Projektablauf 228 Projektbegründung 232 Projektmanagement 228 Projektphase 216 Projektplan 228 Projektziel 228 PROLOG, Programming in Logic 308 PROM 52
Real Time Processing 269 Realweltobjekt 471 Rechenbretter 21 Rechenwerk 44 Rechnerverbund 180 Relais 24 Repeater 172 Report 474
494
Index
reservierte COBOL-Wörter 365
Schreibsperre 205
Ritchie 306
Schrift OCR-A 151 OCR-B 150; 151
Rollbalken 456 Rollfilm 144 R O M 52; 92; 110 Rotlicht-LED-Zeilen 86 Router 172
SAA, Systems Application Architecture 275
Scoringmodell 245 SECTION CONFIGURATION 370 FILE 371; 397 INPUT-OUTPUT 370; 397 LINKAGE 371 WORKING-STORAGE 371 Sensorbildschirme 90 Sequenz 330; 340; 341
SAA-Standard 445
Serienbrief 481
Satellitenfernsehen 178
Server dedicated 170 non-dedicated 170
Scanner Flachbettscanner 87 Handy scanner 87
Service-on-Demand 191
Schaltung NICHT-Schaltung 75 ODER-Schaltung 76 UND-Schaltung 76
Shareware 299
Schickard 21
Signal analog 98; 100 digital 97
Schleife 328; 334 abweisende 330; 342 nichtabweisende 331 ; 342
Shockley 27 Sicherheitsverbund 161
Silizium 27
Schlüsselwort 365
SIMM-Modul 57
Schneider CPC 64 33
Simplexbetrieb 162
Schnittstelle 351 A U X 80 CENTRONICS- 79 COM1 80 LPT1 79 parallele 79 PRN 79 RS 232 80 serielle 80; 85 V.24 80
Sinclair Z X - 8 0 33
Schreib-/Lesetechnik R e a d o n l y 153 Write Behind 153 Write Through 153
Single-Programming 269 SINIX 266 Slot 79 Slotted Ring 169 S M A L L T A L K 308 SNA, System Network Architecture 170 Softwarelebenszyklus 231 Softwarelösungen 4 Softwaresicherheit 193 Soll-Konzept 233
495
Index Soundkarte 127
Systempflege 257
Speicher 43 Cache- 61; 151 ff EMS- 154 Expanded Memory 154 Extended Memory 155 Hauptspeichergröße 61 Pufferspeicher 61 Speicherchips 55 virtuelle 151 virtueller 61 XMS- 155
SystemPro 38
Speichermodus Protected Mode 155 Real Mode 155 speicherresident 301 Speichertechnik Demand Paging 154 Swapping 154 Speicherung byteseriell 137 Sprache der vierten Generation 307 Sprachen der fünften Generation 308 Stammdateneingabe 257 Stand-Alone-PC 158 Standardsoftware 7; 216; 238 Standleitung 176 Stellenwertsystem 64 Steuerwerk 44 Strahlung 105 elektromagnetische 106 Röntgenstrahlung 105
Systemsoftware 238 —T— Tabellenkalkulation 454 Taktgeber 46 Taktrate 58 TANDY TRS-80 29 Task-Switching 270 Tastatur alphanumerischer Bereich 422 Cursorblock 422 Dvorak- 82 Funktionstasten 422 MF II- 82 QWERTY 82 QWERTZ 82 Zehnerblock 422 Tastenkombinationen 278 TCP/IP 188 Telebox 186 Telebriefdienst 183 Telefax 182 Telefonnetz 176 Teletex 177 Telex 177 Temex 177 Terminal 158; 165
Streamer 138
Texas Instruments 27; 28
Struktogramm 254; 328
Textverarbeitung 454
Strukturbeschreibungssprache 337
Time-Sharing 271
Sublimationsdrucker 114
Tintenstrahldrucker Bubble-Jet-Prinzip 115 Continous-Drop-Verfahren 115 Drop-on-Demand-Verfahren 115 Piezo-Prinzip 115
Subnotebooks 40 Super-Server 38 Synchronbetrieb 162 System 7 267
Token 169
496 Token Ring-Netzwerk 31 Token-Ring 168 top-down-Entwurf 348
Index verdrillte Kupferkabel, UTP oder STP 169 Veronica 188
Trackball 86
Verschlüsselung 206
Trackballtastaturen 86
Verzeichnisname 420
Transaction-Mode 271 Transistor 27
Verzweigung 330 Einfach- 332; 334; 362 Mehrfach- 332; 335; 363
Truetype 121
VESA 96 Videocontroller 91
—U—
Video-Konferenz 178
Umstellung schrittweise 257 Stichtags- 257
Viren 206 Logische Bomben 313 Programm- 313 Stealth-(Tarnkappen-) 314 System- 313 Troj anische Pferde 313 Würmer 313
UNIVAC I 27 UNIX 266 Unterprogramm 386 Unterstützungssoftware 238 Update 297 Urheberrecht 253
VMS 267 Vollbild 456 Vollduplexbetrieb 162 Vorlesen 353; 402
—V—
Vorteile Einsatz der EDV 17
v. Neumann 46 Vakuumröhre 26 vektororientiert 287 Verarbeitungsbreite 58 Verarbeitungsgeschwindigkeit 60 Verbindung parallele 161 serielle 161
—W— wafer 49 Wählverbindung 176 Wahlwort 365 Waitstates 60 WAN (Wide Area Network) 160
Vergleichsverfahren Analogieverfahren 248 Aufwand-pro-Einheit-Verfahren 249 direkter Vergleich 249
Wartungsvertrag 253
Verkabelung 169 Glasfaserkabel 169 Koaxialkabel 169 polymere Lichtwellenleiter 170
WINDOWS 95 267
Wiederholung 330; 340 WINDOWS 3.x 274
WINDOWS NT 266 Wirth 306 Wirtschaftlichkeitsrechnungen 6
497
Index Workplace Shell 264 Workstation 39; 165; 252 Wozniak 28 WWW, World Wide Web 188 —X— XENIX 266 XEROX 84 XT 30; 34 —Z—
dezimal 64 dual, binär 22 hexadezimal 73 Zehnersystem 62 Zeichenprogramm 286 Zeichensatz erweiterter ASCII-Zeichensatz 73 IBM-Standardzeichensatz 73 Zeilenfrequenz 100 Zeilenkennung 372 Zentraleinheit 43 Ziffernsystem 21 Zuse 23
Zahlensystem der Ägypter 63 der Römer 64 der Sumerer 63
Zuweisung 331