ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2019
Просмотров: 6279
Скачиваний: 39
ти п‡ ми
. Что бы по к‡ з‡ть, что ‚ы б‡н ло к‡ль ный пин те, чуть из ме ним
пе ‰ы ‰у щую ‰и ‡ „‡м му (ис. 5.16):
Сле ‰у ет от ме тить, что ино „‰‡ ‚ме с то фи „у ных ско бок ис поль зу ют -
сfl у„ ло ‚ые к‡ ‚ыч ки (к‡к мы пи ‚ык ли ‰е л‡ть, ук‡ зы ‚‡fl сте ео тип ‚ н‡ -
炇 нии ком по нен т‡ или кл‡с с‡), но ч‡ ще ‚се же пи ме нfl ют фи „у ные
скоб ки. Из ме нен н‡fl ‰и ‡ „‡м м‡ ст‡ л‡ еще бо лее по нflт ной, не  ‰‡ ли?
Что бы з‡ ке пить по лу чен ные зн‡ ниfl о с‚fl зflх со сте ео ти п‡ ми, пи ‚е ‰ем
еще о‰ин пи ме (ис. 5.17):
Смысл ‰и ‡ „‡м мы опflть ‚пол не по нfl тен, ‚е‰ь  ‰‡? А сте ео ти пы
с‚fl зей поз ‚о лfl ют ис клю чить не о‰ но зн‡ч но с ти, ко то ые мо„ ли бы быть,
ес ли бы мы „о ‚о и ли, н‡ пи ме, о мно „о н‡ ци о н‡ль ной ‡с пе ‰е лен ной
ком п‡ нии...
И еще о‰ н‡ ‚ещь, ко то ‡fl с‚fl з‡ н‡ с по нfl ти ем ко о пе ‡ ции —
ком по -
зит ный объ ект
. Ком по зит ный объ ект — это ‚ы со ко уо‚ не ‚ый объ ект, со -
101
Лекциfl 5
Д臄‡ммы ‚з‡имо‰ейст‚иfl: купным пл‡ном
Рис. 5.16
Рис. 5.17
сто fl щий из не сколь ких ч‡ с тей-объ ек то‚. Это эк земп лfl ком по зит но „о
кл‡с с‡, е ‡ ли зу ю ще „о ком по зит ное ‡„ е „и о ‚‡ ние кл‡с с‡ и е„о ч‡ с тей.
Ком по зит ный объ ект — по нfl тие,
близ кое к по нfl тию ко о пе ‡ ции
, но бо лее
по стое и бо лее о„ ‡ ни чен ное. Это кон ст ук циfl, по к‡ зы ‚‡ ю щее це лое ‚
‚и ‰е ‚з‡ и мо ‰ей ст ‚у ю щих ч‡ с тей, но ‚ ос но‚ ном с точ ки зе ниfl ком по зи -
ции. Изо б ‡ ж‡ ет сfl ком по зит ный объ ект ‚ ‚и ‰е пfl мо у„оль но „о сим ‚о л‡
объ ек т‡, но с не ко то ы ми от ли чи fl ми:
•
имfl объ ек т‡ ук‡ зы ‚‡ ет сfl ‚ ‚ех ней ч‡ с ти пfl мо у„оль ни к‡, от ‰е -
лен ной от е„о ос т‡ль ной ч‡ с ти „о и зон т‡ль ной ли ни ей;
•
‚ ниж ней ч‡ с ти пfl мо у„оль ни к‡ ‡з ме щ‡ ют сfl ч‡ с ти ком по зит но „о
объ ек т‡, т‡к же, ес те ст ‚ен но, изо б ‡ ж‡ е мые сим ‚о л‡ ми объ ек то‚;
•
ч‡ с ти ком по зит но „о объ ек т‡ мо „ут (и ‰‡ же ‰олж ны) быть с‚fl з‡ ны
меж ‰у со бой;
•
‰о пу с к‡ ет сfl си ту ‡ циfl, ко„ ‰‡ не ко то ые ч‡ с ти ком по зит но „о объ -
ек т‡ с‡ ми fl‚ лfl ют сfl ком по зит ны ми объ ек т‡ ми.
По смо т им же, к‡к это ‚ы „лfl ‰ит н‡ пи ме е (ис. 5.18):
Не  ‰‡ ли, эт‡ уп о щен н‡fl мо ‰ель „‡ фи че с ко „о ок н‡ по ст‡ и по -
нflт н‡? Ок но име ет з‡ „о ло ‚ок, ‡ бо чую об л‡сть и ‰‚е по ло сы по кут ки —
„о и зон т‡ль ную и ‚е ти к‡ль ную, ко то ые ее пе е ме щ‡ ют. Все по сто!
Ком по зит ный объ ект лишь бли зок по зн‡ че нию к ко о пе ‡ ции, но не
‚сте ч‡ ет сfl н‡ ‰и ‡ „‡м м‡х ‚з‡ и мо ‰ей ст ‚иfl «‚ чи с том ‚и ‰е». Н‡ ‰и ‡ „‡м -
м‡х ‚з‡ и мо ‰ей ст ‚иfl ино „‰‡ мож но у‚и ‰еть очень близ кую по смыс лу кон -
ст ук цию, ‡ имен но
‡к ти‚ ный объ ект
. Ак ти‚ ны ми н‡ зы ‚‡ ют объ ек ты, ко -
то ые ‚л‡ ‰е ют соб ст ‚ен ным по то ком уп ‡‚ ле ниfl и мо „ут ини ци и о ‚‡ть
‚ы пол не ние ‰ей ст ‚ий.
П‡с си‚ ные
объ ек ты со ‰е ж‡т ‰‡н ные, но не мо „ут
ини ци и о ‚‡ть ‚ы пол не ние. Ко неч но, п‡с си‚ ные объ ек ты мо „ут по сы л‡ть
Кус
102
UML: Пе‚ое зн‡комст‚о
Рис. 5.18
со об ще ниfl ‚ по цес се об ‡ бот ки по лу чен ных з‡ по со‚. Ак ти‚ ный объ ект
(или, ‚е нее, е„о оль) ‚ы „лfl ‰ит н‡ ‰и ‡ „‡м ме к‡к пfl мо у„оль ный сим ‚ол
объ ек т‡, но с утол щен ны ми „‡ ни ц‡ ми. Ч‡ с то ‡к ти‚ ный объ ект изо б ‡ ж‡ -
ет сfl к‡к ком по зит ный объ ект, со ‰е ж‡ щий объ ек ты-ч‡ с ти. По смо т и те,
н‡ пи ме, н‡ эту ‰и ‡ „‡м му, по з‡ им ст ‚о ‚‡н ную н‡ ми с http://etna.int-
evry.fr/COURS/UML/notation/notation8a.html (ис. 5.19):
К‡к ‚и ‰и те, ‚се объ ек ты, ото б ‡ жен ные н‡ ‰и ‡ „‡м ме, fl‚ лfl ют сfl ‡к -
ти‚ ны ми. Т‡ ких объ ек т‡ ти — это о бот, печь и ме не ‰ же це х‡, ко то ый
изо б ‡ жен к‡к ком по зит ный ‡к ти‚ ный объ ект.
Во об ще же, ес ли „о ‚о ить о ком по зит ных объ ек т‡х, то сле ‰у ет от ме -
тить, что ‚ UML 2 по fl‚ил сfl но ‚ый тип ‰и ‡ „‡мм —
ком по зит н‡fl стук ту -
н‡fl ‰и ‡ „‡м м‡
. Он‡ по к‡ зы ‚‡ ет ‚ну т ен нюю стук ту у эле мен т‡, ‚клю ч‡fl
точ ки ‚з‡ и мо ‰ей ст ‚иfl с ‰у „и ми ч‡ с тfl ми си с те мы. Т‡ ким об ‡ зом, ото б -
‡ ж‡ ет сfl со ст‡‚ и от но ше ниfl меж ‰у ч‡ с тfl ми, ко то ые со‚ ме ст ны ми уси -
ли fl ми е ‡ ли зу ют по ‚е ‰е ние эле мен т‡. Вот от лич ный пи ме ком по зит -
ной ‰и ‡ „‡м мы из Zicom Mentor (ис. 5.20).
Пе к‡с н‡fl мо ‰ель ‚е ло си пе ‰‡! Уз н‡ е те ст‡ ых зн‡ ко мых — ком по -
зит ные объ ек ты?
К со ж‡ ле нию, ком по зит ные стук ту ные ‰и ‡ „‡м мы н‡ хо ‰flт сfl з‡
пе ‰е л‡ ми те м‡ ти ки эк з‡ ме н‡ UM0-100, по это му боль ше о них мы з‰есь
103
Лекциfl 5
Д臄‡ммы ‚з‡имо‰ейст‚иfl: купным пл‡ном
Рис. 5.19
„о ‚о ить не бу ‰ем. О‰ н‡ ко н‡ пос ле ‰ок ск‡ жем, что, ко ме ‚ну т ен них ч‡ -
с тей, н‡ т‡ ких ‰и ‡ „‡м м‡х мож но у‚и ‰еть еще о‰ но но‚ ше ст ‚о UML 2 —
по ты
. Пот — это ти пи зи о ‚‡н ный эле мент, ко то ый пе‰ ст‡‚ лfl ет
«‚и -
‰и мую сн‡ у жи»
ч‡сть со ‰е ж‡ ще „о е„о эле мен т‡. Пот, к‡к это и сле ‰у ет
из н‡ з‚‡ ниfl, оп е ‰е лfl ет ‚з‡ и мо ‰ей ст ‚ие эле мен т‡ мо ‰е ли с ок у ж‡ ю щей
е„о се ‰ой. Пот мо жет ‡з ме щ‡ть сfl н‡ „‡ ни це ч‡ с ти, кл‡с с‡ или ком по -
зит ной стук ту ы. Пот мо жет опи сы ‚‡ть се ‚и сы, пе ‰о ст‡‚ лfl е мые эле -
мен том мо ‰е ли (и те бу е мые ок у ж‡ ю щей е„о се ‰ой). Изо б ‡ ж‡ ет сfl пот
к‡к име но ‚‡н ный (не ‰‡ ом же мы ‡ нее ск‡ з‡ ли «ти пи зи о ‚‡н ный») пfl -
мо у„оль ник н‡ „‡ ни це со ‰е ж‡ ще „о е„о эле мен т‡ мо ‰е ли (‚по чем, ино -
„‰‡ мож но у‚и ‰еть сим ‚ол по т‡ и ‚ну т и сим ‚о л‡ кл‡с с‡ — то„ ‰‡ „о ‚о flт,
что кл‡сс име ет
скы тый пот
). Что бы по кон чить с эти ми от ступ ле ни fl ми
от те мы, по к‡ жем, к‡к ‚се это ‚ы „лfl ‰ит н‡ ‰и ‡ „‡м ме, и ‚е нем сfl к ‰и ‡ -
„‡м м‡м ‚з‡ и мо ‰ей ст ‚иfl (ис. 5.21).
Кус
104
UML: Пе‚ое зн‡комст‚о
Рис. 5.20
Рис. 5.21
Вспом ни ли, что изо б ‡ ж‡ ют «ле ‰ен цы н‡ п‡ лоч ке»? П‡ ‚иль но, ин -
те фей сы — пе ‰о ст‡‚ лfl е мый кл‡с сом и те бу е мый им, мо ло‰ цы. А те -
пеь ‚е нем сfl к ос но‚ ной ни ти н‡ ше „о по ‚е ст ‚о ‚‡ ниfl.
Ре ко мен ‰‡ ции по по ст о е нию ‰и ‡ „‡мм
‚з‡ и мо ‰ей ст ‚иfl
К‡ ким же об ‡ зом и ‚ к‡ кой по сле ‰о ‚‡ тель но с ти сле ‰у ет ‰ей ст ‚о -
‚‡ть, что бы по ст о ить к‡ че ст ‚ен ную ‰и ‡ „‡м му ‚з‡ и мо ‰ей ст ‚иfl? Н‡ -
чи н‡ть нуж но с ‚ы ‰е ле ниfl тех и толь ко тех кл‡с со‚, объ ек ты ко то ых
уч‡ ст ‚у ют ‚ мо ‰е ли у е мом ‚‡ ми ‚з‡ и мо ‰ей ст ‚ии. З‡ тем ‚се объ ек ты
н‡ но сим н‡ ‰и ‡ „‡м му. Сле ‰у ет т‡к же оп е ‰е лить те объ ек ты, ко то ые
бу ‰ут су ще ст ‚о ‚‡ть по сто flн но, и те, ко то ые бу ‰ут су ще ст ‚о ‚‡ть толь -
ко ‚о ‚е мfl ‚ы пол не ниfl ими ‰ей ст ‚ий ‚ ‡м к‡х мо ‰е ли у е мо „о ‚з‡ и -
мо ‰ей ст ‚иfl.
Т‡к, объ ек ты н‡ и со ‚‡ ны, мож но пе е хо ‰ить к со об ще ни flм. Воз -
мож но, что бы луч ше пе е ‰‡ть о ли, и„ ‡ е мые объ ек т‡ ми ‚о ‚з‡ и мо ‰ей ст -
‚ии, по н‡ ‰о бит сfl ис поль зо ‚‡ть ‡з лич ные ‡з но ‚и‰ но с ти со об ще ний и
сте ео ти пы. Длfl унич то же ниfl объ ек то‚, ко то ые су ще ст ‚у ют толь ко ‚о
‚е мfl ‚ы пол не ниfl не ких ‰ей ст ‚ий, то же нуж но пе ‰у с мо т еть спе ци ‡ль -
ные со об ще ниfl.
А ес ли есть ‚ет‚ ле ниfl? С‡ мые по стые слу ч‡и ‚ет‚ ле ний по цес с‡
‚з‡ и мо ‰ей ст ‚иfl мож но по к‡ з‡ть и н‡ о‰ ной ‰и ‡ „‡м ме — по мни те пи -
ме с ‡з ны ми спо со б‡ ми пл‡ те ж‡ ‚ з‡ ‚и си мо с ти от сто и мо с ти пи „лfl -
ну‚ шей сfl ‚е щи? Но пи изо б ‡ же нии ‚ет‚ ле ний ‰и ‡ „‡м м‡ ст‡ но ‚ит сfl
бо лее слож ной ‰лfl по ни м‡ ниfl «с ле ту». Нуж но со блю ‰‡ть б‡ л‡нс меж ‰у
‰е т‡ ли з‡ ци ей и слож но с тью: луч ше к‡ж ‰ый ‡ль те н‡ ти‚ ный по ток уп ‡‚ -
ле ниfl по к‡ зы ‚‡ть н‡ от ‰ель ной ‰и ‡ „‡м ме. В т‡ ком слу ч‡е сле ‰у ет ‡с -
см‡ т и ‚‡ть т‡ кие «ч‡ ст ные» ‰и ‡ „‡м мы ‚ ком плек се, к‡к о‰ ну мо ‰ель ‚з‡ -
и мо ‰ей ст ‚иfl.
Ес ли же хо чет сfl еще боль ше ‰е т‡ ли зи о ‚‡ть ‰и ‡ „‡м му, мож но ‚‚е -
с ти ‚е мен ные о„ ‡ ни че ниfl н‡ ‚ы пол не ние от ‰ель ных ‰ей ст ‚ий. Впо -
чем, ‰лfl по стых ‡син хон ных со об ще ний ‚е мен ные о„ ‡ ни че ниfl, ско -
ее ‚се „о, не нуж ны. А ‚от не об хо ‰и мость син хо ни з‡ ции слож ных по то -
ко‚ уп ‡‚ ле ниfl ч‡ с то те бу ет ис поль зо ‚‡ ниfl т‡ ких о„ ‡ ни че ний. З‡ пись
их ‰олж н‡ сле ‰о ‚‡ть п‡ ‚и л‡м
flзы к‡ объ ект ных о„ ‡ ни че ний
(OCL, Object
Constraint Language). Р‡с смо т е ние OCL ‚ы хо ‰ит з‡ ‡м ки н‡ шей кни „и и
эк з‡ ме н‡ UM0-100, ‰лfl по‰ „о то‚ ки к ко то о му он‡ н‡ пи с‡ н‡. Хо тfl, с‡ ми
то „о не зн‡fl, мы уже ис поль зо ‚‡ ли OCL — ‚спом ни те ус ло ‚иfl ‚ ꂇ ‰ ‡т -
ных скоб к‡х по‰ со об ще ни fl ми н‡ ‰и ‡ „‡м ме по сле ‰о ‚‡ тель но с тей с ‚ет‚ -
ле ни ем!
105
Лекциfl 5
Д臄‡ммы ‚з‡имо‰ейст‚иfl: купным пл‡ном