22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

jedoch trügerisch, diese Vorkenntnisse mit <strong>der</strong> Berufsqualifikation eines <strong>Informatik</strong>ers gleichzusetzen. Das Erlernen<br />

einer konkreten Programmiersprache ist einer <strong>der</strong> unbedeutendsten Aspekte des <strong>Informatik</strong>studiums. 1<br />

Viel bedeuten<strong>der</strong> ist das Erlernen neuer Denkweisen und systematischer Vorgehensweisen. Das <strong>Informatik</strong>studium<br />

soll Sie darauf vorbereiten, sehr komplexe Informationssysteme für fremde Anwen<strong>der</strong> zu entwerfen<br />

wie zum Beispiel die Steuerungsprogramme für ein Verkehrsflugzeug. Dabei stehen ganz an<strong>der</strong>e Fragen im<br />

Vor<strong>der</strong>grund als bei <strong>der</strong> Programmierung von kleinen Programmen (in <strong>der</strong> Größenordnung von 500 bis 5000<br />

Zeilen Programmtext) für einen PC, den nur Sie selbst benutzen.<br />

Schon wegen <strong>der</strong> Größe <strong>der</strong> Aufgabenstellung müssen solche Systeme in Projekten entwickelt werden, in denen<br />

mehrere Mitarbeiter verschiedene Teilkomponenten erstellen, die später dann richtig zusammenpassen müssen.<br />

Niemand wird mehr in <strong>der</strong> Lage sein, alle Details des Gesamtprogramms zu überschauen. Aus diesem Grunde<br />

ist es wichtig, daß sich alle Beteiligten an gewisse – gemeinsam vereinbarte – Rahmenbedingungen halten und<br />

allzu geniale Tricks vermeiden.<br />

Ihre zukünftige Aufgabe wird daher zum großen Teil gestalterischer Natur sein. Sie müssen komplexe Informationssysteme<br />

entwerfen und die für die Realisierung notwendigen Werkzeuge (wie z.B. spezialisierte Programmiersprachen)<br />

entwickeln. Durch Ihr <strong>Informatik</strong>studium sollen Sie in die Lage versetzt werden, qualitativ<br />

hochwertige Systeme zu entwickeln. Was das bedeutet, kann man am besten an einer Reihe von For<strong>der</strong>ungen<br />

festmachen, die an Softwareprodukte gestellt werden:<br />

1. Wichtigstes Qualitätskriterium ist die Korrektheit, also die Fähigkeit eines Programms, seine Aufgaben<br />

exakt zu erfüllen. Es mag vielleicht noch erträglich sein, daß ein Programmfehler auf Ihrem PC<br />

die Löschung <strong>der</strong> gesamten Harddisk auslöst. Auf keinen Fall aber darf es vorkommen, daß kleine Vorzeichenfehler<br />

in einem unbedeutenden Unterprogramm eines Flugzeugsteuerungsprogramms mitten im<br />

Flug plötzlich einen Umkehrschub auslöst. Wenn die Sicherung <strong>der</strong> Korrektheit von Programmen nicht<br />

oberste Priorität hat, können kleine Nachlässigkeiten bereits katastrophale Folgen haben.<br />

Um Korrektheit sicherzustellen, muß man natürlich eine genaue Formulierung <strong>der</strong> Anfor<strong>der</strong>ungen und<br />

Spezifikationen erstellen und dann nachweisen, daß diese auch erfüllt werden. In <strong>der</strong> Praxis ist dies nur<br />

schwer zu erreichen, da zu wenige Leute darin geschult sind, Systemanfor<strong>der</strong>ungen exakt zu formulieren<br />

und die Korrektheit zu verifizieren.<br />

2. Robustheit, d.h. die Fähigkeit eines Programms, auch unter außergewöhnlichen Bedingungen zu funktionieren,<br />

ist ebenfalls sehr wichtig. Hierdurch wird z.B. vermieden, daß Fehlbedienungen durch ungeübte<br />

Anwen<strong>der</strong> zu katastrophalen Ereignissen führen können.<br />

3. Ein Softwareprodukt ist eigentlich niemals fertig, da sich im Laufe <strong>der</strong> Zeit die Ansprüche <strong>der</strong> Benutzer<br />

wandeln können. Deshalb sollten Programme erweiterbar sein, d.h. so geschrieben sein, daß sie leicht<br />

an geän<strong>der</strong>te Anfor<strong>der</strong>ungen angepaßt werden können. Dies ist bei kleinen Programmen normalerweise<br />

keine Schwierigkeit, wohl aber bei großen Softwaresystemen, die oft zusammenbrechen, wenn man nur<br />

eine kleine Komponente austauscht. Die Erfahrung zeigt, daß die einfach strukturierte Programme, die<br />

dezentral aufgebaut sind (also aus vielen unabhängigen Komponenten bestehen), erheblich leichter zu<br />

erweitern sind, als eng verzahnte, auf Effizienz getrimmte Programme.<br />

4. In vielen verschiedenen Softwaresystemen werden Sie Elemente vorfinden, die immer nach dem gleichen<br />

Muster gebaut sind. So gibt es zum Beispiel unzählige Sortierprogramme in den verschiedensten Anwendungsprogrammen,<br />

die aber jedes Mal von Grund auf neu programmiert wurden. Viel sinnvoller wäre es,<br />

Programme so zu entwickeln, daß sie ganz, o<strong>der</strong> zumindest zum Teil für neue Anwendungen wie<strong>der</strong>verwendet<br />

werden können. Das ist nicht nur effizienter und spart Entwicklungskosten, son<strong>der</strong>n verbessert<br />

auch die Zuverlässigkeit, da Fehler bei <strong>der</strong> Programmierung von Routineprogrammen vermieden werden<br />

können.<br />

1 Wenn Sie die Denkformen <strong>der</strong> <strong>Informatik</strong> erst einmal erfaßt haben, werden Sie eine neue Programmiersprache in 2–3 Tagen<br />

erlernen können.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!