Grundlagen der Programmierung mit VBA Visual Basic for
Grundlagen der Programmierung mit VBA Visual Basic for
Grundlagen der Programmierung mit VBA Visual Basic for
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5 Software Engineering<br />
Software Engineering ist die systematische Verwendung von Methoden und Werkzeugen zur Herstellung<br />
und Anwendung von Software <strong>mit</strong> dem Ziel <strong>der</strong> Rationalisierung bei gleichzeitiger Qualitätssteigerung.<br />
Die Notwendigkeit des Software Engineering ergibt sich aus den Folgen <strong>der</strong> sich ständig erneuernden<br />
Technologien <strong>der</strong> In<strong>for</strong>mationsverarbeitung, da<strong>mit</strong> unter Zeit- und Kostendruck dennoch ein funktionstüchtiges<br />
und wirtschaftlich herstellbares Softwareprodukt entstehen kann.<br />
Die Methoden des Software Engineering sind auch für kleinere Programmieraufgaben des Alltags<br />
sinnvoll und gewinnbringend einsetzbar. Sie helfen bei allen Phasen <strong>der</strong> Programmentwicklung:<br />
> Problemanalyse und An<strong>for</strong><strong>der</strong>ungs-Definition<br />
> Programm-Entwurf<br />
> Implementierung (<strong>Programmierung</strong>)<br />
> Test <strong>der</strong> Software<br />
> Installation <strong>der</strong> Software<br />
5.1 An<strong>for</strong><strong>der</strong>ungen an Software<br />
Software muß im wesentlichen den beiden An<strong>for</strong><strong>der</strong>ungen <strong>der</strong> Benutzerakzeptanz und <strong>der</strong> Ausbaufähigkeit<br />
genügen. Die beiden Kriterien lassen sich weiter unterteilen:<br />
Benutzerakzeptanz Ausbaufähigkeit<br />
> Zuverlässigkeit > Flexibilität;<br />
Anpassungsfähigkeit vorh. Programmteile an<br />
neue An<strong>for</strong><strong>der</strong>ungen<br />
> Korrektheit (<strong>der</strong> Erbegnisse) > Adaptibilität;<br />
> Robustheit;<br />
Ausweisung von ungültigen Eingaben, nicht<br />
erlaubter Ausgaben, Erkennen von Störun-<br />
56<br />
gen<br />
> Effektivität;<br />
Realisierung <strong>der</strong> Benutzeran<strong>for</strong><strong>der</strong>ungen<br />
> Effizienz;<br />
in Ausführungszeit<br />
in Speicherbedarf<br />
5.2 Software-Lebenszyklus<br />
Software ist ein dynamisches Produkt. Insbeson<strong>der</strong>e lehrt die Erfahrung:<br />
> Programme sind nie fehlerfrei<br />
> Programme än<strong>der</strong>n sich ständig<br />
> Programme werden <strong>mit</strong> zunehmendem Alter unstrukturierter<br />
> Ein Programmpaket wächst im Laufe seines Alters<br />
Ausbaufähigkeit durch Hinzufügen<br />
> Portabilität;<br />
unter verschiedenen Betriebs- und Hardwaresystemen<br />
ausführbar<br />
Für die Zusammenhänge zwischen Aufwand, Kosten, Fehlerentstehung und Fehlerbeseitigung im<br />
Lebenszyklus eines Programmes gibt das folgende Diagramm Auskunft, das die Ergebnisse empirischer<br />
Untersuchungen zusammenfaßt. Bemerkenswert ist insbeson<strong>der</strong>e, dass bereits in <strong>der</strong> Analysephase,<br />
also bereits vor <strong>der</strong> eigentlichen <strong>Programmierung</strong> bereits 40% <strong>der</strong> Kosten und 60% <strong>der</strong> Fehler<br />
entstehen. Von allen Fehlern werden in <strong>der</strong> Entstehungsphase in <strong>der</strong> Regel nur 40% gefunden, <strong>der</strong><br />
überwiegende Rest erst während <strong>der</strong> Anwendung <strong>mit</strong> allen unangenehmen Konsequenzen für Anwen<strong>der</strong><br />
und Entwickler. Dagegen wächst <strong>der</strong> Aufwand für die Fehlerbeseitigung von Phase zu Phase.<br />
Die Analyse dieser Zusammenhänge macht die Notwendigkeit einer methodischen und strukturierten<br />
Vorgehensweise bei <strong>der</strong> Software-Entwicklung deutlich. Die da<strong>mit</strong> zusammenhängenden Techniken<br />
sind im Software-Engineering zusammengefaßt.