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

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

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

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

Добавлен: 05.12.2019

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

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

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

11

Лекциfl 1

Что т‡кое The UML

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

В 

чет ‚е той лек ции

ечь пой ‰ет о ‰и ‡ „‡м м‡х ‡к ти‚ но с тей, ко то ‡fl

н‡ пом нит  мно „им  блок-схе мы  ‡л „о ит мо‚,  зн‡ ко мые  со  сту ‰ен че с кой
ск‡ мьи. Но бу‰ь те ос то ож ны — это не со‚ сем, ‡ ‚е нее, со‚ сем не блок-
схе мы!

Пfl т‡fl лек циfl 

по зн‡ ко мит н‡с по бли же с ‰и ‡ „‡м м‡ ми ‚з‡ и мо ‰ей -

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

В 

ше с той лек ции

мы по „о ‚о им о кон цеп ту ‡ль ном по ек ти о ‚‡ нии,

о том, к‡к опи с‡ть си с те му с точ ки зе ниfl поль зо ‚‡ те лfl, — о ‰и ‡ „‡м м‡х
пе це ‰ен то‚.

Хо тfl ‰лfl ‚ы пол не ниfl уп ‡ж не ний кни „и ‚‡м по те бу ет сfl лишь лист

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

се‰ь мой лек ции

. Пи чем мы по ст‡ ‡ ем сfl ‡с смо т еть и пи зн‡н ных ли ‰е -

о‚ ын к‡, и е„о «‡ут с‡й ‰е о‚», и ком ме че с ких «мон ст о‚», и «ле„ кие»
по „‡м мы с от кы тым ис хо‰ ным ко ‰ом.

В 

з‡ клю че нии

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

ниfl ‰лfl ‰‡ль ней ше „о со ‚е шен ст ‚о ‚‡ ниfl с‚о их зн‡ ний ‚ об л‡ с ти ОО АП
и UML и ‰‡ ют сfl н‡ пут ст ‚иfl чи т‡ те лflм.

По со бие сн‡б же но 

пи ло же ни fl ми

, „‰е по ‰об но опи с‡ ны по „‡м м‡

OCUP и тест UM0-100, ‰‡ ны е ко мен ‰‡ ции по по‰ „о то‚ ке к не му, пи ‚е -
‰е ны  об ‡з цы  ‚о по со‚  и  опи с‡ н‡  по це ‰у ‡  те с ти о ‚‡ ниfl.  А  еще  т‡м
мож но  н‡й ти  ин фо м‡ цию  о  те с т‡х  по  UML  от  ‰у „их  ‚ен ‰о о‚.  Т‡к же
‰‡ ны спи с ки ссы лок н‡ шп‡ „‡л ки и „лос с‡ ии по ОО АП и UML ‚ Ин -
те не те. Об щий 

спи сок кни„ и се те ‚ых ис точ ни ко‚

, ис поль зо ‚‡н ных ‚ ‡ -

бо т堠퇉  кни „ой,  бы ло  е ше но  не  ‰е л‡ть,  т‡к  к‡к  к‡ж ‰‡fl  лек циfl  име ет
с‚ой соб ст ‚ен ный спи сок ис точ ни ко‚.

Со ‚е ту ем  т‡к же  ‚з„лfl нуть  н‡  со ‰е жи мое  ком п‡кт-‰ис к‡,  пи ло -

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

К‡к бы л‡ н‡ пи с‡ н‡ эт‡ кни „‡

Учеб но-ме то ‰и че с кие  м‡ те и ‡ лы,  н‡  ос но ‚е  ко то ых  бы ло  со з‰‡ но

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

по ек т‡  «Ви ту оз»

.  По ект  ‚ы пол нflл сfl  ‚ 

Ни же „о о‰ ском  „о с󠉇 ст ‚ен -

ном уни ‚е си те те им. Н.И. Ло б‡ че‚ ско „о

по ини ци ‡ ти ‚е ком п‡ нии 

Intel

и


background image

пи  по‰ ‰еж ке 

Microsoft

IBM

Borland

Л‡ бо ‡ то ии  К‡ с пе ско „о

и  ‰.

Цель по ек т‡ «Ви ту оз» — по‰ „о то‚ к‡ пе по ‰‡ ‚‡ те лей к ‚не ‰ е нию ‚ ‚у -
з‡х Рос сии и ‰у „их ст‡н СНГ но ‚ой спе ци ‡ль но с ти — 

«Ин фо м‡ ци он ные

тех но ло „ии»

.  Ос но‚ н‡fl  з‡ ‰‡ ч‡  по ек т‡ —  со ‚е шен ст ‚о ‚‡ ние  ме то ‰о ло -

„ии пе по ‰‡ ‚‡ ниfl по „‡мм ной ин же не ии. Ре ‡ ли з‡ циfl этой по „‡м мы
н‡ п‡‚ ле н‡ н‡ со з‰‡ ние н‡ ‰еж ной об ‡ зо ‚‡ тель ной ос но ‚ы ‰лfl ‰‡ль ней -
ше „о  ‡з ‚и тиfl  оте че ст ‚ен ной  ИТ-ин ‰у с т ии.  В  ‡м к‡х  по ек т‡  (‡‚ „уст-
‰е к‡бь  2004 „.):  обу че ние  со ‚е мен ным  ме то ‰и к‡м  по „‡мм ной  ин же -
не ии, пе е ‰о ‚ым ин фо м‡ ци он ным тех но ло „и flм, по лу че ние опы т‡ ‡ -
бо ты  по  со з‰‡ нию  учеб ных  ку со‚,  со от ‚ет ст ‚у ю щих  меж ‰у н‡ о‰ ным
об ‡ зо ‚‡ тель ным ст‡н ‰‡ т‡м 

IEEE/ACM Computing Curricula 2001: Computer

Science

и 

Software Engineering

, ‡ т‡к же по лу че ние е ‡ль но „о ин ‰у с т и ‡ль -

но „о  опы т‡  —  по хож ‰е ние  ст‡ жи о‚ ки  ‚  ко по ‡ ции  Intel,  ‡ бо т‡  н‡‰
е ‡ль ны ми по ек т‡ ми. Сей ч‡с, ко„ ‰‡ пи шут сfl эти сто ки, осу ще ст‚ лfl ет -
сfl но ‚ый по ект 

«Ви ту оз-2005»

, ‚ ‡м к‡х ко то о „о но ‚ые пе по ‰‡ ‚‡ те -

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

Пе ‚о н‡ ч‡ль но ‡ бо т‡ть н‡‰ кни „ой ‡‚ то пл‡ ни о ‚‡л со‚ ме ст но со

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

Хо те лось бы от ме тить, что по со бие, ко то ое ‚ы ‰е жи те ‚ у к‡х, —

пе ‚‡fl  кни „‡  ‡‚ то ‡,  из ‰‡н н‡fl  и  ‡с по ст ‡ нfl е м‡fl  «‚  боль шом  ми е»,
‚не стен о‰ но „о уни ‚е си те т‡ — с‚о е „о о ‰‡ ‰е бют. По это му, по ж‡ луй -
ст‡,  не  су ‰и те  кни „у  слиш ком  сто „о:  это  ‚се „о  лишь  по пыт к‡  пе е ‰‡ть
с‚ой опыт ‰у „им лю ‰flм. Ес ли же ‚ы н‡ шли ‚ кни „е ошиб ки, не точ но с -
ти, з‡ блуж ‰е ниfl, субъ ек ти‚ ные суж ‰е ниfl и ‰у „ие по ‰об ные ‚е щи, ‡‚ то
бу ‰ет очень бл‡ „о ‰‡ ен з‡ пись мо с опи с‡ ни ем ошиб ки, от п‡‚ лен ное н‡
‡‰ ес  alexander.v.babich@acm.org.  И  пусть  ‚‡с  не  сму щ‡ ет  м‡ не ‡  ‡‚ то ‡
пи с‡ть от те ть е „о ли ц‡ и упо ми н‡ть се бfl ‚о мно же ст ‚ен ном чис ле. Ве‰ь
‚ы т‡ ‚ить из се бfl стиль н‡ уч ной ст‡ тьи ох к‡к не по сто. А‚ то у н‡ ‚ит -
сfl е зуль т‡т е„о ‡ бо ты. Н‡ ‰е ем сfl, по н‡ ‚ит сfl и чи т‡ те лflм.

Бл‡ „о ‰‡ но с ти

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

эт‡  кни „‡  бы л‡  н‡ пи с‡ н‡  и  у‚и ‰е л‡  с‚ет. 

Ко по ‡ цию  Intel

—  з‡  ‚оз мож -

Кус

12

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


background image

ность уч‡ с тиfl ‚ по ек те «Ви ту оз» и з‡ пе е ‚о от ‚ ми о ‚оз зе нии. Всех

со ту‰ ни ко‚  Ни же „о о‰ ской  л‡ бо ‡ то ии  Intel

—  з‡  ‰о б о же л‡ тель ность,

по‰ ‰еж ку и цен ные со ‚е ты. 

Вл‡ ‰и ми ‡ П‡‚ ло ‚‡

— з‡ то, что он з‡ ‡ зил

н‡с с‚о ей эне „и ей и н‡ учил жить ‚ «с‚о ей е ‡ль но с ти». 

«Ин те нет-уни -

‚е си тет ин фо м‡ ци он ных тех но ло „ий»

и 

Ан‡ то лиfl Шке ‰‡

лич но — з‡ „о -

то‚ ность  со ту‰ ни ч‡ть  ‚  из ‰‡ нии  это „о  по со биfl. 

Ан‡ то лиfl  Во ло хо ‚‡

и

Telelogic

— з‡ лю без но пе ‰о ст‡‚ лен ный п‡ кет TAU G2, с по мо щью ко то -

о „о  бы ли  по ст о е ны  боль шин ст ‚о  ‰и ‡ „‡мм  ‚  этой  кни „е.  И,  н‡ ко нец,

мою  же ну

—  з‡  по‰ ‰еж ку  и  то  с‡ мо от ‚е жен ное  те пе ние,  ко то ое  он‡

‰е мон ст и о ‚‡ л‡  к‡ж ‰ый  ‰ень  ‚  те че ние  ‚се „о  ‚е ме ни,  по к‡  пи с‡ л‡сь
эт‡ кни „‡...

Сп‡ си бо ‚‡м ‚сем еще ‡з!

12.09.2005 – 20.01.2008

13

Лекциfl 1

Что т‡кое The UML


background image

Лек циfl 1. Что т‡ кое The UML

К‡к уже „о ‚о и лось ‚ы ше, пе‰ ме том этой кни „и fl‚ лfl ет сfl The UML —

уни фи ци о ‚‡н ный flзык мо ‰е ли о ‚‡ ниfl. Но пеж ‰е чем об суж ‰‡ть осо бен -
но с ти flзы к‡, е„о кон ст ук ции и пи ме ы пи ме не ниfl, нуж но по „о ‚о ить о
том, что же т‡ кое UML, о е„о ис то ии, н‡ зн‡ че нии, спо со б‡х ис поль зо ‚‡ ниfl
flзы к‡, стук ту е е„о оп е ‰е ле ниfl, те ми но ло „ии и но т‡ ции. В этой лек ции
мы ‡с смо т им т‡ кие ‚о по сы:

Н‡ зн‡ че ние UML.

Ис то и че с к‡fl сп‡‚ к‡.

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

Стук ту ‡ оп е ‰е ле ниfl flзы к‡.

Те ми но ло „иfl и но т‡ циfl.

Н‡ зн‡ че ние flзы к‡

UML — уни фи ци о ‚‡н ный flзык мо ‰е ли о ‚‡ ниfl. Из этих тех сло‚

„뇂 ным fl‚ лfl ет сfl сло ‚о «

flзык

». Что же т‡ кое flзык? Не бу ‰ем изо б е т‡ть

‚е ло си пе‰, ‡ луч ше з‡ „лfl нем ‚ „лос с‡ ий, бл‡ „о ‚ Ин те не те их ‚е ли ч‡й -
шее мно же ст ‚о. С‰е л‡‚ это, мы ско ее ‚се „о об н‡ у жим оп е ‰е ле ние, по -
‰об ное пи ‚е ‰ен но му ни же.

Язык —

си с те м‡ зн‡ ко‚, слу ж‡ щ‡fl:

се‰ ст ‚ом че ло ‚е че с ко „о об ще ниfl и мыс ли тель ной ‰е fl тель но с ти;

спо со бом ‚ы ‡ же ниfl с‡ мо со зн‡ ниfl лич но с ти;

се‰ ст ‚ом х‡ не ниfl и пе е ‰‡ чи ин фо м‡ ции.

Язык ‚клю ч‡ ет ‚ се бfl н‡ бо зн‡ ко‚ (сло ‚‡ь) и п‡ ‚и л‡ их упо теб -

ле ниfl и ин те пе т‡ ции („‡м м‡ ти ку).

glossary.ru

К  это му  ‰о ст‡ точ но  ис че пы ‚‡ ю ще му  оп е ‰е ле нию  нуж но  ‰о б‡ ‚ить,

что  flзы ки  бы ‚‡ ют  ес те ст ‚ен ные  и  ис кус ст ‚ен ные,  фо м‡ль ные  и  не фо -
м‡ль ные. UML — flзык фо м‡ль ный и ис кус ст ‚ен ный, хо тfl, к‡к мы у‚и ‰им
‰‡ лее, этот fl лык к не му не со‚ сем по‰ хо ‰ит. Ис кус ст ‚ен ный он по то му, что
у не „о име ют сfl ‡‚ то ы, о ко то ых мы еще не ‡з упо мfl нем ‚ ‰‡ль ней шем (‚
то же ‚е мfl, ‡з ‚и тие UML не пе ы‚ но по ‰ол ж‡ ет сfl, что ст‡ ‚ит е„о ‚ о‰ин
fl‰ с ес те ст ‚ен ны ми flзы к‡ ми). Фо м‡ль ным е„о мож но н‡ з‚‡ть, по сколь ку
име ют сfl п‡ ‚и л‡ е„о упо теб ле ниfl (п‡‚ ‰‡, опи с‡ ние UML со ‰е жит и fl‚ -
но не фо м‡ль ные эле мен ты, к‡к мы, опflть-т‡ ки, поз же у‚и ‰им). Еще о‰ин
ню ‡нс: UML — flзык „‡ фи че с кий, что т‡к же не мно „о пу т‡ ет си ту ‡ цию!

Пи опи с‡ нии фо м‡ль но „о ис кус ст ‚ен но „о flзы к‡, что мы уже ‚и -

‰е ли  н‡  пи ме ‡х  опи с‡ ниfl  flзы ко‚  по „‡м ми о ‚‡ ниfl,  к‡к  п‡ ‚и ло,
опи сы ‚‡ ют сfl т‡ кие е„о эле мен ты, к‡к:

Кус

14

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


background image

син т‡к сис

, то есть оп е ‰е ле ние п‡ ‚ил по ст о е ниfl кон ст ук ций

flзы к‡;

се м‡н ти к‡

, то есть оп е ‰е ле ние п‡ ‚ил, ‚ со от ‚ет ст ‚ии с ко то ы -

ми кон ст ук ции flзы к‡ пи об е т‡ ют смыс ло ‚ое зн‡ че ние;

п‡„ м‡ ти к‡

,  то  есть  оп е ‰е ле ние  п‡ ‚ил  ис поль зо ‚‡ ниfl  кон ст -

ук ций flзы к‡ ‰лfl ‰о сти же ниfl нуж ных н‡м це лей.

Ес те ст ‚ен но, UML ‚клю ч‡ ет ‚се эти эле мен ты, хо тfl, к‡к мы опflть-

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

Вто ое  сло ‚о  ‚  ф‡ зе,  ко то ой  ‡с ши ф о ‚ы ‚‡ ет сfl  ‡б бе ‚и ‡ ту ‡

UML  —  сло ‚о  «

мо ‰е ли о ‚‡ ние

».  Д‡,  UML  —  это  flзык  мо ‰е ли о ‚‡ ниfl.

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

modeling

и 

simulation

, ко то ые об‡ пе е ‚о ‰flт сfl к‡к «мо ‰е ли -

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

Те тье  сло ‚о  ‚  н‡ з‚‡ нии  UML  —  сло ‚о  «

уни фи ци о ‚‡н ный

».  Е„о

мож но  по ни м‡ть  то же  не о‰ но зн‡ч но.  В  ли те ‡ ту е  мож но  ‚сте тить
опи с‡ ние эы «‰о UML» к‡к «‚ой ны ме то ‰о‚» мо ‰е ли о ‚‡ ниfl, ни о‰ин
из  ко то ых  «не  ‰о тfl „и ‚‡л»  ‰о  уо‚ нfl  ин ‰у с т и ‡ль но „о  ст‡н ‰‡ т‡.  UML
к‡к ‡з и ст‡л т‡ ким е‰и ным уни ‚е с‡ль ным ст‡н ‰‡ том ‰лfl объ ект но-
ои ен ти о ‚‡н но „о мо ‰е ли о ‚‡ ниfl, ко то ое ‚о ‚е ме н‡ е„о со з‰‡ ниfl к‡к
‡з «‚о шло ‚ мо ‰у». «Е‰и ным» flзы ком мо ‰е ли о ‚‡ ниfl UML мож но н‡ -
炇ть еще и по то му, что ‚ е„о со з‰‡ нии, к‡к мы у‚и ‰им ‰‡ лее, объ е ‰и ни -
лись уси лиfl ‡‚ то о‚ тех н‡ и бо лее по пу лfl ных ме то ‰о‚ мо ‰е ли о ‚‡ ниfl
(и не толь ко их).

По‰ ‚о ‰fl  ито „и,  к‡т ко  мож но  ск‡ з‡ть,  что  UML  —  ис кус ст ‚ен ный

flзык, ко то ый име ет не ко то ые че ты ес те ст ‚ен но „о flзы к‡, и фо м‡ль -
ный flзык, ко то ый име ет че ты не фо м‡ль но „о. Это з‚у чит не очень по -
нflт но, но это ‰ей ст ‚и тель но т‡к!

Ис то и че с к‡fl сп‡‚ к‡

От к󠉇 ‚зflл сfl The UML? Ес ли „о ‚о ить ко от ко, то UML ‚о б‡л ‚

се бfl  че ты  но т‡ ций  Гей ‰и  Бу ч‡  (Grady  Booch),  Джи м‡  Р‡м бо (Jim
Rumbaugh), Ай ‚‡ ‡ Якоб со н‡ (Ivar Jacobson) и мно „их ‰у „их.

15

Лекциfl 1

Что т‡кое The UML