Strukturierter EntwurfDipl. Ing. Päd. Huwaldt1 Software Engineering Strukturierter Entwurf.
-
Upload
lukas-weisbeck -
Category
Documents
-
view
217 -
download
0
Transcript of Strukturierter EntwurfDipl. Ing. Päd. Huwaldt1 Software Engineering Strukturierter Entwurf.
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 2
Gliederung
• Einführung
• Grundelemente
• Modulhierarchie
• Unterprogramme
• Entwurf und SA
• Entwurf und Programmierung
• Vorgehensweise
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 3
EinführungZielsetzung beim Softwareentwurf ist die Sicherstellung der Korrektheit, Zweckmäßigkeit, Effizienz, Testbarkeit, Änderbarkeit, Erweiterbarkeit, etc. der zu erstellenden Software.
Modularisierung hat das Ziel ein System in in sich abgeschlossene Einheiten zu zerlegen. Diese Einheiten sollen einzeln entwickelt, ausgetauscht, verändert, hinzugefügt, ... werden können, ohne dass andere Teile des Gesamtsystems dadurch beeinflusst werden!
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 4
Modul
Ein Modul ist eine Sammlung von Algorithmen und Daten bzw. Datenstrukturen zur Bearbeitung einer in sich abgeschlossenen Aufgabe.
Die Verwendung des Moduls (d.h. seine Integration in ein Programm-System) erfordert keine Kenntnis seines inneren Aufbaus und der konkreten Realisierung.
Seine Korrektheit ist ohne Kenntnis seiner Einbettung in ein bestimmtes Programmsystem nachprüfbar.
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 5
Modul
Ein Modul wird anhand folgender Kriterien gebildet:
- Abgeschlossenheit (Aufgabe), - Geheimnisprinzip, - Datenabstraktion, Kapselung, - Schnittstellenspezifikation,- Schnittstellenminimalität, - Überschaubarkeit, Testbarkeit, etc.
Programmiersprachen bieten zur Implementierung von Modulen unterschiedliche Konzepte: Paket, Unterprogramm, Funktion, Tasks, Unit usw. .
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 6
Strukturierter Entwurf• Methoden für die implementationsnahe Beschreibung von Softwaresystemen.
• Zielstellung ist die Definition der Programmstruktur und das Abgrenzen von Modulen.
• Eine weit verbreitete Technik ist das structured chart.
• Es ist zweckmäßig, die Funktionen der letzten Ebenen der SA als Module strukturiert zu modellieren.
Modul
Folge AB
A B C D E
Wiederholung von C Auswahl DE
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 8
Sequenz
A
B C D
function A() { print (“B“); print (“C“); print (“D“); }
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 9
Alternative
if ( bedingung = wahr )print (“E“);
elseprint (“F“);
E F
B
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 10
Wiederholung
G
while ( anzahl < 2 ){print (“G“);anzahl=anzahl+1; }
D
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 13
ModulhierarchieA
B C D
E F
B
G
D
CFE
Ganzahl < 2
bedingung
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 14
Modulhierarchie
A
B C D
E F
B
G
D
CFE
Ganzahl < 2
bedingung
function A() { if ( bedingung = wahr )
print (“E“); else
print (“F“); print (“C“); while ( anzahl < 2 )
{print (“G“);anzahl=anzahl+1; }
}
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 15
Modulhierarchie die 2.A
B C D
E F
B
G
D
Unterprogramme
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 17
Unterprogramme
E F
B
G
D
A
B C D
function D() { while ( anzahl < 2 )
{print (“G“);anzahl=anzahl+1; }
}
function B() { if ( bedingung = wahr )
print (“E“); else
print (“F“); }
function A() { B(); print (“G“); D(); }
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 18
SA und Entwurf
ermittleKunden-umsatz
KundennummerUmsatz
Rechnung
Blatt-funktion
3.2
Funktion: ermittle Kundenumsatz
IN: Kundennummer (Datenfluss)OUT: Umsatz (Datenfluss)
Minispezifikation:suche Rechnungen für Kundennummerwiederhole für jede Rechnung lese Rechnungssumme aus Rechnung wenn Rechnung bezahlt Umsatz=Umsatz+Rechnungssummegebe Umsatz auf Bildschirm aus
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 19
SA und EntwurfermittleKunden-umsatz
Kundennummer
Umsatz
Rechnung
Blatt-funktion
3.2
deinit TabelleRechnungen
gebe Umsatz aufBS aus
ermittleKundenumsatz
init TabelleRechnungen
für jedenDatensatz
Umsatz=0open Rechnungen Satzzeiger auf 1 lese Datensatz
wennKundennummer
gleich und bezahlt
Umsatz=Umsatz+1
Satzzeiger +1
Funktion: ermittle Kundenumsatz
IN: Kundennummer (Datenfluss)OUT: Umsatz (Datenfluss)
Minispezifikation:suche Rechnungen für Kundennummerwiederhole für jede Rechnung lese Rechnungssumme aus Rechnung wenn Rechnung bezahlt Umsatz=Umsatz+Rechnungssummegebe Umsatz auf Bildschirm aus
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 20
Der Weg zum Quellcode
mainHauptmodul
W
BS aufbauA
Menüauswahl
Statistik endeStammdatenplegeRückgabeAusleihe
deinitinit
mainmain
initBS AufbauEingabeaufforderungMenüauswahl
Ausleihe Rückgabe Statistik Stammdaten ende
deinit
1 2 3 4 5
Drag & Drop
generiert
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 21
Die Strukturierte Programmierungmainmain
initBS AufbauEingabeaufforderungMenüauswahl
Ausleihe Rückgabe Statistik Stammdaten ende
deinit
1 2 3 4 5
Mit F8 generiert
Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 22
Vorgehensweise
• Strukturierte Analyse
• Blattfunktionen mit Minispezifikationen
• Entwurf der Blattfunktionen als getrennte Module
• Entwurf der Anwendungsarchitektur / Hauptmodul
• Integration der einzelnen Module als Unterprogramme in das Hauptmodul