Ես անմիջապես կբացատրեմ, թե ինչ կապ ունի «սկյուռը» դրա հետ: Ինտերնետում հանդիպելով զվարճալի նախագծերի UML սովորելու համար, որը հիմնված է հեքիաթներից փոխառված առարկայի վրա (օրինակ. այստեղ [1]), ես նույնպես որոշեցի պատրաստել նմանատիպ օրինակ իմ ուսանողների համար, որպեսզի նրանք սկզբից կարողանան ուսումնասիրել միայն երեք տեսակի գծապատկերներ՝ Գործունեության դիագրամ, Օգտագործման դեպքի դիագրամ և Դասի դիագրամ: Ես միտումնավոր չեմ թարգմանում գծապատկերների անունները ռուսերեն՝ «թարգմանական դժվարությունների» մասին վեճերից խուսափելու համար։ Ես կբացատրեմ, թե ինչի համար է դա մի փոքր ուշ: Այս օրինակում ես օգտագործում եմ ավստրալիական ընկերության Enterprise Architect շրջանակը Sparx Systems [2] – լավ գործիք ողջամիտ գնով: Եվ որպես իմ մարզումների մի մաս ես օգտագործում եմ Մոդել [3], լավ անվճար օբյեկտի վրա հիմնված նախագծման գործիք, որն աջակցում է UML2.0 և BPMN ստանդարտներին՝ առանց ավելորդ զանգերի և սուլիչների՝ տեսողական հնարավորությունների առումով, բայց բավականին բավարար է լեզվի հիմունքները սովորելու համար։
Մենք պատրաստվում ենք ավտոմատացնել նյութական ակտիվների հաշվառման գործունեությունը, որն առաջանում է այս գործընթացներում։
...
Կղզի ընկած է ծովի վրա, (E1, E2)
Կղզում կարկուտ է (E3, E1)
Ոսկեգմբեթ եկեղեցիներով, (E4)
Աշտարակներով և այգիներով; (E5, E6)
Պալատի դիմաց աճում է եղևնի, (E7, E8)
Իսկ դրա տակ բյուրեղյա տուն է. (E9)
Այնտեղ ապրում է ընտիր սկյուռ, (A1)
Այո, ինչ արկածախնդրություն: (A1)
Սկյուռը երգեր է երգում, (P1, A1)
Այո, նա շարունակում է ընկույզներ խայթել, (P2)
Բայց ընկույզները պարզ չեն, (C1)
Բոլոր պատյանները ոսկեգույն են, (C2)
Միջուկը մաքուր զմրուխտ է; (C3)
Ծառաները պահպանում են սկյուռին, (P3, A2)
Նրանք ծառայում են նրան որպես տարբեր ծառաներ (P4)
Եվ գործավար նշանակվեց (A3)
Ընկույզի խիստ հաշիվը նորություն է. (P5, C1)
Բանակը ողջունում է նրան. (P6, A4)
Պատյաններից մետաղադրամ է լցվում (P7, C2, C4)
Թող նրանք շրջեն աշխարհով մեկ; (P8)
Աղջիկները զմրուխտ են լցնում (P9, A5, C3)
Խորդանոցների մեջ և ծածկույթի տակ; (E10, E11)
... (Ա.Ս. Պուշկին «Ցար Սալթանի հեքիաթը, նրա փառահեղ և հզոր հերոս արքայազն Գվիդոն Սալտանովիչի և գեղեցիկ արքայադուստր Կարապի մասին», Հեքիաթի վրա աշխատանքը սկսվել է ենթադրաբար 1822 թվականին, հեքիաթն առաջին անգամ հրատարակել է Պուշկինը «Ա. Պուշկինի բանաստեղծությունները» ժողովածուում (Մաս III, 1832, էջ 130-181): — 10 տարի հայեցակարգից մինչև հրապարակում, ի դեպ:)
Մի քիչ այն կոդերի մասին, որոնք գրված են տողերի աջ կողմում։ «Ա» («Դերասան»-ից) նշանակում է, որ տողը պարունակում է տեղեկատվություն գործընթացի մասնակցի մասին: «C» («Class»-ից) - տեղեկատվություն դասի օբյեկտների մասին, որոնք մշակվում են գործընթացների կատարման ընթացքում: «E» («Շրջակա միջավայրից») - տեղեկատվություն դասի օբյեկտների մասին, որոնք բնութագրում են գործընթացների կատարման միջավայրը: «P» («Գործընթացից») - տեղեկատվություն գործընթացների մասին:
Ի դեպ, գործընթացի ճշգրիտ սահմանումը նույնպես հավակնում է մեթոդաբանական վեճերի պատճառ դառնալ, թեկուզ միայն այն պատճառով, որ կան տարբեր գործընթացներ՝ բիզնես, արտադրական, տեխնոլոգիական և այլն։ եւ այլն։ (կարող եք պարզել, օրինակ. այստեղ [4] և այստեղ [5]): Վեճերից խուսափելու համար եկեք համաձայնենք, որ Գործընթացը մեզ հետաքրքրում է ժամանակի ընթացքում դրա կրկնելիության և ավտոմատացման անհրաժեշտության տեսանկյունից, այսինքն. գործընթացի ցանկացած մասի կատարումը ավտոմատացված համակարգի փոխանցում:
Նշումներ Գործունեության դիագրամի օգտագործման վերաբերյալ
Եկեք սկսենք մոդելավորել մեր գործընթացը և դրա համար օգտագործենք Activity դիագրամը: Նախ, թույլ տվեք բացատրել, թե ինչպես են վերը նշված ծածկագրերը օգտագործվելու մոդելում: Ավելի հեշտ է բացատրել գրաֆիկական օրինակով, բայց միևնույն ժամանակ մենք կվերլուծենք Գործունեության դիագրամի որոշ (մեզ անհրաժեշտ գրեթե բոլոր) տարրերը:
Վերլուծենք հետևյալ հատվածը.
...
Սկյուռը երգեր է երգում, (P1, A1)
Այո, նա շարունակում է ընկույզներ խայթել, (P2)
Բայց ընկույզները պարզ չեն, (C1)
Բոլոր պատյանները ոսկեգույն են, (C2)
Միջուկը մաքուր զմրուխտ է; (C3)
...
Մենք ունենք գործընթացի երկու փուլ P1 և P2, մասնակից A1 և երեք տարբեր դասերի օբյեկտներ. C1 դասի օբյեկտը մուտքագրվում է քայլին, C2 և C3 դասերի օբյեկտները ելքային են մեր այս քայլի P2 քայլի գործունեության արդյունքում: գործընթաց։ Դիագրամի համար մենք օգտագործում ենք հետևյալ մոդելավորման տարրերը.
Մեր գործընթացի մի հատվածը կարող է ներկայացվել նման բան (Նկար 1):
Նկար 1. Գործունեության դիագրամի հատված
Տիեզերքը կազմակերպելու և Գործունեության դիագրամի կառուցվածքը կազմակերպելու համար մենք կօգտագործենք ոչ ստանդարտ մոտեցում՝ UML նշագրման դասական օգտագործման տեսանկյունից: Բայց դրա համար մի քանի պատճառ կա: Նախ, մոդելավորումը սկսելուց անմիջապես առաջ մենք կկազմենք այսպես կոչված մոդելավորման պայմանագիր, որում արձանագրում ենք նշագրման օգտագործման բոլոր հնարավորությունները։ Երկրորդ, այս մոտեցումը բազմիցս հաջողությամբ կիրառվել է բիզնես մոդելավորման փուլում իրական նախագծերում՝ ծրագրային համակարգեր ստեղծելու համար, արդյունքները գրանցել են հեղինակների մեր փոքր թիմը համապատասխան հեղինակային իրավունքի օբյեկտում [6] և օգտագործվել նաև ուսումնական ձեռնարկում [7]: XNUMX]։ Գործունեության գծապատկերի համար մենք սահմանում ենք, որ դիագրամի դաշտը կառուցված է «լողալու ուղիներով»: Երգի անունը կհամապատասխանի գծապատկերի տարրերի տեսակին, որոնք կտեղադրվեն այդ ուղու վրա:
«Մուտքային և ելքային արտեֆակտներ». Այս հետքը կպարունակի Օբյեկտների տարրեր՝ օբյեկտներ, որոնք օգտագործվում են կամ գործընթացի ինչ-որ քայլի արդյունք են: «Գործընթացի քայլեր». Այստեղ մենք կտեղադրենք Activity տարրեր՝ գործընթացի մասնակիցների գործողությունները: «Մասնակիցներ». տարրերի ուղի, որը կնշանակի գործողություն կատարողների դերերը մեր գործընթացում; նրանց համար մենք կօգտագործենք նույն մոդելավորման տարրը Օբյեկտ՝ օբյեկտ, բայց դրան կավելացնենք «Դերասան» կարծրատիպը:
Հաջորդ ուղին կոչվում է «Բիզնեսի կանոններ» և այս ուղու վրա մենք տեքստային ձևով կտեղադրենք գործընթացի քայլերի կատարման կանոնները, և դրա համար մենք կօգտագործենք մոդելավորման տարրը Note - նշում:
Այստեղ կանգ կառնենք, թեև կարող էինք նաև ճանապարհից օգտվել «Գործիքներ» հավաքագրել տեղեկատվություն գործընթացի ավտոմատացման մակարդակի մասին: Ճանապարհը նույնպես կարող է օգտակար լինել «Մասնակիցների պաշտոնները և բաժանումները»., այն կարող է օգտագործվել դերերը գործընթացի մասնակիցների պաշտոններին և բաժիններին կապելու համար:
Այն ամենը, ինչ ես պարզապես նկարագրեցի, մի հատված է մոդելավորման կոնվենցիաներ, պայմանագրի այս մասը վերաբերում է մեկ դիագրամի կազմակերպման կանոններին և, համապատասխանաբար, այն գրելու և կարդալու կանոններին։
"Բաղադրատոմսը"
Հիմա եկեք դիտարկենք համակարգի հատուկ մոդելավորման տարբերակը Գործունեության դիագրամից: Սա միայն տարբերակներից մեկն է, նշում եմ, որ, իհարկե, միակը չէ։ Գործունեության դիագրամը մեզ կհետաքրքրի գործընթացի մոդելավորումից ավտոմատացված համակարգի նախագծմանն անցնելու իր դերի տեսանկյունից: Դա անելու համար մենք հավատարիմ կմնանք մեթոդական առաջարկություններին. մի տեսակ բաղադրատոմս, որը բաղկացած է ընդամենը հինգ փուլից և նախատեսում է միայն երեք տեսակի դիագրամների մշակում: Այս բաղադրատոմսի օգտագործումը կօգնի մեզ ձեռք բերել գործընթացի պաշտոնական նկարագրություն, որը մենք ցանկանում ենք ավտոմատացնել և հավաքել տվյալներ համակարգի նախագծման համար: Եվ UML-ի ուսումնասիրության սկզբում ուսանողների համար սա մի տեսակ փրկօղակ է, որը թույլ չի տա նրանց խեղդվել տեսողական միջոցների և տեխնիկայի բոլոր բազմազանության մեջ, որոնք առկա են UML-ում և ժամանակակից մոդելավորման գործիքներում:
Ահա, փաստորեն, ինքնին բաղադրատոմսը, այնուհետև հետևեք մեր «հեքիաթային» առարկայի համար կառուցված դիագրամներին:
Փուլ 1. Գործընթացը նկարագրում ենք Գործունեության դիագրամի տեսքով: Ավելի քան 10 քայլ ունեցող գործընթացի համար իմաստ ունի կիրառել գործընթացի փուլային տարրալուծման սկզբունքը՝ դիագրամի ընթեռնելիությունը բարելավելու համար:
Փուլ 2. Ընտրեք այն, ինչը կարելի է ավտոմատացնել (օրինակ, քայլերը կարելի է ընդգծել դիագրամի վրա):
Փուլ 3. Ավտոմատացված քայլը պետք է կապված լինի համակարգի գործառույթի կամ գործառույթների հետ (հարաբերությունները կարող են լինել շատ-շատ-շատ), գծե՛ք Use-case դիագրամ: Սրանք մեր համակարգի գործառույթներն են։
Փուլ 4. Նկարագրենք ՀԾ-ի ներքին կազմակերպումը` օգտագործելով դասի դիագրամ - Դասարան: Գործունեության դիագրամում «Մուտքային և ելքային օբյեկտներ (փաստաթղթեր)» լողուղին հիմք է հանդիսանում օբյեկտի մոդելի և էություն-հարաբերությունների մոդելի կառուցման համար:
Փուլ 5. Եկեք վերլուծենք «Բիզնեսի կանոններ» ուղու նշումները, դրանք ապահովում են տարբեր տեսակի սահմանափակումներ և պայմաններ, որոնք աստիճանաբար վերածվում են ոչ ֆունկցիոնալ պահանջների։
Ստացված դիագրամների հավաքածուն (Ակտիվություն, Օգտագործման դեպք, Դաս) մեզ տալիս է պաշտոնական նկարագրություն բավականին խիստ նշումով, այսինքն. ունի միանշանակ ընթերցում. Այժմ դուք կարող եք մշակել տեխնիկական բնութագրեր, հստակեցնել պահանջների բնութագրերը և այլն:
Սկսենք մոդելավորել։
Փուլ 1. Նկարագրեք գործընթացը Գործունեության դիագրամի տեսքով
Հիշեցնեմ, որ դիագրամային դաշտը մենք կառուցեցինք «լողի» գծերով, յուրաքանչյուր գոտի պարունակում է նույն տիպի տարրեր (Նկար 2): Բացի վերը նկարագրված դիագրամի տարրերից, մենք կօգտագործենք լրացուցիչ տարրեր, եկեք նկարագրենք դրանք:
Որոշումը (որոշումը) ցույց է տալիս գծապատկերում մեր գործընթացի ճյուղավորման կետը, իսկ թելերի միաձուլումը (Միաձուլում)՝ դրանց վերամիավորման կետը: Անցումային պայմանները գրվում են անցումների վրա քառակուսի փակագծերում:
Երկու սինխրոնիզատորների (Fork) միջև մենք ցույց կտանք զուգահեռ գործընթացի ճյուղեր:
Մեր գործընթացը կարող է ունենալ միայն մեկ սկիզբ՝ մեկ մուտքի կետ (Initial): Բայց կարող են լինել մի քանի լրացումներ (Վերջնական), բայց ոչ մեր կոնկրետ դիագրամի համար:
Բավականին շատ սլաքներ կան, մեծ թվով տարրերով և կապերով դուք կարող եք նախ բացահայտել գործընթացի փուլերը, այնուհետև կատարել այս փուլերի տարրալուծումը: Բայց պարզության համար ես կցանկանայի ցույց տալ մեր «հեքիաթային» գործընթացը ամբողջությամբ մեկ գծապատկերի վրա, մինչդեռ, իհարկե, մենք պետք է ապահովենք, որ սլաքները «միասին չկպչեն», հնարավոր կլինի ճշգրիտ հետևել, թե ինչ է կապված: ինչին.
Նկար 2. Գործունեության դիագրամ - գործընթացի ընդհանուր տեսք
Որովհետեւ բանաստեղծական տողերում ընթացքի որոշ մանրամասներ բաց են թողնված, դրանք պետք է վերականգնվեին, ցուցադրվում են սպիտակ ֆոն ունեցող տարրերով։ Այս մանրամասները ներառում են «Փոխանցում/ընդունում պահպանման և մշակման համար» քայլը և մի քանի մուտքային և ելքային արտեֆակտներ: Հարկ է նշել, որ այս քայլը նույնպես ամբողջությամբ չի բացահայտում գործընթացը, քանի որ մենք պետք է առանձին նշանակենք փոխանցման քայլը և ընդունման քայլը, և նույնիսկ կեղևների համար առանձին քայլ ավելացնենք, ինչպես նաև մտածենք, որ նախ այս բոլոր նյութական արժեքները պետք է ժամանակավորապես պահվեն ինչ-որ տեղ և այլն: եւ այլն։
Նկատենք նաև, որ ընկույզների ծագման հարցը մնում է անպատասխան՝ որտեղի՞ց են դրանք և ինչպե՞ս են հասնում սկյուռին։ Իսկ այս հարցը (նշման մեջ կարմիր տառատեսակով ընդգծված է՝ Note տարրը) առանձին ուսումնասիրություն է պահանջում։ Ահա թե ինչպես է աշխատում վերլուծաբանը՝ քիչ առ քիչ տեղեկատվություն հավաքելով, ենթադրություններ անելով և առարկայի փորձագետներից «լավ» կամ «ոչ լավ» ստանալով՝ շատ կարևոր և պարզապես անփոխարինելի մարդիկ բիզնես մոդելավորման փուլում համակարգեր ստեղծելիս:
Նկատի ունեցեք նաև, որ գործընթացի քայլ P5-ը բաղկացած է երկու մասից:
Եվ մենք կքայքայենք յուրաքանչյուր մասը և կդիտարկենք այն ավելի մանրամասն (Նկար 3, Նկար 4), քանի որ. այս կոնկրետ քայլերի շրջանակներում իրականացվող գործողությունները ավտոմատացված կլինեն:
Նկար 3. Գործունեության դիագրամ - մանրամասնում (մաս 1)
Նկար 4. Գործունեության դիագրամ - մանրամասնում (մաս 2)
Փուլ 2. Ընտրեք այն, ինչը կարելի է ավտոմատացնել
Ավտոմատացված քայլերը գունավոր ընդգծված են դիագրամների վրա (տես Նկար 3, Նկար 4):
Դրանք բոլորն իրականացվում են գործընթացի մեկ մասնակցի կողմից՝ Գործավարը.
Հայտարարության մեջ մուտքագրում է ընկույզի քաշի մասին տեղեկատվություն.
Մուտքագրում է քաղվածքի մեջ ընկույզի փոխանցման մասին տեղեկությունները.
Արձանագրում է ընկույզի կեղևի և միջուկի վերածվելու փաստը.
Հայտարարության մեջ մուտքագրում է ընկույզի միջուկի մասին տեղեկությունները.
Ցանկում մուտքագրում է ընկույզի կեղևի մասին տեղեկությունները:
Կատարված աշխատանքի վերլուծություն. Ի՞նչ է հաջորդը:
Այսպիսով, մենք բավականին նախապատրաստական աշխատանք ենք կատարել. հավաքել ենք տեղեկատվություն այն գործընթացի մասին, որը պատրաստվում ենք ավտոմատացնել. սկսեց ձևավորել համաձայնություն մոդելավորման վերաբերյալ (առայժմ միայն Գործունեության դիագրամի օգտագործման առումով); կատարեց գործընթացի մոդելավորում և նույնիսկ քայքայեց դրա մի քանի քայլերը. Մենք բացահայտել ենք գործընթացի քայլերը, որոնք մենք ավտոմատացնելու ենք: Այժմ մենք պատրաստ ենք անցնելու հաջորդ քայլերին և սկսել համակարգի ֆունկցիոնալության և ներքին կազմակերպման նախագծումը:
Ինչպես գիտեք, տեսությունն առանց պրակտիկայի ոչինչ է։ Դուք անպայման պետք է փորձեք «մոդելավորել» ձեր սեփական ձեռքերով, սա նաև օգտակար է առաջարկվող մոտեցումը հասկանալու համար: Օրինակ, դուք կարող եք աշխատել մոդելավորման միջավայրում Մոդել [3]. Մենք քայքայել ենք ընդհանուր գործընթացի դիագրամի քայլերի միայն մի մասը (տես Նկար 2): Որպես գործնական առաջադրանք, ձեզանից կարող է պահանջվել կրկնել Modelio միջավայրի բոլոր դիագրամները և կատարել «Փոխանցում/ընդունում պահպանման և մշակման համար» քայլի տարրալուծումը:
Մենք դեռ չենք մտածում մոդելավորման հատուկ միջավայրերում աշխատելու մասին, բայց դա կարող է դառնալ անկախ հոդվածների և ակնարկների առարկա:
Հոդվածի երկրորդ մասում մենք կվերլուծենք 3-5 փուլերում անհրաժեշտ մոդելավորման և նախագծման տեխնիկան, կօգտագործենք UML Use-case և Class դիագրամներ: Շարունակելի.
Աղբյուրների ցանկ
«UML2.ru» կայք. Վերլուծաբանների համայնքի ֆորում. Ընդհանուր բաժին. Օրինակներ. Հեքիաթների օրինակներ, որոնք ձևաչափված են որպես UML դիագրամներ: [Էլեկտրոնային ռեսուրս] Մուտքի ռեժիմ՝ ինտերնետ. http://www.uml2.ru/forum/index.php?topic=486.0
թիվ 18249 տեղեկանք մտավոր գործունեության ստեղծագործության գրանցման և ավանդի մասին. Ալֆիմով Ռ.Վ., Զոլոտուխինա Է.Բ., Կրասնիկովա Ս.Ա. Ուսումնական օգնականի ձեռագիր «Առարկայական տարածքի մոդելավորում՝ օգտագործելով Enterprise Architect» // 2011 թ.
Զոլոտուխինա E.B., Vishnya A.S., Krasnikova S.A. Բիզնես գործընթացների մոդելավորում. - M .: KURS, NITs INFRA-M, EBS Znanium.com: - 2017 թ.