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.SEVOCAB: Software Systems Engineering Vocabulary. Term: Flow chart. Vaadatud 31. juuli 2022. 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. Gilbreth, Frank Bunker & Gilbreth, Lillian Moller (1921) . American Society of Mechanical Engineers.

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. National Office Management Association (1951). Nomayear. Nr. 32. University of Minnesota. p. 25.  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.Hartree, Douglas (1949). Calculating Instruments and Machines. The University of Illinois Press. p. 112.  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.Taub, Abraham (1963). John von Neumann Collected Works. Nr 5. 1963. pp. 80–151. 

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. Ensmenger, Nathan The Multiple Meanings of a Flowchart. (2016). Information & Culture: A Journal of History. Nr. 51. pp. 321-351. 

Ka mitmes tänapäevases algoritmide kirjeldamismeetodis on kasutusel veel ka vooskeeme, sealhulgas näiteks UML-skeemides tegevusskeemid.Mishra, Jibitesh (2011). Software Engineering. Pearson Education India. p. 134. 

 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.Veronis, Andrew (1978). Microprocessors: Design and Applications. p. 111.  Samas väitis Marilyn Bohl (1978), et lahenduste planeerimises on praktiliselt kasutuses vaid süsteemi ja programmi vooskeemid.Bohl, Marilyn (1978). A Guide for Programmers. p. 65.  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.Fryman, Mark A. (2001). Quality and Process Improvement. p. 169. 

 Sümbolid 
 Tavasümbolid 
Ameerika Riiklik Standardite Instituut (ANSI) sättis 1960. aastatel standardid vooskeemidele ning nende sümbolitele.Shelly, Gary B. & Vermaat, Misty E. (2011). Discovering Computers, Complete: Your Interactive Guide to the Digital World. Cengage Learning. pp. 691-693.  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:
+ANSI/ISO kujundNimetusKirjeldus136x136pxPõ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.raamita|156x156pxOtspunkt (ingl terminator)Tähistab väliskeskkonnast sisenemist või sinna väljumist, näiteks programmivoo algust või lõppu.raamita|166x166pxProtsessTähistab mistahes töötlusfunktsiooni, näiteks jada tegevustest, mille tulemuseks on andmete väärtuse, vormi või asukoha muutumine.raamita|143x143pxOtsusTä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.raamita|163x163pxAndmedTähistab täpsustamata sisend- või väljundmeediumiga andmeid.raamita|172x172pxEeldefineeritud protsessTähistab nimega protsessi, mis koosneb ühest või mitmest programmi sammust, mis on täpsustatud mujal.keskel|raamita|75x75pxKonnektorTähistab sama vooskeemi teisest osast sisenemit või teise osasse väljumist.

 Muud sümbolid 
Lisaks sisaldavad ANSI/ISO standardid ka teisi sümboleid, mille hulgas on näiteks:
+ANSI/ISO kujundNimetusKirjeldusraamita|173x173pxDokumentTähistab inimloetavaid andmeid.raamita|173x173pxMitu dokumentiTähistab mitme dokument tüüpi objekti kasutamist.raamita|174x174pxManuaalne operatsioonTähistab mistahes protsessi, mida teostab inimene.raamita|178x178pxManuaalne sisendTähistab andmeid, mille info on töötlemise ajal käsitsi sisestatud, näiteks kasutades klaviatuuri.raamita|179x179pxEttevalmistusTähistab juhendi või juhendite hulga muutmist mingi järgneva tegevuse mõjutamiseks, näiteks indeksiregistri muutmine.

 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.Myers, Brad A. (1986). Visual programming, programming by example, and program visualization: a taxonomy. Nr. 17.  Nende hulka kuuluvad näiteks Scratch, Flowgorithm, Visual Logic ja RAPTOR.

 Viited 

Kategooria:Juhtimine