Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПрИС / Бабич UML первое знакомство

.pdf
Скачиваний:
99
Добавлен:
05.02.2016
Размер:
11.15 Mб
Скачать

Лекциfl 6

Д臄 ‡ммы п еце‰енто‚: к упным пл‡ном

счет и опл‡тить е„о. Систем‡ ‰олжн‡ быть н‡пис‡н‡ н‡ ASP.NET. Т‡кое ‚от нехит ое инт ‡нет-п иложение ‰лfl ‡‚том‡тиз‡ции з‡к‡зо‚ обе‰о‚ ‚ офис.

Дум‡ем, з‰есь ‚се понflтно. Т‡блиц‡ с опис‡нием т ебний может быть, н‡п име , т‡кой:

П еце‰ент

Дейст‚ующее лицо

‡зместить меню

сек ет‡ ь

озн‡комитьсfl с меню

сот у‰ник, сек ет‡ ь, офис-мене‰же

с‰ел‡ть з‡к‡з

сот у‰ник, сек ет‡ ь, офис-мене‰же

сфо ми ть счет

офис-мене‰же

опл‡тить счет

офис-мене‰же

З‰есь н脉е не ск‡з‡но о том, что систем‡ ‰олжн‡ быть н‡пис‡н‡ н‡ ASP.NET. Почему Ñ понflтно: это ‚е‰ь нефункцион‡льное т ебние! И еще, оче‚и‰но, что сек ет‡ ь и офис-мене‰же тоже fl‚лflютсfl сот у‰ни- к‡ми. Чит‡тель, ‚ним‡тельно п очит‡‚ший п е‰ы‰ущие лекции, з‡по‰о- з ит, что ‚ ‰‡нном случ‡е, со片‚‡fl мо‰ель п еце‰енто‚, „о‚о fl о ‰ейст- ‚ующих лиц‡х, можно бы п именить „ене ‡лиз‡цию. Дейст‚ительно, ‰и- ‡„ ‡мм‡ п еце‰енто‚, пост оенн‡fl н‡ осно‚е этой т‡блицы, может быть, н‡п име , т‡кой ( ис. 6.3):

Рис. 6.3

111

Ку с

UML: Пе ‚ое зн‡комст‚о

Д臄 ‡ммы п еце‰енто‚ и их нот‡циfl

Что ж, у н‡с есть п име ‰и‡„ ‡ммы. Ит‡к, к‡кие же элементы мы н‡ ней ‚и‰им? Пе ‚ое, что б ос‡етсfl ‚ „л‡з‡, Ñ большой п flмоу„ольник, ‚нут и кото о„о ‡змещ‡ютсfl эллипсы, обозн‡ч‡ющие, к‡к мы уже понflли, п еце‰енты. В ‚е хней ч‡сти п flмоу„ольник‡ ук‡з‡но н‡- 炇ние мо‰ели уемой системы, ‡ н‡зы‚‡ют е„о ‡мк‡ми системы (system boundary, subject boundary), контекстом или п осто системой. Этот эле-

мент ‰и‡„ ‡ммы пок‡зы‚‡ет „ ‡ницу меж‰у тем, что ‚ы к‡к ‡н‡литик пок‡з‡ли ‚ ‚и‰е п еце‰енто‚ (‚нут и этих ‡мок), и тем, что ‚ы изоб ‡- зили к‡к ‰ейст‚ующие лиц‡ (‚не их). Ч‡ще ‚се„о т‡ким п flмоу„ольни-

ком пок‡зы‚‡ют „ ‡ницы с‡мой мо‰ели уемой системы. То есть ‚нут и

„ ‡ницы н‡хо‰flтсfl п еце‰енты Ñ тот функцион‡л, кото ый е‡лизует систем‡ (и ‚ этом смысле п еце‰енты мо„ут ‡ссм‡т 肇тьсfl к‡к п е‰- ст‡‚лениfl по‰систем и кл‡ссо‚ мо‰ели), ‡ сн‡ ужи Ñ ‰ейст‚ующие ли- ц‡: пользтели и ‰ у„ие ‚нешние сущности, ‚з‡имо‰ейст‚ующие с мо‰ели уемой системой.

Сле‰ует ск‡з‡ть, что ‡мки системы н‡ ‰и‡„ ‡мм‡х п еце‰енто‚ изо- б ‡ж‡ют ‰о‚ольно е‰ко, т. к. они неfl‚но по‰ ‡зум傇ютсfl с‡мой ‰и‡- „ ‡ммой. По сути, этот элемент не п и‚носит ‚ ‰и‡„ ‡мму к‡кой-либо ‰о- полнительной зн‡чимой инфо м‡ции, т‡к что е„о использние Ñ ‰ело ‚кус‡ ‡н‡литик‡. Поfl‚ление ‡мок системы н‡ ‰и‡„ ‡мме п еце‰енто‚ ч‡- ще ‚се„о ‰иктуетсfl особенностflми пе сон‡льно„о стилfl п оекти ниfl.

К оме ‡мок системы или ее контекст‡ н‡ ‰и‡„ ‡мме мы ‚и‰им еще ‰‚‡ ‚艇 с‚flз‡нных с ней сущностей Ñ это ‰ейст‚ующие лиц‡ (экто ы, actors) и п еце‰енты. Н‡чнем с экто о‚. До‚ольно ч‡сто ‚ усскоflзычной лите ‡ту е по UML ‰лfl обозн‡чениfl ‰ейст‚ующих лиц можно ‚ст етить те мин LJкте È. В п инципе, смысл е„о более-менее понflтен и о и„и- н‡льному ‡н„лийскому те мину он соз‚учен. Более то„о, есть еще о‰н‡ п ичин‡ т‡ко„о пе е‚. К‡кое сло‚о пе ‚ым п ихо‰ит к ‚‡м ‚ „оло‚у, к‡ ‚ы слышите сло‚о LJкте È? Д‡, конечно же Ñ сло‚о Ç ольÈ! Именно о олflх мы ‚ско е и по„о‚о им, к‡ бу‰ем пыт‡тьсfl ‡зоб ‡тьсfl, что ск ы‚‡етсfl з‡ понflтием ljейст‚ующее лицоÈ. А пок‡, ‰‡ п остит н‡с чи- т‡тель, ‰‡лее мы ‚се же бу‰ем пользтьсfl сло‚ом Çэкто È Ñ т ‡нск ипцией о и„ин‡льно„о те мин‡. Помнитсfl, мы уже к‡к-то пис‡ли о н‡шем отношении к буꂇльному пе е‚о‰у те миноло„ии...

Ит‡к, к‡кой же смысл ‚к뇉ы‚‡ют ‚ понflтие экто ‡? Экто Ñ это н‡бо олей, кото ые исполнflет пользтель ‚ хо‰е ‚з‡имо‰ейст‚иfl с некото ой сущностью (системой, по‰системой, кл‡ссом). Экто может быть чело‚еком, ‰ у„ой системой, по‰системой или кл‡ссом, кото ые п е‰ст‡‚лflют нечто з‡ п е‰ел‡ми ‡ссм‡т 肇емой сущности. Экто ы Çобщ‡ютсflÈ с системой путем обмен‡ сообщениflми. Четко ‚ы‰ели‚ экто-

112

Лекциfl 6

Д臄 ‡ммы п еце‰енто‚: к упным пл‡ном

о‚, ‚ы тем с‡мым flсно оп е‰елflете „ ‡ницу меж‰у тем, что ‚нут и системы, и тем, что сн‡ ужи, Ñ ‡мки системы.

Возможно, сл Ç оли, исполнflемые пользтелемÈ ‚ оп е‰елении экто ‡ з‚уч‡т не очень понflтно. Очень з‡б‡‚но это понflтие объflснflетсfl ‚

Zicom Mentor: оль Ñ это не конк етный пользтель, ‡ по‰обие шлflпы, кото ую чело‚ек 퇉傇ет, к‡ ‚з‡имо‰ейст‚ует с сущностью. Дейст‚итель-

но, 퇉еньте шлflпу пи ‡т‡ Ñ и ‚ы к‡пит‡н Джек Во обей, ‡ 퇉еньте цилин‰ и ‚ы Ñ Джек-пот ошитель! Шутк‡... ÇФизическийÈ пользтель может и„ ‡ть оль о‰но„о или ‰‡же нескольких экто о‚, ‚ыполнflfl их функции ‚ хо‰е ‚з‡имо‰ейст‚иfl с системой. И н‡обо от, оль о‰но„о и то- „о же экто ‡ может ‚ыполнflтьсfl несколькими пользтелflми.

Н‡ ‰и‡„ ‡мм‡х UML экто ы изоб ‡ж‡ютсfl ‚ ‚и‰е стилизнных чело‚ечко‚, ‚е‰ь, к‡к ‚ы, конечно, помните, и‰еfl был‡ ‚ со片нии нот‡ции, любой сим‚ол кото ой ле„ко может быть изоб ‡жен от уки ( ис. 6.4):

Рис. 6.4

Несмот fl н‡ Çчело‚еческийÈ ‚и‰ это„о обозн‡чениfl, не сле‰ует з‡- бы‚‡ть, что экто ы Ñ это не обflз‡тельно лю‰и. Экто ом, к‡к мы уже „о- ‚о или ‡нее, может быть ‚нешнflfl систем‡, по‰систем‡, кл‡сс и т. ‰. Кст‡ти, чело‚ечек (Çstick-personÈ) Ñ это не е‰инст‚енное обозн‡чение экто ‡, используемое ‚ UML. Н‡ ‰и‡„ ‡мм‡х п еце‰енто‚ обычно п именflетсfl именно Çчело‚екопо‰обн‡flÈ фо м‡ экто ‡, но н‡ ‰ у„их ‰и‡„ ‡м-

м‡х, и особенно ‚ случ‡flх, к‡ экто имеет ‡т ибуты, кото ые ‚‡жно пок‡з‡ть, используетсfl изоб ‡жение экто ‡ к‡к кл‡сс‡ со сте еотипом

<<actor>> ( ис. 6.5):

Рис. 6.5

С системой экто ы, к‡к мы уже ск‡з‡ли, общ‡ютсfl че ез сообщениfl, но если „о‚о ить н‡ более ‚ысоком у о‚не ‡бст ‡кции, ‚ те мин‡х мо‰ели п еце‰енто‚, то ‚з‡имо‰ейст‚уют они с системой че ез п еце‰енты. О‰ин и тот же экто может быть с‚flз‡н с несколькими п еце‰ент‡ми, и н‡обо от, о‰ин п еце‰ент может быть с‚flз‡н с несколькими ‡зными

113

Ку с

UML: Пе ‚ое зн‡комст‚о

экто ‡ми. Ассоци‡ции меж‰у экто ом и п еце‰ентом ‚с儉‡ бин‡ ные Ñ т. е. п е‰ст‡‚л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, ‚осп оиз‚о‰flще„осfl ‚ хо‰е ‚з‡имо‰ейст‚иfl экто ‡ с системой. П ичем это ‚с儉‡ опис‡ние с точки з ениfl экто ‡, опис‡ние услу„, п е- ‰ост‡‚лflемых системой пользтелю. П и‚е‰ем п име п остейшей ‰и- ‡„ ‡ммы, иллюст и ующей ск‡з‡нное н‡ми об обозн‡чениflх п еце‰ент‡

( ис. 6.6).

В этом п име е п‡сс‡жи может купить ‚ се ‚исной к‡ссе билет н‡ некото ый ‚и‰ т ‡нспо т‡. Покупк‡ билет‡ Ñ это н‡з‚‡ние сцен‡ иfl, по кото ому экто (п‡сс‡жи ) может ‚з‡имо‰ейст‚ть с системой (к‡с- сой). З‡метьте, это не опис‡ние сцен‡ иfl, ‡ именно н‡з‚‡ние Ñ оно „о‚о-ит н‡м, что ‰ел‡ет экто ‚ п оцессе ‚з‡имо‰ейст‚иfl, но не „о‚о ит, к‡к

114

Лекциfl 6

Д臄 ‡ммы п еце‰енто‚: к упным пл‡ном

Рис. 6.6

именно! И еще Ñ п еце‰енты оп е‰ел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 оп е‰еленных езульт‡то‚, е-

115

Ку с

UML: Пе ‚ое зн‡комст‚о

шениfl оп е‰еленных 燉‡ч), кото ые ‚ы н‡хо‰ите ‚ сп ‡‚ке к м‡лозн‡комой п о„ ‡мме. То же с‡мое можно ск‡з‡ть о мо‰ных сейч‡с Çhow-to videosÈ, ‚ кото ых т‡кие после‰о‚‡тельности отоб ‡ж‡ютсfl ‚изу‡льно, н‡ конк етных п име ‡х. В любом случ‡е, цель по‰обных сп ‡‚очных м‡те-и‡ло‚ Ñ п е‰ост‡‚ить опис‡ние типичных сцен‡ ие‚ использниfl системы, сцен‡ ие‚ ‚з‡имо‰ейст‚иfl меж‰у пользтелем и системой.

Сцен‡ ии т‡кже ин‡ можно у‚и‰еть н‡ ‰и‡„ ‡мме п еце‰енто‚. Ин‡ их изоб ‡ж‡ют ‚ ‚и‰е Çлист‡ бу쇄иÈ, н‡ кото ом н‡пис‡но имfl ф‡йл‡, Ñ п flмоу„ольник‡ с 燄нутым нижним ле‚ым у„олком. В этом случ‡е ук‡з‡нный ф‡йл со‰е жит ‚ себе опис‡ние ‰‡нно„о сцен‡ иfl. А ин‡ сцен‡ ий з‡писы‚‡етсfl ‚ коммент‡ ий. К‡к ‚ы, 퇂е ное, помните, коммент‡ ии (ноутсы, notes) изоб ‡ж‡ютсfl п flмоу„ольник‡ми с з‡- „нутым ‚е хним п ‡‚ым у„лом и сое‰инflютсfl с элементом, кото ый они поflснflют, пункти ной линией ( ис. 6.7).

Рис. 6.7

К‡к мы уже упомин‡ли, сцен‡ ии мо„ут быть з‡пис‡ны ‚ ‡зличных фо м‡х. Это может быть ст укту и нный, но нефо м‡лизнный текст, фо м‡лизнный ст укту и нный текст, пс傉око‰, т‡блиц‡, ‰и‡„ ‡мм‡ ‡кти‚ностей, н‡конец! К‡ж‰ый сцен‡ ий описы‚‡ет ‚ по‚ест- ‚тельной фо ме 燂е шенное, конк етное ‚з‡имо‰ейст‚ие, имеющее с точки з ениfl пользтелfl оп е‰еленную цель. Если ‡ссм‡т 肇ть т‡б- личную фо му п е‰ст‡‚лениfl сцен‡ иfl, то линиfl, ‡з‰елflющ‡fl ле‚ый и п ‡‚ый столбцы т‡блицы, сим‚олизи уют собой „ ‡ницу, от‰елflющую ‰ейст‚иfl пользтелfl от от‚етных ‰ейст‚ий системы. Т‡бличн‡fl фо м‡ особо по‰че к肇ет уч‡стие пользтелfl, что fl‚лflетсfl очень ‚‡жным ‡с- пектом п и ‡з ‡ботке пользтельско„о инте фейс‡.

Вот п име п осто„о (нефо м‡лизнно„о) тексто‚о„о опис‡ниfl сцен‡ иfl.

Пользтель ‚‚о‰ит ло„ин, п‡ оль, ‡‰ ес элект онной почты и ко‰ по‰т‚е ж‰ениfl и н‡жим‡ет кнопку ÇД‡лееÈ. Систем‡ з‡п ‡ш肇ет ‚‚о‰ п о‚е очно„о к. Пользтель ‚‚о‰ит ко‰ и н‡жим‡ет кнопку ÇД‡лееÈ. Систем‡ п о‚е flет соот‚етст‚ие к изоб ‡женному н‡ к‡ тинке.

116

Лекциfl 6

Д臄 ‡ммы п еце‰енто‚: к упным пл‡ном

Не п ‡‚‰‡ ли, зн‡ком‡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ми) fl‚лflютсfl отличным с е‰ст‚ом общениfl меж‰у ‡з ‡ботчик‡ми и з‡к‡зчиком, п ичем, ‚ силу п остоты нот‡ции, Ñ

с е‰ст‚ом, понflтным обеим сто он‡м. В конечном ито„е, ‚з‡имос‚flзь меж‰у т ебниflми, п еце‰ент‡ми и сцен‡ иflми можно изоб ‡зить т‡- кой Çпс傉о‰и‡„ ‡ммойÈ ( ис. 6.8).

К‡к ‚и‰ите, ‰лfl к‡ж‰ой ‡ссоци‡ции н‡ ‰и‡„ ‡мме п ост‡‚лен‡ к ‡тность и ее смысл ‚полне понflтен, но ‚се же о к ‡тности сле‰ует по- „о‚о ить от‰ельно. О‰ин п еце‰ент оп е‰елflет несколько сцен‡ ие‚, к‡ж‰ый из кото ых п е‰ст‡‚лflет о‰ин из ‚озможных ‚‡ и‡нто‚ оп е‰е-

117

Ку с

UML: Пе ‚ое зн‡комст‚о

Рис. 6.8

лflемо„о п еце‰ентом поток‡ событий. Сцен‡ ии т‡к же соотносflтсfl с п еце‰ент‡ми, к‡к экземплfl ы кл‡сс‡ (объекты) с с‡мими кл‡сс‡ми, т. е.

сцен‡ ий Ñ это экземплfl п еце‰ент‡, к‡к объект Ñ экземплfl кл‡сс‡.

Систем‡ может со‰е ж‡ть, н‡п име , несколько ‰есflтко‚ п еце‰енто‚, к‡ж‰ый из кото ых, ‚ с‚ою оче е‰ь, может ‡з‚о ‡ч肇тьсfl ‚ ‰есflтки сцен‡ ие‚. К‡к п ‡‚ило, п еце‰ент описы‚‡ет не о‰ну после‰о‚‡тельность ‰ейст‚ий, ‡ множест‚о, и ‚ы ‡зить ‚се ‰ет‡ли ‡ссм‡т 肇емо„о п еце‰ент‡ с помощью о‰ной после‰о‚‡тельности ‰ейст‚ий обычно не получ‡етсfl. П ‡ктически ‰лfl любо„о п еце‰ент‡ можно ‚ы‰елить осно‚- ной сцен‡ ий, описы‚‡ющий Çно м‡льнуюÈ после‰о‚‡тельность ‰ейст- ‚иfl, и ‚спомтельные, описы‚‡ющие ‡льте н‡ти‚ные после‰о‚‡тельности, кото ые иниции уютсfl ‚ случ‡е ‚озникно‚ениfl оп е‰еленных усло‚ий.

Д у„ой ‚оп ос: т ебуетсfl ли т‡кое уточнение мо‰ели п еце‰енто‚, оп ‡‚‰‡но ли оно ‰лfl ‰‡нно„о у о‚нfl п иближениfl, или Çпо‰ ‡зум傇ю- щиесflÈ ‡льте н‡ти‚ные сцен‡ ии можно опустить? Н‡п име , ‚ п е‰ы- ‰ущем п име е с покупкой билет‡ ‚ се ‚исной к‡ссе мы не изоб ‡зили сцен‡ ии (и, соот‚етст‚енно, п еце‰енты), соот‚етст‚ующие ‚‡ и‡нт‡м, к‡ билето‚ н‡ ‚ыб ‡нный п‡сс‡жи ом ейс уже не ост‡лось, п‡сс‡жи

118

Лекциfl 6

Д臄 ‡ммы п еце‰енто‚: к упным пл‡ном

изменил с‚ое ешение и хочет ‚з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 X обобщенно„о ‚‡ и‡нт‡ использниfl Y „о‚о ит н‡м о том, что экземплfl п еце‰ент‡ X ‚ключ‡- ет ‚ себfl по‚е‰ение п еце‰ент‡ Y. Обобщениfl п именflютсfl, чтобы уп-остить поним‡ние мо‰ели ‚‡ и‡нто‚ использниfl з‡ счет мно„ок ‡т- но„о 燉ейст‚ниfl Ç燄ото‚окÈ п еце‰енто‚ ‰лfl со片ниfl п еце‰енто‚, необхо‰имых з‡к‡зчику (помните, к‡к мы ‡ссм‡т 肇ли ‚оп ос о том, ‚с儉‡ ли необхо‰имо со片‚‡ть но‚ый кл‡сс, или лучше ‚оспользо- ‚‡тьсfl „ото‚ым ешением, чу‚ст‚уете ‡н‡ло„ию?). Т‡кие ÇполныеÈ п е- це‰енты н‡зы‚‡ютсfl конк етными п еце‰ент‡ми. ÇЗ‡„ото‚киÈ п еце‰енто‚, со片нные лишь ‰лfl мно„ок ‡тно„о использниfl ‚ ‰ у„их п еце- ‰ент‡х, н‡зы‚‡ют ‡бст ‡ктными п еце‰ент‡ми. Абст ‡ктный п еце‰ент (к‡к и ‡бст ‡ктный кл‡сс) не сущест‚ует с‡м по себе, но экземплfl кон- к етно„о п еце‰ент‡ ‰емонст и ует по‚е‰ение, описы‚‡емое ‡бст ‡ктными п еце‰ент‡ми, кото ые он (по‚то но) использует. П еце‰ент, кото ый экто ы н‡блю‰‡ют п и ‚з‡имо‰ейст‚ии с системой (ÇполныйÈ п еце‰ент, к‡к мы н‡зы‚‡ли е„о ‡нее), ч‡сто н‡зы‚‡ют еще Ç е‡льнымÈ п еце‰ентом.

К‡к мы уже „о‚о или ‚ыше, обобщение (н‡сле‰о‚‡ние) ч‡ще ‚се„о используют меж‰у кл‡сс‡ми и инте фейс‡ми. О‰н‡ко ‰ у„ие элементы мо-

119

Ку с

UML: Пе ‚ое зн‡комст‚о

‰ели т‡кже мо„ут н‡хо‰итьсfl меж‰у собой ‚ отношении н‡сле‰о‚‡ниfl Ñ н‡п име , п‡кеты (о кото ых мы тут не „о‚о им), экто ы, п еце‰енты...

Изоб ‡ж‡етсfl обобщение, к‡к, конечно, помнит ‚ним‡тельный чи- т‡тель, линией с Çнез‡к ‡шеннойÈ т еу„ольной ст елкой н‡ конце. Обобщение Ñ это отношение меж‰у п е‰ком и потомком, и ст елк‡ ‚с儉‡ ук‡зы‚‡ет н‡ п е‰к‡. Если ‚спомнить, что потомки н‡сле‰уют (используют) с‚ойст‚‡ п е‰к‡, то ‚полне ло„ично ‚спомин‡етсfl н‡ше ут‚е ж‰ение

Рис. 6.9

о том, что ст елки ‚ UML ‚с儉‡ н‡п ‡‚лены ‚ сто ону то„о, от ко„о чтото т ебуют, чьими се ‚ис‡ми пользуютсfl ( ис. 6.9):

К‡к мы уже „о‚о или ‡нее и ‚и‰ели ‚ н‡шем пе ‚ом п име е ‰и‡- „ ‡ммы п еце‰енто‚, обобщение может использтьсfl ‰лfl со片ниfl ‡з- личных ‡зно‚и‰ностей экто о‚. Экто ы-потомки н‡сле‰уют от п е‰к‡ б‡зо‚ые х‡ ‡кте истики и ‰ополнflют их с‚оей спецификой. Точно т‡к же п еце‰ент-потомок н‡сле‰ует по‚е‰ение и сем‡нтику п еце‰ент‡- о‰и- телfl и ‰ополнflет е„о по‚е‰ение.

Сле‰ующий ‚и‰ отношений меж‰у п еце‰ент‡ми Ñ ‚ключение. От-

ношение ‚ключениfl озн‡ч‡ет, что ‚ некото ой точке б‡зо‚о„о п еце‰ент‡ со‰е житсfl по‚е‰ение ‰ у„о„о п еце‰ент‡. Включ‡емый п еце‰ент не су-

щест‚ует с‡м по себе, ‡ fl‚лflетсfl ‚се„о лишь ч‡стью объемлюще„о п еце- ‰ент‡. Т‡ким об ‡зом, б‡зо‚ый п еце‰ент к‡к бы з‡имст‚ует по‚е‰ение ‚ключ‡емых, ‡ск뇉ы‚‡flсь н‡ более п остые п еце‰енты. Н‡п име , к‡ мы покуп‡ем ‚ 쇄‡зине некото ую ‚ещь, ‚ момент считы‚‡ниfl к‡сси ом шт их-к обно‚лflетсfl состоflние б‡зы ‰‡нных т о‚, имеющихсfl ‚ н‡личии, Ñ количест‚о н‡личных е‰иниц купленно„о т ‡ уменьш‡етсfl. То же с‡мое ‰ейст‚ие ‚ыполнflетсfl и ‚ том случ‡е, если куп-

120

Соседние файлы в папке ПрИС