Blok-sxema

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

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.

Umumiy koʻrinish 

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ʻllanadigan 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.

Tarixi 
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. 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. 1947-yilda ASME Gilbrethning asl asaridan olingan belgilar toʻplamini "ASME standarti: Operatsiya va oqim jarayonlari diagrammasi" sifatida qabul qildi.

1949-yilda Douglas Hartree Herman Goldstine va John von Neumann kompyuter dasturlarini rejalashtirish uchun oqim sxemasini (dastlabki diagramma) ishlab chiqqanligini tushuntirdi. Uning zamonaviy hisobi IBM muhandislari  va Goldstinening shaxsiy xotiralari 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.

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ʻllanadi, 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. UML faoliyat diagrammalari va Drakon diagrammalari kabi zamonaviy usullarni oqim sxemasining kengaytmalari deb hisoblash mumkin.

Turlari 
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:

 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. Oʻsha yili Marilyn Bohl (1978) „amalda yechimlarni rejalashtirishda ikki xil oqim diagrammasi qoʻllanadi: tizim sxemalari va dastur sxemalari…“. 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ʻllanadigan turli xil oqim diagrammalaridan faqat bir nechtasi“.

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

Qurilish bloklari

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

Boshqa belgilar 
ANSI/ISO standartlari asosiy shakllardan tashqari quyidagi belgilarni oʻz ichiga oladi. Ayrimlari:

Parallel jarayonlar 
 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 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ʼminot

Diagramma tuzish 

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.

Manbalar

Havolalar 
 Blok(oqim) sxemasi texnikasi 
 Rasmiy website
 Diagramma
 Geometriya