Programmablaufplan –  Flussdiagramm für ein Computerprogramm

Email
Twitter
20
LinkedIn52
Share
Facebook30
Whatsapp

Programmablaufplan – Definition

Ein Programmablaufplan (Synonym: Programmstrukturdiagramm) ist eine Art Flussdiagramm, das den Ablauf eines Computerprogramms oder eines Algorithmus darstellt. Der Programmablaufplan (PAP) ist gemäß DIN 66001 genormt. Er ist eine grafische Vorlage für die Software-Implementierung oder dient der Systemdokumentation. Wesentliche Bestandteile eines Programmablaufplans bestehen aus Ein- und Ausgaben sowie zentralen Rechenoperationen des Computerprogramms. Der Programmablaufplan verwendet eine Reihe von Standardsymbolen. Neben einer Vorgabe für die Implementierung und einer Systemdokumentation besteht ein Anwendungszweck des Programmablaufplans in der Verbesserung der Effizienz von Computerprogrammen, Systemen bzw. Algorithmen.

Ein Programmablaufplan (kurz: PAP, englisch: program flow chart) ist eine spezifische Ausprägung eines FlussdiagrammsFlussdiagramme kommen in vielen Unternehmen als PAPs zum Einsatz, um standardisierte Abläufe zu veranschaulichen. Ein Ablaufdiagramm ohne Normierung (z.B. in Bezug auf die Art der Symbole) dient allgemein zur Darstellung von Prozessen, Algorithmen, Entscheidungen etc. Auf dieser Website ist die Gratis-App IQProcess ohne Anmeldung oder Einschränkungen verfügbar, mit der Programmablaufpläne, Datenflussdiagramme, Flussdiagramme und ereignisgesteuerte Prozessketten (EPK) stringent modelliert werden können.

Programmablaufplan – Elemente

Ein Programmablaufplan enthält sechs Grundelemente, womit das Diagramm modelliert werden kann. Die Beschreibung von den Elementen wird im Folgenden und die Darstellung der Symbole wird zum Ende des Kapitels vorgenommen.

1. Grenzstelle

Ein Grenzstelle kann der Anfang oder das Ende eines Geschäftsprozesses sein. Die Stelle wird durch ein rundes Rechteck dargestellt.

2. Prozess

Als Prozesselement wird jeder Prozess bezeichnet, der Eingabedaten erhält, diese verwendet und dadurch eine Ausgabe erzeugt. Ein solcher Prozess kann Berechnungen durchführen, Daten mithilfe von Logiken sortieren oder den Programmfluss anhand von Geschäftsregeln steuern. Zur Beschreibung eines solchen Prozesses wird eine kurze Bezeichnung verwendet, z. B. „Auftrag ausfüllen“ oder „Betrag berechnen“. Ein Prozess-Element wird durch ein Rechteck dargestellt.

3. Entscheidung

Eine Entscheidung stellt einen Punkt in dem Diagramm dar, an dem genau eine oder mehrere interne oder externe Entscheidungen getroffen werden. Dieses Element besteht aus einer Verzweigung und wird als Diamant dargestellt.

4. Fluss

Der Fluss zeigt die Übertragung von Informationen von einem Element des Systems zu einem Anderen. Der Fluss wird als Pfeillinie dargestellt. Der Fluss sollte einen Namen (kurze Beschreibung) haben, der angibt, welche Information bewegt wird. Ausnahmen sind Flüsse, bei denen klar ist, welche Informationen durch die Entitäten, die mit diesen Flüssen verbunden sind, übertragen werden. Beispielsweise werden neben Informationen auch reale Warenströme wie Materialverschiebungen in Systemen modelliert. Der Fluss sollte eine Art von Information übertragen. Der Pfeil zeigt die Flussrichtung an (er kann auch bidirektional sein, wenn Informationen von der Entität logisch abhängig sind – z. B. Frage und Antwort). Flüsse verbinden Prozesse, Datenspeicher und Terminatoren. Beispielsweise kann ein Datenfluss Rechnungen oder Anmeldedaten sein.

5. Ein-/Ausgabe

Die Aktivitäten eines Programmablaufplans benötigen häufig eine Eingabe als Information und die Aktivitäten produzieren wichtige Informationen als Ausgabe, der für die weiteren Prozessschritte benötigt wird. Die Ein- oder Ausgabe werden mit den jeweiligen Aktivitäten verknüpft, um den Algorithmus zu visualisieren. Diese Elemente werden durch ein Parallelogramm dargestellt.

6. Unterprogramm

Ein Unterprogramm wird modelliert, um innerhalb eines Prozesses einen inhaltlich zusammengehörenden Abschnitt zusammenzufassen. Subprozesse bilden den Vorteil einer guten Übersicht über den Gesamtprozess. Dadurch kann ein komplizierter Algorithmus einfach und klar dargestellt werden.

Programmablaufplan-Elemente

Programmablaufplan erstellen

Mit dem folgenden Leitfaden kannst du dein Programmablaufplan einfach erstellen. Folge dazu den angegebenen Schritten. Zusätzlich wird jeder Schritt anhand eines Beispiels erläutert.

1. Zuerst wird das genaue Problem identifiziert. Welcher Prozess soll modelliert werden?

In diesem Beispiel gehen wir von der Berechnung der Fakultät einer Zahl „n“ aus.

2. Im nächsten Schritt erstellst du eine vollständige Liste aller möglichen Prozesse, Unterprogramme, Grenzstellen und Entscheidungen.

An dieser Stelle wird noch keine Reihenfolge von den Elementen geplant.

Prozess Grenzstelle Entscheidung
Eingabe „n“ einlesen Start n ∈ N
Fehler ausgeben Ende n > 1
fakultaet = 1
 fakultaet = fakultaet * n
n = n – 1
fakultaet ausgeben

3. Im nächsten Schritt legst du Anfang und Ende deines Prozesses fest.

Im Kernkonzept müssen der Anfang und das Ende ein Terminator (externe Entität) sein.

Anfang Ende
Eingabe „n“ einlesen Fehler ausgeben/ fakultaet ausgeben

4. Entscheidest du die benötigte Ein- und Ausgabe zur Prozessen und Unterprogramme und ordnest du die zu.

Prozess Ein-/ Ausgabe
Eingabe „n“ einlesen Nummer „n“

5. Lege die Reihenfolge der Prozessen, Grenzstelle und Entscheidungen fest.

Grenzstelle Prozess Entscheidung
Start
Eingabe „n“ einlesen
n ∈ N
(wenn n ∈ N) Fehler ausgeben
Ende
(wenn n !∈ N) fakultaet = 1
n > 1
(wenn n > 1) fakultaet = fakultaet * n
n = n – 1
(wenn n !> 1) fakultaet ausgeben
Ende

6. Du öffnest IQProcess

Die Software IQProcess zur Erstellung von Flussdiagrammen findest du hier: https://project-base.org/iqprocess. Es ist keine Anmeldung oder Registrierung erforderlich. Das folgende Bild zeigt den Arbeitsbereich von IQProcess:

IQProcess-Leitfaden-1

7. Erstelle alle Symbole für die benötigten Prozesse, Unterprogramme, Grenzstellen, Entscheidungen, Ein- und Ausgaben.

Hier muss man zusätzlich zu allen Elementen die Symbole erstellen.

Programmablaufplan-Leitfaden-1

8. Ordne alle Elemente deinem Datenflussdiagramm zu

Du hast nun alle Symbole zur Verfügung. Du kannst dein Programmablaufplan jetzt erstellen, indem du die Elemente in der richtigen Reihenfolge verbindest, wie in der folgenden Abbildung gezeigt:

Programmablaufplan-Leitfaden-2

Du kannst den oben stehenden Entwurf hier herunterladen, um ihn in der App hochzuladen und weiterzuarbeiten.

Programmablaufplan – Vor- und Nachteile

Vorteile

  • Die Programmablaufpläne sind einfach und klar zu verstehen. Daher können sie auch von Mitarbeitern ohne technische Kompetenzen leicht gelesen und nachvollzogen werden.

  • Ein PAP dient als Blaupause für die Analyse von Systemen und die Entwicklung von Programmen, bei denen eine effizientere Codierung erreicht werden soll.

  • Der PAP gewährleistet eine transparente und konkrete Vorgehensweise, um den Dokumentationsprozess eines Algorithmus zu veranschaulichen.

Nachteile

  • Änderungen können bei der Verwendung von einem Programmablaufplan viel Zeit in Anspruch nehmen. Dies liegt darin begründet, wenn ein Programm geändert werden muss, ist mit hoher Wahrscheinlichkeit der Programmablaufplan in weiten Teilen bzw. gesamthaft anzupassen.

  • In einigen Fällen kann der PAP die Programmierer bzgl. des Systems in die Irre führen. In der Praxis hat man die Erfahrung gemacht, dass es für den Programmierer missverständlich ist, die Verantwortlichkeiten zwischen dem System und den externen Einheiten zu unterscheiden.

  • Wenn ein Prozess relativ komplex ist, kann ein Prozessablaufdiagramm unübersichtlich und intransparent aussehen. Das macht es für das Management schwer nachvollziehbar und ist damit weniger geeignet für eine schnelle Übersicht aus der Perspektive des Managements.

Programmablaufplan – Test und Testverfahren

Es existieren bisher keine spezifischen Testverfahren für Dokumentenflussdiagramme. Die Überprüfung kann jedoch gut durch bestehende quantitative und qualitative Methoden erfolgen:

  • Eine qualitative Betrachtung ist z.B. durch ein Experten-Review möglich. Gemeinsame Diskussionen über den Algorithmus und mögliche Anknüpfungspunkte bieten eine gute Möglichkeit, den Programm auf „Papierebene“ zu validieren und zu testen. Ein Test des Prozesses nach dem „trial-and-error-Prinzip“ ist in vielen Fällen ein gangbarer Weg.

  • Eine weitere qualitative Methode besteht in der Anwendung der Fragetechnik. Stelle dir Fragen, wie beispielsweise: Folgt immer Schritt B nach Schritt A? Beschreibt mein Algorithmus den gegenständlichen Sachverhalt vollständig? Gibt es weitere Fallunterscheidungen? Ist die Programmdarstellung für außenstehende Dritte nachvollziehbar? In diesem Zusammenhang können die 5Ws (Was?, Wer?, Wann?, Wie? Warum?) gut angewendet werden, um sowohl Vollständigkeit als auch Aussagekraft zu testen. Sind die 5Ws ausführlich beantwortet, ist in der Regel die Vollständigkeit auf einem hohen Niveau gegeben. Sind die jeweiligen Aspekte klar und für einen Außenstehenden verständlich dargestellt, ist dein Programmablaufplan zudem aussagekräftig.

  • Quantitativ lassen sich viele Programme durch die Aussagen- bzw. Prädikatenlogik überprüfen. Hierbei werden Aussagen getroffen, die entweder wahr oder falsch sein können und anhand der inhaltlichen Verbindungen zueinander überprüft werden.

Programmablaufplan – ein Beispiel

Zur Illustration eines Programmablaufplans wird das Beispiel eines spannenden Bereichs der Softwareentwicklung herangezogen. Die CI/CD-Pipeline, die für Continuous Integration, Continuous Delivery steht, ist ein wesentlicher Bestandteil des DevOps-Frameworks zur Entwicklung und Implementierung einer Software. Das Programmablaufdiagramm wird verwendet, um den Prozessablauf der CI/CD-Pipeline grafisch darzustellen.
Im DevOps-Framework wird die CI/CD-Pipeline bei der Übernahme des Codes in ein Softwareprodukt eingeführt. Hier beginnt die Pipeline mit der Übertragung des Codes in ein Repository (zentrale Ablage für Daten, Objekt und Programme inkl. ihrer Metadaten). Das häufigste verwendete Repository ist das GitHub-Repository. Der Code wird hier aus dem Source Code Management System (SCM) gezogen, gebaut oder kompiliert. Anschließend werden Unit-Tests durchgeführt, um den Code zu überprüfen. Dieser Teil des Prozesses wird als Continuous Integration bezeichnet.
Ein anderer Teil der CI/CD-Pipeline umfasst die Bereitstellung des Codes in der Zielumgebung. Zu diesem Zweck wird eine containerisierte Anwendung generiert, darin ein Image mit Hilfe eines Tools (z. B. Ansible) erstellt wird. Dieses Image wird auf eine Test- oder Staging-Umgebung übertragen. Ein häufig hierfür eingesetztes Tool hierfür ist Docker. Es werden verschiedene Leistungs- und Regressionstests durchgeführt. Sobald die Anwendung die Tests durch Versuchs- und Fehlerschleifen bestanden hat, wird das Produkt in der Produktionsumgebung bereitgestellt.

Programmablaufplan-Beispiel

Du kannst den obigen Entwurf hier herunterladen, um in ihn in der App hochzuladen und weiterzuarbeiten.

Email
Twitter
20
LinkedIn52
Share
Facebook30
Whatsapp