strukturierte Programmierung - Kekziie/Informatik-II-SS-2017 GitHub Wiki
Programmentwicklung
-> Problem
- Analyse + Dokumentation
- Entwurf + Dokumentation
- Implementierung + Dokumentation
- Test + Dokumentation
-> Programm
Phase 1: Analyse
- Untersuchung des Problems
- Diskussion mit mehreren Personen (arbeiten in Teams)
- Tätigkeiten:
- Problemstellung exakt/ vollständig beschreiben
- Initialzustände/ Eingabedaten/ Parameter festlegen
- gewünschte Endzustände/ Ergebnisse/ Ausgabewerte angeben
- Randbedingungen, Einschränkungen, Voraussetzungen spezifizieren
Phase 2: Entwurf
- Entwicklung des Algorithmus
- kreativer Prozess
- Tätigkeiten:
- existierende Lösungen für vergleichbare Probleme betrachten
- allgemeine Probleme suchen
- rekursiv in kleiner Teilprobleme aufteilen
- Entwurfsprozess für Teilprobleme durchführen
- Lösungen der Teilprobleme zur Lösung des Gesamtproblems zusammensetzen
Phase 3: Implementierung
- Übertragung des Entwurfs in eine Programmiersprache
- Tätigkeiten:
- editieren
- übersetzen des Programms (kompilieren)
- optimieren des Ablaufs
Phase 4: Test und Revision
- Überprüfung des Programms auf logische/ technische Fehler
- im allgemeinen nur die Existenz der Fehler nachweisbar
- Fragestellung/ Tätigkeiten:
- Korrektheit
- Vollständigkeit
- Fehlerbeseitigung
- Debugging
- Teststrategien:
- Testmengen konstruieren (Randfälle, Grenzwerte)
- nach Fehlerbeseitigung erneut testen
- Wartung
Prozessbegleitend: Dokumentation
- exakte Problemstellung und Beschreibung der generellen Lösungsidee
- Beschreibung des Algorithmus
- Beschreibung der Testdatenmengen und Protokolle der Testläufe
- aufgetretene Probleme und alternative Lösungsansätze
Werkzeuge für Programmentwicklung
- Editoren:
- Eingabe und Änderung des Programmcodes
- häufig kontextsensitiv mit speziellen Eingabehilfen z.B. Nano
- Entwicklungsumgebung:
- Eclipse
- Visual Studio
- Compiler:
- Transformation eines Quellprogramms in ein Zielprogramm
- syntaktische Überprüfung der Quelle
- Interpreter:
- inkrementelle Abarbeitung des Quellcodes
- Quellprogramm wird nicht übersetzt, dondern direkt in einer Umgebung ausgeführt
- Debugger:
- setzen spezieller Unterbrechungspunkte
- Erkennung von Laufzeitfehlern
- Dokumentationshilfen: