C artikler :: Struktur-flow-diagram

Diagrammeringtekniker er et godt redskab, det er et godt hjælpemiddel under konstruktion og et visuelt godt middel, til at diskutere designet. Vi anvender diagrammer til at skabe overblik og for at mindske designfejl.

Der findes et utal af diagrammeringstekniker, jeg vil omtale en teknik til visualisering af programflow. Jeg har brugt blokdiagrammer og rutediagrammer, men synes de er utilstrækkelige og besværlige. Disse traditionelle tekniker, har efter min mening, følgende svagheder:

  • Symbolerne anvendes sådan, at tekst bedst skrives inden i symbolet, det bliver ofte presses ind i symbolet for at undgå, at skrive teksten i margenen, som en henvisning, til symbolet. Teksten bliver derved placeret væk fra symbolet og det er uhensigtmæssigt.
  • Flowet i programmer afspejles ikke ordentlig, man bruger linier med pile i alle retninger og det forvirrer mere end gavner og det vanskeliggør en ordentlig disposition af placeringen på papiret. Det er længe siden at vi afskaffede såkaldte goto kommandoer i sprog eller løftede pegefingre når de blev brugt, derfor synes en sådan diagrammering at være en dårlig beskrivelse af et struktureret programmeringssprog.
  • Tidligere havde vi ingen ordentlige midler på computeren til at tegne og vedligeholde diagrammer, det blev derfor udført med blyant og viskelæder. Vedligeholdelsen af dem og rettelser i det hele taget, er ulideligt. Derfor var det sikkert som amen i kirken, at diagrammerne ikke blev vedligeholdt. Det er nemlig en grundregel, at det som er besværligt - har en tendens til ikke at blive gjort. Vi vidste godt, at en fejlrettelse i et program sandsynligt ikke var korrigeret i diagrammerne, og troede ikke på nogen der hævdede at deres var 100% opdaterede.

Omkring 1980 kom jeg, i forbindelse med en opgave til Logodan Consult i Silkeborg, over en genial måde at beskrive flow i programmer. Logodan havde udviklet en metode, som jeg den dag i dag, stadig finder uovertruffen. De havde taget de nye programmeringssprog, strukturede sprog, til sig og fundet en diagrammeringsteknik der modsvarede sprogene. Det gav følgende fordele:

  • Diagrammerne læses i normal læseretning, fra venstre mod højre, oppefra og ned. Der bruges ingen linier med pile. Og fordi denne regel om læseretning gælder undgår man unødvendige linier.
  • Tekst til symboler blev skrevet ved siden af symbolet, symbolerne kunne derfor også blive tilsvarende mindre.
  • Der er indført symboler som afspejler strukturelle kommandoer som while, do-while (repeat), for-sætninger, switch (case) og naturligvis også if. Og fordi der aldrig bruges linier mod læseretningen, fik man i designfasen et vink om problemer, når diagrammet var kommet til yderste højre kant af papiret. Det viser ganske enkelt at du efterhånden, har for mange niveauer af forgreninger og/eller løkker.
  • Fordi man ikke anvendte linier til goto-sætninger, indførtes et symbol for brud i strukturen. Det anvendes dog yderst sjældent til goto-sætninger og finder istedet anvendelse til f.eks. C-kommandoer som exit, return, break og continue.
  • Det kunne relativt nemt skrives i, og vedligeholdes af, en teksteditor og jeg lavede en applikation, der programmerede nogle specielle tegn ind i min printer, således at de kunne udskrives, jeg skulle faktisk kun bruge 2 tegn til et symbol. Dog bruger jeg i dag Microsoft Visio til det, du kan downloade en Microsoft Visio Skabelon.

Ressourcer C Library opslag The Single UNIX® Specification, Version 2 Copyright © 1997 The Open Group GNU C Library Engelsk, med masser af gode og dybe artikler. Danske søgeord Find selv de bedste danske søgeord til din hjemmeside.
Produkter Bookingsystem
System for reservation af tid for behandlinger, aftaler, lokaler, udstyr, personale. Tilpasset lektionstimer. Udskriver arbejdsplaner og ugeskema for opslag. Statistik. Danmarks bedste pris nu kun kr. 1.695,-
HelpdeskEffektiviser din support-organisation med et Helpdesksystem. Fjern tidrøvere der forhindrer fokus på problemløsning. Lektionsplan Formidling af generelle information og specifikke lektioner fra undervisere til studerende/elever. Medlemssystem Medlemssystem online med administration af medlemskartotek, kontingentbetalinger, flettefiler m.m.
Styr selv Styr selv indholdet på dine hjemmesider med Content Management System.
Citat Erfaring er ikke, hvad mennesker oplever. Det er, hvad mennesker bruger det oplevede til.

Aldous Huxley



Professionelle løsninger til Internettet. Webdesign, e-handel, cms, søgeoptimering, webhotel, analyse, Intranet mm.