âĂks pĂ€ev orava elustâ vĂ”i kuidas simuleerida protsesse automatiseeritud materjalide arvestussĂŒsteemi âOrav-1.0â projekteerimist (1. osa)

Mis pistmist on âoravaâ?
Selgitan kohe, mis pistmist on âoravaâga. Leides Internetis naljakas projekte, et Ă”ppida UML-i, tuginedes muinasjuttude temaatikale (nĂ€iteks, [1]), otsustasin ka oma ĂŒliĂ”pilastele ette valmistada sarnase nĂ€ite, et saaksime alguses Ă”ppida kolme tĂŒĂŒpi diagramme: tegevusdiagramm, kasutusjuhtdiagramm ja klassidiagramm. Ei tĂ”lgi diagrammide nimesid vene keelde, et vĂ€ltida âtĂ”lkekeerukuseâ vaidlusi. Selgitan, milleks need on, veidi hiljem. KĂ€esolevas nĂ€ites kasutan Austraalia ettevĂ”tte [2] â hea tööriist mĂ”istliku hinna eest. Ja Ă”ppetunde lĂ€biviimiseks kasutan [3], hea tasuta objektorienteeritud projekteerimise vahend, mis toetab UML2.0 ja BPMN standardeid, ilma liigsete joonistamisvĂ”imalustega, kuid tĂ€iesti piisav keele aluste Ă”ppimiseks.
Kavatseme automatiseerida materiaalse vara arvestusprotsess, mis ilmneb just nendes protsessides.
âŠ
Saare peal asub, (E1, E2)
Linn saare peal seisab (E3, E1)
Kuldpruunide kirikutega, (E4)
Tornide ja aedadega; (E5, E6)
Kuusk kasvab palee ees, (E7, E8)
Ja selle all on kristallmaja; (E9)
Orav elab seal, (A1)
Ja mis mÔnus olend! (A1)
Orav laulab laule, (P1, A1)
Ja pÀhkleid pidevalt nÀksib, (P2)
Kuid pÀhklid ei ole tavalised, (C1)
KÔik kestad on kuldsed, (C2)
Koidul on selge smaragd; (C3)
Teenrid valvavad oravat, (P3, A2)
Teenivad teda erinevate teenustega (P4)
Ja mÀÀratud on kohus (A3)
Range arvestus pÀhklite kohta; (P5, C1)
Austavad teda vÀejuhiga; (P6, A4)
Kestadest valatakse mĂŒnt, (P7, C2, C4)
Ja lastakse neid ringkÀiku; (P8)
TĂŒdrukud puistavad smaragdi (P9, A5, C3)
Ladu sisse, ja keldrisse; (E10, E11)
âŠ
(A.S. PuĆĄkini "Sada Sultani kuningas, tema auvÀÀrne ja vĂ”imas rikka rikka Gvidoni Saltonovi poeg ja ilus printsess Luik") â 10 aastat ideest avaldamiseni, muide!)
Natuke koodidest, mis on kirjutatud ridade paremal poole. âAâ (lĂŒhend sĂ”nast âActorâ) tĂ€hendab, et real on teavet osaleja kohta. âCâ (lĂŒhend sĂ”nast âClassâ) â teave klasside objektide kohta, mis töödeldakse protsesside kĂ€igus. âEâ (lĂŒhend sĂ”nast âEnvironmentâ) â teave klasside objektide kohta, mis iseloomustavad protsesside tĂ€itmise keskkonda. âPâ (lĂŒhend sĂ”nast âProcessâ) â teave protsesside endi kohta.
Muide, protsessi tĂ€pne mÀÀratlemine nĂ”uab ka metodoloogilist arutelu, vĂ€hemalt seetĂ”ttu, et protsessid vĂ”ivad olla erinevad: Ă€rilised, tootmis-, tehnoloogilised jne. (nĂ€iteks tutvuda saab, [4] ja [5]). Et vĂ€ltida vaidlusi, lepime kokku, et protsess huvitab meid selle korduvuse seisukohalt ajas ja vajaduse osas automatiseerimise jĂ€rele,, st mingisuguste protsessi toimingute osa teostamise ĂŒlekandmine automatiseeritud sĂŒsteemile.
Tegevusdiagrammi kasutamise mÀrkmed
Alustame meie protsessi mudeliga ja kasutame selleks tegevusdiagrammi. Esiteks selgitan, kuidas eespool nimetatud koode mudelis kasutada. Selgitamine on lihtsam visuaalse nĂ€ite abil, ja vaatame samas ĂŒle mĂ”ned (peaaegu kĂ”ik vajalikud) tegevusdiagrammi elemendid.
AnalĂŒĂŒsime jĂ€rgmist fragmenti:
âŠ
Orav laulab laule, (P1, A1)
Ja pÀhkleid pidevalt nÀksib, (P2)
Kuid pÀhklid ei ole tavalised, (C1)
KÔik kestad on kuldsed, (C2)
Koidul on selge smaragd; (C3)
âŠ
Meil on kaks protsessi P1 ja P2, osaline A1 ning kolme erineva klassi objektid: C1 klassi objekt siseneb sammu, klasside C2 ja C3 objektid saadakse vÀljundina, kui P2 sammu tegevuse tulemus. Tegevusdiagrammi jaoks kasutame jÀrgmisi modelleerimise elemente.

Meie protsessi fragmenti saab esitada umbkaudu nii (Joonis 1).

Joonis 1. Tegevusdiagrammi fragment
Tegevusdiagrammi ruumi korraldamiseks ja struktureerimiseks rakendame natuke ebatavalist lĂ€henemist, klassikalise UML sĂŒntaksiga vĂ”rreldes. Kuid sellel on mitu pĂ”hjust. Esiteks koostame enne modelleerimise algust niinimetatud modelleerimise kokkuleppe., kus me fikseerime kĂ”ik mĂ€rkuste kasutamise eripĂ€rad. Teiseks, seda lĂ€henemist on korduvalt edukalt rakendatud Ă€rimudeli loomise etapis reaalses tarkvarasĂŒsteemide arendusprojektides, mille tulemused on fikseeritud meie vĂ€ikese autorite kollektiivi vastavas autoriĂ”iguse objektis [6] ning neid on kasutatud Ă”pikuna [7]. Aktiviteedi diagrammi jaoks mÀÀrame, et diagrammi vĂ€lja struktuuri korrigeerime âujumiseâ radade abil â Swim lanes. Rada nimi vastab diagrammi elementide tĂŒĂŒbile, mis paigutatakse sellele rajale.
âSisendi ja vĂ€ljundi artefaktidâ: sellel rajal asuvad elementide Objects â objektid, mida kasutatakse vĂ”i mis on mingi protsessi sammu tĂ€itmise tulemus.
âProtsessi sammudâ: siia paigutame elemente Activity â tegevusi, milles osalejad osalevad.
âOsalejadâ: rada elementide jaoks, mis tĂ€histavad tegevuste tĂ€itjate rolle meie protsessis, nende jaoks kasutame sama mudeldamise elementi Object â objekt, kuid lisame sellele stereotĂŒĂŒbi âActorâ.
JĂ€rgmine rada nimetatakse âĂripoliitikadâ ja paneme selle rada tekstivormingus protsessi etapite tĂ€itmise reeglid ja selleks kasutame simuleerivat elementi Note â mĂ€rkus.
Siin peatume, kuigi oleks vĂ”inud kasutada ka rada âTööriistadâ protsessi automatiseerimise taseme teabe kogumiseks. VĂ”ib olla kasulik ka rada âOsaliste ametikohad ja osakonnadâ, seda saab kasutada osaliste rollide sidumiseks ametikohtade ja osakondadega.
KĂ”ik, mida just kirjeldasin, on osa modelleerimise kokkuleppest, see osa kokkuleppest kĂ€sitleb ĂŒhe ЎОагŃĐ°ĐŒĐŒĐž korraldamise reegleid ja vastavalt reegleid selle kirjutamiseks ja lugemiseks.
âRetseptâ
NĂŒĂŒd vaatame sĂŒsteemi modelleerimise varianti just Activity ЎОагŃĐ°ĐŒĐŒĐž. See on vaid ĂŒks vĂ”imalus ja tuleb mĂ€rkida, et see ei ole kindlasti ainus. Activity diagramm huvitab meid selle rolli tĂ”ttu, mis tal on protsessi modelleerimisest automatiseeritud sĂŒsteemi kavandamise ĂŒleminekul. Selleks jĂ€rgime metoodilisi soovitusi â teatud tĂŒĂŒpi retsepti, mis koosneb viiest etapist ja hĂ”lmab kolme tĂŒĂŒpi diagrammi vĂ€ljatöötamist. Selle retsepti rakendamine aitab saada formaliseeritud kirjelduse protsessist, mida soovime automatiseerida, ja koguda andmeid sĂŒsteemi projekteerimiseks. Algajatele UML-i Ă”ppijatele on see omamoodi pÀÀsterĂ”ngas, mis aitab mitte uppuda UML-i ja tĂ€napĂ€evaste modelleerimisvahendite mitmekesisusesse.
Siin on, pĂ”himĂ”tteliselt, enda retsept, millele jĂ€rgnevad diagrammid, mis on loodud meie âmuinasjutuliseâ teema valdkonna jaoks.
Etapp 1. Kirjeldame protsessi Activity diagrammina. Kui protsessis on rohkem kui 10 sammu, on mÔttekas rakendada dekompositsiooni pÔhimÔtet, et suurendada diagrammi loetavust.
Etapp 2. TÔstame esile, mida saab automatiseerida (sammud vÔivad nÀiteks olla diagrammil esile tÔstetud).
Etapp 3. Automatiseeritavale sammele tuleb mÀÀrata sĂŒsteemi funktsioon vĂ”i funktsioonid (seos vĂ”ib olla paljude-kestmisega), joonistame Use-case diagrammi. Need on meie sĂŒsteemi funktsioonid.
Etapp 4. Kirjeldame sĂŒsteemi sisemist korraldust klasside diagrammi abil â Klass. Ujuv rada "Sisend- ja vĂ€ljundobjektid (dokumendid)" tegevusdiagrammil on alus objektimudeli ja entiteedi-sidumise mudeli koostamiseks.
Etapp 5. AnalĂŒĂŒsime mĂ€rkmeid Ă€rireeglite rajal, need annavad erinevaid piiranguid ja tingimusi, mis jĂ€rk-jĂ€rgult muutuvad mittefunktsionaalseteks nĂ”ueteks.
Saadud diagrammide kogum (Activity, Use-case, Class) annab meile formaalse kirjelduse piisavalt rangetes mĂ€rkustes, st. omab ĂŒheselt mĂ”istetavat tĂ”lgendust. NĂŒĂŒd saab alustada tehnilise ĂŒlesande koostamisega, tĂ€psustama nĂ”uete spetsifikatsiooni jne.
Alustame modelleerimisega.
Etapp 1. Kirjeldame protsessi tegevusdiagrammina
Tuletan meelde, et diagrammi vĂ€lja on ehitatud "ujuvate" radade abil, kus igal rajal asuvad sama tĂŒĂŒpi elemendid (Joonis 2). Peale ĂŒlaltoodud diagrammi elementide kasutame ka tĂ€iendavaid elemente, kirjeldame neid nĂŒĂŒd.

Otsus (Decision) tĂ€histab diagrammil meie protsessi harunemist, samas kui voogude ĂŒhendamine (Merge) on nende taasĂŒhinemise punkt. RistkĂŒliku sees on ĂŒleminekutel kirjeldatud ĂŒleminekutingimused.
Kahe sĂŒnkroniseerija (Fork) vahel nĂ€itame protsessi paralleelseid harusid.
Meie protsessil vĂ”ib olla ainult ĂŒks algus â ĂŒks sisenemispunkt (Initial). Kuid lĂ”ppeid (Final) vĂ”ib olla mitu, kuid mitte meie konkreetses diagrammis.
Nooli tuleb tĂ”eliselt palju, suure arvu elementide ja seoste korral on vĂ”imalik esmalt vĂ€lja selgitada protsessi etapid ja seejĂ€rel neid etappe dekomponeerida. Kuid meie "muinasjutulise" protsessi soovin ma selguse huvides nĂ€idata terviklikult ĂŒhel diagrammil, samas tuleb muidugi saavutada, et nooled "ei liitu", et oleks vĂ”imalik tĂ€pselt jĂ€lgida, milline on seos.

Joonis 2. Activity diagram â protsessi ĂŒldine ĂŒlevaade
Kuna luuletuste ridades on mÔned protsessi detailid vahele jÀetud, tuli need taastada, need on esitatud valge taustaga elementidena. Need detailid hÔlmavad sammu 'Ettetehtud vastuvÔtt ja ladustamine ning töötlemine' ning mitmeid sisenemist ja vÀljumist artefakte. Tasub mainida, et see samm ei paljasta protsessi tÀielikult, kuna meil oleks vaja eraldi vÀlja tuua edastamise ja vastuvÔtu samm ning lisada eraldi samm kestade jaoks, ning veelgi arendada mÔtet, et kÔik need materiaalsed vÀÀrtused peaksid kuskil ajutiselt sÀilima jne jne.
Tasub veel tĂ€helepanu juhtida, et pĂ€hklite pĂ€ritolu kĂŒsimus on endiselt vastuseta â kust need tulevad ja kuidas nad orava juurde jĂ”uavad? Ja see kĂŒsimus (see on seotud punase fontide vĂ€rviga mĂ€rkuses â element Note) vajab eraldi arendamist! Just nii töötab analĂŒĂŒtik â kogudes teavet killukaupa, tehes hĂŒpoteese ja saades valdkonna ekspertidelt 'okei' vĂ”i 'mitte-okei' â vĂ€ga oluliste ja asendamatute inimestena Ă€rimudeli loomise etapis sĂŒsteemide vĂ€lja töötamisel.
Tuleb mÀrkida, et P5 protsessi etapp koosneb kahest osast.

Iga osa analĂŒĂŒsime ja kĂ€sitleme lĂ€hemalt (Joonis 3, Joonis 4), kuna just nende sammude raames toimuv tegevus automatiseeritakse.

Joonis 3. Activity diagramm â detailne (osa1)

Joonis 4. Activity diagramm â detailne (osa2)
Etapp 2. TÔstame esile, mida saab automatiseerida
Automatiseerimisele kuuluvad etapid on diagrammides esile tÔstetud vÀrviga (vt Joonis 3, Joonis 4).

KĂ”iki neid teostab ĂŒks protsessi osaline â diakon:
- Kantakse vÀlja pÀhkli kaal register;
- Kantakse vÀlja pÀhkli edastamine register;
- Fikseeritakse pÀhkli muutumine kooreks ja tuumaks;
- Kantakse vÀlja pÀhkli tuum register;
- Kantakse vÀlja pÀhkli koored register.
Töödeldud töö analĂŒĂŒs. Mis edasi?
Nii, oleme teinud suure ettevalmistustöö: kogunud teavet protsessi kohta, mida kavatseme automatiseerida; alustanud modelleerimise kokkuleppe loomist (hetkel vaid tegevusdiagrammi kasutuse osas); viinud lĂ€bi protsessi modelleerimise ja isegi dekodeerinud mitmeid selle samme; mÀÀratlenud protsessi etapid, mida automatiseerime. NĂŒĂŒd oleme valmis liikuma jĂ€rgmistele etappidele ja alustama sĂŒsteemi funktsioonide ja sisemise korralduse projekteerimist.
Nagu on teada, on teooria ilma praktikata â mitte midagi. Oluline on kindlasti proovida "modelleerimist" oma kĂ€tega, see on kasulik ka pakutud lĂ€henemise teadvustamiseks. NĂ€iteks saab töötada modelleerimise keskkonnas [3]. Oleme dekodeerinud vaid osa tegevusdiagrammi ĂŒldisest protsessist (vt Joonis 2). PraktikaĂŒlesandena vĂ”iks ettepaneku teha kĂ”ik diagrammid Modelio keskkonnas ja viia lĂ€bi sammu âSĂ€ilitamine/ vastuvĂ”tt ja töötlemineâ dekodeerimine.
Konkreetsetes modelleerimiskeskkondades töötamist me hetkel ei kĂ€sitle, kuid see vĂ”iks saada iseseisvate artiklite ja ĂŒlevaatuste aineks.
Artikli teises osas kĂ€sitleme modelleerimise ja projekteerimise tehnikaid, mis on vajalikud 3â5 etapis, kasutades UML kasutusjuhtide ja klasside diagramme. JĂ€tkub.
Allikate nimekiri
- LehekĂŒlg «UML2.ru». AnalĂŒĂŒtikute Ăhenduse foorum. Ăldine jaotis. NĂ€idised. NĂ€ited muinasjuttudest, mis on kujundatud UML diagrammidena. [Elektrooniline ressurss] JuurdepÀÀsu reĆŸiim: Internet:
- LehekĂŒlg Sparx Systems. [Elektrooniline ressurss] JuurdepÀÀsu reĆŸiim: Internet:
- LehekĂŒlg Modelio. [Elektrooniline ressurss] JuurdepÀÀsu reĆŸiim: Internet:
- Suur entsĂŒklopeedia. Protsess (tĂ”lgendus). [Elektrooniline ressurss] JuurdepÀÀsu reĆŸiim: Internet:
- LehekĂŒlg «TĂ”husate juhtimiste vĂ€ltimise organisatsioon». Blogi. Rubriik «Ăriprotsesside juhtimine». ĂrianalĂŒĂŒsimise mÀÀratlemine. [Elektrooniline ressurss] JuurdepÀÀsu reĆŸiim: Internet:
- Tunnistus nr 18249 intellektuaalse tegevuse tulemuse registreerimise ja deponimise kohta. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Ăpikute ja metoodiliste materjalide kĂ€sikiri pealkirjaga «Objekti ala modelleerimine Enterprise Architecti kasutamisega» // 2011.
- Zolotokhina E.B., Vishnya A.S., Krasnikova S.A. Ăritegevuse protsesside modelleerimine. â M.: KURS, NII INFRA-M, EBS Znanium.com. â 2017.
Allikas: habr.com
