Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5. Kompatibilität ist ein Maß dafür, wie leicht ein Programm mit an<strong>der</strong>en Programmen verbunden werden<br />
kann. Diese Eigenschaft ist wichtig, wenn ein Programm Informationen von einem fremden Programm<br />
weiterverarbeiten soll. Dabei gibt es aber oft Probleme, z.B. weil – gerade in <strong>der</strong> MS-DOS Welt –<br />
eine Vielfalt unterschiedlicher Dateiformate benutzt wird, die erst mühsam konvertiert werden müssen.<br />
Der Schlüssel zur Kompatibilität liegt in <strong>der</strong> Vereinbarung von Standards für die Kommunikation von<br />
Programmen und in einer gewissen Einheitlichkeit des Entwurfs.<br />
6. Eine grundlegende Anfor<strong>der</strong>ung an jedes Softwareprodukt ist natürlich auch die Effizienz, d.h. die<br />
ökonomische Nutzung von Hardwareressourcen sowohl bezüglich Raum als auch bezüglich <strong>der</strong> Zeit. Auch<br />
wenn diese Anfor<strong>der</strong>ung durch die enormen Verbesserungen <strong>der</strong> Hardware nicht mehr ganz so bedeutend<br />
ist wie vor 15 Jahren, kann auf prinzipielle Komplexitätsbetrachtungen nicht verzichtet werden.<br />
7. Portabilität ist das Maß dafür, wie leicht ein Programm auf verschiedene Hardware- und Software-<br />
Umgebungen übertragen werden kann.<br />
8. Verifizierbarkeit ist das Maß dafür, wie leicht Daten und Prozeduren zur Fehlererkennung und -verfolgung<br />
während <strong>der</strong> Betriebsphase eines Programms erzeugt werden können.<br />
9. Integrität ist die Fähigkeit eines Systems, seine Komponenten und Daten gegen unberechtigten Zugriff<br />
zu schützen.<br />
10. Benutzerfreundlichkeit ist das Maß dafür, wie leicht ein <strong>der</strong> Umgang mit einem Softwaresystem von<br />
ungeübten Benutzern erlernt werden kann.<br />
Nicht alle Qualitätsfaktoren sind miteinan<strong>der</strong> verträglich. So schränkt z.B. die For<strong>der</strong>ung nach Integrität<br />
die Benutzerfreundlichkeit ein und die For<strong>der</strong>ung nach Portabilität die Effizienz. Es wird Ihre Aufgabe als<br />
<strong>Informatik</strong>er sein, zwischen diesen Rahmenbedingungen abzuwägen und auf <strong>der</strong> Grundlage Ihrer Kenntnisse<br />
einen Kompromiß zu erzielen. Deshalb soll Ihnen das Grundstudium zwei Arten von Fähigkeiten vermitteln.<br />
• Zum einen sollen Sie die theoretisch-formalen <strong>Grundlagen</strong> kennenlernen, die nötig sind, um informationstechnische<br />
Prozesse überhaupt beschreiben zu können. Deswegen erhalten Sie in den ersten beiden Semestern<br />
eine Einführung in formale Systeme, die maschinell verarbeitet werden können, wie z.B. Logik,<br />
Programmiersprachen und Schaltungen. Darüberhinaus sollen Ihnen die mathematisch-theoretischen<br />
<strong>Grundlagen</strong> von formalen Systemen und die Grenzen Ihrer Anwendbarkeit verdeutlicht werden. Das<br />
geschieht allerdings erst im vierten Semester.<br />
• Zum an<strong>der</strong>en sollen Sie aber auch Techniken und Methoden erlernen, formale Systeme optimal für Ihre<br />
Aufgaben einzusetzen. Leitthemen <strong>der</strong> ersten 3 Semester sind daher das Programmieren, also die Anwendung<br />
<strong>der</strong> Grundkonzepte von Programmiersprachen, um technische Systeme zu beschreiben, und vor<br />
allem auch Strukturierungsmethoden für formale Systeme. Letztere betreffen sowohl die Organisation des<br />
Entwicklungsprozesses an sich (den sogenannte Life Cycle <strong>der</strong> Systementwicklung) als auch die Strukturierung<br />
des zu entwickelnden Systems (Modularisierung). Parallel zu den Konstruktionsmethoden werden<br />
wir immer auch über Methoden reden, mit denen Sie die Qualität <strong>der</strong> von Ihnen konstruierten Systeme<br />
sicherstellen o<strong>der</strong> überprüfen können, also Verfahren zum Testen und Messen o<strong>der</strong> zum Beweisen von<br />
Eigenschaften <strong>der</strong> Systeme. Dabei wird wird Korrektheit und Effizienz im Vor<strong>der</strong>grund stehen.<br />
Um Ihnen die Bedeutung dieser Begriffe exakt zu erklären, werden wir im Endeffekt das gesamte Grundstudium<br />
benötigen. Im folgenden wird trotzdem <strong>der</strong> Versuch gemacht, eine Einführung in die Denkweisen <strong>der</strong><br />
<strong>Informatik</strong> zu geben. Sie ist für das Verständnis <strong>der</strong> weiteren Kapitel hilfreich, aber nicht unbedingt erfor<strong>der</strong>lich.<br />
Sie können es ruhig überspringen und vielleicht später (mit etwas mehr Verständnis) durcharbeiten.<br />
1.2 Theoretische Schwerpunkte <strong>der</strong> ersten beiden Semester<br />
Alle informationstechnischen Systeme basieren auf formalen Systemen: Programmiersprachen, Logik, Programmbibliotheken<br />
usw. Die Hauptaufgabe des <strong>Informatik</strong>ers ist, informationstechnische Abläufe <strong>der</strong>art formal