Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

"Ien dei yn it libben fan in iikhoarntsje" of fan prosesmodellering oant it ûntwerp fan in automatisearre rykdomboekhâldingsysteem "Belka-1.0" (diel 1)

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)
In yllustraasje waard brûkt foar "The Tale of Tsar Saltan" fan A.S. Poesjkin, publisearre troch Children's Literature, Moskou, 1949, Leningrad, tekeningen fan K. Kuznetsov

Wat hat "iikhoarn" dêrmei te krijen?

Ik sil daliks útlizze wat de "iikhoarn" der mei te krijen hat. Leuke projekten op it ynternet tsjinkaam foar it learen fan UML basearre op in fakgebiet liend út mearkes (bygelyks, hjir [1]), besleat ik ek in ferlykber foarbyld foar myn studinten ta te rieden, sadat se om te begjinnen mar trije soarten diagrammen koene studearje: Aktiviteitsdiagram, Use-case Diagram en Class Diagram. Ik set de nammen fan 'e diagrammen mei opsetsin net oer yn it Russysk om skeel te foarkommen oer "oersettingsswierrichheden." Ik sil efkes letter útlizze wêr't it foar is. Yn dit foarbyld brûke ik it Enterprise Architect-ramt fan in Australysk bedriuw Sparx Systems [2] - in goed ark foar in ridlike priis. En as ûnderdiel fan myn training sesjes ik brûk Modelio [3], in goed fergees foarwerp-rjochte ûntwerp ark dat stipet UML2.0 en BPMN noarmen, sûnder ûnnedige toeters en bellen yn termen fan fisuele mooglikheden, mar frij genôch foar it learen fan de basis fan 'e taal.

Wy sille de aktiviteit fan boekhâlding foar materiële aktiva automatisearje, dy't ûntstiet yn dizze prosessen.

...
In eilân leit oan see, (E1, E2)
Der is in hagel op it eilân (E3, E1)
Mei tsjerken mei gouden koepels, (E4)
Mei tuorren en tunen; (E5, E6)
In sparrenbeam groeit foar it paleis, (E7, E8)
En dêrûnder is in kristalhûs; (E9)
In tamme iikhoarntsje wennet dêr, (A1)
Ja, wat in aventoer! (A1)
De iikhoarntsje sjongt ferskes, (P1, A1)
Ja, hy knibbelt hieltyd oan noten, (P2)
Mar nuten binne net ienfâldich, (C1)
Alle skulpen binne gouden, (C2)
De kearn is suver smaragd; (C3)
Feinten bewarje de iikhoarn, (P3, A2)
Se tsjinje har as ferskate feinten (P4)
En in klerk waard tawiisd (A3)
In strang rekken fan nuten is it nijs; (P5, C1)
It leger groetet har; (P6, A4)
In munt wurdt getten út 'e skulpen, (P7, C2, C4)
Lit se om 'e wrâld gean; (P8)
Meisjes pour smaragd (P9, A5, C3)
Yn 'e opslachkeamers, en ûnder dekking; (E10, E11)
...
(A.S. Poesjkin "It ferhaal fan tsaar Saltan, fan syn glorieuze en machtige held Prins Guidon Saltanovich en de prachtige prinses Swan", wurk oan it mearke begûn nei alle gedachten yn 1822; it mearke waard foar it earst publisearre troch Poesjkin yn 'e bondel "Gedichten fan A. Poesjkin" (diel III, 1832, s. 130-181) - 10 jier fan konsept oant publikaasje, trouwens!)

In bytsje oer de koades dy't skreaun binne oan 'e rjochterkant fan' e rigels. "A" (fan "Actor") betsjut dat de line befettet ynformaasje oer in dielnimmer oan it proses. "C" (fan "Klasse") - ynformaasje oer klasse objekten dy't wurde ferwurke tidens de útfiering fan prosessen. "E" (fan "Omjouwing") - ynformaasje oer klasse objekten dy't karakterisearje de omjouwing foar it útfieren fan prosessen. "P" (fan "Proses") - ynformaasje oer de prosessen sels.

Trouwens, de krekte definysje fan in proses beweart ek de oarsaak te wêzen fan metodologyske konflikten, al is it mar troch it feit dat d'r ferskate prosessen binne: bedriuw, produksje, technologysk, ensfh. ensafuorthinne. (jo kinne útfine, bygelyks, hjir [4] en hjir [5]). Om kontroversje te foarkommen, litte wy dat iens wurde Wy binne ynteressearre yn it proses út it eachpunt fan syn werhelling oer tiid en de needsaak foar automatisearring, d.w.s. it oerdragen fan de útfiering fan elk diel fan 'e prosesoperaasjes nei in automatisearre systeem.

Notysjes oer it brûken fan it Aktiviteitsdiagram

Litte wy ús proses begjinne te modellearjen en it Aktiviteitsdiagram hjirfoar te brûken. Lit my earst útlizze hoe't de boppesteande koades sille wurde brûkt yn it model. It is makliker te ferklearjen mei in grafysk foarbyld, mar tagelyk sille wy analysearje guon (hast allegearre dy't wy nedich hawwe) eleminten fan de Activity diagram.
Litte wy it folgjende fragmint analysearje:

...
De iikhoarntsje sjongt ferskes, (P1, A1)
Ja, hy knibbelt hieltyd oan noten, (P2)
Mar nuten binne net ienfâldich, (C1)
Alle skulpen binne gouden, (C2)
De kearn is suver smaragd; (C3)
...

Wy hawwe twa prosesstappen P1 en P2, dielnimmer A1, en objekten fan trije ferskillende klassen: in objekt fan klasse C1 wurdt ynfierd yn 'e stap, objekten fan klassen C2 en C3 wurde útfierd as gefolch fan de aktiviteit fan dizze stap P2 fan ús proses. Foar it diagram brûke wy de folgjende modelleringseleminten.

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

In fragmint fan ús proses kin sa'n ding wurde fertsjintwurdige (figuer 1).

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

figuer 1. Aktiviteit diagram fragmint

Om de romte te organisearjen en it Aktiviteitsdiagram te strukturearjen, sille wy in net-standert oanpak brûke, út it eachpunt fan it klassike gebrûk fan UML-notaasje. Mar d'r binne ferskate redenen foar dit. As earste, krekt foardat it modeljen begjint, sille wy de saneamde kompilearje modeling oerienkomst, wêryn wy alle funksjes opnimme fan it brûken fan de notaasje. Twads waard dizze oanpak werhelle mei súkses tapast op it poadium fan bedriuwsmodellen yn echte projekten om softwaresystemen te meitsjen; de resultaten waarden opnommen troch ús lytse team fan auteurs yn it korrespondearjende auteursrjochtobjekt [6], en waarden ek brûkt yn in trainingshânlieding [7] XNUMX]. Foar it aktiviteitsdiagram definiearje wy dat it diagramfjild strukturearre is mei "swimbanen". De spoarnamme sil oerienkomme mei it type kaarteleminten dy't op dat spoar pleatst wurde.

"Ynput en útfier artefakten": Dit spoar sil befetsje Objekten eleminten - objekten dy't brûkt wurde of binne it resultaat fan it útfieren fan guon proses stap.
"Prosesstappen": Hjir sille wy Aktiviteit-eleminten pleatse - de aksjes fan proses-dielnimmers.
"Dielnimmers": in paad foar eleminten dy't de rollen fan aksjefierders yn ús proses sille oanjaan; foar har sille wy itselde modelelemint foar objekt brûke - in objekt, mar wy sille it stereotype "Actor" tafoegje.
It folgjende spoar hjit "Bedriuwsregels" en op dit spoar sille wy yn tekstfoarm de regels pleatse foar it útfieren fan 'e stappen fan it proses, en dêrfoar sille wy it modelelemint Notysje brûke - in notysje.
Wy sille hjir stopje, hoewol wy it paad ek brûke kinne "Tools" om ynformaasje te sammeljen oer it nivo fan prosesautomatisearring. In paad kin ek goed fan pas komme "Posysjes en divyzjes ​​fan dielnimmers", kin it brûkt wurde om rollen te keppeljen oan posysjes en ôfdielingen fan proses-dielnimmers.

Alles wat ik krekt beskreaun is in fragmint modeling konvinsjes, dit diel fan 'e oerienkomst giet oer de regels foar it organisearjen fan ien diagram en dêrmei de regels foar it skriuwen en lêzen.

"Resept"

Litte wy no de opsje beskôgje om it systeem spesifyk te modellearjen út it Activity diagram. Dit is mar ien fan de opsjes, Ik merk op dat it is, fansels, net de ienige. It Aktiviteitsdiagram sil ús ynteressearje út it eachpunt fan syn rol yn 'e oergong fan prosesmodellering nei it ûntwerp fan in automatisearre systeem. Om dit te dwaan, sille wy har oan 'e metodologyske oanbefellings hâlde - in soarte fan resept besteande út mar fiif stadia en soarget foar de ûntwikkeling fan mar trije soarten diagrammen. It brûken fan dit resept sil ús helpe om in formalisearre beskriuwing te krijen fan it proses dat wy wolle automatisearje en gegevens sammelje foar systeemûntwerp. En foar studinten oan it begjin fan it studearjen fan UML is dit in soarte fan libbensbeskermer dy't har net tastean om te ferdrinken yn alle ferskaat oan fisuele middels en techniken dy't fûn binne yn UML en moderne modellearingsynstruminten.

Hjir, yn feite, is it resept sels, en dan folgje de diagrammen boud foar ús "fairytale" ûnderwerp gebiet.

Stage 1. Wy beskriuwe it proses yn 'e foarm fan in Activity diagram. Foar in proses mei mear as 10 stappen, is it logysk om it proses-stap-ûntbiningsprinsipe oan te passen om de lêsberens fan it diagram te ferbetterjen.

Stage 2. Selektearje wat kin wurde automatisearre (de stappen kinne bygelyks markearre wurde op in diagram).

Stage 3. De automatisearre stap moat wurde ferbûn mei in funksje of funksjes fan it systeem (de relaasje kin in protte-to-in protte wêze), tekenje in Use-case-diagram. Dit binne de funksjes fan ús systeem.

Stage 4. Lit ús beskriuwe de ynterne organisaasje fan de AS mei help fan in klasse diagram - Klasse. De swimwei "Ynput- en útfierobjekten (Dokuminten)" yn it Aktiviteitsdiagram is de basis foar it bouwen fan in objektmodel en in entiteitsrelaasjemodel.

Stage 5. Lit ús analysearje de oantekeningen op it spoar "Business Rules"., se jouwe ferskate soarten beheiningen en betingsten, dy't stadichoan feroare wurde yn net-funksjonele easken.
De resultearjende set fan diagrammen (Activity, Use-case, Class) jout ús in formalisearre beskriuwing yn in frij strikte notaasje, d.w.s. hat in ûndûbelsinnige lêzing. No kinne jo technyske spesifikaasjes ûntwikkelje, easken spesifikaasjes ferdúdlikje, ensfh.

Litte wy begjinne mei modeljen.

Stage 1. Beskriuw it proses yn 'e foarm fan in Activity diagram

Lit my jo herinnerje dat wy it diagramfjild struktureare mei "swimmen" banen; elke baan befettet eleminten fan itselde type (figuer 2). Neist de hjirboppe beskreaune diagram-eleminten sille wy ekstra eleminten brûke, litte wy se beskriuwe.

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

Beslút (Beslút) jout it fertakkingspunt fan ús proses yn it diagram oan, en gearfoegjen fan triedden (Fúzje) - it punt fan har werieniging. Oergongsbetingsten wurde skreaun yn fjouwerkante heakjes op oergongen.

Tusken twa synchronizers (Fork) wy sille sjen litte parallel proses tûken.
Us proses kin mar ien begjin hawwe - ien yngongspunt (Inisjele). Mar d'r kinne ferskate oanfollingen wêze (Finale), mar net foar ús spesifike diagram.

D'r binne nochal in protte pylken; mei in grut oantal eleminten en ferbiningen kinne jo earst de stadia fan it proses identifisearje, en dan in ûntbining fan dizze stadia útfiere. Mar foar de dúdlikens wol ik ús proses "fairytale" folslein sjen litte op ien diagram, wylst wy fansels moatte soargje dat de pylken "net byinoar stekke", it soe mooglik wêze om krekt te folgjen wat ferbûn is oan wat.

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

figuer 2. Aktiviteit diagram - algemiene werjefte fan it proses

Omdat yn de poëtyske rigels binne guon details fan it proses weilitten, se moasten restaurearre wurde, se wurde toand troch eleminten mei in wite eftergrûn. Dizze details omfetsje de stap oerdracht / ûntfangst foar opslach en ferwurking en ferskate ynfier- en útfierartefakten. It is de muoite wurdich opskriuwen dat dizze stap ek net folslein reveal it proses, omdat wy soene de oerdrachtstap en de ûntfangststap apart moatte oanwize, en sels in aparte stap tafoegje foar skulpen, en ek tinke dat earst al dizze materiële wearden earne tydlik moatte wurde opslein, ensfh. ensafuorthinne.
Litte wy ek opmerke dat de fraach fan 'e oarsprong fan nuten ûnbeantwurde bliuwt - wêr komme se wei en hoe komme se by it iikhoarntsje? En dizze fraach (it is markearre yn read lettertype yn 'e notysje - it Note-elemint) fereasket aparte stúdzje! Dit is hoe't in analist wurket - it sammeljen fan ynformaasje bytsje foar bytsje, it meitsjen fan oannames en it ûntfangen fan "oke" of "nee-oke" fan saakkundigen fan ûnderwerpen - heul wichtige en gewoan ûnferfangbere minsken yn it stadium fan bedriuwsmodellering by it meitsjen fan systemen.

Tink derom ek dat prosesstap P5 bestiet út twa dielen.

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

En wy sille decompose elk diel en beskôgje it yn mear detail (figuer 3, figuer 4), omdat de aktiviteiten útfierd binnen dizze bepaalde stappen sille wurde automatisearre.

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

Ofbylding 3. Aktiviteitsdiagram - detaillearring (diel 1)

Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

Ofbylding 4. Aktiviteitsdiagram - detaillearring (diel 2)

Stage 2. Selektearje wat kin wurde automatisearre

De te automatisearjen stappen wurde yn kleur markearre op 'e diagrammen (sjoch figuer 3, figuer 4).
Fan prosesmodellering oant automatisearre systeemûntwerp (diel 1)

Allegear wurde útfierd troch ien dielnimmer oan it proses - de Clerk:

  • Fier ynformaasje oer it gewicht fan 'e nut yn' e ferklearring;
  • Fier ynformaasje oer de oerdracht fan 'e nut yn' e ferklearring;
  • Records it feit fan de transformaasje fan in nut yn in shell en in kearn;
  • Fier ynformaasje oer de nut kernel yn de ferklearring;
  • Fier ynformaasje oer nôt skulpen yn de list.

Analyse fan it wurk dien. Wat komt hjirnei?

Dat, wy hawwe in protte tariedend wurk dien: wy hawwe ynformaasje sammele oer it proses dat wy sille automatisearje; begûn te foarmjen in oerienkomst oer modellering (oant no ta allinnich yn termen fan it brûken fan it Activity diagram); in simulaasje fan it proses útfierd en sels ferskate fan syn stappen ûntbûn; Wy identifisearre de prosesstappen dy't wy sille automatisearje. Wy binne no ree om troch te gean nei de folgjende stappen en te begjinnen mei it ûntwerpen fan de funksjonaliteit en ynterne organisaasje fan it systeem.

Sa't jo witte, teory sûnder praktyk is neat. Jo moatte perfoarst besykje "modellearjen" mei jo eigen hannen, dit is ek nuttich foar it begripen fan 'e foarstelde oanpak. Jo kinne bygelyks wurkje yn in modellewurkomjouwing Modelio [3]. Wy hawwe mar in diel fan 'e stappen fan' e totale prosesdiagram ferdield (sjoch figuer 2). As praktyske taak kinne jo frege wurde om alle diagrammen yn 'e Modelio-omjouwing te werheljen en in ûntbining fan' e stap "Oerdracht / ûntfangst foar opslach en ferwurking" út te fieren.
Wy beskôgje noch net te wurkjen yn spesifike modelle-omjouwings, mar dit kin it ûnderwerp wurde fan unôfhinklike artikels en resinsjes.

Yn it twadde diel fan it artikel sille wy de modellerings- en ûntwerptechniken analysearje dy't nedich binne yn stadia 3-5; wy sille UML Use-case en Class-diagrammen brûke. Wurdt ferfolge.

List fan boarnen

  1. Webside "UML2.ru". Analyst Community Foarum. Algemiene seksje. Foarbylden. Foarbylden fan mearkes opmakke as UML-diagrammen. [Elektronyske boarne] Tagongsmodus: Ynternet: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sparx Systems webside. [Elektronyske boarne] Tagongsmodus: Ynternet: https://sparxsystems.com
  3. Modelio webside. [Elektronyske boarne] Tagongsmodus: Ynternet: https://www.modelio.org
  4. Big Encyclopedic Dictionary. Proses (ynterpretaasje). [Elektronyske boarne] Tagongsmodus: Ynternet: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Webside "Organisaasje fan effektyf behear". Blog. Kategory "Bedriuwsprosesbehear". Definysje fan in saaklik proses. [Elektronyske boarne] Tagongsmodus: Ynternet: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Sertifikaat No.. 18249 op registraasje en deponearje fan in wurk fan yntellektuele aktiviteit. Alfimov R.V., Zolotukhina E.B., Krasnikova SA. Manuskript fan in learmiddel mei de titel "Modellerje in fakgebiet mei Enterprise Architect" // 2011.
  7. Zolotukhina E.B., Vishnya A.S., Krasnikova S.A. Business proses modellering. - M.: KURSUS, SIC INFRA-M, EBS Znanium.com. — 2017.

Boarne: www.habr.com

Add a comment