4
HAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc Dipl.-Ing. J. Abulawi WS 2009/10 Seite 1/4 Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) 1. Aufgabenklärung = Analyse der Problemstellung: - Aufgabenstellung präzisieren und abgrenzen - Anforderungen bewerten (was sind "Muss-Forderungen", welche Prioritäten gibt es, welche Funktionalität soll vorrangig realisiert werden?) - Projektgröße abschätzen, bei größeren Projekten: Lasten-/Pflichtenheft erstellen - Informationen sammeln o Gibt es verwendbare Programme/Lösungsansätze? o Literaturrecherche - Termin-/Kapazitätsplanung: o wann muss das Programm einsetzbar sein? o wie viele Entwickler/Programmierer werden benötigt? 2. Konzeptplanung = Inhaltlicher Grobentwurf - Definition der Anwendungsfälle (wozu soll das Programmsystem wie und von wem genutzt werden?) - Festlegung der wichtigen Teilfunktionen - bei Teamarbeit ist außerdem festzulegen: 1. Verantwortung der Teammitglieder für einzelne Teilfunktionen 2. Schnittstellen zwischen den Teilfunktionen - Definition der möglichen Abläufe/Teilabläufe (noch ohne Details) und Ereignisse/Aktivitäten, ggf. Darstellung in Ablaufdiagrammen - Festlegung der Systemumgebung (Ausführung nur auf dem Rechner, auf dem die Anwendung installiert ist oder auf einem beliebigen anderen Rechner – Kompatibilität/Ausführbarkeit des Programms sicherstellen! - Zugriffe auf Netzwerklaufwerke/Datenbanken und/oder externe Datenträger? - Festlegung der wichtigen Eingaben und der gewünschten Ausgaben bzw. Ergebnisse - Festlegung der Dateiformat(e) für Ergebnisdatei(en) - Dialogarten für die Benutzerdialoge festlegen (Menü, einfache Mitteilungs- /Eingabefenster, Benutzerformulare etc.) - Konzept für Speicherung und Aufruf des Programms 3. Modularisierung => handhabbare/wieder verwendbare Komponenten - Aufteilung des Projekts in Module, Sub-Prozeduren, Funktionen, und ggf. Klassen (und ggf. Zuordnung zu Teammitgliedern) - Festlegung der Daten/Objektreferenzen, die zwischen den Modulen/Prozeduren zu übergeben sind

Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) · PDF fileHAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc Dipl.-Ing. J. Abulawi WS 2009/10 Seite 2/4

  • Upload
    ngodien

  • View
    218

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) · PDF fileHAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc Dipl.-Ing. J. Abulawi WS 2009/10 Seite 2/4

HAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc

Dipl.-Ing. J. Abulawi WS 2009/10 Seite 1/4

Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) 1. Aufgabenklärung = Analyse der Problemstellung:

- Aufgabenstellung präzisieren und abgrenzen

- Anforderungen bewerten (was sind "Muss-Forderungen", welche Prioritäten gibt es, welche Funktionalität soll vorrangig realisiert werden?)

- Projektgröße abschätzen, bei größeren Projekten: Lasten-/Pflichtenheft erstellen

- Informationen sammeln o Gibt es verwendbare Programme/Lösungsansätze? o Literaturrecherche

- Termin-/Kapazitätsplanung: o wann muss das Programm einsetzbar sein? o wie viele Entwickler/Programmierer werden benötigt?

2. Konzeptplanung = Inhaltlicher Grobentwurf

- Definition der Anwendungsfälle (wozu soll das Programmsystem wie und von wem genutzt werden?)

- Festlegung der wichtigen Teilfunktionen

- bei Teamarbeit ist außerdem festzulegen: 1. Verantwortung der Teammitglieder für einzelne Teilfunktionen 2. Schnittstellen zwischen den Teilfunktionen

- Definition der möglichen Abläufe/Teilabläufe (noch ohne Details) und Ereignisse/Aktivitäten, ggf. Darstellung in Ablaufdiagrammen

- Festlegung der Systemumgebung (Ausführung nur auf dem Rechner, auf dem die Anwendung installiert ist oder auf einem beliebigen anderen Rechner – Kompatibilität/Ausführbarkeit des Programms sicherstellen!

- Zugriffe auf Netzwerklaufwerke/Datenbanken und/oder externe Datenträger?

- Festlegung der wichtigen Eingaben und der gewünschten Ausgaben bzw. Ergebnisse

- Festlegung der Dateiformat(e) für Ergebnisdatei(en)

- Dialogarten für die Benutzerdialoge festlegen (Menü, einfache Mitteilungs-/Eingabefenster, Benutzerformulare etc.)

- Konzept für Speicherung und Aufruf des Programms

3. Modularisierung => handhabbare/wieder verwendbare Komponenten

- Aufteilung des Projekts in Module, Sub-Prozeduren, Funktionen, und ggf. Klassen (und ggf. Zuordnung zu Teammitgliedern)

- Festlegung der Daten/Objektreferenzen, die zwischen den Modulen/Prozeduren zu übergeben sind

Page 2: Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) · PDF fileHAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc Dipl.-Ing. J. Abulawi WS 2009/10 Seite 2/4

HAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc

Dipl.-Ing. J. Abulawi WS 2009/10 Seite 2/4

- Entscheidung, welche Daten/Objektreferenzen als globale Variablen definiert werden sollen und Festlegung von:

o Namen o Datentypen

- Grafische Darstellung des groben Gesamtkonzepts (Modul-/Funktionsstruktur oder Klassendiagramme)

4. Inhaltlicher Feinentwurf (= Detaillierung des Grobentwurfs)

- Auswahl bzw. Entwicklung von Algorithmen und Funktionen für den Verarbeitungsteil (ggf. Verwendung vorhandener Quellcodebausteine)

- Detaillierung der Benutzerdialoge: Konkrete Gestaltung der Ein- und Ausgabefenster bzw. -meldungen

- Sicherstellen der Fehlertoleranz durch sorgfältige Fehlermöglichkeits- und Einflussanalyse (FMEA) und geeignete präventive und reaktive Maßnahmen

5. Kodierung = Erstellen des Quellprogramms

- Erst jetzt kommt die gewählte Programmiersprache zum Einsatz!

- Umsetzung des inhaltlichen Feinentwurfs in möglichst optimalen und pflegeleichten Quellcode unter Berücksichtigung der Besonderheiten der gewählten Programmiersprache

- Integration und Adaption der übernommenen Quellcodebausteine

6. Testen und Verbessern

- Komponenten einzeln gründlich testen!!! -> Fehler bereinigen und erneut testen!!!

- Zusammenspiel und Wechselwirkungen der Komponenten testen!!! -> Fehler bereinigen und erneut testen!!!

7. Installation / Inbetriebnahme

- Lauffähigkeit auf den Zielrechner sicherstellen

- Sichere Archivierung des Quellcodes (Schreibschutz, Sicherheitskopie…)

8. Dokumentation und Pflege

- Kommentare im Quellcode vervollständigen

- Separate Dokumentation vervollständigen: Bedienungs-, Installations- und Wartungsanleitung sofern erforderlich, Diagramme zur Veranschaulichung der Algorithmen und des Zusammenspiels der einzelnen Module/Funktionen/Klassen/Teilprogramme,

- Schulung der Anwender und der Administratoren (sofern erforderlich)

- Erfassung und Verarbeitung von Rückmeldungen der Anwender (Probleme, Fehler, Verbesserungs- und Erweiterungsvorschläge)

- Wartung (Fehlerbeseitigung, Erweiterung, Anpassung an geänderte Systemumgebung)

Page 3: Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) · PDF fileHAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc Dipl.-Ing. J. Abulawi WS 2009/10 Seite 2/4

HAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc

Dipl.-Ing. J. Abulawi WS 2009/10 Seite 3/4

Allgemeine Tipps zur Codierung: Benennung von Variablen, Funktionen und Prozeduren - sinnvolle und gut lesbare Namen fördern die Programmverständlichkeit und senken

die Fehlerwahrscheinlichkeit z.B. kann "l" ein ungünstiger Variablenname sein, "Laenge" ist eindeutiger und nicht mit der Zahl 1 zu verwechseln

- Variablendeklaration durch einen Kommentar ergänzen, z.B: Dim Laenge As Double '-- Länge des Trägers in mm

- einige Programmierer geben den Datentyp im Namen an: z.B. strName intZahl - Keine Schlüsselwörter oder Bezeichnungen von Attributen und Methoden als eigene

Variablennamen verwenden, auch wenn VBA dies manchmal zulässt (z.B. Name) Lesbarkeit des Quelltextes - Anweisungszeilen in Kontrollstrukturen einrücken - Prozeduraufrufe mit dem Schlüsselwort "Call" kennzeichnen - Zum Abschluss: alle nicht benötigten und auskommentierten Anweisungen löschen - Wiederholungen als Schleifen programmieren, damit man sie klar erkennt

Kommentare - Vorraussetzung für die Nachvollziehbarkeit des Programmcodes - Wichtige programminterne Dokumentation zur Erleichterung von Änderungen - Faustregel: mindestens genau so viele Kommentare wie Programmanweisungen

Fehlerarten 1. Syntaxfehler - Tippfehler oder fehlerhafte Anordnung von Schlüsselwörtern/Zeichen - z.B. "If" ohne "End If" , Klammer vergessen etc.

sehr leicht zu finden, da sie vom VB-Editor erkannt und angezeigt werden können

2. Laufzeitfehler - Fehler während dem Programmablauf, Abbruch - z.B. Division durch Null, Datei öffnen, die es nicht gibt etc.

leicht zu finden, wenn das Programm vollständig getestet wird der VB-Editor unterstützt die Fehlersuche mit der Debuggen-Funktion (fehlerhafte Prozedur wird vor der fehlerverursachenden Anweisung angehalten und in den Haltemodus versetzt, und im Quellcodefenster wird die den Fehler verursachende Anweisung gelb hinterlegt, alle aktuellen Variablen sind im Lokalfenster sichtbar)

3. Logische Fehler - Fehler in Reihenfolge und Logik des Prozedurablaufs bzw. den Rechenanweisungen - führen nur zu einer Fehlermeldung, wenn sie Laufzeitfehler verursachen - Gefahr: Prozedur ist ausführbar, liefert aber nicht das gewünschte Ergebnis

z.B. Variablen sind falsch initialisiert, Arbeitsschritte fehlen oder stehen in falscher Reihenfolge,

Page 4: Vorgehensweise für kleinere Programmierprojekte (z.B. mit VBA) · PDF fileHAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc Dipl.-Ing. J. Abulawi WS 2009/10 Seite 2/4

HAW Hamburg / Dept. F+F DVWS0910_Programmiertipps_fuer_VBA.doc

Dipl.-Ing. J. Abulawi WS 2009/10 Seite 4/4

fehlende/falsche Abbruchbedingung bei einer Schleife, nicht beachtete Auswahloption etc.

schwer zu finden sorgfältige Prüfung des Programmablaufs und der Algorithmen nötig, Kontrollrechnung "von Hand" und Vergleich von Zwischen- und Endergebnissen

Vorgehensweise bei der Fehlersuche/-beseitigung 1. Programm im Einzelschritt testen

- DEBUGGEN-EINZELSCHRITT oder F8

- jede Anweisung wird einzeln ausgeführt, danach ist die Prozedur im Haltemodus

2. Prozedurausführung an bestimmten Haltepunkten unterbrechen

- DEBUGGEN - HALTEPUNKT EIN/AUS oder F9

- Prozedur wird vor der markierten Anweisung in den Haltemodus versetzt

- 3. Lesezeichen setzen

- BEARBEITEN - LESEZEICHEN - LESEZEICHEN SETZEN/ZURÜCKSETZEN

- zur schnellen Orientierung in längeren Code Überwachung von Variablen und Konstanten 1. Quickinfo (nur im Haltemodus)

- Mauszeiger auf Ausdruck positionieren

- aktueller Wert wird angegeben, bei Konstanten auch der Typ 2. Lokalfenster (nur im Haltemodus)

- ANSICHT - LOKALFENSTER

- alle Variablen und Konstanten, inkl. Wert und Typ, werden angezeigt 3. Überwachungsfenster

- ANSICHT - ÜBERWACHUNGSFENSTER und DEBUGGEN - ÜBERWACHUNG HINZUFÜGEN

- Gezielte Überwachung einzelner Variablen Prüffunktionen zur Laufzeitfehlerprävention

- Es gibt einige vordefinierte Funktionen zur Analyse von Daten:

- IsArray(VarName) '= True,'wenn VarName ein Datenfeld ist

- IsEmpty(VarName) '= True, wenn VarName nicht initialisiert wurde

- IsNull(Ausdruck) '= True, wenn Ausdruck keine gültigen Daten enthält

- IsNumeric(VarName) '= True, wenn der Inhalt von VarName einer Zahl entspricht