Ал ў§Ё®¤Ґ©бвўЁ©. „ЁЈа Є®®ЇҐажЁЁ
„«п ®¤Ґ«Ёа®ўЁп ў§Ё®¤Ґ©бвўЁп ®ЎкҐЄв®ў ў п§лЄҐ UML ЁбЇ®«м§говбп ᮮ⢥вбвўгойЁҐ ¤ЁЈал ў§Ё®¤Ґ©бвўЁп. ѓ®ў®ап ®Ў нвЁе ¤ЁЈае, ЁҐов ў ўЁ¤г ¤ў бЇҐЄв ў§Ё®¤Ґ©бвўЁп. ‚®-ЇҐаўле, ў§Ё®¤Ґ©бвўЁп ®ЎкҐЄв®ў ®¦® аббваЁўвм ў® ўаҐҐЁ, Ё в®Ј¤ ¤«п ЇаҐ¤бвў«ҐЁп ўаҐҐле ®б®ЎҐ®б⥩ ЇҐаҐ¤зЁ Ё ЇаЁҐ б®®ЎйҐЁ© Ґ¦¤г ®ЎкҐЄвЁ ЁбЇ®«м§гҐвбп ¤ЁЈа Ї®б«Ґ¤®ўвҐ«м®бвЁ.
‚®-ўв®але, ®¦® аббваЁўвм бвагЄвгалҐ ®б®ЎҐ®бвЁ ў§Ё®¤Ґ©бвўЁп ®ЎкҐЄв®ў. „«п ЇаҐ¤бвў«ҐЁп бвагЄвгале ®б®ЎҐ®б⥩ ЇҐаҐ¤зЁ Ё ЇаЁҐ б®®ЎйҐЁ© Ґ¦¤г ®ЎкҐЄвЁ ЁбЇ®«м§гҐвбп ¤ЁЈа Є®®ЇҐажЁЁ
„ЁЈа Є®®ЇҐажЁЁ ЇаҐ¤§зҐ ¤«п бЇҐжЁдЁЄжЁЁ бвагЄвгале бЇҐЄв®ў ў§Ё®¤Ґ©бвўЁп. ѓ«ўп ®б®ЎҐ®бвм ¤ЁЈал Є®®ЇҐажЁЁ §Є«озҐвбп ў ў®§®¦®бвЁ ЈадЁзҐбЄЁ ЇаҐ¤бвўЁвм Ґ в®«мЄ® Ї®б«Ґ¤®ўвҐ«м®бвм ў§Ё®¤Ґ©бвўЁп, ® Ё ўбҐ бвагЄвгалҐ ®в®иҐЁп Ґ¦¤г ®ЎкҐЄвЁ, гзбвўгойЁЁ ў нв® ў§Ё®¤Ґ©бвўЁЁ.
ЏаҐ¦¤Ґ ўбҐЈ®, ¤ЁЈаҐ Є®®ЇҐажЁЁ ў ўЁ¤Ґ Їап®гЈ®«мЁЄ®ў Ё§®Ўа¦овбп гзбвўгойЁҐ ў® ў§Ё®¤Ґ©бвўЁЁ ®ЎкҐЄвл, ᮤҐа¦йЁҐ Ёп ®ЎкҐЄв, ҐЈ® Є«бб Ё, ў®§®¦®, §зҐЁп ваЁЎгв®ў. „«ҐҐ, ЄЄ Ё ¤ЁЈаҐ Є«бб®ў, гЄ§лўовбп бб®жЁжЁЁ Ґ¦¤г ®ЎкҐЄвЁ ў ўЁ¤Ґ ৫Ёзле ᮥ¤ЁЁвҐ«мле «ЁЁ©. ЏаЁ нв® ®¦® пў® гЄ§вм ЁҐ бб®жЁжЁЁ Ё а®«Ґ©, Є®в®алҐ ЁЈаов ®ЎкҐЄвл ў ¤®© бб®жЁжЁЁ.
Ќ ¤ЁЈаҐ Є®®ЇҐажЁЁ Ё§®Ўа¦овбп в®«мЄ® ®в®иҐЁп Ґ¦¤г ®ЎкҐЄвЁ, ЁЈаойЁЁ ®ЇаҐ¤Ґ«ҐлҐ а®«Ё ў® ў§Ё®¤Ґ©бвўЁЁ. ‘ ¤агЈ®© бв®а®л, нв®© ¤ЁЈаҐ Ґ 㪧뢥вбп ўаҐп ў ўЁ¤Ґ ®в¤Ґ«м®Ј® Ё§ҐаҐЁп. Џ®нв®г Ї®б«Ґ¤®ўвҐ«м®бвм ў§Ё®¤Ґ©бвўЁ© Ё Їа««Ґ«мле Ї®в®Є®ў ®¦Ґв Ўлвм ®ЇаҐ¤Ґ«Ґ б Ї®®ймо Ї®ап¤Є®ўле ®Ґа®ў. ‘«Ґ¤®ўвҐ«м®, Ґб«Ё Ґ®Ўе®¤Ё® пў® бЇҐжЁдЁжЁа®ўвм ў§Ё®бўп§Ё Ґ¦¤г ®ЎкҐЄвЁ ў аҐ«м® ўаҐҐЁ, «гзиҐ нв® ¤Ґ«вм ¤ЁЈаҐ Ї®б«Ґ¤®ўвҐ«м®бвЁ.
Џ®ўҐ¤ҐЁҐ бЁбвҐл ®¦Ґв ®ЇЁблўвмбп га®ўҐ ®в¤Ґ«мле ®ЎкҐЄв®ў, Є®в®алҐ ®ЎҐЁўовбп Ґ¦¤г б®Ў®© б®®ЎйҐЁпЁ, зв®Ўл ¤®бвЁзм 㦮© 楫Ё Ё«Ё ५Ё§®ўвм ҐЄ®в®ал© бҐаўЁб. ‘ в®зЄЁ §аҐЁп «ЁвЁЄ Ё«Ё Є®бвагЄв®а ў¦® ЇаҐ¤бвўЁвм ў Їа®ҐЄвҐ бЁбвҐл бвагЄвгалҐ бўп§Ё ®в¤Ґ«мле ®ЎкҐЄв®ў Ґ¦¤г б®Ў®©. ’Є®Ґ бввЁзҐбЄ®Ґ ЇаҐ¤бвў«ҐЁҐ бвагЄвгал бЁбвҐл ЄЄ б®ў®ЄгЇ®бвЁ ў§Ё®¤Ґ©бвўгойЁе ®ЎкҐЄв®ў Ё ®ЎҐбЇҐзЁўҐв ¤ЁЈа Є®®ЇҐажЁЁ.
9.1. Љ®®ЇҐажЁп
Џ®пвЁҐ Є®®ЇҐажЁЁ (collaboration) пў«пҐвбп ®¤Ё Ё§ д㤥в«мле Ї®пвЁ© ў п§лЄҐ UML. Ћ® б«г¦Ёв ¤«п ®Ў®§зҐЁп ®¦Ґбвў ў§Ё®¤Ґ©бвўгойЁе б ®ЇаҐ¤Ґ«Ґ®© 楫мо ®ЎкҐЄв®ў ў ®ЎйҐ Є®вҐЄб⥠®¤Ґ«Ёа㥮© бЁбвҐл. –Ґ«м б®© Є®®ЇҐажЁЁ б®бв®Ёв ў в®, зв®Ўл бЇҐжЁдЁжЁа®ўвм ®б®ЎҐ®б⨠५Ё§жЁЁ ®в¤Ґ«мле ЁЎ®«ҐҐ §зЁле ®ЇҐажЁ© ў бЁб⥥. Љ®®ЇҐажЁп ®ЇаҐ¤Ґ«пҐв бвагЄвгаг Ї®ўҐ¤ҐЁп бЁбвҐл ў вҐаЁе ў§Ё®¤Ґ©бвўЁп гзбвЁЄ®ў нв®© Є®®ЇҐажЁЁ.
„ЁЈа Є®®ЇҐажЁЁ
Љ®®ЇҐажЁп Ё§®Ўа¦Ґвбп ¤ЁЈаҐ ЇгЄвЁал н««ЁЇб®, ўгваЁ Є®в®а®Ј® §ЇЁб뢥вбп Ёп нв®© Є®®ЇҐажЁЁ (аЁб. 9.1). ’Є®Ґ ЇаҐ¤бвў«ҐЁҐ Є®®ЇҐажЁЁ ®в®бЁвбп Є ®в¤Ґ«м®г ўаЁвг ЁбЇ®«м§®ўЁп Ё ¤Ґв«Ё§ЁагҐв ®б®ЎҐ®бвЁ ҐЈ® Ї®б«Ґ¤го饩 ५Ё§жЁЁ.
ђЁб. 9.1. ЋЎйҐҐ ЇаҐ¤бвў«ҐЁҐ Є®®ЇҐажЁЁ ¤ЁЈае га®ўп бЇҐжЁдЁЄжЁЁ
…б«Ё Є®®ЇҐажЁп ¤®ЇгбЄҐв ®Ў®ЎйҐ®Ґ ЇаҐ¤бвў«ҐЁҐ, в® ¤ЁЈае ®Јгв Ўлвм гЄ§л ®в®иҐЁп ®Ў®ЎйҐЁп ᮮ⢥вбвўгойЁе н«ҐҐв®ў. ќв®в бЇ®б®Ў ®¦Ґв Ўлвм ЁбЇ®«м§®ў ¤«п ®ЇаҐ¤Ґ«ҐЁп ®в¤Ґ«мле Є®®ЇҐажЁ©, Є®в®алҐ пў«повбп, ў бў®о ®зҐаҐ¤м, збвл б«гзҐ Ё«Ё бЇҐжЁ«Ё§жЁҐ© ¤агЈ®© Є®®ЇҐажЁЁ. ’Єп бЁвгжЁп Ё§®Ўа¦Ґвбп ®Ўлз®© бв५Є®© ®Ў®ЎйҐЁп, Їаў«Ґ®© ®в бЁў®« ¤®зҐаҐ© Є®®ЇҐажЁЁ Є бЁў®«г Є®®ЇҐажЁЁ-ЇаҐ¤Є (аЁб. 9.2). ЏаЁ нв® а®«Ё ¤®зҐаЁе Є®®ЇҐажЁ© ®Јгв Ўлвм бЇҐжЁ«Ё§жЁпЁ а®«Ґ© Є®®ЇҐажЁ©-ЇаҐ¤Є®ў.
ђЁб. 9.2. ѓадЁзҐбЄ®Ґ Ё§®Ўа¦ҐЁҐ ®в®иҐЁп ®Ў®ЎйҐЁп Ґ¦¤г ®в¤Ґ«млЁ Є®®ЇҐажЁпЁ
9.4. ‘®®ЎйҐЁп
‘®®ЎйҐЁҐ ¤ЁЈаҐ Є®®ЇҐажЁЁ бЇҐжЁдЁжЁагҐв Є®гЁЄжЁо Ґ¦¤г ¤ўгп ®ЎкҐЄвЁ, ®¤Ё Ё§ Є®в®але ЇҐаҐ¤Ґв ¤агЈ®г ҐЄ®в®аго Ёд®ажЁо. ЏаЁ нв® ЇҐаўл© ®ЎкҐЄв ®¦Ё¤Ґв, зв® Ї®б«Ґ Ї®«г票п б®®ЎйҐЁп ўв®ал ®ЎкҐЄв® Ї®б«Ґ¤гҐв ўлЇ®«ҐЁҐ ҐЄ®в®а®Ј® ¤Ґ©бвўЁп. ’ЄЁ ®Ўа§®, ЁҐ® б®®ЎйҐЁҐ пў«пҐвбп ЇаЁзЁ®© Ё«Ё бвЁг«® ¤«п з« ўлЇ®«ҐЁп ®ЇҐажЁ©, ®вЇаўЄЁ бЁЈ«®ў, ᮧ¤Ёп Ё гЁз⮦ҐЁп ®в¤Ґ«мле ®ЎкҐЄв®ў. ‘ўп§м ®ЎҐбЇҐзЁўҐв Є« ¤«п Їаў«Ґ®© ЇҐаҐ¤зЁ б®®ЎйҐЁ© Ґ¦¤г ®ЎкҐЄвЁ ®в ®ЎкҐЄв-Ёбв®зЁЄ Є ®ЎкҐЄвг-Ї®«гз⥫о.
ђЁб. 9.10. ѓадЁзҐбЄ®Ґ Ё§®Ўа¦ҐЁҐ ৫Ёзле вЁЇ®ў б®®ЎйҐЁ© ¤ЁЈаҐ Є®®ЇҐажЁЁ
‘®®ЎйҐЁп ў п§лЄҐ UML вЄ¦Ґ бЇҐжЁдЁжЁагов а®«Ё, Є®в®алҐ ЁЈаов ®ЎкҐЄвл - ®вЇаўЁвҐ«м Ё Ї®«гз⥫м б®®ЎйҐЁп. ‘®®ЎйҐЁп ¤ЁЈаҐ Є®®ЇҐажЁЁ Ё§®Ўа¦овбп Ї®ҐзҐлЁ бв५ЄЁ а冷 (ўлиҐ Ё«Ё Ё¦Ґ) б ᮮ⢥вбвўго饩 бўп§мо Ё«Ё а®«мо бб®жЁжЁЁ. ЌЇаў«ҐЁҐ бв५ЄЁ 㪧뢥⠯®«гз⥫п б®®ЎйҐЁп. ‚ҐиЁ© ўЁ¤ бв५ЄЁ б®®ЎйҐЁп ЁҐҐв ®ЇаҐ¤Ґ«Ґл© блб«. Ќ ¤ЁЈае Є®®ЇҐажЁЁ ®¦Ґв ЁбЇ®«м§®ўвмбп ®¤Ё Ё§ зҐвлаҐе вЁЇ®ў бв५®Є ¤«п ®Ў®§зҐЁп б®®ЎйҐЁ© (аЁб. 9.10):
- ‘Ї«®ип «ЁЁп б ваҐгЈ®«м®© бв५Є®© (аЁб. 9.10, ) ®Ў®§зҐв ўл§®ў Їа®жҐ¤гал Ё«Ё ¤агЈ®Ј® ў«®¦Ґ®Ј® Ї®в®Є гЇаў«ҐЁп. Њ®¦Ґв Ўлвм вЄ¦Ґ ЁбЇ®«м§®ў б®ўҐбв® б Їа««Ґ«м® ЄвЁўлЁ ®ЎкҐЄвЁ, Є®Ј¤ ®¤Ё Ё§ Ёе ЇҐаҐ¤Ґв бЁЈ« Ё ®¦Ё¤Ґв, Ї®Є Ґ §Є®зЁвбп ҐЄ®в®ап ў«®¦Ґп Ї®б«Ґ¤®ўвҐ«м®бвм ¤Ґ©бвўЁ©. ЋЎлз® ўбҐ вЄЁҐ б®®ЎйҐЁп пў«повбп бЁеа®лЁ, в. Ґ. ЁЁжЁЁагҐлЁ Ї® §ўҐа襨Ё ҐЄ®в®а®© ¤Ґп⥫м®бвЁ Ё«Ё ЇаЁ ўлЇ®«ҐЁЁ ҐЄ®в®а®Ј® гб«®ўЁп.
- ‘Ї«®ип «ЁЁп б V-®Ўа§®© бв५Є®© (аЁб. 9.10, Ў) ®Ў®§зҐв Їа®бв®© Ї®в®Є гЇаў«ҐЁп. Љ¦¤п вЄп бв५Є Ё§®Ўа¦Ґв ®¤Ё нвЇ ў Ї®б«Ґ¤®ўвҐ«м®бвЁ Ї®в®Є гЇаў«ҐЁп. ЋЎлз® ўбҐ вЄЁҐ б®®ЎйҐЁп пў«повбп бЁеа®лЁ.
- ‘Ї«®ип «ЁЁп б Ї®«гбв५Є®© (аЁб. 9.10, ў) ЁбЇ®«м§гҐвбп ¤«п ®Ў®§зҐЁп бЁеа®®Ј® Ї®в®Є гЇаў«ҐЁп. ‘®®вўҐвбвўгойЁҐ б®®ЎйҐЁп д®аЁаговбп ў Їа®Ё§ў®«млҐ, §аҐҐ Ґ Ё§ўҐбвлҐ ®Ґвл ўаҐҐЁ, ЄЄ ЇаўЁ«®, ЄвЁўлЁ ®ЎкҐЄвЁ. ЋЎлз® б®®ЎйҐЁп нв®Ј® вЁЇ пў«повбп з«млЁ ў Ї®б«Ґ¤®ўвҐ«м®бвЁ Ї®в®Є гЇаў«ҐЁп Ё зйҐ ўбҐЈ® ЁЁжЁЁаговбп ЄвҐаЁ.
- ЏгЄвЁап «ЁЁп б V-®Ўа§®© бв५Є®© (аЁб. 9.10, Ј) ®Ў®§зҐв ў®§ўав Ё§ ўл§®ў Їа®жҐ¤гал. ‘в५ЄЁ нв®Ј® вЁЇ §збвго ®вбгвбвўгов ¤ЁЈае Є®®ЇҐажЁЁ, Ї®бЄ®«мЄг Ґпў® ЇаҐ¤Ї®«ЈҐвбп Ёе бгйҐбвў®ўЁҐ Ї®б«Ґ ®Є®зЁп Їа®жҐбб ЄвЁўЁ§жЁЁ ҐЄ®в®а®© ¤Ґп⥫м®бвЁ.
9.5. ЏаЁҐа Ї®бв஥Ёп ¤ЁЈал Є®®ЇҐажЁЁ
‚ ЄзҐб⢥ ЇаЁҐа абб®ваЁ Ї®бв஥ЁҐ ¤ЁЈал Є®®ЇҐажЁЁ ¤«п ®¤Ґ«Ёа®ўЁп Їа®жҐбб ⥫Ґд®®Ј® а§Ј®ў®а б ЁбЇ®«м§®ўЁҐ ®Ўлз®© ⥫Ґд®®© бҐвЁ (б. Ј«ўг д. ЌЇ®Ё, зв® ®ЎкҐЄвЁ ў нв® ЇаЁҐаҐ пў«повбп ¤ў Ў®Ґв Ё њ, ¤ў ⥫Ґд®ле ЇЇав б Ё </, Є®гвв®а Ё б а§Ј®ў®а ЄЄ ®ЎкҐЄв ®¤Ґ«Ёа®ўЁп. ЏаЁ нв® ЄЄ Є®гвв®а, вЄ Ё а§Ј®ў®а пў«повбп ®ЁлЁ ®ЎкҐЄвЁ.
Ќ з«м® нвЇҐ Ё§®Ўа§Ё ўбҐ ®ЎкҐЄвл Ё бўп§Ё Ґ¦¤г ЁЁ ¤ЁЈаҐ Є®®ЇҐажЁЁ ЇаЁ Ї®®йЁ ᮮ⢥вбвўгойЁе ®Ў®§зҐЁ© (аЁб. 9.11). ‡ҐвЁ, зв® ЇҐаўл© ⥫Ґд®л© ЇЇав Ё§®Ўа¦Ґ ЄЄ ЄвЁўл© ®ЎкҐЄв, ўв®а®© - ЄЄ ЇббЁўл©.
ђЁб. 9.11. Ќз«мл© даЈҐв ¤ЁЈал Є®®ЇҐажЁЁ ¤«п ЇаЁҐа ®¤Ґ«Ёа®ўЁп ®Ўлз®Ј® ⥫Ґд®®Ј® а§Ј®ў®а
‚ Ї®б«Ґ¤гойҐ Ґ®Ўе®¤Ё® бЇҐжЁдЁжЁа®ўвм ўбҐ бўп§Ё нв®© ¤ЁЈаҐ, гЄ§ў Ёе Є®же Ґ®Ўе®¤Ёго Ёд®ажЁо ў д®аҐ а®«Ґ© бўп§Ґ©. „®Ї®«Ґл© вЄЁ ®Ўа§® ўаЁв ¤ЁЈал Є®®ЇҐажЁЁ Ё§®Ўа¦Ґ Ё¦Ґ (аЁб. 9.12). ‡ҐвЁ, зв® ¤«п ®ЎкҐЄв "ђ§Ј®ў®а" гЄ§® Ї®ҐзҐ®Ґ §зҐЁҐ {transient}, Є®в®а®Ґ ®§зҐв, зв® нв®в ®ЎкҐЄв ᮧ¤Ґвбп ў Їа®жҐбᥠўлЇ®«ҐЁп ®ЎкҐ«о饣® Їа®жҐбб Ё гЁз⮦Ґвбп ¤® ҐЈ® §ўҐа襨п. ЌЇ®Ё, зв® Ї®ҐзҐлҐ §зҐЁп (tagged values) пў«повбп бв¤авлЁ н«ҐҐвЁ п§лЄ UML.
ђЁб. 9.12. даЈҐв ¤ЁЈал Є®®ЇҐажЁЁ, ¤®Ї®«Ґл© бвҐаҐ®вЁЇЁ а®«Ґ© бўп§Ґ©, ЁҐЁ бб®жЁжЁ© Ё Ї®ҐзҐл §зҐЁҐ ®ЎкҐЄв
ђЁб. 9.13. ЋЄ®з⥫мл© ўаЁв ¤ЁЈал Є®®ЇҐажЁЁ ¤«п ®¤Ґ«Ёа®ўЁп ⥫Ґд®®Ј® а§Ј®ў®а
ЌЄ®Ґж, ¤ЁЈаг Є®®ЇҐажЁЁ Ґ®Ўе®¤Ё® ҐбвЁ ўбҐ б®®ЎйҐЁп, гЄ§ў Ёе Ї®а冷Є Ё бҐвЁзҐбЄЁҐ ®б®ЎҐ®бвЁ. ЋЄ®з⥫мл© даЈҐв ¤ЁЈал Є®®ЇҐажЁЁ Ё§®Ўа¦Ґ аЁб. 9.13 Ё ᮤҐа¦Ёв, бва®Ј® Ј®ў®ап, ®¤Ґ«м Є®®ЇҐажЁЁ в®«мЄ® ¤«п з« а§Ј®ў®а. ќв ¤ЁЈа ®¦Ґв Ўлвм ¤®Ї®«Ґ б®®ЎйҐЁпЁ, Ґ®Ўе®¤ЁлЁ ¤«п ®Є®зЁп а§Ј®ў®а, зв® зЁввҐ«п ЇаҐ¤«ЈҐвбп ўлЇ®«Ёвм б®бв®пвҐ«м® ў ЄзҐб⢥ гЇа¦ҐЁп.
ЉЄ Ґва㤮 §ҐвЁвм, ¤ЁЈа Є®®ЇҐажЁЁ ¤«п ЇаЁҐа б ⥫Ґд®л а§Ј®ў®а® Ґ ᮤҐа¦Ёв Ё ўаҐҐле ®б®ЎҐ®б⥩ ЇҐаҐ¤зЁ б®®ЎйҐЁ©, Ё ®б®ЎҐ®б⥩ ¦Ё§Ґ®Ј® жЁЄ« гзбвўгойЁе ў ¤®© Є®®ЇҐажЁЁ ®ЎкҐЄв®ў. Џ®нв®г ®¦Ґв Ўлвм ЇаЁпв® аҐиҐЁҐ ® в®, зв® ® пў«пҐвбп Ё§Ўлв®з®© ЇаЁ «ЁзЁЁ Ї®бв஥®© ¤ЁЈал Ї®б«Ґ¤®ўвҐ«м®бвЁ. ќв®в дЄв Ґ ўл§лўҐв ᮥЁ© ў вҐе б«гзпе, Є®Ј¤ бвагЄвга ў§Ё®¤Ґ©бвўгойЁе ®ЎкҐЄв®ў пў«пҐвбп ¤®бвв®з® ваЁўЁ«м®©.
…б«Ё ¦Ґ ў§Ё®¤Ґ©бвўгойЁҐ ®ЎкҐЄвл ®Ўа§гов Ґ¦¤г б®Ў®© ৫ЁзлҐ вЁЇл ®в®иҐЁ©-бб®жЁжЁ© (Є®Ї®§ЁжЁп, ЈаҐЈжЁп), в® ¤ЁЈа Є®®ЇҐажЁЁ ®Є§лўҐвбп Ґ®Ўе®¤Ёл ЇаҐ¤бвў«ҐЁҐ ®¤Ґ«Ё ўбҐе ҐҐ га®ўпе.