07.10.2013 Aufrufe

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

Vorlesungsskript - Hochschule Emden/Leer

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.

c○ Prof. Dr. B. Bartning, HS <strong>Emden</strong>/<strong>Leer</strong> Rumpfskript ” Informatik I/II“ (WS/SS 2010/11) 91<br />

• Oft ist ein geschachtelter (kaskadierter) Entwurf nützlich:<br />

◦ Funktionen für die grundlegenden Arbeiten,<br />

◦ Funktionen für komplexere Tätigkeiten, die die grundlegenden Funktionen aufrufen,<br />

◦ Funktionen, die die komplexeren und vielleicht auch die grundlegenden Funktionen<br />

aufrufen.<br />

Vorteil: wenn Sie eine Funktion erstellen (den Funktionsprogrammtext schreiben),<br />

müssen Sie nur über einen kleinen Problembereich nachdenken.<br />

• Es sollten verschiedene Arten von Funktionen unterschieden werden:<br />

◦ Funktionen mit Benutzerinteraktion oder Ein-/Ausgabe; dabei wenn möglich Lesen<br />

und Schreiben in getrennten Funktionen (z. B. Lesefunktionen, Schreibfunktionen),<br />

◦ Funktionen zur Durchführung von Berechnungen – diese Funktionen sollten keine<br />

Benutzerinteraktion/Eingabe/Ausgabe haben! Sonst sind diese Funktionen nicht<br />

allgemein nutzbar, z. B. bei Berechnungen mit einem woanders berechneten Wert<br />

anstatt mit einem eingegebenen.<br />

◦ manchmal (selten!) ist eine Mischung nötig.<br />

Allgemeine Regel: entweder Benutzerinteraktion oder Berechnungen!<br />

• Eine Funktion sollte mit dem Rest des Programms nur über die Parameterliste und den<br />

Rückgabewert der Funktion kommunizieren – sehr wichtig: nicht über globale Variablen.<br />

Dagegen sind globale Konstanten (und globale Typen) sinnvoll, vgl. auch (7.53).<br />

• Keine Benutzung der exit-Funktion ( (12.82c), beendet das Programm sofort),<br />

insbesondere nicht in Berechnungsfunktionen. Grund: manchmal läuft eine Funktion in<br />

einen Fehler hinein, es kann jedoch nicht hier entschieden werden, wie zu reagieren<br />

ist. Anstatt das ganze Programm (z. B. eine CAD-Programm) zu beenden, sollte ein<br />

Fehlerindikator gesetzt werden, so dass die aufrufende Stelle entscheiden kann, was zu<br />

tun ist.<br />

7.9 Agile Methoden in der Softwareentwicklung<br />

(7.90) Übb Moderne Softwareentwicklungsmethoden, die unter dem Oberbegriff ” Agile Methoden“<br />

zusammengefasst werden, versuchen, Software größerer Qualität schneller dem Kunden<br />

liefern zu können. In diesem Kurs werden zwei Aspekte näher erläutert und teilweise auch<br />

in der Praxis gezeigt.<br />

(7.91) Teilweise im Gegensatz zu den Ausführungen in (Kap. 6.4) wird seit mehreren Jahren in der<br />

Softwareindustrie versucht, Programme für Kunden schneller, genauer, kundenorientierter<br />

zu entwickeln ohne großen Dokumenationsüberbau. Diese Methoden fasst man unter Agile<br />

Methoden zusammen. Im sog. ” Extreme Programming“ (Kent Beck) gibt es u. a. zwei<br />

Praktiken, die in diesem Kurs näher erläutert werden:<br />

• Pair Programming, das Programmieren zu zweit vor einem Rechner; dieses wird auch<br />

in den Übungen zu diesem Kurs als Option angeboten.<br />

• Test Driven Development (TDD), das Schreiben von Test-Programmcode vor dem<br />

Schreiben des zugehörigen produktiven Programmcodes. In der Praxis wird dieses durch<br />

Werkzeugunterstützung erleichtert.<br />

Im Kurs wird auf die beiden genannten Aspekte näher eingegangen; hier sollen sie nur kurz<br />

als Erinnerung erwähnt werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!