Programmentwurfstechniken

Eine kurze Übersicht der verbreitetsten Programmentwurfstechniken und deren Notation für Programmsequenzen, bedingte Anweisungen, Wiederholungsstrukturen und Grenzstellen.

Eine für den Druck besser geeignete Tabelle (ohne Blog-Menü) findet sich hier (link).

Detailliertere Informationen zu Pseudocode (link) und dem UML-Aktiviätsdiagramm (link) finden sich in gesonderten Artikeln.

 

 

 

Quelltext-Fragment

Java / C

Pseudocode

(Beispiel: Pseudo-Pascal, deutsch)

Info-Artikel zu Pseudocode

Nassi-Shneiderman-Diagramm

"Struktogramm", DIN 66261

Programm-Ablaufplan
Flussdiagramm, DIN 66001

UML-Aktivitäts-Diagramm

OMG - ISO/IEC 19505

Info-Artikel zum Aktivitätsdiagramm

Sequenz:

Lineare Aneinanderreihung von Operationen

int zahl;

zahl = 0;

zahl = zahl + 1;

zahl: INTEGER # Deklaration

zahl := 1 # Zuweisung

zahl := zahl + 1

 

 

 

 

 

(Rauten für Ein- und Ausgabe sind nicht Bestandteil

der Norm, aber gängig)

Bedingte Anweisung

(bei zwei Alternativen, über logische Ausdrücke)

if(Bedingung){

  Anweisung

}else{

  Anweisung

}

WENN (Bedingung) DANN

  Anweisung

SONST WENN (Bedingung)

  Anweisung

SONST

  Anweisung

ENDE WENN

Bedingte Anweisung mit Mehrfachauswahl

(Abfrage von konkreten Werten, keine logischen Ausdrücke)

switch(variable){

case wert1:

  Anweisung; break;

case wert2:

  Anweisung; break;

default:

  Anweisung; break;

}

WERT VON variable ENTSPRICHT

  1: Anweisung

  >=2: Anweisung

  SONST: Anweisung

ENDE WERT VON

For decision points, a predefined guard [else] may be defined.

Kopfgesteuerte Schleife

(wird ggf. kein mal ausgeführt)

while(Bedingung){

  Anweisung;

}

SOLANGE (Bedingung)

  Anweisung

ENDE SOLANGE

Fußgesteuerte Schleife

(wird in jedem Fall einmal ausgeführt)

do {

  Anweisung;

}

while(Bedingung);

WIEDERHOLE

  Anweisung

SOLANGE (Bedingung)

Zählergesteuerte Schleife

(läuft eine definierte Anzahl)

for(z=0; z<9; z++){

  Anweisung;

}

ZÄHLE VON z := 0 BIS 8

  Anweisung

NÄCHSTES z

 

 

 

FÜR JEDES element VON liste

  Anweisung

NÄCHSTES element

 

 


(Alternative zur Darstellung als kopfgesteuerte Schleife, nicht normgerecht, aber gängig)

Methodenaufruf / Unterprogramm

methodenaufruf();

methodenaufruf()

(nicht Bestandteil der Norm, aber gängig)

Call activity action for User Authentication activity.

Grenzstelllen

(im PAP werden Anfang/Ende und Verweise mit Ovalen dargestellt)

 

 

 

Online-Tools

 

 

Tools zum Erstellen z.B. StructEd, Struktogrammeditor, Structorizer

Online-Tools: z.B.:

https://dditools.inf.tu-dresden.de/struktog/index.html

http://www.whiledo.de/index.php?p=struktogrammeditor

Tools zum Erstellen z.B.

Dia, PAP-Designer, MS Visio

Online-Tools z.B. yed-live, draw.io

Tools zum Erstellen z.B.

https://app.diagrams.net/

https://plantuml.com

 

 

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: