ProHoster > Blogs > interneta ziÅas > No procesa modelÄÅ”anas lÄ«dz automatizÄtai sistÄmas projektÄÅ”anai (1. daļa)
No procesa modelÄÅ”anas lÄ«dz automatizÄtai sistÄmas projektÄÅ”anai (1. daļa)
"Viena diena vÄveres dzÄ«vÄ" jeb no modelÄÅ”anas procesu lÄ«dz automatizÄtas materiÄlo vÄrtÄ«bu uzskaites sistÄmas projektÄÅ”anai "Belka-1.0" (1.daļa)
Es tÅ«lÄ«t paskaidroÅ”u, kas ar to ir saistÄ«ts ar "vÄveri". InternetÄ sastapuÅ”ies ar jautriem projektiem UML apguvei, pamatojoties uz mÄcÄ«bu priekÅ”metu jomu, kas aizgÅ«ta no pasakÄm (piemÄram, Å”eit [1]), es arÄ« nolÄmu sagatavot lÄ«dzÄ«gu piemÄru saviem skolÄniem, lai viÅi sÄkumÄ varÄtu izpÄtÄ«t tikai trÄ«s veidu diagrammas: aktivitÄÅ”u diagrammu, lietoÅ”anas gadÄ«jumu diagrammu un klases diagrammu. Es apzinÄti netulkoju diagrammu nosaukumus krievu valodÄ, lai izvairÄ«tos no strÄ«diem par "tulkoÅ”anas grÅ«tÄ«bÄm". Nedaudz vÄlÄk paskaidroÅ”u, kam tas paredzÄts. Å ajÄ piemÄrÄ es izmantoju AustrÄlijas uzÅÄmuma Enterprise Architect ietvaru Sparx sistÄmas [2] ā labs instruments par saprÄtÄ«gu cenu. Un kÄ daļu no savÄm apmÄcÄ«bÄm es izmantoju Modelio [3], labs bezmaksas objektorientÄta dizaina rÄ«ks, kas atbalsta UML2.0 un BPMN standartus, bez liekiem zvaniÅiem un svilpieniem vizuÄlo iespÄju ziÅÄ, bet pilnÄ«gi pietiekams valodas pamatu apguvei.
MÄs automatizÄsim materiÄlo vÄrtÄ«bu uzskaites darbÄ«bu, kas rodas Å”ajos procesos.
...
JÅ«rÄ atrodas sala, (E1, E2)
Krusa uz salas stendiem (E3, E1)
Ar zelta kupolÄm baznÄ«cÄm (E4)
Ar torÅiem un dÄrziem; (E5, E6)
Pils priekÅ”Ä aug egle, (E7, E8)
Un zem tÄ ir kristÄla mÄja; (E9)
Tur dzÄ«vo vÄvere, pieradinÄt, (A1)
JÄ, kÄds izklaidÄtÄjs! (A1)
VÄvere dzied dziesmas, (P1, A1)
JÄ, viÅÅ” grauž visus riekstus, (P2)
Un rieksti nav vienkÄrÅ”i, (C1)
Visas Äaulas ir zeltainas, (C2)
Kodoli tīrs smaragds; (C3)
Kalpi sargÄ vÄveri, (P3, A2)
Kalpot viÅai par dažÄda veida kalpiem (P4)
Un tika nozÄ«mÄts ierÄdnis (A3)
Stingrs riekstu jaunumu izklÄsts; (P5, C1)
Dod savai armijai godu; (P6, A4)
No ÄaumalÄm tiek izlieta monÄta (P7, C2, C4)
Ä»aujiet viÅiem peldÄt pa pasauli; (8. lpp.)
Meitenes met smaragdu (P9, A5, C3)
Pieliekamajos, bet zem krūma; (E10, E11)
... (A.S. PuÅ”kins āPasaka par caru SaltÄnu, viÅa krÄÅ”Åo un vareno varoni princi Gvidonu SaltanoviÄu un skaisto princesi Gulbiā darbs pie pasakas sÄkÄs, domÄjams, 1822. gadÄ, pasaku pirmo reizi publicÄja PuÅ”kins krÄjumÄ āA. PuÅ”kina dzejoļiā (III daļa, 1832, 130.-181. lpp.) ā 10 gadi no koncepcijas lÄ«dz publikÄcijai, starp citu!)
Mazliet par kodiem, kas ir rakstÄ«ti pa labi no rindiÅÄm. āAā (no āAktierisā) nozÄ«mÄ, ka rindÄ ir informÄcija par procesa dalÄ«bnieku. āCā (no āClassā) ā informÄcija par klases objektiem, kas tiek apstrÄdÄti procesu izpildes laikÄ. āEā (no āEnvironmentā) ā informÄcija par klases objektiem, kas raksturo vidi procesu izpildei. āPā (no āProcessā) ā informÄcija par paÅ”iem procesiem.
Starp citu, precÄ«za procesa definÄ«cija arÄ« pretendÄ uz metodisko strÄ«du cÄloni, kaut vai tÄpÄc, ka ir dažÄdi procesi: biznesa, ražoÅ”anas, tehnoloÄ£iskie utt. un tÄ tÄlÄk. (var uzzinÄt, piemÄram, Å”eit [4] un Å”eit [5]). Lai izvairÄ«tos no strÄ«diem, piekritÄ«sim tam MÅ«s interesÄ process no tÄ atkÄrtojamÄ«bas viedokļa laika gaitÄ un nepiecieÅ”amÄ«bas pÄc automatizÄcijas, t.i. jebkuras procesa operÄciju daļas izpildes pÄrneÅ”ana uz automatizÄtu sistÄmu.
PiezÄ«mes par aktivitÄtes diagrammas izmantoÅ”anu
SÄksim modelÄt savu procesu un Å”im nolÅ«kam izmantosim aktivitÄÅ”u diagrammu. Vispirms ļaujiet man paskaidrot, kÄ iepriekÅ” minÄtie kodi tiks izmantoti modelÄ«. To ir vieglÄk izskaidrot ar grafisku piemÄru, taÄu tajÄ paÅ”Ä laikÄ mÄs analizÄsim dažus (gandrÄ«z visus mums nepiecieÅ”amos) darbÄ«bas diagrammas elementus.
AnalizÄsim Å”Ädu fragmentu:
...
VÄvere dzied dziesmas, (P1, A1)
JÄ, viÅÅ” grauž visus riekstus, (P2)
Un rieksti nav vienkÄrÅ”i, (C1)
Visas Äaulas ir zeltainas, (C2)
Kodoli tīrs smaragds; (C3)
...
Mums ir divi procesa soļi P1 un P2, dalÄ«bnieks A1 un trÄ«s dažÄdu klaÅ”u objekti: solÄ« tiek ievadÄ«ts C1 klases objekts, Ŕī mÅ«su soļa P2 darbÄ«bas rezultÄtÄ tiek izvadÄ«ti C3 un C2 klases objekti. process. Diagrammai mÄs izmantojam Å”Ädus modelÄÅ”anas elementus.
MÅ«su procesa fragmentu var attÄlot Å”Ädi (1. attÄls).
AttÄls 1. DarbÄ«bas diagrammas fragments
AktivitÄÅ”u diagrammas telpas organizÄÅ”anai un strukturÄÅ”anai izmantosim nestandarta pieeju no UML apzÄ«mÄjumu klasiskÄ lietojuma viedokļa. TaÄu tam ir vairÄki iemesli. PirmkÄrt, tieÅ”i pirms modelÄÅ”anas uzsÄkÅ”anas mÄs apkoposim t.s modelÄÅ”anas lÄ«gums, kurÄ mÄs ierakstÄm visas apzÄ«mÄjuma lietoÅ”anas pazÄ«mes. OtrkÄrt, Ŕī pieeja tika atkÄrtoti veiksmÄ«gi izmantota biznesa modelÄÅ”anas posmÄ reÄlos projektos, lai izveidotu programmatÅ«ras sistÄmas; rezultÄtus mÅ«su nelielÄ autoru komanda ierakstÄ«ja attiecÄ«gajÄ autortiesÄ«bu objektÄ [6], un tos izmantoja arÄ« apmÄcÄ«bu rokasgrÄmatÄ [ 7]. DarbÄ«bas diagrammai mÄs definÄjam, ka diagrammas lauks ir strukturÄts, izmantojot āpeldÄÅ”anas joslasā. Ieraksta nosaukums atbildÄ«s diagrammas elementu veidam, kas tiks ievietots Å”ajÄ celiÅÄ.
"Ievades un izvades artefakti": Å ajÄ celiÅÄ bÅ«s objektu elementi - objekti, kas tiek izmantoti vai ir kÄda procesa soļa izpildes rezultÄts. "Procesa soļi": Å eit liksim AktivitÄtes elementus ā procesa dalÄ«bnieku darbÄ«bas. "DalÄ«bnieki": ceļŔ elementiem, kas apzÄ«mÄs darbÄ«bas veicÄju lomas mÅ«su procesÄ, tiem izmantosim to paÅ”u modelÄÅ”anas elementu Object - objektu, bet pievienosim tam stereotipu āAktierisā.
Tiek izsaukts nÄkamais celiÅÅ” "UzÅÄmÄjdarbÄ«bas noteikumi" un Å”ajÄ trasÄ mÄs teksta formÄ ievietosim procesa soļu izpildes noteikumus, un Å”im nolÅ«kam izmantosim modelÄÅ”anas elementu PiezÄ«me - piezÄ«me.
Å eit mÄs apstÄsimies, lai gan mÄs varÄtu izmantot arÄ« taku "RÄ«ki" apkopot informÄciju par procesu automatizÄcijas lÄ«meni. Var noderÄt arÄ« ceļŔ "DalÄ«bnieku pozÄ«cijas un sadalÄ«jums", to var izmantot, lai saistÄ«tu lomas ar procesa dalÄ«bnieku amatiem un nodaļÄm.
Viss, ko es tikko aprakstÄ«ju, ir fragments modelÄÅ”anas konvencijas, Ŕī lÄ«guma daļa attiecas uz vienas diagrammas organizÄÅ”anas noteikumiem un attiecÄ«gi tÄs rakstÄ«Å”anas un lasÄ«Å”anas noteikumiem.
"Recepte"
Tagad apsvÄrsim iespÄju Ä«paÅ”i modelÄt sistÄmu no aktivitÄtes diagrammas. Å is ir tikai viens no variantiem, es atzÄ«mÄju, ka tas, protams, nav vienÄ«gais. DarbÄ«bas diagramma mÅ«s interesÄs no tÄs lomas pÄrejÄ no procesu modelÄÅ”anas uz automatizÄtas sistÄmas projektÄÅ”anu. Lai to izdarÄ«tu, mÄs ievÄrosim metodiskos ieteikumus - sava veida recepti, kas sastÄv tikai no pieciem posmiem un paredz tikai trÄ«s veidu diagrammu izstrÄdi. Å Ä«s receptes izmantoÅ”ana palÄ«dzÄs mums iegÅ«t formalizÄtu aprakstu procesam, kuru vÄlamies automatizÄt, un apkopot datus sistÄmas projektÄÅ”anai. Un studentiem UML studiju sÄkumÄ tas ir sava veida glÄbÅ”anas lÄ«dzeklis, kas neļaus viÅiem noslÄ«kt visos vizuÄlajos lÄ«dzekļos un paÅÄmienos, kas ir atrodami UML un mÅ«sdienu modelÄÅ”anas rÄ«kos.
PatiesÄ«bÄ Å”eit ir pati recepte, un pÄc tam sekojiet diagrammÄm, kas izveidotas mÅ«su āpasakuā tematikai.
1. posms. MÄs aprakstÄm procesu aktivitÄÅ”u diagrammas veidÄ. Procesam ar vairÄk nekÄ 10 soļiem ir lietderÄ«gi piemÄrot procesa soļu sadalÄ«Å”anas principu, lai uzlabotu diagrammas lasÄmÄ«bu.
2. posms. IzvÄlieties, ko var automatizÄt (soļus var izcelt, piemÄram, diagrammÄ).
3. posms. AutomatizÄtajam solim ir jÄpieŔķir sistÄmas funkcija vai funkcijas (attiecÄ«bas var bÅ«t daudzi pret daudziem), uzzÄ«mÄjiet lietoÅ”anas gadÄ«juma diagrammu. TÄs ir mÅ«su sistÄmas funkcijas.
4. posms. AprakstÄ«sim AS iekÅ”Äjo organizÄciju, izmantojot klaÅ”u diagrammu - Klase. "Ievades un izvades objektu (dokumentu)" peldceļŔ darbÄ«bas diagrammÄ ir pamats objekta modeļa un entÄ«tiju attiecÄ«bu modeļa izveidei.
5. posms. AnalizÄsim piezÄ«mes celiÅÄ "UzÅÄmÄjdarbÄ«bas noteikumi"., tie nodroÅ”ina dažÄda veida ierobežojumus un nosacÄ«jumus, kas pakÄpeniski tiek pÄrveidoti par nefunkcionÄlÄm prasÄ«bÄm.
IegÅ«tais diagrammu kopums (Activity, Use-case, Class) sniedz mums formalizÄtu aprakstu diezgan stingrÄ apzÄ«mÄjumÄ, t.i. ir nepÄrprotams lasÄ«jums. Tagad jÅ«s varat izstrÄdÄt tehniskÄs specifikÄcijas, precizÄt prasÄ«bu specifikÄcijas utt.
SÄksim modelÄt.
1. posms. Aprakstiet procesu aktivitÄÅ”u diagrammas veidÄ
AtgÄdinÄÅ”u, ka diagrammas lauku strukturÄjÄm, izmantojot āpeldÄÅ”anasā joslas; katrÄ joslÄ ir viena veida elementi (2. attÄls). Papildus iepriekÅ” aprakstÄ«tajiem diagrammas elementiem mÄs izmantosim papildu elementus, aprakstÄ«sim tos.
LÄmums (Decision) diagrammÄ apzÄ«mÄ mÅ«su procesa sazaroÅ”anas punktu, bet pavedienu saplÅ«Å”ana (Merge) ā to atkalapvienoÅ”anÄs punktu. PÄrejas nosacÄ«jumi uz pÄrejÄm ir rakstÄ«ti kvadrÄtiekavÄs.
Starp diviem sinhronizatoriem (Fork) mÄs parÄdÄ«sim paralÄlus procesa zarus.
MÅ«su procesam var bÅ«t tikai viens sÄkums ā viens ieejas punkts (Initial). Bet var bÅ«t vairÄkas pabeigÅ”anas (galÄ«gais), bet ne mÅ«su konkrÄtajai diagrammai.
Bultu ir diezgan daudz; ar lielu skaitu elementu un savienojumu vispirms varat noteikt procesa posmus un pÄc tam veikt Å”o posmu sadalÄ«Å”anu. Bet skaidrÄ«bas labad es vÄlos pilnÄ«bÄ parÄdÄ«t mÅ«su "pasakas" procesu vienÄ diagrammÄ, bet, protams, mums ir jÄnodroÅ”ina, lai bultiÅas "nelÄ«p kopÄ", bÅ«tu iespÄjams precÄ«zi izsekot savienojumam uz ko.
AttÄls 2. DarbÄ«bas diagramma - procesa vispÄrÄ«gs skats
Jo poÄtiskajÄs rindÄs dažas procesa detaļas ir izlaistas, tÄs bija jÄatjauno, tÄs parÄda elementi ar baltu fonu. Å Ä« informÄcija ietver pÄrsÅ«tÄ«Å”anas/saÅemÅ”anas darbÄ«bu glabÄÅ”anai un apstrÄdei un vairÄkus ievades un izvades artefaktus. Ir vÄrts atzÄ«mÄt, ka Å”is solis arÄ« pilnÄ«bÄ neatklÄj procesu, jo mums bÅ«tu atseviŔķi jÄnorÄda pÄrraides solis un uztverÅ”anas solis, un pat jÄpievieno atseviŔķs solis ÄaulÄm, kÄ arÄ« jÄdomÄ, ka vispirms visas Ŕīs materiÄlÄs vÄrtÄ«bas ir kaut kur Ä«slaicÄ«gi jÄuzglabÄ utt. un tÄ tÄlÄk.
AtzÄ«mÄsim arÄ« to, ka neatbildÄts paliek jautÄjums par riekstu izcelsmi ā no kurienes tie nÄk un kÄ nokļūst lÄ«dz vÄverei? Un Å”is jautÄjums (piezÄ«mÄ tas ir iezÄ«mÄts ar sarkanu fontu - piezÄ«mes elements) prasa atseviŔķu izpÄti! TÄ strÄdÄ analÄ«tiÄ·is - pamazÄm vÄc informÄciju, izdara pieÅÄmumus un saÅem ālabiā vai ānÄ-labiā no priekÅ”metu ekspertiem ā ļoti svarÄ«giem un vienkÄrÅ”i neaizvietojamiem cilvÄkiem biznesa modelÄÅ”anas stadijÄ, veidojot sistÄmas.
Å emiet vÄrÄ arÄ« to, ka procesa posms P5 sastÄv no divÄm daļÄm.
Un mÄs sadalÄ«sim katru daļu un apsvÄrsim to sÄ«kÄk (3. attÄls, 4. attÄls), jo Å”ajÄs konkrÄtajÄs darbÄ«bÄs veiktÄs darbÄ«bas tiks automatizÄtas.
AutomatizÄjamÄs darbÄ«bas diagrammÄs ir iezÄ«mÄtas ar krÄsu (sk. 3. attÄlu, 4. attÄlu).
Tos visus veic viens procesa dalībnieks - lietvedis:
Ievada izziÅÄ informÄciju par uzgriežÅa svaru;
Ievada izziÅÄ informÄciju par rieksta pÄrneÅ”anu;
ReÄ£istrÄ faktu par rieksta pÄrtapÅ”anu ÄaulÄ un kodolÄ;
Ievada paziÅojumÄ informÄciju par riekstu kodolu;
SarakstÄ ievada informÄciju par riekstu ÄaumalÄm.
PaveiktÄ darba analÄ«ze. Ko tÄlÄk?
TÄtad, esam paveikuÅ”i lielu sagatavoÅ”anÄs darbu: esam apkopojuÅ”i informÄciju par procesu, ko gatavojamies automatizÄt; sÄka veidot vienoÅ”anos par modelÄÅ”anu (pagaidÄm tikai DarbÄ«bas diagrammas izmantoÅ”anas ziÅÄ); veica procesa simulÄciju un pat sadalÄ«ja vairÄkus tÄ posmus; MÄs noteicÄm procesa darbÄ«bas, kuras mÄs automatizÄsim. Tagad esam gatavi pÄriet uz nÄkamajiem soļiem un sÄkt izstrÄdÄt sistÄmas funkcionalitÄti un iekÅ”Äjo organizÄciju.
KÄ zinÄms, teorija bez prakses nav nekas. Noteikti jÄizmÄÄ£ina āmodelÄÅ”anaā ar savÄm rokÄm, tas noder arÄ« piedÄvÄtÄs pieejas izpratnei. PiemÄram, jÅ«s varat strÄdÄt modelÄÅ”anas vidÄ Modelio [3]. MÄs esam sadalÄ«juÅ”i tikai daļu no kopÄjÄs procesa diagrammas soļiem (sk. 2. attÄlu). KÄ praktisks uzdevums jums var tikt lÅ«gts atkÄrtot visas diagrammas Modelio vidÄ un veikt soļa āPÄrsÅ«tÄ«Å”ana/saÅemÅ”ana uzglabÄÅ”anai un apstrÄdeiā dekompozÄ«cijas.
MÄs vÄl neapsveram iespÄju strÄdÄt konkrÄtÄs modelÄÅ”anas vidÄs, taÄu tas var kļūt par neatkarÄ«gu rakstu un apskatu tÄmu.
Raksta otrajÄ daÄ¼Ä mÄs analizÄsim 3.-5. posmÄ nepiecieÅ”amÄs modelÄÅ”anas un projektÄÅ”anas metodes, izmantosim UML lietoÅ”anas gadÄ«jumu un klaÅ”u diagrammas. TurpinÄjums sekos.