Procesdiagrammer #
Processer kan modelleres med procesdiagrammer.
Procesdiagrammer kaldes også "flowcharts" eller "rutediagrammer".
Der findes mange variationer over procesdiagrammet. I dette kapitel præsenteres procesdiagrammer i en mest grundlæggende form.
Computerprogrammer er processer, som kan repræsenteres med et procesdiagram.
I informatik C beskrives processer på et højt niveau (lav detajeringsgrad) med procesdiagrammer; typisk brugerinteraktioner.
I de følgende afsnit præsenteres de elementer, som indgår i et procesdiagram.
Processer #
En proces er en række tilstandsskift, som repræsenterer en overgang fra en tilstand til en anden.
Rækkefølgen beskrives ved at tegne pile mellem tilstandsskiftene.
I computersprog kaldes en proces for en funktion eller et program.
Hændelser #
Et tilstandsskift kaldes for en hændelse.
Hændelser tegnes som rektangler.
En hændelse er normalt noget, der sker på grund af en påvirkning fra omverdenen.
I en applikation med en grafisk brugergrænseflade kunne en hændelse være, at brugeren klikker på en knap.
Tilstande #
En tilstand er en beskrivelse af den måde "verden" (processen) ser ud mellem tilstandsskift.
En proces har én starttilstand og én sluttilstand.
Mellem start- og sluttilstanden er der ét eller flere tilstandsskift.
Når man modellerer computerprogrammer, repræsenteres tilstand med variable.
Start- og sluttilstanden tegnes som ovaler.
Starttilstanden er processens input og sluttilstanden er output.
Tilstandsskift som udtrykkes ved at de dataværdier, som processens variabler (den "synlige" tilstand i diagrammet) henviser til, ændrer sig, kaldes bare tilstandsskift.
Tilstandsskift, som ikke afspejles i den "synlige" tilstand i diagrammet, kalder man anden virkning 🧞. F.eks. at tegne en figur på en computerskærm er en anden virkning.
Variable #
En variabel er et navn, som repræsenterer en del af tilstanden i et computerprogram.
Variable i computerprogrammer og i matematiske formler ligner hinanden; de træder i stedet for tal (data).
Kontrolstrukturer #
Rækkefølgen af hændelser i processen styres med kontrolstrukturer.
De 3 grundlæggende kontrolstrukturer er: Sekvenser, forgreninger og løkker.
Sekvens #
En sekvens er et ubetinget tilstandsskift.
At tilstandsskiftet er ubetinget, betyder, at der ikke er noget valg med hensyn til valget af den næste hændelse i processen.
Sekvenser kan bestå af et eller flere tilstandsskift lige efter hinanden.
Et proces eller et computerprogram består af sekvenser, som kædes sammen med de andre kontrolstrukturer: forgreninger og løkker.
Forgrening #
En forgrening er et betinget tilstandsskift.
At tilstandsskiftet er betinget, betyder, at valget af den næste hændelse i processen er betinget af tilstanden på det sted i processen, hvor forgreningen befinder sig.
Betingelsen i en forgrening er et spørgsmål, som kan besvares på 2 måder; eksempelvis med ja eller nej.
Forgreningen tegnes som en diamant.
Ved forgreningen deler sekvensen sig i to. De to nye sekvenser vil "mødes" igen og blive til en sekvens før processen slutter.
Løkke #
En løkke er en sekvens, som starter i en forgrening og som ender i den samme forgrening.
Løkker repræsenterer dele af processen, som gentager sig et antal gange.
Det er betingelsen, i den forgrening som indleder løkken, som bestemmer hvor mange gange, løkken skal gentages.
I diagrammet ovenfor er der to forgreninger, men kun en af dem starter en løkke. Kan du se hvilken en af dem, det er?
Kan du se hvilket tilstandsskift i diagrammet, som har det, man kalder anden virkning?
Andre regler #
Der er et par andre regler, som man skal følge, når man tegner et procesdiagram:
- man skal altid kunne finde vej fra start til slut
- man må ikke vende tilbage til starttilstanden
- man må ikke forlade sluttilstanden