Kasutaja:Krlkngro/liivakast

Vooskeem muuda

 
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 muuda

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 muuda

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 muuda

Tavasümbolid muuda

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 kujund Nimetus Kirjeldus
  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.
  Protsess Tähistab mistahes töötlusfunktsiooni, näiteks jada tegevustest, mille tulemuseks on andmete väärtuse, vormi või asukoha muutumine.
  Otsus Tä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.
  Andmed Tähistab täpsustamata sisend- või väljundmeediumiga andmeid.
  Eeldefineeritud protsess Tähistab nimega protsessi, mis koosneb ühest või mitmest programmi sammust, mis on täpsustatud mujal.
 
Konnektor Tähistab sama vooskeemi teisest osast sisenemit või teise osasse väljumist.

Teised sümbolid muuda

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

Ansi/ISO kujund Nimetus Kirjeldus
  Dokument Tähistab inimloetavaid andmeid.
  Mitu dokumenti Tähistab mitme dokument tüüpi objekti kasutamist.
  Manuaalne operatsioon Tähistab mistahes protsessi, mida teostab inimene.
  Manuaalne sisend Tähistab andmeid, mille info on töötlemise ajal käsitsi sisestatud, näiteks kasutades klaviatuuri.
  Ettevalmistus Tähistab juhendi või juhendite hulga muutmist mingi järgneva tegevuse mõjutamiseks, nätieks indeksiregistri muutmine.

Tarkvara muuda

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 muuda

  1. SEVOCAB: Software Systems Engineering Vocabulary. Term: Flow chart. Vaadatud 31. juuli 2022.
  2. Busbee, Kenneth Leroy. "Flowcharts - Programming Fundamentals". Programming Fundamentals. Vaadatud 10. jaanuar 2022.
  3. Gilbreth, Frank Bunker & Gilbreth, Lillian Moller (1921) (arhiivikoopia seisuga 9. mai 2015). American Society of Mechanical Engineers.
  4. National Office Management Association (1951). Nomayear. Nr. 32. University of Minnesota. p. 25.
  5. Graham, Ben S. jun (10. juuni 1996). "People Come First". Vaadatud 10. jaanuar 2022.
  6. American Society of Mechanical Engineers (1947). ASME standard; operation and flow process charts. New York.
  7. Hartree, Douglas (1949). Calculating Instruments and Machines. The University of Illinois Press. p. 112.
  8. Taub, Abraham (1963). John von Neumann Collected Works. Nr 5. 1963. pp. 80–151.
  9. Ensmenger, Nathan The Multiple Meanings of a Flowchart. (2016). Information & Culture: A Journal of History. Nr. 51. pp. 321-351.
  10. Mishra, Jibitesh (2011). Software Engineering. Pearson Education India. p. 134.
  11. Veronis, Andrew (1978). Microprocessors: Design and Applications. p. 111.
  12. Bohl, Marilyn (1978). A Guide for Programmers. p. 65.
  13. Fryman, Mark A. (2001). Quality and Process Improvement. p. 169.
  14. Shelly, Gary B. & Vermaat, Misty E. (2011). Discovering Computers, Complete: Your Interactive Guide to the Digital World. Cengage Learning. pp. 691-693.
  15. 15,0 15,1 "ISO 5807:1985". Veebruar 1985. Vaadatud 10. jaanuar 2022.
  16. "code2flow". Vaadatud 10. jaanuar 2022.
  17. "Flou". Vaadatud 10. jaanuar 2022.
  18. Myers, Brad A. (1986). Visual programming, programming by example, and program visualization: a taxonomy. Nr. 17.