+ All Categories
Home > Documents > Strukturierter EntwurfDipl. Ing. Päd. Huwaldt1 Software Engineering Strukturierter Entwurf.

Strukturierter EntwurfDipl. Ing. Päd. Huwaldt1 Software Engineering Strukturierter Entwurf.

Date post: 06-Apr-2016
Category:
Upload: lukas-weisbeck
View: 217 times
Download: 0 times
Share this document with a friend
22
Strukturierter Entwur f Dipl. Ing. Päd. Huwaldt 1 Software Engineering Strukturierter Entwurf
Transcript

Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 1

Software EngineeringStrukturierter 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 7

GrundelementeABC

A

A B

A B C

A

A B

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 11

ModulhierarchieA

B C D

E F

B

G

D

Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt 12

Modulhierarchie

A

B C D

E F

B

G

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 16

UnterprogrammeA

B C D

E F

B

G

D

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


Recommended