Файл: Бабич UML первое знакомство.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.12.2019

Просмотров: 6206

Скачиваний: 38

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

‰и ‡ „‡м м‡ пе це ‰ен то‚;

‰и ‡ „‡м м‡ кл‡с со‚;

‰и ‡ „‡м м‡ объ ек то‚;

‰и ‡ „‡м м‡ по сле ‰о ‚‡ тель но с тей;

‰и ‡ „‡м м‡ ‚з‡ и мо ‰ей ст ‚иfl;

‰и ‡ „‡м м‡ со сто fl ний;

‰и ‡ „‡м м‡ ‡к ти‚ но с ти;

‰и ‡ „‡м м‡ ‡з ‚е ты ‚‡ ниfl.

О не ко то ых из этих ‰и ‡ „‡мм мы бу ‰ем „о ‚о ить по ‰об нее ‚ сле -

‰у ю щих лек ци flх. По к‡ же мы не ст‡ нем з‡ ос т flть ‚ни м‡ ние н‡ по ‰об -
но с тflх, ‡ з‡ ‰‡ ‰им сfl це лью н‡ учить чи т‡ те лfl хо тfl бы ‚и зу ‡ль но ‡з ли ч‡ть
‚и ‰ы  ‰и ‡ „‡мм,  ‰‡ть  н‡ ч‡ль ное  пе‰ ст‡‚ ле ние  о  н‡ зн‡ че нии  ос но‚ ных
‚и ‰о‚ ‰и ‡ „‡мм. Ит‡к, н‡ч нем.

Ди ‡ „‡м м‡ пе це ‰ен то‚ (use case diagram)

Лю бые (‚ том чис ле и по „‡мм ные) си с те мы по ек ти у ют сfl с уче -

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

эк то ‡ ми

,

пи чем к‡ж ‰ый эк то ожи ‰‡ ет, что си с те м‡ бу ‰ет ‚е с ти се бfl сто „о оп е -
‰е лен ным, пе‰ ск‡ зу е мым об ‡ зом. По по бу ем ‰‡ть бо лее сто „ое оп е -
‰е ле ние  эк то ‡.  Длfl  это „о  ‚ос поль зу ем сfl  з‡ ме ч‡ тель ным  ‚и зу ‡ль ным
сло ‚‡ ем по UML 

Zicom Mentor

:

Эк то  (actor)  —

это  мно же ст ‚о  ло „и че с ки  с‚fl з‡н ных  о лей,  ис пол -

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

Г‡ фи че с ки  эк то  изо б ‡ ж‡ ет сfl  ли бо 

«че ло ‚еч ком»

,  по ‰об ным  тем,

ко то ые мы и со ‚‡ ли ‚ ‰ет ст ‚е, изо б ‡ ж‡fl чле но‚ с‚о ей се мьи, ли бо 

сим -

‚о лом кл‡с с‡ с со от ‚ет ст ‚у ю щим сте ео ти пом

, к‡к по к‡ з‡ но н‡ и сун ке.

Обе фо мы пе‰ ст‡‚ ле ниfl име ют о‰ин и тот же смысл и мо „ут ис поль зо -
‚‡ть сfl  ‚  ‰и ‡ „‡м м‡х.  «Сте ео ти пи о ‚‡н н‡fl»  фо м‡  ч‡ ще  пи ме нfl ет сfl
‰лfl  пе‰ ст‡‚ ле ниfl  си с тем ных  эк то о‚  или  ‚  слу ч‡ flх,  ко„ ‰‡  эк то  име ет
с‚ой ст ‚‡ и их нуж но ото б ‡ зить (ис. 2.1).

Вни м‡ тель ный чи т‡ тель с‡ зу же мо жет з‡ ‰‡ть ‚о пос: 

‡ по че му эк -

то, ‡ не ‡к те?

Со „л‡с ны, сло ‚о «эк то» не мно „о е жет слух ус ско „о

че ло ‚е к‡. Пи чи н‡ же, по че му мы „о ‚о им имен но т‡к, по ст‡ — эк то
об ‡ зо ‚‡ но  от  сло ‚‡ 

action

,  что  ‚  пе е ‚о ‰е  оз н‡ ч‡ ет 

‰ей ст ‚ие

.  До сло‚ -

ный же пе е ‚о‰ сло ‚‡ «эк то» — 

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

— слиш ком ‰лин ный

и  не у‰об ный  ‰лfl  упо теб ле ниfl.  По это му  мы  бу ‰ем  и  ‰‡ лее  „о ‚о ить
имен но т‡к.

31

Лекциfl 2

Ви‰ы ‰и‡„‡мм UML


background image

Тот же ‚ни м‡ тель ный чи т‡ тель мо„ з‡ ме тить по мельк ну‚ шее ‚ оп -

е ‰е ле нии эк то ‡ сло ‚о «

пе це ‰ент

». Что же это т‡ кое? Этот ‚о пос з‡ ин -

те е су ет н‡с еще боль ше, ес ли ‚спом нить, что сей ч‡с мы „о ‚о им о 

‰и ‡ -

„‡м ме пе це ‰ен то‚

. Ит‡к,

Пе це ‰ент (use-case) —

опи с‡ ние от ‰ель но „о ‡с пек т‡ по ‚е ‰е ниfl си с -

те мы с точ ки зе ниfl поль зо ‚‡ те лfl (Буч).

Оп е ‰е ле ние ‚пол не по нflт ное и ис че пы ‚‡ ю щее, но е„о мож но еще

не мно „о уточ нить, ‚ос поль зо ‚‡‚ шись тем же 

Zicom Mentor

’ом:

Пе це ‰ент (use case) —

опи с‡ ние мно же ст ‚‡ по сле ‰о ‚‡ тель ных со бы -

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

Пе це ‰ен ты обо зн‡ ч‡ ют сfl очень по стым об ‡ зом — ‚ ‚и ‰е 

эл лип с‡

,

‚ну т и ко то о „о ук‡ з‡ но е„о н‡ з‚‡ ние. 

Пе це ‰ен ты и эк то ы со е‰и нfl ют сfl с

по мо щью ли ний

. Ч‡ с то н‡ о‰ ном из кон цо‚ ли нии изо б ‡ ж‡ ют 

стел ку

, пи -

чем 

н‡ п‡‚ ле н‡  он‡  к  то му,  у  ко „о  з‡ п‡ ши ‚‡ ют  се ‚ис

,  ‰у „и ми  сло ‚‡ ми,

чьи ми ус л󠄇 ми поль зу ют сfl. Это по стое объ flс не ние ил лю с т и у ет 

по ни -

м‡ ние пе це ‰ен то‚ к‡к се ‚и со‚

, по п‡ „‡н ‰и у е мое ком п‡ ни ей 

IBM

.

Пе це ‰ен ты  мо „ут  ‚клю ч‡ть  ‰у „ие  пе це ‰ен ты,  ‡с ши flть сfl  ими,

н‡ сле ‰о ‚‡ть сfl и т. ‰. 

Все эти ‚оз мож но с ти мы з‰есь ‡с см‡ т и ‚‡ть не бу -

Кус

32

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

Рис. 2.1

Рис. 2.2


background image

‰ем

. К‡к уже „о ‚о и лось ‚ы ше, цель это „о об зо ‡ — по сто н‡ учить чи т‡ -

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

Кст‡ ти, к это му мо мен ту мы уже по т‡ ти ли ‰о ст‡ точ но мно „о ‚е ме -

ни  н‡  объ flс не ние  по нfl тий  и  их  ус ло‚ ных  обо зн‡ че ний.  Н‡ ‚е ное,  по ‡
уже, н‡ ко нец, пи ‚е с ти пи ме ‰и ‡ „‡м мы пе це ‰ен то‚. К‡к ‚ы ‰у м‡ е те,
что оз н‡ ч‡ ет эт‡ ‰и ‡ „‡м м‡ (ис. 2.3)?

По л‡ „‡ ем, з‰есь ‚се бы ло бы по нflт но, ес ли бы ‰‡ же мы ни ко„ ‰‡ не

слы ш‡ ли  о  ‰и ‡ „‡м м‡х  пе це ‰ен то‚!  Ве‰ь  т‡к?  Все  мы  ‚  сту ‰ен че с кие
„о ‰ы поль зо ‚‡ лись биб ли о те к‡ ми (ко то ые те пеь ‰лfl н‡с з‡ ме нил Ин -
те нет), и по то му ‚се это ‰лfl н‡с зн‡ ко мо. Об ‡ ти те т‡к же ‚ни м‡ ние н‡
пи ме ч‡ ние,  со по с т‡‚ лен ное  с  о‰ ним  из  пе це ‰ен то‚.  Сле ‰у ет  з‡ ме -
тить, что ино „‰‡ н‡ ‰и ‡ „‡м м‡х пе це ‰ен то‚ 

„‡ ни цы си с те мы обо зн‡ ч‡ -

ют пfl мо у„оль ни ком,

‚ ‚ех ней ч‡ с ти ко то о „о мо жет быть ук‡ з‡ но 

н‡ -

炇 ние си с те мы

. Т‡ ким об ‡ зом, пе це ‰ен ты — ‰ей ст ‚иfl, ‚ы пол нfl е мые

си с те мой  ‚  от ‚ет  н‡  ‰ей ст ‚иfl  эк то ‡,  —  по ме щ‡ ют сfl  ‚ну т и  пfl мо -
у„оль ни к‡.

А ‚от еще о‰ин пи ме (ис. 2.4). Ду м‡ ем, ‚ы с‡ ми, без н‡ шей по мо -

щи, ле„ ко ‰о „‡ ‰‡ е тесь, о чем т‡м и‰ет ечь.

33

Лекциfl 2

Ви‰ы ‰и‡„‡мм UML

Рис. 2.3


background image

Из ‚се „о ск‡ з‡н но „о ‚ы ше ст‡ но ‚ит сfl по нflт но, что 

‰и ‡ „‡м мы пе -

це ‰ен то‚

от но сflт сfl к той „уп пе ‰и ‡ „‡мм, ко то ые 

пе‰ ст‡‚ лfl ют ‰и н‡ -

ми че с кие  или  по ‚е ‰ен че с кие  ‡с пек ты  си с те мы

.  Это  от лич ное 

се‰ ст ‚о  ‰лfl

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

по ‰ук т‡. К‡к мы уже мо„ ли убе ‰ить сfl, т‡ кие ‰и ‡ -

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

По‰ ‚о ‰fl ито „и, мож но ‚ы ‰е лить т‡ кие 

це ли со з‰‡ ниfl ‰и ‡ „‡мм пе -

це ‰ен то‚

:

оп е ‰е ле ние „‡ ни цы и кон тек с т‡ мо ‰е ли у е мой пе‰ мет ной об -
л‡ с ти н‡ ‡н них эт‡ п‡х по ек ти о ‚‡ ниfl;

фо ми о ‚‡ ние  об щих  те бо ‚‡ ний  к  по ‚е ‰е нию  по ек ти у е мой
си с те мы;

Кус

34

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

Рис. 2.4


background image

‡з ‡ бот к‡ кон цеп ту ‡ль ной мо ‰е ли си с те мы ‰лfl ее по сле ‰у ю щей
‰е т‡ ли з‡ ции;

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

Ди ‡ „‡м м‡ кл‡с со‚ (class diagram)

Во об ще-то, по нfl тие кл‡с с‡ н‡м уже зн‡ ко мо, но, по ж‡ луй, не лиш -

ним  бу ‰ет  по „о ‚о ить  о  кл‡с с‡х  еще  ‡з.  Кл‡с си ки  о  кл‡с с‡х  „о ‚о flт
очень по сто и по нflт но:

Кл‡сс (class) —

к‡ те „о иfl ‚е щей, ко то ые име ют об щие ‡т и бу ты и

опе ‡ ции (Буч).

По ‰ол ж‡fl те му, ск‡ жем, что 

кл‡с сы — это сто и тель ные бло ки лю -

бой объ ект но-ои ен ти о ‚‡н ной си с те мы

. Они пе‰ ст‡‚ лfl ют со бой опи с‡ -

ние со ‚о куп но с ти объ ек то‚ с об щи ми ‡т и бу т‡ ми, опе ‡ ци fl ми, от но ше -
ни fl ми  и  се м‡н ти кой.  Пи  по ек ти о ‚‡ нии  объ ект но-ои ен ти о ‚‡н ных
си с тем ‰и ‡ „‡м мы кл‡с со‚ обfl з‡ тель ны.

Кл‡с сы  ис поль зу ют сfl  ‚  по цес се 

‡н‡ ли з‡  пе‰ мет ной  об л‡ с ти

‰лfl

со ст‡‚ ле ниfl 

сло ‚‡ fl  пе‰ мет ной  об л‡ с ти

‡з ‡ б‡ ты ‚‡ е мой  си с те мы.  Это

мо „ут быть к‡к 

‡б ст ‡кт ные по нfl тиfl 

пе‰ мет ной об л‡ с ти, т‡к и кл‡с сы,

н‡ ко то ые опи ‡ ет сfl ‡з ‡ бот к‡ и ко то ые опи сы ‚‡ ют 

по „‡мм ные или

‡п п‡ ‡т ные сущ но с ти

.

Ди ‡ „‡м м‡ кл‡с со‚ — это 

н‡ бо ст‡ ти че с ких

, ‰ек л‡ ‡ ти‚ ных 

эле мен -

то‚ мо ‰е ли

. Ди ‡ „‡м мы кл‡с со‚ мо „ут пи ме нflть сfl и пи 

пfl мом по ек -

ти о ‚‡ нии

, то есть ‚ по цес се ‡з ‡ бот ки но ‚ой си с те мы, и пи 

об ‡т ном

по ек ти о ‚‡ нии

— опи с‡ нии су ще ст ‚у ю щих и ис поль зу е мых си с тем. Ин -

фо м‡ циfl с ‰и ‡ „‡м мы кл‡с со‚ н‡ пfl мую ото б ‡ ж‡ ет сfl ‚ ис хо‰ ный ко‰
пи ло же ниfl — ‚ боль шин ст ‚е су ще ст ‚у ю щих ин ст у мен то‚ UML-мо ‰е -
ли о ‚‡ ниfl ‚оз мож н‡ 

ко ‰о „е не ‡ циfl 

‰лfl оп е ‰е лен но „о flзы к‡ по „‡м ми -

о ‚‡ ниfl  (обыч но  Java  или  C++).  Т‡ ким  об ‡ зом,  ‰и ‡ „‡м м‡  кл‡с со‚  —
ко неч ный  е зуль т‡т  по ек ти о ‚‡ ниfl  и  от п‡‚ н‡fl  точ к‡  по цес с‡  ‡з ‡ -
бот ки.

Но мы опflть з‡ „о ‚о и лись, ‡, к‡к из ‚е ст но, луч ше о‰ин ‡з у‚и ‰еть,

чем сто ‡з ус лы ш‡ть. Мы уже зн‡ ем, к‡к кл‡с сы обо зн‡ ч‡ ют сfl ‚ UML, но
по к‡ еще не ‚и ‰е ли ни о‰ ной ‰и ‡ „‡м мы «с их уч‡ с ти ем». Ит‡к, по смо т -
им н‡ пи ме ы ‰и ‡ „‡мм кл‡с со‚.

Пе ‚ый  пи ме  (ис.  2.5)  ‚есь м‡  пост.  К‡к  ‚и ‰им,  он,  хоть  и  не -

мно „о о‰ но бо ко, ил лю с т и у ет с по мо щью опе ‡ ции 

н‡ сле ‰о ‚‡ ниfl 

или „е -

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

35

Лекциfl 2

Ви‰ы ‰и‡„‡мм UML