Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

"Jedan dan u životu vjeverice" ili od modeliranja procesa do projektovanja automatiziranog sistema za obračun materijalnih sredstava "Belka-1.0" (1. dio)

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)
Ilustracija je korišćena za „Priču o caru Saltanu“ A.S. Puškina, u izdanju Dečje književnosti, Moskva, 1949, Lenjingrad, crteži K. Kuznjecova.

Kakve veze ima "vjeverica" ​​s tim?

Odmah ću objasniti kakve veze ima "vjeverica". Nakon što ste na internetu naišli na zabavne projekte za učenje UML-a na osnovu predmetne oblasti pozajmljene iz bajki (npr. ovdje [1]), također sam odlučio pripremiti sličan primjer za svoje učenike kako bi mogli za početak proučavati samo tri tipa dijagrama: dijagram aktivnosti, dijagram slučaja upotrebe i dijagram razreda. Namjerno ne prevodim nazive dijagrama na ruski kako bih izbjegao sporove o "teškoćama u prijevodu". Malo kasnije ću objasniti čemu služi. U ovom primjeru koristim Enterprise Architect framework iz australijske kompanije Sparx Systems [2] – dobar alat za razumnu cijenu. I kao dio svojih treninga koristim Modelio [3], dobar besplatni objektno orijentisan alat za dizajn koji podržava UML2.0 i BPMN standarde, bez nepotrebnih nabrajanja i zvižduka u smislu vizuelnih mogućnosti, ali sasvim dovoljan za učenje osnova jezika.

Automatizovaćemo aktivnost računovodstva materijalnih sredstava koja nastaje u ovim procesima.

...
Ostrvo u moru leži, (E1, E2)
Tuča na ostrvskim tribinama (E3, E1)
Sa crkvama sa zlatnim kupolama, (E4)
Sa kulama i vrtovima; (E5, E6)
Ispred palate raste smreka, (E7, E8)
A ispod nje je kristalna kuća; (E9)
Tamo živi vjeverica, pitoma, (A1)
Da, kakav zabavljač! (A1)
Vjeverica pjeva pjesme, (P1, A1)
Da, on grize sve orahe, (P2)
A orasi nisu jednostavni, (C1)
Sve školjke su zlatne, (C2)
Jezgra čisti smaragd; (C3)
Sluge čuvaju vjevericu, (P3, A2)
Služite joj kao sluge raznih vrsta (P4)
I određen je službenik (A3)
Strogo računanje vijesti o orašastim plodovima; (P5, C1)
Odaje čast svojoj vojsci; (P6, A4)
Iz školjki se sipa novčić (P7, C2, C4)
Pustite ih da plutaju oko svijeta; (P8)
Djevojke bacaju smaragd (P9, A5, C3)
U ostavama, ali ispod čamca; (E10, E11)
...
(A.S. Puškin „Priča o caru Saltanu, o njegovom slavnom i moćnom heroju princu Gvidonu Saltanoviču i prelepoj princezi Labud”, rad na bajci počeo je navodno 1822. godine, a bajku je prvi put objavio Puškin u zbirci „Pesme A. Puškina“ (III deo, 1832, str. 130-181); — Usput, 10 godina od ideje do objavljivanja!)

Malo o kodovima koji su napisani desno od redova. „A“ (od „glumac“) znači da red sadrži informacije o učesniku u procesu. “C” (od “Class”) – informacije o objektima klase koji se obrađuju tokom izvršavanja procesa. “E” (od “Environment”) – informacije o objektima klase koji karakteriziraju okruženje za izvršavanje procesa. “P” (od “Proces”) – informacije o samim procesima.

Inače, i tačna definicija procesa tvrdi da je uzrok metodoloških sporova, makar i zbog činjenice da postoje različiti procesi: poslovni, proizvodni, tehnološki itd. i tako dalje. (možete saznati npr. ovdje [4] i ovdje [5]). Da izbjegnemo kontroverzu, složimo se s tim Zanima nas proces sa stanovišta njegove ponovljivosti tokom vremena i potrebe za automatizacijom, tj. prenošenje izvršenja bilo kojeg dijela procesnih operacija na automatizirani sistem.

Napomene o korištenju dijagrama aktivnosti

Započnimo modeliranje našeg procesa i za to koristimo dijagram aktivnosti. Prvo, dozvolite mi da objasnim kako će se gornji kodovi koristiti u modelu. Lakše je objasniti grafičkim primjerom, ali ćemo u isto vrijeme analizirati neke (skoro sve one koje su nam potrebne) elemente dijagrama aktivnosti.
Analizirajmo sljedeći fragment:

...
Vjeverica pjeva pjesme, (P1, A1)
Da, on grize sve orahe, (P2)
A orasi nisu jednostavni, (C1)
Sve školjke su zlatne, (C2)
Jezgra čisti smaragd; (C3)
...

Imamo dva koraka procesa P1 i P2, učesnika A1 i objekte tri različite klase: objekat klase C1 je ulaz u korak, objekti klasa C2 i C3 izlaze kao rezultat aktivnosti ovog koraka P2 našeg proces. Za dijagram koristimo sljedeće elemente modeliranja.

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Fragment našeg procesa može se predstaviti otprilike ovako (slika 1).

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Slika 1. Fragment dijagrama aktivnosti

Za organizaciju prostora i strukturiranje dijagrama aktivnosti koristićemo nestandardni pristup, sa stanovišta klasične upotrebe UML notacije. Ali postoji nekoliko razloga za to. Prvo, neposredno prije početka modeliranja sastavit ćemo tzv sporazum o modeliranju, u kojem bilježimo sve karakteristike korištenja notacije. Drugo, ovaj pristup je više puta uspješno primijenjen u fazi poslovnog modeliranja u stvarnim projektima za kreiranje softverskih sistema, rezultate je naš mali tim autora bilježio u odgovarajući objekt autorskih prava [6], a korišteni su i u priručniku za obuku [; 7]. Za dijagram aktivnosti, definiramo da je polje dijagrama strukturirano korištenjem “swim lanes”. Naziv staze će odgovarati tipu elemenata grafikona koji će biti postavljeni na tu stazu.

"Ulazni i izlazni artefakti": Ova staza će sadržavati elemente Objects - objekte koji se koriste ili su rezultat izvršavanja nekog koraka procesa.
"Koraci procesa": Ovdje ćemo postaviti elemente aktivnosti – radnje učesnika procesa.
"Učesnici": put za elemente koji će označavati uloge izvođača radnji u našem procesu za njih ćemo koristiti isti modelski element Objekat - objekat, ali ćemo mu dodati stereotip "Actor".
Sljedeća pjesma se zove "Poslovna pravila" a na ovoj traci ćemo u tekstualnom obliku postaviti pravila za izvršavanje koraka procesa, a za to ćemo koristiti element modeliranja Note - napomena.
Ovdje ćemo stati, iako bismo mogli koristiti i stazu "Alati" za prikupljanje informacija o nivou automatizacije procesa. Put bi takođe mogao dobro doći "Pozicije i podjele učesnika", može se koristiti za povezivanje uloga sa pozicijama i odjelima učesnika procesa.

Sve što sam upravo opisao je fragment konvencije modeliranja, ovaj dio sporazuma tiče se pravila organizovanja jednog dijagrama i, shodno tome, pravila njegovog pisanja i čitanja.

"recept"

Sada razmotrimo opciju konkretnog modeliranja sistema sa dijagrama aktivnosti. Ovo je samo jedna od opcija, napominjem da, naravno, nije jedina. Dijagram aktivnosti će nas zanimati sa stanovišta njegove uloge u prelasku sa modeliranja procesa na projektovanje automatizovanog sistema. Da bismo to učinili, pridržavat ćemo se metodoloških preporuka - svojevrsnog recepta koji se sastoji od samo pet faza i koji predviđa razvoj samo tri vrste dijagrama. Korištenje ovog recepta će nam pomoći da dobijemo formalizirani opis procesa koji želimo automatizirati i prikupiti podatke za dizajn sistema. A za studente na početku studiranja UML-a, ovo je svojevrsni spas koji im neće dozvoliti da se udave u svu raznolikost vizualnih sredstava i tehnika koje se nalaze u UML-u i modernim alatima za modeliranje.

Evo, zapravo, samog recepta, a zatim slijedite dijagrame napravljene za našu „bajkovitu“ predmetnu oblast.

Faza 1. Proces opisujemo u obliku dijagrama aktivnosti. Za proces sa više od 10 koraka, ima smisla primijeniti princip dekompozicije koraka procesa kako bi se poboljšala čitljivost dijagrama.

Faza 2. Odaberite šta se može automatizirati (koraci mogu biti istaknuti na dijagramu, na primjer).

Faza 3. Automatiziranom koraku mora biti dodijeljena funkcija ili funkcije sistema (odnos može biti mnogo-prema-više), nacrtajte dijagram slučaja upotrebe. To su funkcije našeg sistema.

Faza 4. Hajde da opišemo unutrašnju organizaciju AS pomoću dijagrama klasa - Klasa. "Ulazni i izlazni objekti (Dokumenti)" u dijagramu aktivnosti je osnova za izgradnju modela objekta i modela entitet-odnos.

Faza 5. Analizirajmo bilješke na stazi "Poslovna pravila"., pružaju razne vrste ograničenja i uslova, koji se postepeno pretvaraju u nefunkcionalne zahtjeve.
Rezultirajući skup dijagrama (Activity, Use-case, Class) daje nam formalizirani opis u prilično striktnoj notaciji, tj. ima nedvosmisleno čitanje. Sada možete razviti tehničke specifikacije, pojasniti specifikacije zahtjeva itd.

Počnimo sa modeliranjem.

Faza 1. Opišite proces u obliku dijagrama aktivnosti

Dozvolite mi da vas podsjetim da smo strukturirali polje dijagrama koristeći "plivajuće" trake, svaka traka sadrži elemente istog tipa (slika 2). Pored gore opisanih elemenata dijagrama, koristit ćemo dodatne elemente, hajde da ih opišemo.

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Odluka (Decision) označava tačku grananja našeg procesa na dijagramu, a spajanje niti (Merge) – tačku njihovog ponovnog ujedinjenja. Prijelazni uvjeti su napisani u uglastim zagradama na prijelazima.

Između dva sinhronizatora (Fork) prikazaćemo paralelne grane procesa.
Naš proces može imati samo jedan početak - jednu ulaznu tačku (Inicijal). Ali može biti nekoliko završetaka (konačnih), ali ne za naš specifični dijagram.

Ima dosta strelica s velikim brojem elemenata i veza, prvo možete identificirati faze procesa, a zatim izvršiti dekompoziciju ovih faza. Ali radi jasnoće, želio bih prikazati naš "bajkoviti" proces u potpunosti na jednom dijagramu, dok, naravno, moramo osigurati da se strelice "ne drže zajedno", bilo bi moguće precizno pratiti šta je povezano na šta.

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Slika 2. Dijagram aktivnosti – opšti prikaz procesa

Jer u poetskim redovima neki detalji procesa su izostavljeni, morali su biti restaurirani, prikazani su elementima sa bijelom pozadinom. Ovi detalji uključuju korak Transfer/Prijem za skladištenje i obradu i nekoliko ulaznih i izlaznih artefakata. Vrijedi napomenuti da ovaj korak također ne otkriva u potpunosti proces, jer morali bismo posebno označiti korak prijenosa i korak prijema, pa čak i dodati poseban korak za granate, a isto tako misliti da prvo sve te materijalne vrijednosti treba negdje privremeno pohraniti itd. i tako dalje.
Napomenimo i to da pitanje porijekla orašastih plodova ostaje neodgovoreno - odakle dolaze i kako dolaze do vjeverice? I ovo pitanje (naglašeno je crvenim fontom u bilješci - element Note) zahtijeva posebnu studiju! Ovako radi analitičar - prikuplja informacije malo po malo, pravi pretpostavke i dobija "u redu" ili "ne-okej" od stručnjaka za predmet - veoma važnih i jednostavno nezamenljivih ljudi u fazi poslovnog modeliranja prilikom kreiranja sistema.

Imajte na umu da se procesni korak P5 sastoji od dva dijela.

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

A mi ćemo svaki dio razložiti i detaljnije ga razmotriti (slika 3, slika 4), jer aktivnosti koje se obavljaju u okviru ovih konkretnih koraka biće automatizovane.

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Slika 3. Dijagram aktivnosti - detalji (1. dio)

Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Slika 4. Dijagram aktivnosti - detalji (2. dio)

Faza 2. Odaberite šta se može automatizirati

Koraci koje treba automatizirati su označeni bojom na dijagramima (vidi sliku 3, sliku 4).
Od modeliranja procesa do automatiziranog dizajna sistema (1. dio)

Sve ih izvodi jedan učesnik u procesu - referent:

  • Unosi informacije o težini matice u izjavu;
  • Unosi informacije o prijenosu matice u izvod;
  • Bilježi činjenicu transformacije oraha u ljusku i jezgro;
  • Unosi informacije o jezgri oraha u izraz;
  • Unosi informacije o ljusci oraha u listu.

Analiza obavljenog posla. Šta je sledeće?

Dakle, uradili smo dosta pripremnih radova: prikupili smo informacije o procesu koji ćemo automatizovati; počeo formirati sporazum o modeliranju (do sada samo u smislu korištenja Dijagrama aktivnosti); izvršio simulaciju procesa i čak razložio nekoliko njegovih koraka; Identificirali smo procesne korake koje ćemo automatizirati. Sada smo spremni da pređemo na sledeće korake i započnemo projektovanje funkcionalnosti i interne organizacije sistema.

Kao što znate, teorija bez prakse nije ništa. Svakako biste trebali pokušati "modelirati" vlastitim rukama, ovo je također korisno za razumijevanje predloženog pristupa. Na primjer, možete raditi u okruženju za modeliranje Modelio [3]. Razložili smo samo dio koraka cjelokupnog dijagrama procesa (vidi sliku 2). Kao praktičan zadatak, od vas može biti zatraženo da ponovite sve dijagrame u okruženju Modelio i izvršite dekompoziciju koraka „Prenos/Prijem za skladištenje i obradu“.
Još ne razmišljamo o radu u specifičnim okruženjima za modeliranje, ali to može postati predmet nezavisnih članaka i recenzija.

U drugom dijelu članka analizirat ćemo tehnike modeliranja i dizajna potrebne u fazama 3-5, koristit ćemo UML Use-case i Class dijagrame. Nastavlja se.

Spisak izvora

  1. Sajt "UML2.ru". Forum zajednice analitičara. Opšti deo. Primjeri. Primjeri bajki u obliku UML dijagrama. [Elektronski izvor] Način pristupa: Internet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Web stranica Sparx Systems. [Elektronski izvor] Način pristupa: Internet: https://sparxsystems.com
  3. Web stranica Modelio. [Elektronski izvor] Način pristupa: Internet: https://www.modelio.org
  4. Veliki enciklopedijski rječnik. Proces (tumačenje). [Elektronski izvor] Način pristupa: Internet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Web stranica "Organizacija efektivnog upravljanja". Blog. Naslov "Upravljanje poslovnim procesima". Definicija poslovnog procesa. [Elektronski izvor] Način pristupa: Internet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Potvrda br. 18249 o registraciji i deponovanju proizvoda rezultata intelektualne aktivnosti. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Rukopis nastavnog sredstva pod nazivom "Modeliranje predmetnog područja korištenjem Enterprise Architect" // 2011.
  7. Zolotukhina E.B., Vishnya A.S., Krasnikova S.A. Modeliranje poslovnih procesa. - M .: KURS, NITs INFRA-M, EBS Znanium.com. — 2017.

izvor: www.habr.com

Dodajte komentar