De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

"Unu tagon en la vivo de sciuro" aŭ de proceza modelado ĝis la dezajno de aŭtomatigita riĉa kontada sistemo "Belka-1.0" (Parto 1)

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)
Ilustraĵo estis uzata por “La Rakonto de Caro Saltan” de A.S. Puŝkin, eldonita de Infana Literaturo, Moskvo, 1949, Leningrado, desegnaĵoj de K. Kuznetsov

Kion rilatas al ĝi "sciuro"?

Mi tuj klarigu, kio rilatas al ĝi "sciuro". Trovinte amuzajn projektojn en la Interreto por lerni UML surbaze de temo pruntita de fabeloj (ekzemple, tie [1]), mi ankaŭ decidis prepari similan ekzemplon por miaj studentoj, por ke ili povu studi nur tri specojn de diagramoj por komenci: Aktiveca Diagramo, Uzkaza Diagramo kaj Klasa Diagramo. Mi intence ne tradukas la nomojn de la diagramoj en la rusan por eviti disputojn pri "tradukaj malfacilaĵoj". Mi klarigos por kio ĝi estas iom poste. En ĉi tiu ekzemplo mi uzas la kadron Enterprise Architect de aŭstralia firmao Sparx Sistemoj [2] – bona ilo por racia prezo. Kaj kiel parto de miaj trejnadoj mi uzas Modelio [3], bona libera objekt-orientita dezajnilo kiu subtenas UML2.0 kaj BPMN-normojn, sen nenecesaj sonoriloj kaj fajfiloj laŭ vidaj kapabloj, sed sufiĉe sufiĉa por lerni la bazaĵojn de la lingvo.

Ni aŭtomatigos la agadon de kontado pri materialaj aktivoj, kiu ŝprucas en ĉi tiuj procezoj.

...
Insulo kuŝas sur la maro, (E1, E2)
Estas hajlo sur la insulo (E3, E1)
Kun or-kupolhavaj preĝejoj, (E4)
Kun turoj kaj ĝardenoj; (E5, E6)
Piceo kreskas antaŭ la palaco, (E7, E8)
Kaj malsupre estas kristala domo; (E9)
Malsovaĝa sciuro loĝas tie, (A1)
Jes, kia aventuro! (A1)
La sciuro kantas kantojn, (P1, A1)
Jes, li daŭre mordetas nuksojn, (P2)
Sed nuksoj ne estas simplaj, (C1)
Ĉiuj konkoj estas oraj, (C2)
La kerno estas pura smeraldo; (C3)
Servistoj gardas la sciuron, (P3, A2)
Ili servas ŝin kiel diversaj servistoj (P4)
Kaj komizo estis asignita (A3)
Strikta konto pri nuksoj estas la novaĵo; (P5, C1)
La armeo salutas ŝin; (P6, A4)
Monero estas verŝita el la konkoj, (P7, C2, C4)
Lasu ilin iri tra la mondo; (P8)
Knabinoj verŝas smeraldon (P9, A5, C3)
En la provizejojn, kaj sub kovrilo; (E10, E11)
...
(A.S. Puŝkin "La Rakonto de Caro Saltan, de lia glora kaj potenca heroo Princo Guidon Saltanovich kaj la bela Princino Cigno", laboro pri la fabelo komenciĝis supozeble en 1822; la fabelo unue estis publikigita de Puŝkin en la kolekto "Poemoj de A. Puŝkin" (Parto III, 1832, p. 130-181) — 10 jarojn de koncepto ĝis publikigo, cetere!)

Iom pri la kodoj, kiuj estas skribitaj dekstre de la linioj. "A" (de "Aktoro") signifas, ke la linio enhavas informojn pri partoprenanto en la procezo. "C" (de "Klaso") - informoj pri klasobjektoj, kiuj estas procesitaj dum la ekzekuto de procezoj. "E" (de "Medio") - informoj pri klasobjektoj kiuj karakterizas la medion por ekzekuti procezojn. "P" (de "Procezo") - informoj pri la procezoj mem.

Cetere, la preciza difino de procezo ankaŭ pretendas esti la kaŭzo de metodikaj disputoj, se nur pro la fakto, ke ekzistas malsamaj procezoj: komerca, produktado, teknologia, ktp. kaj tiel plu. (vi povas ekscii, ekzemple, tie [4] kaj tie [5]). Por eviti polemikon, ni konsentu pri tio Ni interesiĝas pri la procezo el la vidpunkto de ĝia ripeteblo laŭlonge de la tempo kaj la bezono de aŭtomatigo, t.e. transdonante la ekzekuton de ajna parto de la procezoperacioj al aŭtomatigita sistemo.

Notoj pri uzado de la Agaddiagramo

Ni komencu modeligi nian procezon kaj uzu la Agaddiagramon por tio. Unue, lasu min klarigi kiel la supraj kodoj estos uzataj en la modelo. Estas pli facile klarigi per grafika ekzemplo, sed samtempe ni analizos kelkajn (preskaŭ ĉiujn, kiujn ni bezonas) elementojn de la Agaddiagramo.
Ni analizu la sekvan fragmenton:

...
La sciuro kantas kantojn, (P1, A1)
Jes, li daŭre mordetas nuksojn, (P2)
Sed nuksoj ne estas simplaj, (C1)
Ĉiuj konkoj estas oraj, (C2)
La kerno estas pura smeraldo; (C3)
...

Ni havas du procezŝtupojn P1 kaj P2, partoprenanton A1, kaj objektojn de tri malsamaj klasoj: objekto de klaso C1 estas enigita al la paŝo, objektoj de klasoj C2 kaj C3 estas eligitaj kiel rezulto de la agado de ĉi tiu paŝo P2 de nia. procezo. Por la diagramo ni uzas la sekvajn modelajn elementojn.

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Fragmento de nia procezo povas esti reprezentita io tia (Figuro 1).

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Figuro 1. Fragmento de agaddiagramo

Por organizi la spacon kaj strukturi la Agaddiagramon, ni uzos ne-norman aliron, el la vidpunkto de la klasika uzo de UML-notacio. Sed estas pluraj kialoj por ĉi tio. Unue, ĝuste antaŭ ol komenci la modeladon ni kompilos la tn modeliga interkonsento, en kiu ni registras ĉiujn trajtojn de uzado de la notacio. Due, ĉi tiu aliro estis plurfoje sukcese aplikita en la stadio de komerca modelado en realaj projektoj por krei softvarsistemojn; la rezultoj estis registritaj de nia malgranda teamo de verkintoj en la ekvivalenta kopirajta objekto [6], kaj ankaŭ estis uzitaj en trejna manlibro [7]. XNUMX]. Por la Agaddiagramo, ni difinas ke la diagramkampo estas strukturita uzante "naĝlenojn". La trakonomo respondas al la speco de diagramelementoj kiuj estos metitaj sur tiu trako.

"Eniga kaj eligo artefaktoj": Ĉi tiu trako enhavos Objektajn elementojn - objektojn kiuj estas uzataj aŭ estas la rezulto de ekzekuto de iu proceza paŝo.
"Procezaj paŝoj": Ĉi tie ni metos Aktivelementojn - la agojn de procezaj partoprenantoj.
"Partoprenantoj": Vojo por elementoj, kiuj indikos la rolojn de agofaristoj en nia procezo; por ili ni uzos la saman modeligan elementon Objekto - objekto, sed ni aldonos al ĝi la stereotipon "Aktoro".
La sekva trako nomiĝas "Komercaj Reguloj" kaj sur ĉi tiu trako ni metos en tekstformo la regulojn por ekzekuti la paŝojn de la procezo, kaj por tio ni uzos la modelan elementon Noto - noto.
Ni haltos ĉi tie, kvankam ni ankaŭ povus uzi la vojon "Iloj" kolekti informojn pri la nivelo de proceza aŭtomatigo. Vojo ankaŭ povus esti utila "Pozicioj kaj sekcioj de partoprenantoj", ĝi povas esti uzata por ligi rolojn al pozicioj kaj fakoj de procezpartoprenantoj.

Ĉio, kion mi ĵus priskribis, estas fragmento modeligaj konvencioj, ĉi tiu parto de la interkonsento koncernas la regulojn por organizi unu diagramon kaj, sekve, la regulojn por skribi kaj legi ĝin.

"Recepto"

Nun ni konsideru la eblon modeli la sistemon specife de la Agaddiagramo. Ĉi tio estas nur unu opcio, mi rimarkas, ke ĝi kompreneble ne estas la sola. La Agaddiagramo interesos nin el la vidpunkto de sia rolo en la transiro de proceza modelado al la dezajno de aŭtomata sistemo. Por fari tion, ni aliĝos al la metodikaj rekomendoj - speco de recepto konsistanta el nur kvin stadioj kaj zorganta por la disvolviĝo de nur tri specoj de diagramoj. Uzado de ĉi tiu recepto helpos nin akiri formaligitan priskribon de la procezo, kiun ni volas aŭtomatigi kaj kolekti datumojn por sistema dezajno. Kaj por studentoj komence de studado de UML, ĉi tio estas speco de savŝnuro, kiu ne permesos al ili droni en la tuta vario de vidaj rimedoj kaj teknikoj disponeblaj en UML kaj modernaj modelaj iloj.

Ĉi tie, fakte, estas la recepto mem, kaj poste sekvu la diagramojn konstruitajn por nia "fabelo" temo.

Etapo 1. Ni priskribas la procezon en formo de Agaddiagramo. Por procezo kun pli ol 10 ŝtupoj, havas sencon apliki la procezan paŝon malkompona principo por plibonigi la legeblecon de la diagramo.

Etapo 2. Elektu tion, kio povas esti aŭtomatigita (la paŝoj povas esti reliefigitaj sur diagramo, ekzemple).

Etapo 3. La aŭtomatigita paŝo devas esti asociita kun funkcio aŭ funkcioj de la sistemo (la rilato povas esti multaj-al-multaj), desegnu Uzkazan diagramon. Ĉi tiuj estas la funkcioj de nia sistemo.

Etapo 4. Ni priskribu la internan organizon de la AS uzante klasdiagramon - Klaso. La naĝvojo "Enigo kaj Eligo-Objektoj (Dokumentoj)" en la Agaddiagramo estas la bazo por konstruado de objektomodelo kaj ento-rilata modelo.

Etapo 5. Ni analizu la notojn pri la trako "Komercaj Reguloj"., ili provizas diversajn specojn de limigoj kaj kondiĉoj, kiuj iom post iom transformiĝas en nefunkciajn postulojn.
La rezulta aro de diagramoj (Agado, Uzokazo, Klaso) donas al ni formaligitan priskribon en sufiĉe strikta notacio, t.e. havas senduban legadon. Nun vi povas evoluigi teknikajn specifojn, klarigi postulajn specifojn ktp.

Ni komencu modeladon.

Etapo 1. Priskribu la procezon en formo de Agaddiagramo

Mi memorigu vin, ke ni strukturis la diagraman kampon per "naĝantaj" lenoj; ĉiu leno enhavas elementojn de la sama tipo (Figuro 2). Krom la diagramelementoj priskribitaj supre, ni uzos pliajn elementojn, ni priskribu ilin.

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Decido (Decido) indikas la disbranĉigan punkton de nia procezo en la diagramo, kaj kunfandi fadenojn (Merge) - la punkton de ilia reunuiĝo. Transirkondiĉoj estas skribitaj en kvadrataj krampoj sur transiroj.

Inter du sinkronigiloj (Fork) ni montros paralelajn procezbranĉojn.
Nia procezo povas havi nur unu komencon - unu enirpunkton (Komenco). Sed povas esti pluraj kompletigoj (Fina), sed ne por nia specifa diagramo.

Estas sufiĉe multe da sagoj; kun granda nombro da elementoj kaj ligoj, vi unue povas identigi la etapojn de la procezo, kaj poste fari malkomponadon de ĉi tiuj etapoj. Sed por klareco, mi ŝatus montri nian "fabelan" procezon tute sur unu diagramo, dum, kompreneble, ni devas certigi, ke la sagoj "ne kuniĝas", eblus precize spuri tion, kio estas konektita. al kio.

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Figuro 2. Agaddiagramo - ĝenerala vido de la procezo

Ĉar en la poeziaj linioj oni preterlasas iujn detalojn de la procezo, oni devis restarigi ilin, montras ilin elementoj kun blanka fono. Ĉi tiuj detaloj inkluzivas la paŝon de Transdono/Ricevo por Stokado kaj Pretigo kaj plurajn enigajn kaj eligajn artefaktojn. Indas noti, ke ĉi tiu paŝo ankaŭ ne plene malkaŝas la procezon, ĉar ni bezonus aparte indiki la transdonon kaj la ricevan paŝon, kaj eĉ aldoni apartan paŝon por konkoj, kaj ankaŭ pensi, ke unue ĉiuj ĉi tiuj materialaj valoroj estu provizore stokitaj ie, ktp. kaj tiel plu.
Ni ankaŭ rimarku, ke la demando pri la origino de nuksoj restas nerespondita - de kie ili venas kaj kiel ili alvenas al la sciuro? Kaj ĉi tiu demando (ĝi estas emfazita per ruĝa tiparo en la noto - la Noto-elemento) postulas apartan studon! Tiel funkcias analizisto - kolektante informojn iom post iom, farante supozojn kaj ricevante "bone" aŭ "ne-bone" de fakuloj en la temo - tre gravaj kaj simple neanstataŭeblaj homoj en la stadio de komerca modelado dum kreado de sistemoj.

Notu ankaŭ ke proceza paŝo P5 konsistas el du partoj.

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Kaj ni malkomponos ĉiun parton kaj konsideros ĝin pli detale (Figuro 3, Figuro 4), ĉar la agadoj faritaj ene de ĉi tiuj apartaj paŝoj estos aŭtomatigitaj.

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Figuro 3. Agaddiagramo - detalaj (parto 1)

De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Figuro 4. Agaddiagramo - detalaj (parto 2)

Etapo 2. Elektu tion, kio povas esti aŭtomatigita

La aŭtomatigitaj paŝoj estas kolormarkitaj sur la diagramoj (vidu Figuro 3, Figuro 4).
De proceza modeligado ĝis aŭtomatigita sistemdezajno (Parto 1)

Ĉiuj ili estas faritaj de unu partoprenanto en la procezo - la Komizo:

  • Enmetas informojn pri la pezo de la nukso en la deklaron;
  • Enmetas informojn pri la translokigo de la nukso en la deklaron;
  • Registras la fakton de la transformo de nukso en ŝelon kaj kernon;
  • Enmetas informojn pri la nuksa kerno en la deklaron;
  • Enmetas informojn pri nuksaj ŝeloj en la liston.

Analizo de la farita laboro. Kio sekvas?

Do, ni faris multe da prepara laboro: ni kolektis informojn pri la procezo, kiun ni aŭtomatigos; komencis formi interkonsenton pri modelado (ĝis nun nur laŭ uzado de la Agado-diagramo); faris simuladon de la procezo kaj eĉ malkomponis plurajn el ĝiaj paŝoj; Ni identigis la procezajn paŝojn, kiujn ni aŭtomatigos. Ni nun pretas pasi al la sekvaj paŝoj kaj komenci desegni la funkciecon kaj internan organizon de la sistemo.

Kiel vi scias, teorio sen praktiko estas nenio. Vi certe provu "modeligi" per viaj propraj manoj, ĉi tio ankaŭ utilas por kompreni la proponitan aliron. Ekzemple, vi povas labori en modela medio Modelio [3]. Ni malkomponis nur parton de la paŝoj de la ĝenerala proceza diagramo (vidu Figuro 2). Kiel praktika tasko, vi eble petos ripeti ĉiujn diagramojn en la medio de Modelio kaj fari malkomponadon de la paŝo "Translokigo / Ricevo por Stokado kaj Pretigo".
Ni ankoraŭ ne pripensas labori en specifaj modelaj medioj, sed ĉi tio povas fariĝi la temo de sendependaj artikoloj kaj recenzoj.

En la dua parto de la artikolo, ni analizos la modelajn kaj desegnajn teknikojn necesajn en la etapoj 3-5; ni uzos UML-kazon kaj Klasdiagramojn. Daŭrigota.

Listo de fontoj

  1. Retejo "UML2.ru". Komunuma Forumo de Analizistoj. Ĝenerala sekcio. Ekzemploj. Ekzemploj de fabeloj formatitaj kiel UML-diagramoj. [Elektronika rimedo] Alirmaniero: Interreto: http://www.uml2.ru/forum/index.php?topic=486.0
  2. Sparx Systems retejo. [Elektronika rimedo] Alirmaniero: Interreto: https://sparxsystems.com
  3. Modelio retejo. [Elektronika rimedo] Alirmaniero: Interreto: https://www.modelio.org
  4. Granda Enciklopedia Vortaro. Procezo (interpreto). [Elektronika rimedo] Alirmaniero: Interreto: https://dic.academic.ru/dic.nsf/enc3p/246322
  5. Retejo "Organizo de Efika Administrado". Blogo. Kategorio "Komerca Proceza Administrado". Difino de komerca procezo. [Elektronika rimedo] Alirmaniero: Interreto: https://rzbpm.ru/knowledge/pochemu-processy-stali-s-pristavkoj-biznes.html
  6. Atestilo n-ro 18249 pri registrado kaj deponado de verko de intelekta agado. Alfimov R.V., Zolotukhina E.B., Krasnikova S.A. Manuskripto de instruhelpo titolita "Modeligado de fako uzante Enterprise Architect" // 2011.
  7. Zolotukhina E.B., Vishnya A.S., Krasnikova S.A. Komercproceza modeligado. — M.: KURSO, SIC INFRA-M, EBS Znanium.com. — 2017.

fonto: www.habr.com

Aldoni komenton