Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Software-Systemen. Zielorientiert bedeutet die Berücksichtigung z.B. von Kosten, Zeit, Qualität.“, vgl. H. Balzert: Lehrbuch der Software-Technik, 2000
vgl. H. Balzert: Lehrbuch der Software-Technik, 2000 Methodenkomponenten Prinzipien Methoden Vorgehensweisen Konzepte Notationen Schritte Regeln Beispiele Grafik Text vgl. H. Balzert: Lehrbuch der Software-Technik, 2000
Wissenschaftliche Prinzipien Hierarchisierung Strukturierung Modularisierung Abstraktion
Prinzip => Vorgehensweise Vorgehensweisen zeigen den Weg auf den man gehen soll, sie stellen eine Gebrauchs-anweisung für Prinzipien dar. Beispiel: Ein Programm wird unter Anwendung der Strukturierung erstellt, indem nur Kontrollstrukturen wie Sequenz, Auswahl und Wiederholung verwendet werden
Vorgehensweise => Verfahren Verfahren sind nun konkrete Vorschriften wie die empfohlene Vorgehensweisen umgesetzt werden soll. Beispiel: Die Verwendung der Kontrollstrukturen: begin-end, if-then-else, repeat-until, etc. sind konkrete Verfahren das Prinzip der strukturierten Vorgehensweise in PASCAL umzusetzen.
Konzepte => Notation Zur Beschreibung von Konzepten stehen unterschiedliche Notationen zur Verfügung. Die Informationen werden durch Symbole dargestellt. Beispiel: Die Kontrollstrukturen der Wiederholung wird in Form eines Struktogramms dargestellt.
Struktogramm (Mehrfachauswahl) Ausdruck default Anweisung(en) Fall 1 Fall 2 Anw. 1 Anw. 3 Anw. 2 Fall 3 Ausnahme- Anweisungen
Verfahren => Werkzeuge Werkzeuge erleichtern die praktische Umsetzung, Anwendung und Überprüfung der gewünschten Methoden und Verfahren. Beispiel: Automatische Überprüfung des Quellcodes bei der strukturierten Programmierung das keine Sprungbefehle verwendet werden.
Lebenszyklusphasen Planungs- oder Machbarkeitsphase Definitions- oder Anforderungsphase Entwurfs- oder Designphase Implementierungs- / Integrationsphase Auslieferungs- und Abnahmephase Wartungs- und Pflegephase
Die Planungsphase Durchführbarkeits- /Machbarkeitsstudien Lastenheft (grobes Pflichtenheft) Glossar Projektkalkulation Projektplan
Die Definitionsphase Anforderungsanalyse und Verabschiedung der Anforderungen. Erweitertes Glossar Pflichtenheft Prototyp oder Pilotsystem Erste Version des Benutzerhandbuches
Die Designphase Rand- und Umgebungsbedingungen definieren und deren Einflussgrößen konzipieren Softwarearchitektur Spezifikation der Systemkomponenten
Implementierungsphase Programmieren im Kleinen Datenstrukturen und Algorithmen Dokumentation der Implementierung Performancedokumentation Testen und Verifizieren Quell- und Objektcode Test- und Prüfprotokolle
Abnahmephase Übergabe der SW und Abnahmetest Installation und Schulung Inbetriebnahme Gesamtdokumentation Abnahmeprotokoll Einführungsprotokoll
Wartungsphase Stabilisierung / Korrektur Optimierung / Leistungsverbesserung Anpassung / Änderung Erweiterung vgl. H. Sneed, Softwarewartung, 1988 in: H. Balzert: Lehrbuch der Software-Technik, 2000
Wasserfallmodell Entwicklung Machbarkeits- studie Anforderungs- analyse System- entwurf Codieren & Modultest Entwicklung Integrations- & Systemtest Auslieferung & Installation Wartung
vgl. H. Balzert: Lehrbuch der Software-Technik, 2000 Evolutionäres Modell Planung und erste Produktdefinition Prototyperstellung Modifikation der Produktdefinition Validierung nein Prototyp OK? ja Auslieferung und Einsatz Wartung vgl. H. Balzert: Lehrbuch der Software-Technik, 2000