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

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

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

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

Добавлен: 05.12.2019

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

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

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

В не т‡ кие уж и ‰‡ ле кие 80-е „о ‰ы бы ло мно же ст ‚о ‡з лич ных ме то -

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

К то му же пи ме но ‚ это же ‚е мfl (н‡ ч‡ ло 80-х) ст‡ то ‚‡ л‡ «объ ект -

но-ои ен ти о ‚‡н н‡fl  э‡».  Все  н‡ ч‡ лось  с  по fl‚ ле ни ем  се мей ст ‚‡  flзы ко‚
по „‡м ми о ‚‡ ниfl  SmallTalk,  ко то ые  пи ме нfl ли  не ко то ые  по нfl тиfl
flзы к‡  Simula-67,  ис поль зо ‚‡‚ ше „о сfl  ‚  60-х  „о ‰‡х.  По fl‚ ле ние  объ ект но-
ои ен ти о ‚‡н но „о  по‰ хо ‰‡  ‚  пе ‚ую  оче е‰ь  бы ло  обус ло‚ ле но  у‚е ли че -
ни ем  слож но с ти  з‡ ‰‡ч.  Объ ект но-ои ен ти о ‚‡н ный  по‰ хо‰  ‚нес  ‰о ст‡ -
точ но ‡ ‰и к‡ль ные из ме не ниfl ‚ с‡ ми пин ци пы со з‰‡ ниfl и функ ци о ни -
о ‚‡ ниfl  по „‡мм,  но,  ‚  то  же  ‚е мfl,  поз ‚о лил  су ще ст ‚ен но  по ‚ы сить
по из ‚о ‰и тель ность т󠉇 по „‡м ми с то‚, по-ино му ‚з„лfl нуть н‡ по бле -
мы и ме то ‰ы их е ше ниfl, с‰е л‡ть по „‡м мы бо лее ком п‡кт ны ми и ле„ ко

Кус

16

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

Рис. 1.1


background image

‡с ши fl е мы ми.  К‡к  е зуль т‡т,  flзы ки,  пе ‚о н‡ ч‡ль но  ои ен ти о ‚‡н ные
н‡ т‡ ‰и ци он ный по‰ хо‰ к по „‡м ми о ‚‡ нию, по лу чи ли fl‰ объ ект но-
ои ен ти о ‚‡н ных  ‡с ши е ний.  О‰ ной  из  пе ‚ых,  ‚  се е ‰и не  80-х,  бы л‡
фи м‡ Apple со с‚о им по ек том Object Pascal. Ко ме это „о, объ ект но-ои -
ен ти о ‚‡н ный  по‰ хо‰  по о ‰ил  мощ ную  ‚ол ну  и  ‡б со лют но  но ‚ых  по -
„‡мм ных тех но ло „ий, ‚е ши н‡ ми ко то ой ст‡ ли т‡ кие об ще пиз н‡н ные
се „о ‰нfl пл‡т фо мы, к‡к Microsoft .NET Framework и Sun Java.

Но с‡ мо堄뇂 ное, что по fl‚ ле ние ООП те бо ‚‡ ло у‰об но „о ин ст у -

мен т‡ ‰лfl мо ‰е ли о ‚‡ ниfl, е‰и ной но т‡ ции ‰лfl опи с‡ ниfl слож ных по -
„‡мм ных си с тем. И ‚от «ти ‡ми „о», ти куп ней ших спе ци ‡ ли с т‡, ти
‡‚ то ‡  н‡ и бо лее  по пу лfl ных  ме то ‰о‚  е ши ли  объ е ‰и нить  с‚ои  ‡з ‡ -
бот ки. В 1991-м к‡ж ‰ый из «тех ‡ми „о» н‡ ч‡л с н‡ пи с‡ ниfl кни „и, ‚ ко -
то ой из ло жил с‚ой ме то‰ ОО АП. К‡ж ‰‡fl ме то ‰о ло „иfl бы л‡ по-с‚о е му
хо о ш‡,  но  к‡ж ‰‡fl  име л‡  и  не ‰о ст‡т ки.  Т‡к,  ме то‰  Бу ч‡  был  хо ош  ‚
по ек ти о ‚‡ нии, но сл‡ бо ‚‡т ‚ ‡н‡ ли зе. OMT Р‡м бо был, н‡ обо от, от -
лич ным  се‰ ст ‚ом  ‡н‡ ли з‡,  но  плох  ‚  по ек ти о ‚‡ нии.  И  н‡ ко нец,
Objectory Якоб со н‡ был ‰ей ст ‚и тель но хо ош с точ ки зе ниfl user expe-
rience, н‡ ко то ый ни ме то‰ Бу ч‡, ни OMT не об ‡ щ‡ ли осо бо „о ‚ни м‡ -
ниfl. Ос но‚ ной и‰е ей Objectory бы ло то, что ‡н‡ лиз ‰ол жен н‡ чи н‡ть сfl с
пе це ‰ен то‚,  ‡  не  с  ‰и ‡ „‡м мы  кл‡с со‚,  ко то ые  ‰олж ны  быть  по из -
‚о‰ ны ми от них.

К 1994-му су ще ст ‚о ‚‡ ло 72 ме то ‰‡, или ч‡ ст ные ме то ‰и ки. Мно „ие из

них «пе е кы ‚‡ лись», т. е. ис поль зо ‚‡ ли по хо жие и‰еи, но т‡ ции и т. ‰. К‡к
уже „о ‚о и лось ‚ы ше, чу‚ ст ‚о ‚‡ л‡сь ос т ‡fl по теб ность, «со ци ‡ль ный з‡ -
к‡з» — з‡ кон чить «‚ой ну ме то ‰о‚» и объ е ‰и нить ‚ о‰ ном уни фи ци о ‚‡н -
ном се‰ ст ‚е ‚се луч шее, что бы ло со з‰‡ но ‚ об л‡ с ти мо ‰е ли о ‚‡ ниfl.

И ‚от Р‡мбо пи со е ‰и нил сfl к Бу чу ‚ Rational Inc. Они объ е ‰и ни ли

с‚ои но т‡ ции и со з‰‡ ли пе ‚ую ‚е сию UML. В 1995 „о ‰у н‡ кон фе ен -
ции OOPSLA они пе‰ ст‡ ‚и ли е„о к‡к Unified Method, ко то ый по том и
по лу чил н‡ з‚‡ ние UML. Чуть поз же к ним пи со е ‰и нил сfl Якоб сон, ко -
то ый ‰о б‡ ‚ил к е зуль т‡ т‡м их т󠉇 эле мен ты Objectory и н‡ ч‡л ‡ бо ту
퇉  Rational  Unified  Process  (RUP).  В  1997  „о ‰у  UML  был  от п‡‚ лен  ‚
Object Management Group (OMG) ‰лfl ст‡н ‰‡ ти з‡ ции. Ко ме тех но т‡ -
ций «тех ‡ми „о» UML ‚о б‡л ‚ се бfl эле мен ты мно „их ‰у „их ме то ‰о ло -
„ий, что опflть-т‡ ки хо о шо ‚и‰ но из и сун к‡, пи ‚е ‰ен но „о ‚ы ше.

А что сей ч‡с? The UML жи ‚ет и ‡з ‚и ‚‡ ет сfl. Сей ч‡с мы име ем UML

2.0  и  ‰е сflт ки  CASE-се‰ст‚,  по‰ ‰е жи ‚‡ ю щих  UML,  о  мно „их  из  ко то -
ых бу ‰ет ‡с ск‡ з‡ но ‚ се‰ь мой лек ции. Во пе ки по пу лfl но му мне нию, ‚
н‡ ши  ‰ни  Rational  не  ‚л‡ ‰е ет  UML,  но  по ‰ол ж‡ ет  ‡ бо т‡ть  н‡‰  ним.
UML же пи н‡‰ ле жит OMG, ‡ с‡ м‡ Rational ны не fl‚ лfl ет сfl о‰ ним из по‰ -
‡з ‰е ле ний IBM и фи „у и у ет ‚о ‚сех ‰о ку мен т‡х к‡к IBM Rational. UML
же  по лу чил  мно же ст ‚о  п‡ ке то‚  ‡с ши е ний,  н‡ зы ‚‡ е мых 

по ф‡й л‡ ми

и

17

Лекциfl 1

Что т‡кое The UML


background image

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

Вот т‡ к‡fl ис то иfl!

Спо со бы ис поль зо ‚‡ ниfl flзы к‡

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

уже бо лее ‰‚ух ‰е сfl ти ле тий «жи ‚ет» ‚ Ин те не те, но ис точ ник ее ни ко му
не из ‚е с тен (ес ли кто-то из чи т‡ те лей смо жет по лить с‚ет н‡ ее по ис -
хож ‰е ние,  ‡‚ то  бу ‰ет  очень  бл‡ „о ‰‡ ен  з‡  ин фо м‡ цию).  Эт‡  к‡ тин к‡
пе к‡с но ил лю с т и у ет ти пич ный по цесс со з‰‡ ниfl по ‰ук т‡, или «е -
ше ниfl» (по сколь ку по ‰укт е ш‡ ет по бле му з‡ к‡з чи к‡), к‡к лю бflт „о ‚о -
ить ‚ Microsoft (ис. 1.2).

З‰есь мы ‚и ‰им ‚се по бле мы по „‡мм ной ин же не ии, ‚ ч‡ ст но с -

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

об ще „о

н‡ зн‡ че ниfl (т. е.

е„о мож но пи ме нflть ‰лfl по ек ти о ‚‡ ниfl че „о у„о‰ но — от по стой к‡ -

Кус

18

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

Рис. 1.2


background image

че ли,  к‡к  н‡  и сун ке,  ‰о  слож но „о  ‡п п‡ ‡т но-по „‡мм но „о  ком плек с‡
или  ‰‡ же  ко с ми че с ко „о  ко ‡б лfl),  пе‰ н‡з н‡ чен ный  ‰лfl 

спе ци фи к‡ ции

,

‚и зу ‡ ли з‡ ции

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

и 

‰о ку мен ти о ‚‡ ниfl

‚сех ‡ те ф‡к то‚, со з‰‡ -

‚‡ е мых ‚ хо ‰е ‡з ‡ бот ки.

Ит‡к, UML ‚ пе ‚ую оче е‰ь — это 

спе ци фи к‡ ции

. З‡ „лfl нем сно ‚‡ ‚

„лос с‡ ий и об н‡ у жим, что

Спе ци фи к‡ циfl —

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

оп е ‰е лfl ет ее цель и функ ци о н‡ль ные ‚оз мож но с ти. Р‡з ли ч‡ ют:

сло ‚ес ные спе ци фи к‡ ции н‡ ес те ст ‚ен ном flзы ке;

мо ‰ель ные спе ци фи к‡ ции;

фо м‡ль ные спе ци фи к‡ ции.

glossary.ru

Не  сле ‰у ет  т‡к же  з‡ бы ‚‡ть,  что  з‡ к‡з чик  и  ‡з ‡ бот чик  име ют,  к‡к

п‡ ‚и ло,  ‡б со лют но  ‡з ное  по ни м‡ ние  смыс л‡  это „о  ‡ те ф‡к т‡.  А  ‚е‰ь
ко ме это „о есть еще ‡н‡ ли ти ки, ме не ‰ же ы, биз нес-кон суль т‡н ты... К‡ж -
‰ый из них н‡ зы ‚‡ ет спе ци фи к‡ ции по-с‚о е му: по ст‡ но‚ к‡ з‡ ‰‡ чи, те бо -
‚‡ ни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 ее
текст. Т‡к же, к‡к и боль шин ст ‚о ос т‡ль ных з‡ ко но‚ Ме фи, это ут ‚еж -
‰е ние по сто по ‡ ж‡ ет с‚о ей п‡‚ ‰и ‚о с тью...

19

Лекциfl 1

Что т‡кое The UML


background image

Ко„ ‰‡  мы  „о ‚о им  о  том,  что  UML  —  это  се‰ ст ‚о 

‚и зу ‡ ли з‡ ции

,

мы  име ем  ‚  ‚и ‰у 

мо ‰ель ные 

спе ци фи к‡ ции.  Все  мы  зн‡ ем,  к‡к  ино „‰‡

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

Т‡к  ‚от,  т‡ кие  к‡ тин ки  с  по‰ пи сfl ми  н‡ „лfl‰ ны  и  ин ту и ти‚ но  по -

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

ком му ни к‡ -

ции 

‚ ко м‡н ‰е. По смо т и те н‡ и су нок ни же (ис. 1.3). Все ‚е‰ь по нflт но,

п‡‚ ‰‡?

Кус

20

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

Рис. 1.3