Ablaufdiagramme: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „:Programmplanung“ durch „:Vorgehensmodell_(Software)“
 
(24 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Ein Ablaufdiagramm veranschaulicht Arbeitsabläufe von Algorithmen oder von Prozessen. Üblich vorhanden sind Sinnbilder,  optionale Pfade und Fallunterscheidungen.
Ein '''Ablaufdiagramm''' veranschaulicht Arbeitsabläufe von Algorithmen und Prozessen.


==Arten==
*Es gibt mehrere Arten von Diagrammen.
*Verbreitet werden benutzt:
**''Programmablaufplan (PAP)''
**''Nassi-Schneiderman-Diagramm (Struktogramm)''
**''Unified-Modeling-Language (UML)''
[[Datei:Flussdiagramm.jpg|thumb|200px|Flussdiagramm]]
===Programmablaufdiagramm===
===Programmablaufdiagramm===
[[Datei:Flussdiagramm.jpg|600px|Flussdiagramm]]
*Wird auch ''Flussdiagramm'' oder ''Programmstrukturplan'' genannt
*Wird auch ''Flussdiagramm'' oder ''Programmstrukturplan'' genannt
*Schritte werden durch Sinnbilder und Steuerungsabläufe durch Ablauflinien dargestellt
*Schritte werden durch Sinnbilder und Steuerungsabläufe durch Ablauflinien dargestellt
*Elemente und Symbole sind nach DIN 66001 genormt
*Elemente und Symbole sind nach DIN 66001 genormt
*Jedes Element hat eine Bedeutung (z.B. Rechteck: Operation; Raute: Verzweigung)
*Jedes Element hat eine Bedeutung ''(z. B. Rechteck: Operation; Raute: Verzweigung)''
*Vorteil: einfaches Zeichnen
*''Vorteil:'' einfaches Zeichnen
*Nachteil: große Programme können zu Unübersichtlichkeit führen
*''Nachteil:'' große Programme können zu Unübersichtlichkeit führen


[[Datei:Struktogramm.jpg|thumb|200px|Struktogramm]]
Für das obige Beispiel könnte ein C-Programm so aussehen:
<stdio.h>
int main() {
  int zahl1, zahl2;
  double mittel;
  printf("Erste Zahl eingeben:\n");
  scanf("%d", &zahl1);
  printf("Zweite Zahl eingeben:\n");
  scanf("%d", &zahl2);
  mittel = (zahl1+zahl2)/2;
  printf("Der Mittelwert beträgt %d\n", mittel);
  return 0;
}


===Struktogramm===
===Struktogramm===
[[Datei:Struktogramm.jpg|600px|Struktogramm]]
*Entwickelt von Isaac Nassi und Ben Schneiderman
*Entwickelt von Isaac Nassi und Ben Schneiderman
*Das aus den Strukturblöcken zusammengesetzte Struktogramm ist im Ganzen rechteckig
*Das aus den ''Strukturblöcken'' zusammengesetzte Struktogramm ist im Ganzen rechteckig
*Jede Anweisung ist in einem rechteckigen Block geschrieben.
*Jede Anweisung ist in einem rechteckigen Block geschrieben
*Anweisungsblöcke werden von oben nach unten durchlaufen.
*Anweisungsblöcke werden von ''oben nach unten'' durchlaufen
*Vorteil: einheitlich, strukturierte Planung von Programmen  
*''Vorteil:'' einheitlich, strukturierte Planung von Programmen  
*Nachteil: zeitaufwendig, Syntax muss beachtet werden
*''Nachteil:'' zeitaufwendig, Syntax muss beachtet werden
 
[[Datei:Uml-klassendiagramm.png|thumb|200px|Klassendiagramm]]


===Unified-Modeling-Language===
===Unified-Modeling-Language===
[[Datei:Uml-klassendiagramm.png|600px|Klassendiagramm]]
*Neueste Art von Ablaufdiagramm
*Neueste Art von Ablaufdiagramm
*Ist eine Sprache zur Modellierung objektorientierter Systeme
*Ist eine Sprache zur Modellierung ''objektorientierter Systeme''
*Beinhaltet verschiedene Diagrammtypen unterteilt in zwei Hauptgruppen: Struktur- und Verhaltensdiagramme
*Beinhaltet verschiedene Diagrammtypen unterteilt in zwei Hauptgruppen: ''Struktur- und Verhaltensdiagramme''


====Strukturdiagramme====
====Strukturdiagramme====
*Klassendiagramm: zeigt Klassen und ihre Beziehungen untereinander
*''Klassendiagramm:'' zeigt Klassen und ihre Beziehungen untereinander
*Paketdiagramm: Gliedert Softwaresystem in Untereinheiten
*''Paketdiagramm:'' Gliedert Softwaresystem in Untereinheiten
*Objektdiagramm:  Objekte, Assoziationen und Attributwerte zu einem bestimmten Zeitpunkt während Laufzeit
*''Objektdiagramm:'' Objekte, Assoziationen und Attributwerte zu einem bestimmten Zeitpunkt während Laufzeit
*Kompositionsstrukturdiagramm: Abbildung innerer Zusammenhänge einer Systemarchitektur
*''Kompositionsstrukturdiagramm:'' Abbildung innerer Zusammenhänge einer Systemarchitektur
*Verteilungsdiagramm: Einsatzdiagramm
*''Verteilungsdiagramm:'' Einsatzdiagramm
*Komponentendiagramm: zeigt Komponenten und ihre Beziehungen und Schnittstellen
*''Komponentendiagramm:'' zeigt Komponenten und ihre Beziehungen und Schnittstellen


====Verhaltensdiagramme====
====Verhaltensdiagramme====
*Sequenzdiagramm: zeigt den zeitlichen Ablauf von Nachrichten zwischen Objekten
*''Sequenzdiagramm:'' zeigt den zeitlichen Ablauf von Nachrichten zwischen Objekten
*Anwendungsfalldiagramm: stellt Beziehungen zwischen Akteuren und Anwendungsfällen dar
*''Anwendungsfalldiagramm:'' stellt Beziehungen zwischen Akteuren und Anwendungsfällen dar
*Aktivitätsdiagramm: beschreibt Ablaufmöglichkeiten, die aus einzelnen Aktivitäten bestehen
*''Aktivitätsdiagramm:'' beschreibt Ablaufmöglichkeiten, die aus einzelnen Aktivitäten bestehen
*Zustandsdiagramm: zeigt eine Folge von Zuständen eines Objekts
*''Zustandsdiagramm:'' zeigt eine Folge von Zuständen eines Objekts
*Kommunikationsdiagramm: zeigt Beziehungen und Interaktionen zwischen Objekten
*''Kommunikationsdiagramm:'' zeigt Beziehungen und Interaktionen zwischen Objekten
*Zeitverlaufsdiagramm: Zeitverlaufskurven von Zuständen
*''Zeitverlaufsdiagramm:'' Zeitverlaufskurven von Zuständen
*Interaktionsübersichtsdiagramm: ähnlich dem Aktivitätsdiagramm, Übersicht über Abfolgen von Interaktionen
*''Interaktionsübersichtsdiagramm:'' ähnlich dem Aktivitätsdiagramm, Übersicht über Abfolgen von Interaktionen


==Quellen==
==Quellen==
Zeile 57: Zeile 63:
#https://www.torsten-horn.de/techdocs/uml.htm
#https://www.torsten-horn.de/techdocs/uml.htm


[[Category:Programmierung]]
[[Kategorie:Vorgehensmodell_(Software)]]

Aktuelle Version vom 14. Juli 2023, 08:55 Uhr

Ein Ablaufdiagramm veranschaulicht Arbeitsabläufe von Algorithmen und Prozessen.

Programmablaufdiagramm

Flussdiagramm

  • Wird auch Flussdiagramm oder Programmstrukturplan genannt
  • Schritte werden durch Sinnbilder und Steuerungsabläufe durch Ablauflinien dargestellt
  • Elemente und Symbole sind nach DIN 66001 genormt
  • Jedes Element hat eine Bedeutung (z. B. Rechteck: Operation; Raute: Verzweigung)
  • Vorteil: einfaches Zeichnen
  • Nachteil: große Programme können zu Unübersichtlichkeit führen

Für das obige Beispiel könnte ein C-Programm so aussehen:

<stdio.h>
int main() {
  int zahl1, zahl2;
  double mittel;

  printf("Erste Zahl eingeben:\n");
  scanf("%d", &zahl1);
  printf("Zweite Zahl eingeben:\n");
  scanf("%d", &zahl2);
  mittel = (zahl1+zahl2)/2;
  printf("Der Mittelwert beträgt %d\n", mittel);
  return 0;
}

Struktogramm

Struktogramm

  • Entwickelt von Isaac Nassi und Ben Schneiderman
  • Das aus den Strukturblöcken zusammengesetzte Struktogramm ist im Ganzen rechteckig
  • Jede Anweisung ist in einem rechteckigen Block geschrieben
  • Anweisungsblöcke werden von oben nach unten durchlaufen
  • Vorteil: einheitlich, strukturierte Planung von Programmen
  • Nachteil: zeitaufwendig, Syntax muss beachtet werden

Unified-Modeling-Language

Klassendiagramm

  • Neueste Art von Ablaufdiagramm
  • Ist eine Sprache zur Modellierung objektorientierter Systeme
  • Beinhaltet verschiedene Diagrammtypen unterteilt in zwei Hauptgruppen: Struktur- und Verhaltensdiagramme

Strukturdiagramme

  • Klassendiagramm: zeigt Klassen und ihre Beziehungen untereinander
  • Paketdiagramm: Gliedert Softwaresystem in Untereinheiten
  • Objektdiagramm: Objekte, Assoziationen und Attributwerte zu einem bestimmten Zeitpunkt während Laufzeit
  • Kompositionsstrukturdiagramm: Abbildung innerer Zusammenhänge einer Systemarchitektur
  • Verteilungsdiagramm: Einsatzdiagramm
  • Komponentendiagramm: zeigt Komponenten und ihre Beziehungen und Schnittstellen

Verhaltensdiagramme

  • Sequenzdiagramm: zeigt den zeitlichen Ablauf von Nachrichten zwischen Objekten
  • Anwendungsfalldiagramm: stellt Beziehungen zwischen Akteuren und Anwendungsfällen dar
  • Aktivitätsdiagramm: beschreibt Ablaufmöglichkeiten, die aus einzelnen Aktivitäten bestehen
  • Zustandsdiagramm: zeigt eine Folge von Zuständen eines Objekts
  • Kommunikationsdiagramm: zeigt Beziehungen und Interaktionen zwischen Objekten
  • Zeitverlaufsdiagramm: Zeitverlaufskurven von Zuständen
  • Interaktionsübersichtsdiagramm: ähnlich dem Aktivitätsdiagramm, Übersicht über Abfolgen von Interaktionen

Quellen

  1. https://de.wikipedia.org/wiki/Programmablaufplan
  2. https://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm
  3. https://de.wikipedia.org/wiki/Unified_Modeling_Language#Diagramme
  4. https://www.torsten-horn.de/techdocs/uml.htm