22.08.2013 Aufrufe

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

Grundlagen der Informatik I “Programmierung”

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Mit einer wichtigen strategischen Anmerkung wollen wir das Thema <strong>der</strong> systematischen Implementierung von<br />

Routinen abschließen. In allen Beispielen haben wir unsere Algorithmen zunächst auf einer mathematischen<br />

Ebene entwickelt und erst zum Schluß in konkrete Programme umgesetzt. Diese Vorgehensweise verhin<strong>der</strong>t,<br />

daß man sich zu früh an die speziellen Eigenschaften einer Programmiersprache und die darin vorgegebenen<br />

Operationen auf einer Datenstruktur (wie ARRAY, LINKED LIST etc.) bindet und dadurch den Blick für effizientere<br />

und elegantere Lösungen verliert. Meist ergibt sich die sinnvollste Datenstruktur erst nachdem das<br />

Problem bereits gelöst ist.<br />

Entwurfsprinzip 4.5.20<br />

Programmiere nicht innerhalb einer Programmiersprache son<strong>der</strong>n in die Sprache hinein.<br />

Dies entspricht auch <strong>der</strong> grundlegenden Philosophie von Eiffel. Was zählt, ist <strong>der</strong> zu erfüllenden Vertrag und<br />

die darin versprochenen Dienstleistungen. Wie diese Dienstleistungen realisiert werden, ist erst von nachrangiger<br />

Bedeutung. Deshalb stelle man bei <strong>der</strong> Entwicklung des Algorithmus erst eine Wunschliste auf, welche<br />

“abstrakten” Dienstleistungen gebraucht werden, und entscheide sich erst im Nachhinein für die konkrete<br />

Realisierung – am besten dadurch, daß man die gewünschte Datenstruktur samt ihrer Dienstleistungen in<br />

einer separaten Klasse realisiert.<br />

4.6 Ethik und Verantwortung<br />

In <strong>der</strong> bisherigen Vorlesung haben wir uns – bis auf wenige Anmerkungen – im wesentlichen mit technischen<br />

und methodischen Fragen <strong>der</strong> Programmierung befaßt und uns beson<strong>der</strong>s mit Qualitätskriterien wie<br />

Strukturierung, Wie<strong>der</strong>verwendbarkeit, Zuverlässigkeit und Effizienz auseinan<strong>der</strong>gesetzt. Entwicklung guter<br />

Softwaresysteme bedeutet aber weit mehr als eine Berücksichtigung solcher “technischer” Kriterien, da Softwareprodukte<br />

die Umgebung, in <strong>der</strong> sie eingesetzt werden, zuweilen drastisch verän<strong>der</strong>n kann.<br />

Innerhalb eines Betriebes können sich manche Arbeitsabläufe verän<strong>der</strong>n und Angestellte zu einer vollständigen<br />

Umstellung ihrer gewohnten Arbeitsweise zwingen, was beson<strong>der</strong>s (aber nicht nur) für ältere Menschen eine<br />

unzumutbare Belastung mit sich bringt.<br />

Rechner werden in sicherheitsrelevanten Bereichen wie in Flugzeugen (Autopilot), Autos (ABS Systeme),<br />

Kraftwerken (automatische Abschaltung) o<strong>der</strong> medizinischen Geräten eingesetzt, in denen sie weitgehend<br />

autonom und ohne Kontrolle durch den Menschen arbeiten und durch unerwünschtes Verhalten o<strong>der</strong> Fehlfunktionen<br />

Menschen verletzen o<strong>der</strong> gar töten können.<br />

Rechner verarbeiten in immer größerer Menge personenbezogene Daten und können leicht dazu mißbraucht<br />

werden, über das unbedingt notwendige Maß in die Privatsphäre von Menschen einzudringen. Der zunehmende<br />

Einsatz von Rechnern in allen Bereichen des Alltagslebens hat dazu geführt, daß “Computerexperten” anfällig<br />

sind für neue Formen krimineller Handlungen, <strong>der</strong>en Tragweite sie sich meistens gar nicht bewußt sind. Es<br />

ist möglich, Menschen zu belästigen (Erzeugung unerwünschter Bil<strong>der</strong> auf dem Bildschirm o<strong>der</strong> ähnliche<br />

Störungen), ihr (geistiges) Eigentum zu stehlen (unerlaubtes Kopieren von Software), ihnen Schaden zuzufügen<br />

(Viren), o<strong>der</strong> auch größere Katastrophen auszulösen (Eindringen in militärische Rechnersysteme).<br />

Man könnte die Liste <strong>der</strong> Auswirkungen des Computereinsatzes beliebig weiterführen. Schon diese wenigen<br />

Beispiele zeigen jedoch, daß <strong>Informatik</strong>er sich mit mehr beschäftigen müssen als mit den rein fachliches<br />

Aspekten ihres Berufes. Die Frage nach <strong>der</strong> Verantwortung des eigenen Handelns muß frühzeitig gestellt und<br />

so gut wie möglich beantwortet werden. Dabei kann man verschiedene Arten von Verantwortung unterscheiden,<br />

<strong>der</strong>en Be- o<strong>der</strong> Mißachtung unterschiedliche Konsequenzen haben wird.<br />

Es gibt Dinge, für die Sie vom Gesetz her verantwortlich sind, sowohl als Privatperson als auch im Rahmen<br />

<strong>der</strong> Ausübung ihres Berufes. Gesetze regeln, wofür Sie haftbar gemacht werden können, sei es nun, weil Sie<br />

etwas getan haben, für dessen Folgen Sie Verantwortung tragen, o<strong>der</strong> weil Sie etwas unterlassen haben, was Sie<br />

eigentlich hätten tun müssen. So müssen Sie damit rechnen, bestraft zu werden, wenn Sie von einem Freund

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!