Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

"Sincap hayotida bir kun" yoki jarayonni modellashtirishdan "Belka-1.0" boyliklarni hisobga olishning avtomatlashtirilgan tizimini loyihalashgacha (1-qism)

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)
A.S.Pushkinning “Tsar Saltan ertagi” uchun illyustratsiya ishlatilgan, “Bolalar adabiyoti” nashriyoti, Moskva, 1949, Leningrad, K.Kuznetsov rasmlari.

"Sincap" ning bunga nima aloqasi bor?

Men darhol "sincap" ning bunga nima aloqasi borligini tushuntiraman. Ertaklardan olingan mavzu bo'yicha UMLni o'rganish uchun Internetda qiziqarli loyihalarga duch kelganingizda (masalan, shu yerda [1]), men ham o'quvchilarim uchun faqat uchta turdagi diagrammalarni o'rganishlari uchun shunga o'xshash misol tayyorlashga qaror qildim: Faoliyat diagrammasi, Foydalanish diagrammasi va sinf diagrammasi. "Tarjimadagi qiyinchiliklar" haqida tortishuvlarga yo'l qo'ymaslik uchun diagrammalarning nomlarini ataylab rus tiliga tarjima qilmayman. Bu nima uchun ekanligini biroz keyinroq tushuntiraman. Ushbu misolda men Avstraliya kompaniyasining Enterprise Architect ramkasidan foydalanmoqdaman Sparx tizimlari [2] - o'rtacha narx uchun yaxshi vosita. Va mashg'ulotlarimning bir qismi sifatida men foydalanaman Modeli [3], UML2.0 va BPMN standartlarini qo'llab-quvvatlaydigan yaxshi bepul ob'ektga yo'naltirilgan dizayn vositasi, vizual imkoniyatlar nuqtai nazaridan keraksiz qo'ng'iroqlar va hushtaklarsiz, lekin til asoslarini o'rganish uchun etarli.

Biz ushbu jarayonlarda yuzaga keladigan moddiy boyliklarni hisobga olish faoliyatini avtomatlashtirmoqchimiz.

...
Orol dengizda joylashgan, (E1, E2)
Orolda do'l bor (E3, E1)
Oltin gumbazli cherkovlar bilan (E4)
Minoralar va bog'lar bilan; (E5, E6)
Saroy oldida archa o'sadi, (E7, E8)
Uning ostida esa billur uy bor; (E9)
U erda uyatchan sincap yashaydi, (A1)
Ha, qanday sarguzasht! (A1)
Sincap qo'shiqlar kuylaydi, (P1, A1)
Ha, u yong'oqlarni tishlayapti, (P2)
Lekin yong'oq oddiy emas, (C1)
Barcha qobiqlar oltin, (C2)
Yadrosi sof zumraddan; (C3)
Xizmatchilar sincapni qo'riqlashadi, (P3, A2)
Ular unga turli xizmatchilar sifatida xizmat qilishadi (P4)
Va kotib tayinlandi (A3)
Yong'oqning qattiq hisobi - bu yangilik; (P5, C1)
Armiya unga salom beradi; (P6, A4)
Chig'anoqlardan tanga quyiladi, (P7, C2, C4)
Ularga dunyo bo'ylab borishlariga ruxsat bering; (P8)
Qizlar zumraddan quyadilar (P9, A5, C3)
Omborxonalarga va qopqoq ostida; (E10, E11)
...
(A.S. Pushkin "Tsar Saltan, uning ulug'vor va qudratli qahramoni knyaz Gidon Saltanovich va go'zal malika oqqush haqidagi ertak", ertak ustida ish 1822 yilda boshlangan, ertak birinchi marta Pushkin tomonidan "A. Pushkin she'rlari" to'plamida nashr etilgan (III qism, 1832, 130-181-betlar). — Aytgancha, kontseptsiyadan nashrga qadar 10 yil!)

Satrlarning o'ng tomonida yozilgan kodlar haqida bir oz. "A" ("Aktyor" dan) chiziqda jarayon ishtirokchisi haqida ma'lumot borligini anglatadi. "C" ("Sinf" dan) - jarayonlarni bajarish jarayonida qayta ishlanadigan sinf ob'ektlari haqida ma'lumot. "E" ("Atrof-muhit" dan) - jarayonlarni bajarish muhitini tavsiflovchi sinf ob'ektlari haqida ma'lumot. "P" ("Jarayon" dan) - jarayonlarning o'zlari haqida ma'lumot.

Aytgancha, jarayonning aniq ta'rifi, agar faqat turli xil jarayonlar mavjud bo'lsa: biznes, ishlab chiqarish, texnologik va boshqalar bo'lsa, uslubiy nizolarning sababi bo'lishini da'vo qiladi. va h.k. (masalan, bilib olishingiz mumkin, shu yerda [4] va shu yerda [5]). Qarama-qarshiliklarga yo'l qo'ymaslik uchun keling, bunga rozi bo'laylik Biz jarayonni vaqt o'tishi bilan takrorlanishi va avtomatlashtirish zarurati nuqtai nazaridan qiziqtiramiz, ya'ni. jarayon operatsiyalarining istalgan qismini bajarilishini avtomatlashtirilgan tizimga o'tkazish.

Faoliyat diagrammasidan foydalanish bo'yicha eslatmalar

Keling, jarayonimizni modellashtirishni boshlaymiz va buning uchun Faoliyat diagrammasidan foydalanamiz. Birinchidan, yuqoridagi kodlar modelda qanday ishlatilishini tushuntirib beraman. Grafik misol bilan tushuntirish osonroq, lekin ayni paytda biz Faoliyat diagrammasining ba'zi (deyarli barcha kerakli) elementlarini tahlil qilamiz.
Keling, quyidagi parchani tahlil qilaylik:

...
Sincap qo'shiqlar kuylaydi, (P1, A1)
Ha, u yong'oqlarni tishlayapti, (P2)
Lekin yong'oq oddiy emas, (C1)
Barcha qobiqlar oltin, (C2)
Yadrosi sof zumraddan; (C3)
...

Bizda ikkita jarayon bosqichlari P1 va P2, ishtirokchi A1 va uchta turli sinf ob'ektlari mavjud: C1 sinf ob'ekti bosqichga kiritiladi, C2 va C3 sinflari ob'ektlari ushbu P2 bosqichining faoliyati natijasida chiqariladi. jarayon. Diagramma uchun biz quyidagi modellash elementlaridan foydalanamiz.

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Bizning jarayonimizning bir qismi shunga o'xshash tarzda ifodalanishi mumkin (1-rasm).

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Shakl 1. Faoliyat diagrammasi fragmenti

Faoliyat diagrammasi bo'shliqni tashkil qilish va tuzilish uchun biz UML yozuvidan klassik foydalanish nuqtai nazaridan nostandart yondashuvdan foydalanamiz. Ammo buning bir qancha sabablari bor. Birinchidan, modellashtirishni boshlashdan oldin biz so'zlarni tuzamiz modellashtirish shartnomasi, unda biz yozuvni ishlatishning barcha xususiyatlarini yozamiz. Ikkinchidan, ushbu yondashuv dasturiy ta'minot tizimlarini yaratish uchun real loyihalarda biznesni modellashtirish bosqichida qayta-qayta muvaffaqiyatli qo'llanilgan; natijalar bizning kichik mualliflar jamoasi tomonidan tegishli mualliflik huquqi ob'ektida [6] qayd etilgan va o'quv qo'llanmasida ham foydalanilgan. 7]. Faoliyat diagrammasi uchun biz diagramma maydoni "suzish yo'laklari" yordamida tuzilganligini aniqlaymiz. Trek nomi ushbu trekka joylashtiriladigan diagramma elementlarining turiga mos keladi.

"Kirish va chiqish artefaktlari": Bu trekda Ob'ektlar elementlari bo'ladi - foydalanilgan yoki ba'zi bir jarayon bosqichini bajarish natijasi bo'lgan ob'ektlar.
"Jarayon bosqichlari": Bu erda biz Faoliyat elementlarini - jarayon ishtirokchilarining harakatlarini joylashtiramiz.
"Ishtirokchilar": bizning jarayonimizdagi harakat ijrochilarining rollarini bildiradigan elementlar uchun yo'l; ular uchun biz bir xil modellash elementi Ob'ekt - ob'ektdan foydalanamiz, lekin biz unga "Aktyor" stereotipini qo'shamiz.
Keyingi trek chaqiriladi "Biznes qoidalari" va bu trekka jarayonning bosqichlarini bajarish qoidalarini matn shaklida joylashtiramiz va buning uchun biz Eslatma - eslatma modellash elementidan foydalanamiz.
Biz bu erda to'xtab qolamiz, garchi biz ham yo'ldan foydalanishimiz mumkin edi "Asboblar" jarayonlarni avtomatlashtirish darajasi haqida ma'lumot to'plash. Yo'l ham foydali bo'lishi mumkin "Ishtirokchilarning pozitsiyalari va bo'linmalari", u rollarni jarayon ishtirokchilarining pozitsiyalari va bo'limlari bilan bog'lash uchun ishlatilishi mumkin.

Men ta'riflagan hamma narsa parcha modellashtirish konventsiyalari, shartnomaning ushbu qismi bitta diagrammani tashkil qilish qoidalariga va shunga mos ravishda uni yozish va o'qish qoidalariga tegishli.

"Retsept"

Endi tizimni maxsus modellashtirish variantini ko'rib chiqaylik Faoliyat diagrammasidan. Bu variantlardan biri, shuni ta'kidlaymanki, bu, albatta, yagona emas. Faoliyat diagrammasi bizni jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashga o'tishdagi roli nuqtai nazaridan qiziqtiradi. Buning uchun biz uslubiy tavsiyalarga amal qilamiz - faqat besh bosqichdan iborat va faqat uchta turdagi diagrammalarni ishlab chiqishni ta'minlaydigan retsept turi. Ushbu retseptdan foydalanish bizga tizimni loyihalash uchun avtomatlashtirish va ma'lumotlarni to'plashni xohlagan jarayonning rasmiy tavsifini olishga yordam beradi. UMLni o'rganishni boshlagan talabalar uchun bu hayotni saqlovchining bir turi bo'lib, ular UML va zamonaviy modellashtirish vositalarida mavjud bo'lgan turli xil vizual vositalar va usullarga g'arq bo'lishga imkon bermaydi.

Bu erda, aslida, retseptning o'zi, so'ngra bizning "ertak" mavzuimiz uchun qurilgan diagrammalarga amal qiling.

Bosqich 1. Jarayonni Faoliyat diagrammasi shaklida tasvirlaymiz. 10 dan ortiq bosqichli jarayon uchun diagrammaning o'qilishini yaxshilash uchun jarayon bosqichining dekompozitsiyasi printsipini qo'llash mantiqan to'g'ri keladi.

2-bosqich. Avtomatlashtirish mumkin bo'lgan narsani tanlang (qadamlar, masalan, diagrammada ta'kidlanishi mumkin).

Bosqich 3. Avtomatlashtirilgan bosqich tizimning funktsiyasi yoki funktsiyalari bilan bog'liq bo'lishi kerak (munosabat ko‘p-ko‘p bo‘lishi mumkin), Use-case diagrammasini chizing. Bu bizning tizimimizning funktsiyalari.

4-bosqich. Klass diagrammasi yordamida ASning ichki tashkil etilishini tasvirlaymiz - Sinf. Faoliyat diagrammasidagi "Kirish va chiqish ob'ektlari (hujjatlar)" suzish yo'li ob'ekt modeli va ob'ekt munosabatlari modelini qurish uchun asosdir.

5-bosqich. "Biznes qoidalari" trekidagi eslatmalarni tahlil qilaylik, ular turli xil cheklovlar va shartlarni taqdim etadi, ular asta-sekin funktsional bo'lmagan talablarga aylanadi.
Olingan diagrammalar to'plami (Activity, Use-case, Class) bizga nisbatan qat'iy belgilarda rasmiylashtirilgan tavsifni beradi, ya'ni. aniq o'qishga ega. Endi siz texnik xususiyatlarni ishlab chiqishingiz, talablarning spetsifikatsiyalarini aniqlashtirishingiz va hokazo.

Keling, modellashtirishni boshlaylik.

1-bosqich. Jarayonni Faoliyat diagrammasi shaklida tasvirlab bering

Eslatib o'taman, biz diagramma maydonini "suzish" yo'llari yordamida tuzdik, har bir bo'lakda bir xil turdagi elementlar mavjud (2-rasm). Yuqorida tavsiflangan diagramma elementlariga qo'shimcha ravishda biz qo'shimcha elementlardan foydalanamiz, ularni tavsiflaymiz.

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Qaror (Qaror) diagrammadagi jarayonimizning tarmoqlanish nuqtasini va birlashtiruvchi iplarni (Birlashtirish) - ularni birlashtirish nuqtasini bildiradi. O'tish shartlari o'tishda kvadrat qavs ichida yoziladi.

Ikki sinxronizator (Fork) o'rtasida biz parallel jarayon shoxlarini ko'rsatamiz.
Bizning jarayonimiz faqat bitta boshlanishga ega bo'lishi mumkin - bitta kirish nuqtasi (Boshlang'ich). Ammo bir nechta tugallanishlar bo'lishi mumkin (Yakuniy), lekin bizning maxsus diagrammamiz uchun emas.

O'qlar juda ko'p, ko'p sonli elementlar va ulanishlar bilan siz avval jarayonning bosqichlarini aniqlab olishingiz, so'ngra ushbu bosqichlarning parchalanishini amalga oshirishingiz mumkin. Ammo aniqlik uchun men "ertak" jarayonimizni butunlay bitta diagrammada ko'rsatmoqchiman, shu bilan birga, albatta, biz o'qlarning "bir-biriga yopishmasligini" ta'minlashimiz kerak, nima bog'langanligini aniq kuzatish mumkin edi. nimaga.

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Shakl 2. Faoliyat diagrammasi - jarayonning umumiy ko'rinishi

Chunki she’riy satrlarda jarayonning ba’zi tafsilotlari tushirib qoldirilgan, ularni qayta tiklashga to‘g‘ri kelgan, ular oq fonli elementlar bilan ko‘rsatilgan. Ushbu tafsilotlarga saqlash va qayta ishlash uchun uzatish/qabul qilish bosqichi va bir nechta kirish va chiqish artefaktlari kiradi. Shuni ta'kidlash kerakki, bu qadam ham jarayonni to'liq ochib bermaydi, chunki Biz uzatish bosqichini va qabul qilish bosqichini alohida belgilashimiz va hatto qobiqlar uchun alohida qadam qo'shishimiz kerak, shuningdek, birinchi navbatda bu barcha moddiy qadriyatlar vaqtincha biron joyda saqlanishi kerak va hokazo. va h.k.
Shuni ham ta'kidlaymizki, yong'oqning kelib chiqishi haqidagi savol javobsiz qolmoqda - ular qayerdan keladi va ular sincapga qanday etib boradilar? Va bu savol (u eslatmada qizil shrift bilan ta'kidlangan - Eslatma elementi) alohida o'rganishni talab qiladi! Analitik shunday ishlaydi - asta-sekin ma'lumot to'playdi, taxminlar qiladi va mavzu bo'yicha mutaxassislardan "yaxshi" yoki "yo'q" ni oladi - tizimlarni yaratishda biznesni modellashtirish bosqichida juda muhim va shunchaki almashtirib bo'lmaydigan odamlar.

Shuni ham yodda tutingki, P5 jarayon bosqichi ikki qismdan iborat.

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Va biz har bir qismni ajratamiz va uni batafsilroq ko'rib chiqamiz (3-rasm, 4-rasm), chunki ushbu aniq bosqichlar doirasida amalga oshiriladigan harakatlar avtomatlashtiriladi.

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Shakl 3. Faoliyat diagrammasi - detallashtirish (1-qism)

Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Shakl 4. Faoliyat diagrammasi - detallashtirish (2-qism)

2-bosqich. Avtomatlashtirish mumkin bo'lgan narsani tanlang

Avtomatlashtiriladigan bosqichlar diagrammalarda rang bilan ta'kidlangan (3-rasm, 4-rasmga qarang).
Jarayonni modellashtirishdan avtomatlashtirilgan tizimni loyihalashgacha (1-qism)

Ularning barchasi jarayonning bir ishtirokchisi - kotib tomonidan amalga oshiriladi:

  • Yong'oqning og'irligi haqidagi ma'lumotlarni bayonotga kiritadi;
  • Yong'oqni o'tkazish to'g'risidagi ma'lumotlarni bayonnomaga kiritadi;
  • Yong'oqning qobiq va yadroga aylanishi faktini qayd etadi;
  • Yong'oq yadrosi haqidagi ma'lumotlarni bayonotga kiritadi;
  • Ro'yxatga yong'oq qobig'i haqidagi ma'lumotlarni kiritadi.

Bajarilgan ishlarni tahlil qilish. Keyin nima?

Shunday qilib, biz juda ko'p tayyorgarlik ishlarini bajardik: biz avtomatlashtirmoqchi bo'lgan jarayon haqida ma'lumot to'pladik; modellashtirish bo'yicha kelishuvni shakllantirishga kirishdi (hozircha faqat Faoliyat diagrammasidan foydalanish nuqtai nazaridan); jarayonning simulyatsiyasini amalga oshirdi va hatto uning bir necha bosqichlarini parchaladi; Biz avtomatlashtiradigan jarayon bosqichlarini aniqladik. Endi biz keyingi bosqichlarga o'tishga tayyormiz va tizimning funksionalligi va ichki tuzilishini loyihalashni boshlaymiz.

Ma'lumki, amaliyotsiz nazariya hech narsa emas. Siz, albatta, o'z qo'llaringiz bilan "modellashni" sinab ko'rishingiz kerak, bu taklif qilingan yondashuvni tushunish uchun ham foydalidir. Misol uchun, siz modellashtirish muhitida ishlashingiz mumkin Modeli [3]. Biz umumiy jarayon diagrammasi bosqichlarining faqat bir qismini ajratdik (2-rasmga qarang). Amaliy vazifa sifatida sizdan Modelio muhitidagi barcha diagrammalarni takrorlashingiz va "Saqlash va qayta ishlash uchun uzatish/qabul qilish" bosqichining parchalanishini bajarishingiz so'ralishi mumkin.
Biz hali aniq modellashtirish muhitida ishlashni ko'rib chiqmayapmiz, ammo bu mustaqil maqolalar va sharhlar mavzusiga aylanishi mumkin.

Maqolaning ikkinchi qismida biz 3-5 bosqichlarda zarur bo'lgan modellashtirish va dizayn texnikasini tahlil qilamiz, UML Use-case va Class diagrammalaridan foydalanamiz. Davomi bor.

Manbalar ro'yxati

  1. "UML2.ru" veb-sayti. Tahlilchilar hamjamiyat forumi. Umumiy bo'lim. Misollar. UML diagrammasi sifatida formatlangan ertaklarga misollar. [Elektron resurs] Kirish rejimi: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sparx Systems veb-sayti. [Elektron resurs] Kirish rejimi: Internet: https://sparxsystems.com
  3. Modelio veb-sayti. [Elektron resurs] Kirish rejimi: Internet: https://www.modelio.org
  4. Katta ensiklopedik lug'at. Jarayon (tarjima). [Elektron resurs] Kirish rejimi: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. "Samarali boshqaruvni tashkil etish" veb-sayti. Blog. "Biznes jarayonlarini boshqarish" toifasi. Biznes jarayonining ta'rifi. [Elektron resurs] Kirish rejimi: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Intellektual faoliyat asarini ro'yxatdan o'tkazish va saqlash to'g'risidagi 18249-sonli guvohnoma. Alfimov R.V., Zolotuxina E.B., Krasnikova S.A. "Enterprise Architect yordamida fan sohasini modellashtirish" nomli o'quv qo'llanmaning qo'lyozmasi // 2011 yil.
  7. Zolotuxina E.B., Vishnya A.S., Krasnikova S.A. Biznes jarayonlarini modellashtirish. - M.: KURS, SIC INFRA-M, EBS Znanium.com. - 2017 yil.

Manba: www.habr.com

a Izoh qo'shish