Medizinische Informatik

Grundbegriffe

Was ist Medizinische Informatik?

Bei der Durchführung der ärztlichen Aufgaben spielt die Informationsverarbeitung eine wichtige Rolle:

Die Bedeutung der Informationsverarbeitung für die Tätigkeiten des Arztes lässt sich genauer an folgendem Schema (Diagnostisch-Therapeutischer Zyklus) ablesen:

Der Arzt untersucht den Patienten und gewinnt (experimentelles) Wissen in Form von Befunden. Daraus leitet er induktiv und aus seinem (formalen) persönlichen Wissen, das er sich durch Ausbildung und Erfahrung erworben hat, deduktiv eine Diagnose ab. Gleichzeitig erwirbt er neues Wissen, d.h. er lernt aus der Untersuchung des Patienten. Die Diagnose führt zusammen mit den Befunden (z.B. kann die Therapie vom Alter abhängen) und seinem persönlichen Wissen zur Planung und Durchführung therapeutischer Maßnahmen, d.h. der Arzt behandelt den Patienten. Der Arzt ergänzt sein persönliches Wissen aus dem allgemeinen Fundus des medizinischen Wissens, das z.B. in Büchern gespeichert ist. Gleichzeitig kann er auch zur Erweiterung dieses Fundus beitragen, indem er z.B. eigene Erkenntnisse veröffentlicht. Der Zyklus wird i.a. mehrmals durchlaufen mit dem Ziel, die wahre Diagnose möglichst genau zu ermitteln und die Therapie darauf abzustimmen.

Dieser Zyklus funktioniert seit Menschengedenken auch ohne Computer. Heute sprechen einige Argumente dafür, sich durch Computer dabei unterstützen zu lassen:

Computer als informationsverarbeitende Maschinen sind in der Lage, viele Informationen schnell und zuverlässig zu verarbeiten. Sie können daher die Informationsverarbeitung in der Medizin quantitativ und qualitativ unterstützen. Ärzte und andere an der Behandlung von Patienten beteiligte Personen können schneller bessere Informationen erhalten. Daraus resultieren Entlastung und Hilfe, die den Beteiligten Freiraum für Tätigkeiten geben, die nicht mit Hilfe eines Computers erledigt werden können.

Informatik ist die Wissenschaft der Informationsverarbeitung mit Computern. Man unterscheidet die theoretische Informatik, die die mathematisch-formalen Grundlagen erarbeitet, und die praktische Informatik, die die Erkenntnisse der Grundlagenforschung in die Praxis umsetzt. Das betrifft nicht nur den Entwurf und Bau von Computern, sondern auch die Erstellung von Programmen für den Einsatz des Computers in allen Lebensbereichen.

Die Medizinische Informatik befasst sich also mit den spezifischen Problemen des Anwendungsbereiches Medizin. Dabei ergeben sich Überschneidungen mit der Mathematik (insb. Statistik), der Betriebswirtschaftslehre, der Informationswissenschaft, der Linguistik und den Ingenieurwissenschaften.

Das Fachgebiet Medizinische Informatik ist mittlerweile weltweit etabliert und in Deutschland an allen medizinischen Hochschulen vertreten. Die zugehörige Fachgesellschaft ist die "Deutsche Gesellschaft für Medizinische Informatik, Biometrie und Epidemiologie" (GMDS).

Information, Nachricht, Daten, Kommunikation

Information bedeutet umgangsprachlich faktisches Wissen über die reale Welt. Das erkennt man z.B. an dem Ausdruck "sich Informationen beschaffen". Der Begriff "Information" wird im allgemeinen auch deutlich von dem Begriff "Meinung" abgegrenzt. Diese intuitive Vorstellung muss aber präzisiert werden. In den verschiedenen Wissenschaften gibt es mehrere voneinander abweichende Definitionen. Die hier verwendete Gleichsetzung von Information und Wissen beruht auf folgendem wissenschaftstheoretischen Schema:

Die reale Welt wird also nicht in ihrer ganzen Komplexität betrachtet, sondern durch die Bildung abstrakter Konzepte strukturiert. Diese Konzepte oder Informationen bedürfen aber einer Repräsentation in Objekten der realen Welt. Repräsentationen sind also stets konkrete Phänomene der physikalischen Welt, während Informationen grundsätzlich abstrakt sind. Die Verbindung zwischen beiden Begriffen geschieht durch die Interpretation. Diese Verbindung ist untrennbar: Information bedarf der Repräsentation, sonst kann sie weder mitgeteilt noch gespeichert noch verarbeitet werden. Umgekehrt ist jede Repräsentation ohne zugeordnete Information sinn-los.

Interpretationsfunktionen lassen sich aber nicht aufschreiben. Sie entstehen durch soziale Prozesse und sind i.a. Kulturkreis-gebunden. Dabei besteht immer eine Unsicherheit, ob alle die Repräsentation in gleicher Weise interpretieren. Diese Unschärfe spielt eine besondere Rolle bei der Kommunikation.

Beispiele:
Falls man sich auf die beteiligten Elemente, die Bindungswertigkeiten und den strukturellen Aufbau beschränkt (Abstraktion) - und die stofflichen Eigenschaften, das Atomgewicht, die Reaktionsenergie u.a. vernachlässigt - lässt sich ein chemischer Stoff grafisch als Strukturformel darstellen.

Die verschiedenen Repräsentationen sind äquivalent, da sie die gleiche Information darstellen. Eine Zuordnungsvorschrift zur Wandlung zwischen äquivalenten Repräsentationen heißt Code, der zugehörige Vorgang (Um)codierung.

Verkehrszeichen sind bunte Schilder; sie werden jedoch sinnvoll interpretiert, so dass sie eine nützliche Funktion in der Organisation von Verkehrsabläufen darstellen.

Information Repräsentation
"unebene Straße" "Querrinne"

Piktogramme dienen der Orientierung in einer vielsprachigen Umgebung, z.B. auf Flugplätzen und Bahnhöfen.

Information Repräsentation
"öffentliches Telefon"   (

Manche Repräsentationen sind nicht auf den ersten Blick oder nur für Eingeweihte als Information zu erkennen.

Information Repräsentation
"?"  
(Ausschnitt aus dem genetischen Code).
"?"
AATGACGCGT   

Die konkrete Repräsentation einer Information wird als Nachricht bezeichnet. Eine Nachricht besteht aus einem oder mehreren Zeichen. Zeichen sind (willkürlich ausgewählte) physikalische Phänomene der realen Welt. Sie werden durch den Zustand eines Trägers (Materie) für die Speicherung oder durch die zeitliche Veränderung eines Trägers für die Übertragung von Nachrichten realisiert. Wie schon erwähnt, können Zeichen oder Nachrichten verschiedene Informationen darstellen, d.h. unterschiedlich interpretiert werden.

Beispiele: Geschriebener Text wird durch "regelmäßige" Schwärzung auf weißem Papier dargestellt. Sprache wird mit Schallwellen übertragen.

Eine Zeichenmenge (Repertoire) zusammen mit einem Regelsystem, in dem die Bildung von Worten und Sätzen festgelegt ist, heißt Sprache. Sätze einer Sprache können drei Aspekte haben:

Beispiel: Der Satz "Anna ist krank" ist syntaktisch korrekt gebildet und bedeutet, dass eine weibliche Person namens Anna krank ist. Wenn Anna z.B. die Tochter desjenigen ist, der diese Aussage macht, dann hat sie auch einen pragmatischen Aspekt.

Eine Information zusammen mit der sie repräsentierenden Nachricht wird als Datum (Plural: Daten) bezeichnet. Die Begriffe "Information" und "Daten" werden in der Informatik allerdings fast immer synonym benutzt. Da die Repräsentation an einen Träger gebunden ist spricht man auch von Datenträgern (z.B. Papier oder elektronische Datenträger, s.u.).

Kommunikation bedeutet umgangssprachlich "etwas gemeinsam machen", gemeinsam beraten, einander mitteilen, besprechen, also: Austausch von Mitteilungen, Übermittlung von Botschaften, Nachrichten, Informationen. Kommunikation findet primär zwischen Menschen statt, ist aber auch mit sich selbst, mit Tieren, Maschinen und anderen Dingen möglich. So lassen sich mit diesem Modell auch Erkenntnisvorgänge beschreiben.

Der Ablauf eines Kommunikationsvorgangs lässt sich allgemein durch folgendes technisches Schema darstellen:


Kommunikation findet statt, indem die Nachricht von der Nachrichtenquelle zur Nachrichtensenke übertragen wird. Die Information "quillt" bei dem Expedienten hervor und "senkt" sich in den Rezipienten hinein. Die Repräsentation der Information in der Nachrichtenquelle (d.h. die verwendete Sprache) kann von der Repräsentation der Information in der Senke verschieden sein, muss aber einen gemeinsamen Bereich (nichtleeren Durchschnitt) haben, sonst ist keine Kommunikation möglich.

Der Sender wandelt die Nachricht so um, dass sie über den Kanal transportiert werden kann. Entsprechend wandelt der Empfänger die Nachricht wieder in die Repräsentation des Rezipienten um.

Beispiel: Telefongespräch
Der Expedient spricht Sätze in das Mikrofon. Die akustischen Luftschwingungen werden in elektromagnetische Signale transformiert, die durch die Telefonleitung zum Telefon des Rezipienten geschickt werden. Sie werden mittels der Lautsprechermembran in Luftschwingungen rückverwandelt, mit dem Ohr aufgenommen und im Gehirn verstanden. Eine Kommunikation, d.h. ein Informationsaustausch, kommt nur zustande, wenn Sprecher und Hörer eine gemeinsame Sprache verwenden.

In jeder Phase dieser Kommunikationskette sind Störungen und damit Veränderungen der Information möglich.

Was sind Computer?

Computer sind Maschinen. Sie unterscheiden sich aber in folgenden Merkmalen von anderen Maschinen:

Wie kommuniziert der Mensch mit einem Computer?

Wenn man einen Computer benutzen will, muss man ihm Informationen zur Verfügung stellen, passende Programme für die Informationsverarbeitung auswählen und Informationen als Ergebnisse wieder übernehmen. Es findet also eine Kommunikation zwischen dem Benutzer und dem Computer statt. Ideal wäre es, wenn diese Kommunikation genauso ablaufen könnte wie zwischen zwei Menschen, d.h. auf Basis der natürlichen Sprache. Informatiker im Fachgebiet Künstliche Intelligenz (KI) arbeiten zwar an einer solchen Schnittstelle, die praktische Anwendung wird jedoch noch einige Zeit auf sich warten lassen, da die natürliche Sprache mit ihrer Vielfalt, ihren Unregelmäßigkeiten und der individuellen Aussprache von heutigen Computern nur unzureichend verstanden werden kann.

In der Praxis muss man also zur Kommunikation mit einem Computer formale Sprachen verwenden. Das sind Sprachen, deren Syntax und Semantik exakt definiert sind und die im wesentlichen den Bedürfnissen des Computers angepasst sind. Solche formalen Sprachen finden Verwendung sowohl für die Erstellung von Programmen für Computer, als auch bei der Ein- und Ausgabe von Daten und bei der Bedienung des Computers.

Die Programme, die im Computer ablaufen, um die Kommunikation mit dem Benutzer zu ermöglichen, realisieren eine Benutzeroberfläche. Sie stellen also eine Schnittstelle zwischen Computer und Benutzer her. Moderne Computer haben graphische Benutzeroberflächen (Graphical User Interface, GUI). Sie funktionieren so, dass die im Computer gespeicherten Daten und die verfügbaren Programme als Symbole (Icons) auf dem Monitor dargestellt werden, und mit Hilfe der Tastatur oder einem elektronischen Zeigegerät, der Maus, ausgewählt oder gestartet werden können.

Der Mensch führt mit dem Computer einen Dialog. Er gibt mittels Tastatur und Maus Daten oder Programme ein und startet Programme, indem er dem Computer Befehle oder Kommandos gibt. Der Computer antwortet mit Ausgaben (Ergebnisse oder Kontrollmeldungen) auf dem Monitor oder dem Drucker. Diese Form der Mensch-Maschine-Kommunikation ist heute vorherrschend. Es ist zu erwarten, dass die Spracheingabe in einigen Jahren eine wichtige Rolle spielen wird. Es gibt heute schon Programme, die gesprochene Sprache in einen Text umsetzen (siehe auch Abschnitt Datenerfassung).

Wie ist ein Computer aufgebaut?

Man unterscheidet Hardware und Software. Unter Hardware versteht man alle Komponenten eines Computers, die physikalisch da sind und die man anfassen kann. Software sind die Daten und Programme, die im Computer oder auf einem Datenträger, z.B. einer Diskette, gespeichert sind. Diese Informationen sind zwar durch physikalische Mechanismen gespeichert, ändern sich aber fortlaufend während des Betriebs des Computers. Die Grenze zwischen Hard- und Software ist teilweise fließend. Manchmal ist es nicht klar, ob es sich um einen Hard- oder Softwarefehler handelt.

Die Hardware eines persönlichen Computers (PC) besteht aus folgenden Komponenten:

Um Informationen verarbeiten zu können, müssen sie zunächst gespeichert werden. Dazu dienen im Computer verschiedene Speichertypen. Die aufwendigsten Speicher sind die Register. Das sind Speicher, die direkt dem Prozessor zugeordnet sind und dazu dienen, Informationen nur kurzfristig zu speichern. Sie sind auf Grund ihrer technischen Konstruktion in der Lage, Daten sehr schnell zu speichern und wiederzugeben. Sie entsprechen daher der Arbeitsgeschwindigkeit des Prozessors.

Der wichtigste Speicher im Computer ist der Hauptspeicher (oder Arbeitsspeicher). Im Hauptspeicher werden alle Daten und Programme abgelegt, die aktuell für die Funktion des Computers erforderlich sind. Der Hauptspeicher wird auch als RAM (Random Access Memory) bezeichnet. Er ist nicht so aufwendig konstruiert wie die Register, dadurch billiger und kann in größerer Menge zur Verfügung gestellt werden.

Unter peripheren Speichern versteht man u.a. Plattenspeicher, CD-ROM-Speicher, DVD-Speicher, Speicherkarten oder Speichersticks. Dabei handelt es sich um Speicher, die von ihrem technischen Aufbau einfacher, damit preiswert und für große Informationsmengen geeignet sind. Sie dienen auch dem Austausch von Informationen zwischen verschiedenen Computern. Programme, die auf solchen peripheren Speichern abgelegt sind, können nicht direkt in einem Computer ausgeführt werden. Sie müssen zunächst in den Hauptspeicher geladen werden. Das gilt auch für die zu verarbeitenden Daten.

Die genannten peripheren Speicher unterscheiden sich in ihrem technischen Aufbau und in ihren Zugriffsmöglichkeiten. CD-ROM-Speicher können nicht beschrieben werden, d.h. diese Speicher werden einmal mit Informationen versehen und können dann beliebig oft gelesen werden (ROM=Read Only Memory). Plattenspeicher, CD-ROM und Diskette erlauben den sog. wahlfreien Zugriff, d.h. durch die Rotation der Speichermedien und der radialen Bewegung eines Lese-Schreibkopfes, kann man in kurzer Zeit an alle auf dem Medium gespeicherten Informationen gelangen (vgl. Musik-CD). Davon unterscheiden sich grundsätzlich Magnetbandkassetten, die nur einen sequentiellen Zugriff erlauben, d.h. man muss das Band vorspulen bis zur gewünschten Stelle, wo die Information abgelegt ist (vgl. Musik-Kassette).

Wie wird Information im Computer dargestellt?

Information wird in modernen Computern grundsätzlich binär gespeichert. Alle genannten Speicher bestehen aus technischen Elementen, die nur zwei Zustände zulassen, z.B. aus Transistoren, die entweder Strom durchlassen oder für Strom gesperrt sind. Diese beiden Zustände bezeichnet man auch als EIN und AUS und ordnet ihnen logisch eine 1 bzw. eine 0 zu. Mit einem solchen Element lässt sich ein Bit (= binary digit) Information speichern. Das entspricht dem Informationsgehalt einer Antwort auf eine Frage, die nur mit "ja" oder "nein" beantwortet werden kann, z.B. "Hat es gestern geregnet?". Um mehr Information zu speichern, sind weitere Bits erforderlich. So werden alle Informationen logisch als Folge von Nullen und Einsen (0-1 Muster) dargestellt. 8 Bit werden zu einem Byte zusammengefasst.

Die binäre Repräsentation von Information kommt auch außerhalb des Computers vor. Als Beispiel sei die Verkehrsampel genannt, wo mit Hilfe von drei Lampen (die zur besseren Erkennung mit drei verschiedenen Farben versehen sind) verschiedene Verkehrsinformationen dargestellt werden. Folgende Kombinationen werden benutzt:

Weitere mögliche Kombinationen sind:

Mit drei Lampen, das entspricht 3 Bit, sind also 23 = 8 Kombinationen möglich.

Die Größe von Speichern wird dementsprechend in Vielfachen von Bit oder Byte angegeben. Dabei werden folgende Multiplikatoren verwendet:

1 K(ilo) = 1024 = 210

1 M(ega) = 10242 = 220

1 G(iga) = 10243 = 230

1 T(era) = 10244 = 240

Man sagt also z.B. der Hauptspeicher ist 32 MByte = 32 Megabyte = 32*10242 Byte groß.

Die binär gespeicherte Information kann nun verschieden interpretiert werden:

Man unterscheidet eine physikalische und eine logische Datenstruktur. Die Elemente der physikalischen Datenstruktur sind Bit, Byte, Wort und Block. 8 Bit werden zu einem Byte zusammengefasst, mehrere Byte zu einem Wort. Das ist eine Einheit, die intern im Prozessor beim Transport von Informationen verwendet wird. Gebräuchliche Wortgrößen sind 32 Bit oder 64 Bit. Blöcke sind größere Einheiten, z.B. 1024 Bytes, die bei der blockweisen Datenübertragung, z.B. zwischen Hauptspeicher und Festplatte, verwendet werden. Es werden also nicht einzelne Bits oder Bytes übertragen, sondern immer größere Blöcke.

Die Elemente der logischen Datenstruktur ergeben sich durch die unterschiedliche Interpretation binärer Daten. Die kleinste Einheit sind Zeichen oder Zahlen oder auch andere benutzerdefinierte Interpretationen. Mehrere Zeichen oder eine Zahl bilden ein Feld, mehrere Felder einen Satz und mehrere Sätze eine Datei. Ein Datensatz wird aus logisch zusammengehörenden Feldern gebildet.

Beispiel: Ein Patientendatensatz könnte z.B. folgende Felder enthalten:

Feldbezeichnung Typ und Länge
Name 30 Zeichen
Vorname 20 Zeichen
Alter_in_Jahren Ganze Zahl
Hb-Wert Gleitkommazahl
ICD_Diagnose 5 Zeichen

Gleichartige Sätze bilden eine Datei. So könnten z.B. die Daten mehrerer Patienten mit dem gleichen logischen Aufbau in einer Patientendatei zusammengefasst werden.

Beispiel: Datei mit fünf Patientendatensätzen nach obigem Aufbau:

Meier Otto 5611.9K70.3
Obermann Maria 7208.3C42.5
Welser-Sturmüller Klaus 4810.4N20.0
Hangarter Ottilie 8807.5I20.8
Antonow Igor 4513.3A31.1

Dateien sind im Computer Behälter für Daten oder Programme. Dateien können also nicht nur Sätze gleicher Struktur enthalten, sondern auch fortlaufenden Text, Bildinformationen oder Programme. Logisch werden Informationen auf einem Datenträger, d.h. auf einer Festplatte oder Diskette, mit Hilfe von Dateien verwaltet. Dateien haben Namen und weitere Attribute, mit denen der Benutzer Ordnung in seine Daten bringen kann. Die Namen aller Dateien auf einem Datenträger stehen in einem Verzeichnis (directory).

Mehrere Dateien mit unterschiedlichem Aufbau und Inhalt können zu einer Datenbank zusammengefasst werden. Entscheidend dabei ist, dass die Dateien logisch zusammengehören. So könnte man z.B. eine Datenbank für Tumorpatienten bilden, die einmal aus den Patientenstammdaten, d.h. den unveränderlichen Daten eines Patienten, besteht und außerdem aus den Daten, die bei den einzelnen Behandlungszyklen des Patienten angefallen sind. Datenbanken werden mit Hilfe von Datenbankmanagement-Systemen (DBMS) verwaltet. Sie sorgen dafür, dass die Daten platzsparend abgelegt werden und ein Zugriff auf zusammengehörende Daten jederzeit möglich ist.

Wie wird Information im Computer verarbeitet?

Computer bedeutet eigentlich Rechner. Moderne Computer können natürlich auch rechnen, z.B. um den Brocaindex aus Gewicht und Körpergröße zu ermitteln.

Darüber hinaus bedeutet Informationsverarbeitung aber auch, Daten neu zusammenzustellen, zu sortieren, Zuordnungen vorzunehmen und auf wechselnde Dateninhalte flexibel zu reagieren. Computer brauchen für jeden Verarbeitungsvorgang eine Anweisung. Die Verarbeitungsvorgänge müssen zunächst außerhalb des Computers vom Menschen logisch, formal eindeutig, vollständig und endlich beschrieben werden. Eine solche Beschreibung heißt Algorithmus. Die Bezeichnung kommt aus der Mathematik, wo Algorithmus das gleiche wie Rechenverfahren bedeutet, also eine Anleitung, etwas auszurechnen. Ein Beispiel dafür ist das Rechenverfahren zur Lösung einer quadratischen Gleichung. Das Verfahren muss so definiert sein, dass auch ein Mensch, der nur die vier Grundrechenarten beherrscht, eine quadratische Gleichung lösen könnte.

Die Analyse von komplexen Informationsverarbeitungsvorgängen in konkreten Ausschnitten der Realität, z.B. auf einer Station im Krankenhaus, und ihre Beschreibung durch Algorithmen heißt Systemanalyse. Zunächst wird eine Bestandsaufnahme der vorhandenen informationsverarbeitenden Verfahren und der Informationsflüsse durchgeführt (Ist-Analyse). Darauf aufbauend wird ein Soll-Konzept entwickelt, das den geplanten Ablauf der informationsverarbeitenden Verfahren beschreibt. Meistens wird dabei bereits zwischen automatisiebaren Aufgaben und nicht-automatisierbaren Aufgaben unterschieden. Automatisierbare Aufgaben müssen sich in Form von Algorithmen beschreiben lassen. Im nächsten Schritt muss entschieden werden, ob man für die automatisierbaren Aufgaben Software kaufen und eventuell anpassen kann oder ob neue Programme erstellt werden müssen (Systemauswahl). In beiden Fällen schließt sich eine Testphase an, in der nach Möglichkeit alle Abläufe im Zusammenspiel mit Testdaten geprüft, bewertet und eventuell korrigiert werden. Erst wenn diese Phase erfolgreich war, kann die Software in den Echteinsatz gelangen.

Obwohl es heute für die Durchführung von Systemanalysen eine Reihe formaler Werkzeuge (z.B. für Modellierung oder Projektmanagement) gibt, lassen sich menschliche Tätigkeiten aber nur in einigen Bereichen eindeutig beschreiben. Manches ist zu kompliziert oder zu individuell-schöpferisch. Daraus resultieren die großen Schwierigkeiten im Forschungsbereich der Künstlichen Intelligenz (KI), wo es darum geht, menschliches Denken zu analysieren. Grenzen der Automatisierbarkeit liegen daher nicht nur in der Leistungsfähigkeit der Computer, sondern vorwiegend in der mangelnden Beschreibung der Wirklichkeit.

Die Arbeitsanweisung an einen Computer zur Durchführung eines Algorithmus heißt Programm. Ein Programm besteht aus einem oder mehreren Befehlen, die je nach verwendeter Sprache verschiedene Mächtigkeit haben können. Damit soll ausgedrückt werden, dass es Befehle gibt, um zwei Zahlen zu addieren, aber auch solche, mit denen komplexe Verarbeitungsvorgänge in einem Schritt definiert werden können, wie z.B. die Durchführung eines statistischen Tests.

Die elementarsten Befehle sind die Befehle in der sogenannten Maschinensprache (Sprache der 1. Generation). Die Maschinensprache (die Menge der verfügbaren Maschinenbefehle) wird beim Entwurf des Prozessors festgelegt. Dieser Umfang kann, wenn der Prozessor physikalisch existiert, nur noch schwer verändert werden. Man kann aber komplexe Befehle aus mehreren Maschinenbefehlen zusammensetzen.

Bei den Maschinenbefehlen unterscheidet man verschiedene Befehlsgruppen. Transportbefehle dienen dazu, Informationen zwischen Prozessor und Hauptspeicher hin und her zu schieben. Arithmetische Befehle dienen zur Durchführung von Rechnungen, logische Befehle für Vergleiche und logische Operationen. Mit Hilfe von Vergleichen und Sprungbefehlen kann der Ablauf eines Programms in Abhängigkeit einer Bedingung (z.B. in Abhängigkeit von einem Datum) verändert werden, d.h. Programmteile können übersprungen werden. Damit wird die große Vielseitigkeit von Computerprogrammen erreicht. Ferner gibt es Ein- und Ausgabebefehle, mit denen Daten vom Hauptspeicher zu peripheren Geräten und umgekehrt transportiert werden können.

Beispiel: Ausschnitt aus einem Programm

Maschinensprache ASSEMBLER FORTRAN oder C
...  
1100 0010 0111 0110
0011 1010 0110 0100
1100 0001 0111 1001
1100 0010 0111 1010
0011 1110 0111 1001
1100 0001 0111 1100
...
...  
LADE GROESSE
SUBT 100
SPEI GROESSE1
LADE GEWICHT
DIVI GROESSE1
SPEI BROCA
...
...  
BROCA=GEWICHT/(GROESSE-100)  
...

Die heute überwiegend in PCs eingesetzten Prozessoren verfügen etwa über 180 Befehle. Sog. RISC-Prozessoren (Reduced Instruction Set Computer) haben nur noch etwa 80 Befehle. Der Prozessor führt die Befehle der Maschinensprache schrittweise (getaktet) aus. Die Taktrate wird in Megahertz (MHz) angegeben. Wenn die Taktrate z.B. 40 MHz beträgt und im Schnitt je Befehl vier Takteinheiten erforderlich sind, kann der Prozessor 10 Mio. Befehle je Sekunde ausführen = 10 MIPS (Instructions per second). Diese Zahl kennzeichnet (neben anderen Größen) die Leistungsfähigkeit eines Prozessors.

Wie das Beispiel zeigt, ist das Programmieren, d.h. das Erstellen eines Programms, in Maschinensprache sehr mühsam. In der Anfangszeit der Computer bis etwa Mitte der 50er Jahre gab es keine andere Möglichkeit und man musste die Befehle bitweise in den Computer eingeben. Um diese Situation zu verbessern, wurden höhere Programmiersprachen entwickelt. Der Assembler ist eine symbolische Maschinensprache (Sprache der 2. Generation). Mit ihm wird es möglich, statt Bit-Kombinationen aussagefähige symbolische Namen für die einzelnen Befehle und Speicherplätze zu verwenden und damit ein Programm zu schreiben. Assembler wird heute nur noch benutzt, wenn ein sehr effizientes Programm (d.h. schnell und platzsparend) erstellt werden soll.

In der dritten Generation der Programmiersprachen wurden Sprachen wie C, PASCAL, BASIC, FORTRAN und COBOL entwickelt, die nicht mehr die Befehle der Maschinensprache zugrunde legen, sondern an den Problemen orientiert sind, die mit Hilfe des Computers gelöst werden sollen. Deshalb bezeichnet man sie auch als problemorientierte oder höhere Programmiersprachen. Diese Sprachen werden heute als universelle formale Sprachen zur Programmierung von Computern verwendet. Sprachen der vierten Generation (4GL-Sprachen) sind Sprachen mit noch mächtigeren Befehlen. So stellen z.B. DBMS 4GL-Sprachen zur Verfügung, um damit sehr komfortabel Daten speichern und abfragen zu können.

Da Computer nur Programme in Maschinensprache ausführen können, benötigt man bei Verwendung höherer Programmiersprachen einen Übersetzer, der das Programm von der höheren Programmiersprache in Maschinensprache überträgt. Solche Programme heißen Compiler und stehen für die gängigen Computertypen und höheren Programmiersprachen zur Verfügung.

Die Algorithmen, die in der Systemanalyse gewonnen werden, müssen in Computerprogramme umgesetzt werden. Dafür gibt es heute für die wichtigsten Programmiersprachen sehr leistungsfähige Werkzeuge, die den Entwurf, die Erstellung, die Übersetzung (dabei werden die syntaktischen Fehler im Programm erkannt) und den Test (dabei werden semantische Fehler im Programm aufgedeckt) in einem einheitlichen Entwicklungssystem unterstützen. Diesen Vorgängen schließt sich die Einführung des Programms in der Routine, u.U. verbunden mit weiteren Korrekturen, an. Abschließend wird beurteilt, wie weit das Programm die vorgesehenen Aufgaben erfüllt (Validierung).

Was gibt es für Computerprogramme?

Außer in 4GL-Sprachen werden heute nur wenige Computerbenutzer selbst programmieren, sondern Programme oder Programmteile benutzen, die von Programmierern erstellt wurden. Man kann Programme von Softwarefirmen kaufen oder Public-Domain-Programme benutzen. Dabei handelt es sich um Programme, die von ihren Schöpfern kostenlos zur Verfügung gestellt werden. Daneben gibt es Shareware-Programme, die zwar kostenlos ausprobiert, aber bei regelmäßiger Nutzung bezahlt werden müssen. Sie sind i.a. aber billiger als die Programme der Softwarefirmen. Die Verteilung der Programme erfolgt heute zu einem großen Teil über Computernetze (s.u.).

Man unterscheidet bei Computerprogrammen zwei Klassen:

Prinzipien von Anwendungsprogrammen

Moderne PC-Programme sind sehr umfangreich, stellen eine Fülle verschiedener Funktionen bereit und stellen hohe Anforderungen an die Hardwareausstattung. So kann man z.B. mit einem Textverarbeitungsprogramm einen einfachen Brief schreiben und ausdrucken oder aber eine komplette wissenschaftliche Arbeit erstellen. Programme zur Textverarbeitung, Tabellenkalkulation, Präsentation und Datenhaltung werden häufig zu sogenannten Office-Paketen zusammengefasst (z.B. Microsoft OFFICE, Star Office). Die Funktionen aller vier genannten Programmtypen sind damit unter einer Oberfläche verfügbar, und der Datenaustausch zwischen den Programmen ist (fast) problemlos.

Die große Zahl der Funktionen führt zur Unübersichtlichkeit. Dem begegnet man mit sogenannten Symbolleisten, die einzelne Funktionen in Form von Symbolen (Icons) zur Verfügung stellen. Diese Leisten sind anwenderspezifisch konfigurierbar, d.h. die Leisten können so eingerichtet werden, dass der Benutzer nur die Funktionen sieht, die er in seiner Arbeitsumgebung benötigt.

Beispiel: Symbolleiste

Textverarbeitung

Die Aufgaben, die mit einem Textverarbeitungsprogramm erledigt werden können, lassen sich grob in drei Schritte gliedern:

  1. Texteingabe,
  2. Textgestaltung,
  3. Textausdruck.

Nach Start des Programms zeigt sich der Bildschirm als leeres weißes "Blatt", das von links oben nach rechts unten, durch die Eingabe von Zeichen über die Tastatur beschrieben wird. Es gilt das Prinzip, dass der Text am Bildschirm in allen Einzelheiten (wie Einzüge, Schrift, Grafik) so dargestellt wird, wie er später auf Papier ausgedruckt wird (WYSIWYG = What you see is what you get). Die Funktionen des Textverarbeitungsprogramms sind über die bereits erwähnten Symbolleisten, die üblicherweise am Rand des Bildschirms angeordnet sind, verfügbar.

Textverarbeitungsprogramme bieten sehr komfortable Korrekturmöglichkeiten. Falsch eingegebene Zeichen werden einfach gelöscht und wieder neu eingegeben. Zeichen, Wörter, Sätze oder größere Textabschnitte können durch Kopieren und Verschieben beliebig angeordnet werden. Damit hat man viele Freiheiten bei der Gestaltung seines Textes. Während der Texteingabe wird der Text zeilenweise umgebrochen, wobei eine automatische Trennhilfe aktiviert werden kann. Außerdem kann parallel zur Eingabe eine Rechtschreibprüfung in verschiedenen Sprachen erfolgen. Die Eingabe von Text in mehreren Spalten wird durch sogenannte Tabellenfunktionen unterstützt.

Die Textgestaltung (auch Textformatierung genannt) bezieht sich im wesentlichen auf Zeichen, Absätze und Seiten. Im Zeichenformat werden Schrifttyp, Schriftgröße und weitere Schriftattribute, wie fett, kursiv, unterstrichen, hoch- oder tiefgestellt festgelegt.

Zu den Absatzformaten zählen unter anderem die Ausrichtung des Absatzes (linksbündig, rechtsbündig, zentriert oder Blocksatz), der Zeilenabstand und wahlweise verschiedene Einzüge (unter Einzug versteht man das Einrücken von Text).

In der Seitenformatierung (Seitenlayout) werden die Breite der Seitenränder, eventuelle Kopf- und Fußzeilen, Seitennummerierungen und das Papierformat festgelegt.

Aktuelle Textverarbeitungsprogramme bieten die Möglichkeit, Graphiken, die mit anderen Programmen erstellt wurden, einzubinden und/oder sie stellen eine eigene Funktion zum Zeichnen bereit. Die Position der Graphik innerhalb des Textes wird ebenfalls im Seitenlayout festgelegt.

Da Drucker in den meisten Fällen direkt im Betriebssystem verwaltet werden, besteht die Druckfunktion darin, die Information vom Textverarbeitungsprogramm an den Druckertreiber für den ausgewählten Drucker zu übergeben.

Datenbankmanagementsystem                       

Zur Datenverwaltung (Datenhaltung) werden Datenbank-Managementsysteme (DBMS) eingesetzt. Häufig spricht man auch nur von Datenbanksystemen und meint damit sowohl die Datenbank selbst (d.h. die Daten) als auch die zugehörige Software zum Verwalten der Datenbank.

Mit dem Einsatz eines DBMS werden u.a. folgende Ziele verfolgt:

Moderne DBMS arbeiten überwiegend nach dem relationalen Datenschema, d.h. eine Datenbank besteht aus einer oder mehreren Tabellen (Relationen), von denen jede wiederum eine herkömmliche Datei repräsentiert. Die Spalten einer Tabelle sind also die Datenfelder und jede Zeile entspricht einem Datensatz. Logisch zusammengehörende Tabellen werden über sog. Schlüsselfelder verknüpft. Sätze mit gleichen Werten in den Schlüsselfeldern gehören zusammen.

Beim Aufbau einer Datenbank wird zunächst die Datenstruktur, d.h. Namen und Aufbau der Tabellen, festgelegt.

Daraus werden Eingabemasken generiert, die zur Eingabe der Daten in die Tabellen dienen.

Beispiel: Eingabemaske

In einer Maske können Felder aus verschiedenen Tabellen vorkommen. Für jedes Feld können Plausibilitätsprüfungen vereinbart werden, z.B. nur die Eingabe von Ziffern oder nur Werte zwischen 5 und 20 oder auch Abhängigkeiten von anderen Feldern, z.B. Untersuchungsdatum später als Aufnahmedatum.

Für das Retrieval, d.h. das Wiederfinden der Daten in der Datenbank, stehen verschiedene Techniken zur Verfügung. Am Häufigsten werden benutzt:

Beispiel:
Anfrage (Query)

Ergebnis

Die meisten Datenbanksysteme verfügen darüber hinaus über eine eigene Sprache, um auf die gespeicherten Daten zuzugreifen (4GL-Sprachen). Mit Report-Generatoren werden Listen erzeugt.

Mit der Export-Funktion können Daten aus der Datenbank anderen Programmen zur Verfügung gestellt werden.

Beispiel: Mit einem Textverarbeitungsprogramm sollen Briefe an Personen geschickt werden, deren Adressen in einer Datenbank gespeichert sind.

Statistische Auswertungen

Datenbank-Managementsysteme und Tabellenkalkulationsprogramme verfügen bereits über Funktionen zur statistischen Auswertung von Daten (Berechnung von Häufigkeiten und Maßzahlen). Falls komplexere statistische Verfahren angewendet werden sollen, muss man auf spezielle Statistikprogramme zurückgreifen.

Die auszuwertenden Daten können aus anderen Programmen übernommen oder in Form einer Tabelle (Zeilen = Fälle, Spalten = Variablen) eingegeben werden. Zahlreiche Methoden zur Datenmodifikation (z.B. Vergabe neuer Werte für die Ausprägungen) und Datenselektion (z.B. nur Auswertung der Fälle, bei denen das Untersuchungsdatum nach dem 01.01.90 liegt) stehen zur Verfügung.

Solche Statistikprogramme bieten eine Fülle von Verfahren der deskriptiven und schließenden Statistik an. Die Bedienung ist einfach: man wählt die gewünschte Prozedur (z.B. t-Test) und die Variablen, die in die Prozedur eingehen sollen, aus, macht eventuell noch zusätzliche Angaben (z.B. welche Maßzahlen ausgegeben werden sollen) und startet die Prozedur. Das Ergebnis wird in einem eigenen Fenster angezeigt. Man kann es dort editieren, ausdrucken oder direkt in ein anderes Programm (z.B. Textverarbeitung) übernehmen.

Sehr wichtig ist, dass sich die Ausgabe nicht auf Zahlen oder Tabellen beschränkt, sondern es müssen auch grafische Darstellungsformen vorhanden sein, da in vielen Fällen Bilder die Interpretation sehr erleichtern. Moderne Statistikprogramme bieten dafür viele Möglichkeiten: Histogramme, Punktwolken, Verlaufskurven bis hin zu dreidimensionalen Darstellungen für eine explorative Datenanalyse.

Computernetze

Computer werden heute nicht mehr nur isoliert eingesetzt, sondern miteinander verbunden (vernetzt), so entstehen Computernetze. Zum Verbinden zweier Computer sind Hardware und Software erforderlich. Im einfachsten Fall reicht an Hardware bereits ein Kabel, für höhere Übertragungsleistungen benötigt man i.a. jedoch eine Einschubkarte für den Computer (Interface). Um Daten oder Programme austauschen zu können ist auch Software erforderlich (Kommunikationsprogramm). Damit wird sichergestellt, dass beide Computer die gleiche formale Sprache sprechen. Formale Kommunikationssprachen nennt man auch Protokolle.

Je nach Entfernung der verbundenen Computer unterscheidet man drei Stufen der Vernetzung:

Bezeichnung Bereich
LAN (Local area network) mehrere Räume, Stockwerk, Gebäude
MAN (Metropolitan area network) Campus, Firmengelände, Stadt
WAN (Wide area network) Städte, Länder, Erdteile

Teilnetze können wiederum mit sogenannten Brücken (Bridges oder Router) verbunden werden. Damit entstehen komplexe Netzwerke mit Computern unterschiedlichen Typs und unterschiedlichen Protokollen.

Computer zu vernetzen macht nur Sinn, wenn dadurch mehr Funktionalität erreicht wird als es ein einzelner isolierter Computer bieten kann. Die Kommunikationsprogramme stellen entsprechende Netzdienste zur Verfügung. Dazu gehört der Dialog mit einem entfernten Rechner, d.h. der Benutzer kann die Rechenleistung eines anderen Computers benutzen, um dort sein Programm ablaufen zu lassen. Ein weiterer Dienst ist die Datenübertragung zwischen den Rechnern. Damit ist nicht nur die Übertragung einer Datei von einem Rechner zum anderen gemeint, sondern auch die gemeinsame Nutzung eines Datenbestandes auf einem dafür eingerichteten Rechner von verschiedenen Computern in einem Netz. Rechner in einem Rechnernetz, die spezielle Leistungen für andere Computer im Netz bereitstellen, heißen Server. Die Benutzung von peripheren Geräten an einem entfernten Rechner nennt man Resource-Sharing. Damit wird es möglich, teure periphere Geräte in einem Netz nur einmal aufzustellen und von allen am Netz angeschlossenen Computern zu nutzen.

Beispiele für Netztopologien:
Lokales Netz (Busstruktur):

Mit der elektronischen Post (e-mail) kann man Nachrichten zwischen den am Netz angeschlossenen Computern austauschen. Dafür erhält zunächst jeder Computer eine eindeutige Adresse und einen logischen Briefkasten (eine Datei). Ein Benutzer kann jetzt einem anderen, dessen Adresse er kennt, eine Mitteilung zusenden. Sie wird dann im entsprechenden Briefkasten abgelegt. Der Empfänger wird durch ein Signal darauf aufmerksam gemacht, dass eine Mitteilung in seinem Briefkasten liegt. Elektronische Post spielt in Firmen, Behörden, Universitäten und für die private Kommunikation eine große Rolle und wird auch für den weltweiten Datenaustausch genutzt. Da elektronische Post leicht abgehört werden kann, sollte der Inhalt verschlüsselt werden (siehe Abschnitt Datenschutz).

Netze stellen darüber hinaus allgemeine Informationsdienste zur Verfügung. Das sind Auskunftssysteme, in denen viele wichtige Informationen, die sonst nur auf Papier und in verschiedenen konventionellen Darstellungsformen verfügbar sind, im Rechner abrufbar werden. Diese Eigenschaft macht das World Wide Web (WWW), ein Teil des weltweiten Internet, so attraktiv. Firmen, Behörden, Bildungseinrichtungen, Verlage, Fremdenverkehrsvereine, aber auch Privatleute bieten im WWW Informationen an und ermöglichen z.B. Bankgeschäfte oder Reisebuchungen über das Netz. In Zukunft werden auch Vorlesungen oder Unterrichtsstunden im Netz ablaufen, d.h. man begibt sich nicht mehr in den Hörsaal, sondern sitzt am Computer mit dem "Gefühl" im Hörsaal zu sein und erlebt eine "künstliche" Vorlesung (virtuelle Realität). So werden Computernetze die Wissensvermittlung und den Wissenserwerb grundsätzlich verändern.

Das Informationsangebot im WWW ist mittlerweile so groß, dass das Hauptproblem für die Nutzung darin besteht, relevante Informationen zu finden. Auch die dafür entwickelten Suchmaschinen liefern nur einen Bruchteil. Daher kann man bei interessanten WWW-Anbietern Informationen abonnieren. Das entbindet den Nutzer aber nicht davon, eingehende Informationen nach seinen Bedürfnissen zu filtern.

Netze bieten auch sogenannte News-Systeme, die nach dem Prinzip des "Schwarzen Betts" funktionieren. Jeder Netz-Benutzer kann eine Mitteilung oder Anfrage in einem öffentlichen Bereich des Netzes ablegen, den alle anderen Benutzer lesen können. Sie können wiederum auf eine solche Mitteilung antworten und so ergibt sich u. U. ein länger andauernder "Dialog". Um die Übersicht zu behalten, sind diese elektronischen "Schwarzen Bretter" nach Themengruppen geordnet.

Die Nutzung dieser Netzdienste ist heute zur Informationsbeschaffung und zum Informationsaustausch auch im medizinischen Bereich unumgänglich. So werden teilweise die notwendigen Informationen zwischen den Krankenhäusern und den Kostenträgern (Krankenkassen) über Computernetze ausgetauscht (siehe Abschnitt Medizinisches Netzwerk).