Ablaufdiagramme: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „:Programmplanung“ durch „:Vorgehensmodell_(Software)“
 
(33 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 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: Einfache Zeichnung
*''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
 
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;
}


[[Datei:Struktogramm.jpg|thumb|200px|Struktogramm]]
===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''
*Zu den Strukturdiagrammen zählen:
**Klassendiagramm
**Kompositionsstrukturdiagramm
**Komponentendiagramm
**Verteilungsdiagramm
**Objektdiagramm
**Paketdiagramm
**Profildiagramm


*Zu den Verhaltensdiagrammen zählen:
====Strukturdiagramme====
**Aktivitätsdiagramme
*''Klassendiagramm:'' zeigt Klassen und ihre Beziehungen untereinander
**Anwendungsfalldiagramm
*''Paketdiagramm:'' Gliedert Softwaresystem in Untereinheiten
**Interaktionsübersichtsdiagramm
*''Objektdiagramm:''  Objekte, Assoziationen und Attributwerte zu einem bestimmten Zeitpunkt während Laufzeit
**Kommunikationsdiagramm
*''Kompositionsstrukturdiagramm:'' Abbildung innerer Zusammenhänge einer Systemarchitektur
**Sequenzdiagramm
*''Verteilungsdiagramm:'' Einsatzdiagramm
**Zeitverlaufsdiagramm
*''Komponentendiagramm:'' zeigt Komponenten und ihre Beziehungen und Schnittstellen
**Zustandsdiagramm


====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==
==Quellen==
Zeile 56: Zeile 62:
#https://de.wikipedia.org/wiki/Unified_Modeling_Language#Diagramme
#https://de.wikipedia.org/wiki/Unified_Modeling_Language#Diagramme
#https://www.torsten-horn.de/techdocs/uml.htm
#https://www.torsten-horn.de/techdocs/uml.htm
[[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