Kasutaja:Krlkngro/liivakast

Vooskeem

Lihtne vooskeem, mis kujutab pangaautomaadi tööprotsessi PIN-koodi sisestamisel.

Vooskeem (ingl flowchart) on skeem, mis kujutab töövoogu või protsessi. Vooskeemi võib defineerida ka algoritmi skemaatilise esitusena, mis näitab samm-sammulist lähenemist ülesande lahendamisele.

Vooskeemil kujutatakse protsessi või samm-sammulise lahenduse osasid erinevate geomeetriliste kujunditega, mis on ühendatud voojoontega.[1] Vooskeeme kasutatakse mitmes valdkonnas protsessi või programmi analüüsimisel, disainimisel, dokumenteerimisel või haldamisel. [2]

Ajalugu

Esimest struktureeritud meetodit protsessivoo dokumenteerimiseks, vooprotsessi skeemi (ingl flow process chart), tutvustasid Frank ja Lillian Gilbreth 1921. aastal esitluses "Process Charts: First Steps in Finding the One Best Way to do Work" ameerika inseneriorganisatsiooni ASME liikmetele. [3]

1937. aastal hakkas ameerika tööstusinsener Allan H. Mogensen koos Lillian Gilbrethi ja teistega äriinimesi treenima töö lihtsustamise meetodites ning äriprotsesside modelleerimises. [4] 1944. aastral Mogenseni õppuse läbinud Art Spinager töötas selle põhjal Procter & Gamble's välja "Deliberate Methods Change" programmi ning samal aastal selle õppuse läbinud Ben. S. Graham kohandas vooprotsessi skeemi, nii et seda saaks kasutada mitme dokumendi ja nendevaheliste seoste näitamiseks.[5]

1947. aastal võttis ASME kasutusele Gilbrethi algsest teosest tuletatud sümbolitehulga "ASME Standard: Operation and Flow Process Charts." nime all.[6]

Douglas Hartree (1949) väitis, et Herman Goldstine ja John von Neumann arendasid vooskeemi arvutiprogrammide planeerimiseks.[7] Goldstine ja von Neumanni originaalsed programmeerimise vooskeemid on leitavad nende avaldamata aruandest "Planning and coding of problems for an electronic computing instrument, Part II, Volume 1" (1947), mis on reprodutseeritud von Neumanni kogutud töödes.[8]

Ensmenger (2016) toob välja, et kuigi 1970. aastate alguses oli vooskeem väga populaarne vahend arvutialgoritmide kirjeldamiseks, siis 1980. aastate alguseks oli vooskeemi akadeemilisest arvutiteaduse kirjandusest peaaegu kadunud ning tänapäeval kasutavad programmeerijad enamasti teisi tarkvara visauliseerimise vorme, näiteks UML-skeeme. Siiski on vooskeemid kasutuses veel paljudes sissejuhatavates programmeerimisainetes, kaasaegses juhtimisalases kirjanduses ning ka visuaalses huumoris. [9]

Ka mitmed tänapäeval kasutusel olevad algoritmide kirjeldamismeetodid kasutavad siiski veel vooskeeme, sealhulgas näiteks UML-skeemides tegevusskeemid.[10]

Tüübid

Vooskeemide klassifitseerimisel on palju erinevaid arvamusi. Näiteks Andrew Veronis (1978) tõi välja kolm põhilist vooskeemitüüpi: süsteemi vooskeem, üldine vooskeem ja detailne vooskeem.[11] Samas väitis Marilyn Bohl (1978), et lahenduste planeerimises on praktiliselt kasutuses vaid süsteemi ja programmi vooskeemid.[12] Mark A. Fryman (2001) nimetas otsuse vooskeemid, loogika vooskeemid, süsteemi vooskeemid, toote vooskeemid ja protsessivooskeemid ning väitis, et peale nende on kasutuses veel mitmeid vooskeemide tüüpe.[13]

Sümbolid

Tavasümbolid

Ameerika Riiklik Standardite Instituut (ANSI) sättis 1960. aastatel standardid vooskeemidele ning nende sümbolitele.[14] Rahvusvaheline Standardiorganisatsioon (ISO) võttis ANSI sümbolid kasutusele 1970. aastal. Praeguse standardi (ISO 5807) viimatine muudatus oli 1985. aastal. Tavaliselt vooskeemide voog liigub ülalt alla ning vasakult paremale. Kõige tavalisemad vooskeemides kasutatavad sümbolid on:[15]

Ansi/ISO kujundNimetusKirjeldus
Põhijoon (koos nooleotsaga)Joon, mis väiljub ühest sümbolist ning viitab teisele. Näitab protsessi tööjärjekorda. Nooleotsa kasutatakse vajadusel voo suuna näitamiseks või loetavuse parandamiseks.
Otspunkt (ingl terminator)Tähistab väliskeskkonnast sisenemist või sinna väljumist, näiteks programmivoo algust või lõppu.
ProtsessTähistab mistahes töötlusfunktsiooni, näiteks jada tegevustest, mille tulemuseks on andmete väärtuse, vormi või asukoha muutumine.
OtsusTähistab otsust või funktsiooni, millel on üks sisend kuid mitu üksteist välistavat väljundit. Väärtustamisele vastavad tulemused võivad olla kirjutatud vastavate väljunditeed tähistavate joonte kõrvale.
AndmedTähistab täpsustamata sisend- või väljundmeediumiga andmeid.
Eeldefineeritud protsessTähistab nimega protsessi, mis koosneb ühest või mitmest programmi sammust, mis on täpsustatud mujal.
KonnektorTähistab sama vooskeemi teisest osast sisenemit või teise osasse väljumist.

Teised sümbolid

Lisaks sisaldavad ANSI/ISO standardid ka teisi sümboleid, mille hulgas on näiteks:[15]

Ansi/ISO kujundNimetusKirjeldus
DokumentTähistab inimloetavaid andmeid.
Mitu dokumentiTähistab mitme dokument tüüpi objekti kasutamist.
Manuaalne operatsioonTähistab mistahes protsessi, mida teostab inimene.
Manuaalne sisendTähistab andmeid, mille info on töötlemise ajal käsitsi sisestatud, näiteks kasutades klaviatuuri.
EttevalmistusTähistab juhendi või juhendite hulga muutmist mingi järgneva tegevuse mõjutamiseks, nätieks indeksiregistri muutmine.

Tarkvara

Iga joonistusprogrammiga on võimalik luua vooskeeme, kuid neil pole aluseks andmemudelit, mida andmebaaside või teiste programmidega jagada. Olemas on mitu tarkvarapaketti, mis suudavad automaatselt vooskeeme luua, olgu see siis otse programmeerimiskeele aluskoodist (näiteks code2flow[16]) või vooskeemi kirjelduskeele põhjal (näiteks Flou[17]).

On mitu rakendust ja graafilist programmeeerimiskeelt, mis kasutavad programmide esindamiseks ja käivitamiseks vooskeeme.[18] Nende hulka kuuluvad näiteks Scratch, Flowgorithm, Visual Logic ja RAPTOR.

Viited