Oqim diagrammasi ish jarayonini aks ettiruvchi diagramma turidir. Sxemani algoritmning diagrammatik tasviri, vazifani bosqichma-bosqich hal qilish usuli sifatida ham aniqlash mumkin.

Ishlamaydigan muammoni hal qilish jarayonini ifodalovchi oddiy oqim diagrammasi

Oqim diagrammasi qadamlarni har xil turdagi qutilar shaklida va qutilarni strelkalar bilan bogʻlash orqali ularning tartibini koʻrsatadi. Ushbu diagrammali tasvir berilgan muammoni hal qilish modelini tasvirlaydi. Oqim sxemalari turli sohalarda jarayon yoki dasturni tahlil qilish, loyihalash, hujjatlashtirish yoki boshqarishda qo‘llaniladi. [1]

Umumiy koʻrinishTahrirlash

 
Oqim diagrammasi (sexamasi)

Oqim sxemalari oddiy jarayonlar yoki dasturlarni loyihalash va hujjatlashtirishda ishlatiladi. Boshqa turdagi diagrammalar singari, ular nima sodir boʻlayotganini tasavvur qilishda yordam beradi va shu bilan jarayonni tushunishga yordam beradi, shuningdek, jarayonning kamchiliklari va muammolari kabi unchalik aniq boʻlmagan xususiyatlarni topishga yordam beradi. Har xil turdagi oqim sxemalari mavjud: har bir turning oʻziga xos qutilari va yozuvlari mavjud. Oqim diagrammasidagi ikkita eng keng tarqalgan quti turlari:

  • Qayta ishlash bosqichi, odatda faoliyat deb ataladi va toʻrtburchak quti sifatida belgilanadi.
  • Odatda olmos sifatida koʻrsatilgan qaror.

Turli xil tashkiliy boʻlinmalarni boshqarishni tavsiflash uchun diagramma turli vertikal yoki gorizontal qismlarga boʻlinganida, oqim diagrammasi „oʻzaro faoliyat“ deb taʼriflanadi. Muayyan qismda paydo boʻladigan belgi ushbu tashkiliy boʻlinmaning nazorati ostida boʻladi. Oʻzaro funktsional oqim sxemasi muallifga harakatni bajarish yoki qaror qabul qilish uchun javobgarlikni toʻgʻri aniqlashga va har bir tashkiliy boʻlinmaning bitta jarayonning turli qismlari uchun javobgarligini koʻrsatishga imkon beradi.

Oqim sxemalari jarayonlarning maʼlum tomonlarini tasvirlaydi va odatda boshqa turdagi diagrammalar bilan toʻldiriladi. Masalan, Kaoru Ishikawa gistogrammasi, Pareto diagrammasi, nazorat varagʻi, nazorat diagrammasi, sabab va taʼsir diagrammasi va tarqalish diagrammasi yonida sifatni nazorat qilishning yettita asosiy vositalaridan biri sifatida oqim sxemasini aniqladi. Xuddi shunday, UML da, dasturiy taʼminotni ishlab chiqishda qoʻllaniladigan standart konseptsiyani modellashtirish belgisi, oqim sxemasining bir turi boʻlgan faoliyat diagrammasi juda koʻp turli xil diagramma turlaridan biridir.

Nassi-Shneiderman diagrammalari va Drakon diagrammalar jarayon oqimining muqobil belgisidir.

Umumiy muqobil belgilarga quyidagilar kiradi: oqim diagrammasi, jarayon sxemasi, funktsional oqim diagrammasi, jarayon xaritasi, jarayon sxemasi, funktsional jarayon sxemasi, biznes-jarayon modeli, jarayon modeli, jarayon oqimi diagrammasi, ish oqimi diagrammasi, biznes oqimi diagrammasi. „Blok sxemasi“ va „oqim sxemasi“ atamalari bir-birining oʻrnida ishlatiladi. Oqim diagrammasining asosiy grafik strukturasi oqim grafigi boʻlib, u tugun turlarini, ularning mazmunini va boshqa yordamchi maʼlumotlarni ajratib turadi.


TarixiTahrirlash

Jarayonlar oqimini hujjatlashtirishning birinchi tizimli usuli — „oqim jarayonlari diagrammasi“ mexanik muhandislar (ASME) 1921-yildaFrank va Lillian Gilbreth tomonidan Amerika Jamiyati aʼzolariga „Jarayon jadvallari: ishni bajarishning eng yaxshi usulini topishdagi birinchi qadamlar“ taqdimotida taqdim etilgan.[2] Gilbreths asboblari tezda sanoat muhandisligi oʻquv dasturlariga kirib bordi. 1930-yillarning boshlarida sanoat muhandisi Allan H. Mogensen New Yorkning Lake Placid shahrida boʻlib oʻtgan ishni soddalashtirish boʻyicha konferensiyalarida ishbilarmonlarni sanoat muhandisligining baʼzi vositalaridan foydalanishga oʻrgatishni boshladi.

Art Spinanger, Mogensen sinfining 1944-yil bitiruvchisi, asboblarni Procter and Gamble kompaniyasiga qaytarib berib, u yerda oʻzlarining ataylab usullarni oʻzgartirish dasturini ishlab chiqdi. Ben S. Graham, yana bir 1944-yil bitiruvchisi, Standard Register Industrial kompaniyasining Formcraft muhandisligi direktori, bir nechta hujjatlarni va ularning munosabatlarini taqdim etish uchun koʻp oqimli jarayonlar diagrammasini ishlab chiqishda oqim jarayonlari sxemasini axborotga ishlov berishda qoʻlladi.[3] 1947-yilda ASME Gilbrethning asl asaridan olingan belgilar toʻplamini "ASME standarti: Operatsiya va oqim jarayonlari diagrammasi" sifatida qabul qildi.[4]

1949-yilda Douglas Hartree Herman Goldstine va John von Neumann kompyuter dasturlarini rejalashtirish uchun oqim sxemasini (dastlabki diagramma) ishlab chiqqanligini tushuntirdi.[5] Uning zamonaviy hisobi IBM muhandislari [6] va Goldstinening shaxsiy xotiralari[7] tomonidan maʼqullangan. Herman Goldstine va John von Neumannning asl dasturlash sxemalarini ularning nashr etilmagan maʼruzasida topish mumkin, „Elektron hisoblash asboblari uchun muammolarni rejalashtirish va kodlash, II qism, 1-jild“ (1947), bu fon Neumanning toʻplangan asarlarida aks ettirilgan.[8]

Blok-sxema kompyuter algoritmlarini tavsiflash uchun mashhur vositaga aylandi, lekin uning mashhurligi 1970-yillarda, interaktiv kompyuter terminallari va uchinchi avlod dasturlash tillari kompyuter dasturlash uchun umumiy vositaga aylanganda pasaydi, chunki algoritmlarni bunday tillarda dastlabki kod sifatida qisqaroq ifodalash mumkin. Koʻpincha psevdokod qoʻllaniladi, u maʼlum bir tilning tafsilotlariga qatʼiy rioya qilmasdan bunday tillarning umumiy idiomalaridan foydalanadi. XXI asr boshlarida ham kompyuter algoritmlarini tavsiflash uchun oqim sxemalaridan foydalanilgan.[9] UML faoliyat diagrammalari va Drakon diagrammalari kabi zamonaviy usullarni oqim sxemasining kengaytmalari deb hisoblash mumkin.

TurlariTahrirlash

Sterneckert (2003) oqim sxemalarini turli foydalanuvchilar guruhlari (masalan, menejerlar, tizim tahlilchilari va kotiblar) nuqtai nazaridan modellashtirish mumkinligini va toʻrtta umumiy tur mavjudligini taklif qildi[10]:

  • Tizim orqali hujjat aylanishi ustidan nazoratni koʻrsatadigan hujjat oqimi sxemalari
  • Tizimdagi maʼlumotlar oqimi ustidan nazoratni koʻrsatadigan maʼlumotlar oqimi sxemalari
  • Jismoniy yoki resurs darajasida boshqaruvni koʻrsatadigan tizim sxemalari
  • Tizim ichidagi dasturdagi boshqaruv elementlarini koʻrsatadigan dastur sxemasi

Eʼtibor bering, oqim sxemasining har bir turi alohida oqimning oʻziga emas, balki qandaydir boshqaruvga qaratilgan. Biroq, turli xil tasniflar mavjud. Masalan, Andrew Veronis (1978) oqim sxemalarining uchta asosiy turini nomladi: tizim sxemasi, umumiy oqim sxemasi va batafsil oqim sxemasi.[11] Oʻsha yili Marilyn Bohl (1978) „amalda yechimlarni rejalashtirishda ikki xil oqim diagrammasi qoʻllaniladi: tizim sxemalari va dastur sxemalari…“[12]. Yaqinda Mark A. Fryman (2001) koʻproq farqlarni aniqladi: „Qarorlar sxemalari, mantiqiy sxemalar, tizimlar oqim diagrammalari, mahsulot oqim diagrammalari va jarayonlar oqim diagrammalari biznes va hukumatda qoʻllaniladigan turli xil oqim diagrammalaridan faqat bir nechtasi“.[13]

Bundan tashqari, koʻplab diagramma usullari oqim(blok) diagrammalariga oʻxshaydi, lekin UML faoliyat diagrammasi kabi boshqa nomga ega.

Qurilish bloklariTahrirlash

Umumiy belgilarTahrirlash

Amerika Milliy Standartlar Instituti (ANSI) 1960-yillarda oqim sxemalari va ularning belgilari uchun standartlarni oʻrnatdi.[14] Xalqaro standartlashtirish tashkiloti (ISO) 1970-yilda ANSI belgilarini qabul qilgan.[15] Amaldagi standart ISO 5807 1985-yilda qayta koʻrib chiqilgan.[16] Odatda, oqim sxemalari yuqoridan pastga va chapdan o‘ngga o‘tadi.

ANSI/ISO shakllari Nomi Tavsif
  Oqim chizigʻi (Oʻq boshi) Jarayonning ishlash tartibini koʻrsatadi. Bir belgidan kelib, boshqasiga ishora qiluvchi chiziq. Arrowheads are added if the flow is not the standard top-to-bottom, left-to right.
  Terminal Dastur yoki kichik jarayonning boshlanishi va tugashini bildiradi. oval or rounded (fillet) rectangle. They usually contain the word „Start“ or „End“, or another phrase signaling the start or end of a process, such as „submit inquiry“ or „receive product“.
  Jarayon Maʼlumotlarning qiymati, shakli yoki joylashuvini oʻzgartiruvchi operatsiyalar toʻplamini toʻrtburchak shaklida ifodalaydi.
  Qaror Dastur ikki yoʻldan qaysi birini tanlashini aniqlaydigan shartli amalni koʻrsatadi.
  Kirish/chiqish Maʼlumotlarni kiritish va chiqarish jarayonini koʻrsatadi, xuddi maʼlumotlarni kiritish yoki natijalarni koʻrsatish kabi.
  Izoh Dasturdagi qadam haqida qoʻshimcha maʼlumotni koʻrsatuvchi. Ochiq toʻrtburchaklar shaklida tasvirlangan, uni oqim diagrammasidagi mos keladigan belgi bilan bogʻlaydigan chiziq yoki qattiq chiziq.
  Oldindan belgilangan jarayon Boshqa joyda belgilangan jarayonni koʻrsatadi. Ikki marta urilgan vertikal qirralari boʻlgan toʻrtburchaklar shaklida ifodalanadi.
  Sahifadagi ulagich Yorliqli ulagichlar juftligi oqim diagrammasi sahifasida uzun yoki chalkash chiziqlar oʻrnini bosadi. Ichkarida harfli kichik doira bilan ifodalanadi.[17]
  Sahifadan tashqari ulagich Boshqa sahifada boʻlganda foydalanish uchun etiketli ulagich.

Boshqa belgilarTahrirlash

ANSI/ISO standartlari asosiy shakllardan tashqari quyidagi belgilarni oʻz ichiga oladi. Ayrimlari:[17]

Shakl Nomi Tavsif
  Maʼlumotlar fayli yoki maʼlumotlar bazasi Disk qurilmasini bildiruvchi silindr bilan ifodalangan maʼlumotlar.
  Hujjat Toʻlqinsimon asosli toʻrtburchak shaklida taqdim etilgan yagona hujjatlar.
  Bir nechta hujjatlar toʻlqinli asosli toʻrtburchaklar toʻplami sifatida taqdim etiladi.
  Qoʻlda ishlanadigan opsiyalar Tepasida eng uzun parallel tomoni boʻlgan trapezoid bilan ifodalanadi, faqat qoʻlda bajarilishi mumkin boʻlgan operatsiya yoki jarayonni sozlash uchun.
  Qoʻlda kiritish opsiyalari To'rtburchak bilan ifodalangan, tepasi klaviaturaning yon koʻrinishi kabi chapdan oʻngga tartibsiz qiyshaygan.
  Tayyorlash yoki ishga tushirish Choʻzilgan oltiburchak bilan ifodalangan, dastlab kalitni oʻrnatish yoki tartibni ishga tushirish kabi qadamlar uchun ishlatilgan.

Parallel jarayonlarTahrirlash

  • Parallel rejim bir vaqtda bajariladigan operatsiyalar boshida yoki oxirida ikkita gorizontal chiziq bilan ifodalanadi.

Parallel va bir vaqtda ishlov berish uchun Parallel rejim gorizontal chiziqlari[18] yoki gorizontal chiziq mustaqil ravishda bajarilishi mumkin boʻlgan jarayonlar boʻlimining boshlanishi yoki oxirini koʻrsatadi:

  • Vilkada jarayon bir yoki bir nechta qoʻshimcha jarayonlarni yaratadi, ular bitta kiruvchi va ikki yoki undan ortiq chiqish yoʻllari boʻlgan chiziq bilan koʻrsatilgan.
  • Birlashtirishda ikki yoki undan ortiq jarayonlar bir nechta kiruvchi va bitta chiqish yoʻli boʻlgan chiziq bilan koʻrsatilgan yagona jarayon sifatida davom etadi. Yagona jarayon davom etgunga qadar barcha jarayonlar yakunlanishi kerak.

Dasturiy taʼminotTahrirlash

Diagramma tuzishTahrirlash

 
Flowgoritm

Har qanday chizma dasturidan oqim diagrammalarini yaratish uchun foydalanish mumkin, ammo ularda maʼlumotlar bazalari yoki loyihalarni boshqarish tizimlari yoki elektron jadval kabi boshqa dasturlar bilan maʼlumotlarni almashish uchun asosiy maʼlumotlar modeli boʻlmaydi. Toʻgʻridan-toʻgʻri dasturlash tilining manba kodidan yoki oqim sxemasini tavsiflash tilidan avtomatik ravishda oqim diagrammalarini yaratishi mumkin boʻlgan koʻplab dasturiy paketlar mavjud.

Bir nechta ilovalar va vizual dasturlash tillari mavjud boʻlib, ularda dasturlarni koʻrsatish va bajarish uchun sxemalar ishlatiladi. Odatda, ular boshlangʻich talabalar uchun oʻqitish vositalari sifatida ishlatiladi. Masalan: Flowgorithm, Raptor, LARP, Visual Logic, Fischertechnik ROBO Pro va VisiRule.[19]

ManbalarTahrirlash

  1. http://pascal.computer.org/sev_display/index.action
  2. https://web.archive.org/web/20150509222833/https://engineering.purdue.edu/IE/GilbrethLibrary/gilbrethproject/processcharts.pdf
  3. http://www.worksimp.com/articles/keynoteworkflowcanada.htm
  4. American Society of Mechanical Engineers (1947) ASME standard; operation and flow process charts. New York, 1947
  5. https://archive.org/details/calculatinginstr00doug/page/112/mode/2up?view=theater
  6. https://archive.org/details/ibmsearlycompute00bash
  7. https://archive.org/details/computerfrompasc00herm/page/266
  8. https://en.wikipedia.org/wiki/Abraham_H._Taub
  9. Bohl, Rynn: „Tools for Structured and Object-Oriented Design“, Prentice Hall, 2007.
  10. Alan B. Sterneckert (2003) Critical Incident Management https://books.google.co.uz/books?id=8z93xStbEpAC&lpg=PP126&pg=PA126&redir_esc=y#v=onepage&q&f=false
  11. Andrew Veronis (1978) Microprocessors: Design and Applications https://books.google.co.uz/books?id=GZ9QAAAAMAAJ&q=%22three+basic+types+of+flowcharts+(ie,+the+system+flowchart,+the+general+flowchart,+and+the+detailed+flowchart).%22&dq=%22three+basic+types+of+flowcharts+(ie,+the+system+flowchart,+the+general+flowchart,+and+the+detailed+flowchart).%22&as_brr=0&redir_esc=y
  12. Marilyn Bohl (1978) A Guide for Programmers. p. 65
  13. Mark A. Fryman (2001) Quality and Process Improvement. https://books.google.co.uz/books?id=M-_B7czAy0kC&pg=PA169&redir_esc=y#v=onepage&q=&f=false
  14. https://archive.org/details/discoveringcompu00shel_187
  15. https://books.google.co.uz/books?id=IisfMsdBe2IC&pg=PA32&redir_esc=y#v=onepage&q&f=false
  16. https://www.iso.org/standard/11955.html
  17. 17,0 17,1 „What do the different flowchart shapes mean?“. RFF Electronics. Qaraldi: 23-iyul 2017-yil.
  18. https://en.wikipedia.org/wiki/Special:BookSources/978-0-470-40072-2
  19. https://www.cs.cmu.edu/~bam/papers/chi86vltax.pdf

HavolalarTahrirlash