Vooskeem

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

__SISUKORD__

Vooskeemil kujutatakse protsessi või etapiviisilise lahenduse osi geomeetriliste kujunditega, mis on ühendatud voojoontega. Vooskeeme kasutatakse mitmes valdkonnas protsessi või programmi analüüsimisel, disainimisel, dokumenteerimisel või haldamisel. 

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

1937. aastal hakkas ameerika tööstusinsener Allan H. Mogensen koos Lillian Gilbrethi ja teistega ettevõtete töötajaid koolitama lihtsustamise meetodite ja äriprotsesside mudeldamise vallas.  1944. aastal Mogenseni koolituse läbinud Art Spinager töötas selle põhjal Procter & Gamble'is välja "Deliberate Methods Change" programmi ning samal aastal selle koolituse läbinud Ben. S. Graham kohandas vooprotsessi skeemi nii, et seda saaks kasutada mitme dokumendi ja nendevaheliste seoste näitamiseks.

1947. aastal võttis ASME kasutusele Gilbrethi algsest teosest tuletatud sümbolite hulga "ASME Standard: Operation and Flow Process Charts".

Douglas Hartree (1949) väitis, et Herman Goldstine ja John von Neumann arendasid vooskeemi arvutiprogrammide plaanimiseks. 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 teostes.

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 visualiseerimise vorme, näiteks UML-skeeme. Siiski on vooskeemid kasutusel veel paljudes sissejuhatavates programmeerimisainetes, kaasaegses juhtimisalases kirjanduses ning ka visuaalses huumoris. 

Ka mitmes tänapäevases algoritmide kirjeldamismeetodis on kasutusel veel ka vooskeeme, sealhulgas näiteks UML-skeemides tegevusskeemid.

## Tüübid
Vooskeemide klassifitseerimise kohta on avaldatud palju arvamusi. Näiteks Andrew Veronis (1978) tõi välja kolm põhilist vooskeemitüüpi: süsteemi vooskeem, üldine vooskeem ja detailne vooskeem. Samas väitis Marilyn Bohl (1978), et lahenduste planeerimises on praktiliselt kasutuses vaid süsteemi ja programmi vooskeemid. 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.

## Sümbolid
### Tavasümbolid
Ameerika Riiklik Standardite Instituut (ANSI) sättis 1960. aastatel standardid vooskeemidele ning nende sümbolitele. Rahvusvaheline Standardiorganisatsioon (ISO) võttis ANSI sümbolid kasutusele 1970. aastal. Praeguse standardi (ISO 5807) viimane muutus oli aastal 1985. Vooskeemide voog liigub tavaliselt ülalt alla ning vasakult paremale. Kõige tavalisemad vooskeemides kasutatavad sümbolid on:

### Muud sümbolid
Lisaks sisaldavad ANSI/ISO standardid ka teisi sümboleid, mille hulgas on näiteks:

## Tarkvara
Iga joonistusprogrammiga on võimalik luua vooskeeme, kuid neil pole aluseks andmemudelit, mida andmebaaside või teiste programmidega jagada. On olemas tarkvara, mis suudab automaatselt vooskeeme luua, olgu see siis otse programmeerimiskeele aluskoodist (näiteks code2flow) või vooskeemi kirjelduskeele põhjal (näiteks Flou).

Osad rakendused ja graafilised programmeerimiskeeled kasutavad programmide esindamiseks ja käivitamiseks vooskeeme. Nende hulka kuuluvad näiteks Scratch, Flowgorithm, Visual Logic ja RAPTOR.

## Viited