ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.12.2019
Просмотров: 6260
Скачиваний: 39
Кон толь ные ‚о по сы
•
К‡к ‡с ши ф о ‚ы ‚‡ ет сfl ‡б бе ‚и ‡ ту ‡ UML?
•
К‡ к‡fl ‚е сиfl UML fl‚ лfl ет сfl те ку щей?
•
Кто бы ли ‡‚ то ‡ ми UML?
•
Чем НЕ fl‚ лfl ет сfl UML?
•
К‡ кие по „‡мм ные се‰ ст ‚‡, по‰ ‰е жи ‚‡ ю щие UML, ‚ы зн‡ е те?
•
Ис поль зу ют сfl ли ‚ UML «тех ме ные» фи „у ы?
Спи сок ис поль зо ‚‡н ных ис точ ни ко‚
1.
М‡ те и ‡ лы ку с‡ «Ан‡ лиз и по ек ти о ‚‡ ние н‡ UML», ‡з ‡ бо т‡н -
ные Но ‚и ко ‚ым Ф.А.
1
2.
Introduction to the Unified Modeling Language. Terry Quatrani, UML
Evangelist. – Copyright © IBM Rational (http://www.rational.net/),
2001.
3.
UML Tutorial. Ian Graham or Alan Wills. – Copyright © MMI –
Trireme International Ltd, 2001.
4.
Ле о нен ко‚. С‡ мо учи тель по UML. – http://khpi-iip.mipk.
kharkiv.edu/library/case/leon/index.html.
5.
OMG Unified Modeling Language Specification. – Copyright © 2000,
Object Management Group. – http://www.omg.org/cgi-bin/apps/
doc?formal/03-03-01.pdf.
Кус
26
UML: Пе‚ое зн‡комст‚о
1
Г뇂 ным ис точ ни ком пи н‡ пи с‡ нии этой лек ции бы ли м‡ те и ‡ лы ку с‡ «Ан‡ -
лиз и по ек ти о ‚‡ ние н‡ UML», ‡з ‡ бо т‡н ные Но ‚и ко ‚ым Ф.А.
Лек циfl 2. Ви ‰ы ‰и ‡ „‡мм UML
Пе‰ ме том этой кни „и fl‚ лfl ет сfl The UML — уни фи ци о ‚‡н ный
flзык мо ‰е ли о ‚‡ ниfl. В пе ‰ы ‰у щей лек ции бы ло ‡с ск‡ з‡ но о том, что
же т‡ кое UML, о е„о ис то ии, н‡ зн‡ че нии, спо со б‡х ис поль зо ‚‡ ниfl flзы -
к‡, стук ту е е„о оп е ‰е ле ниfl, те ми но ло „ии и но т‡ ции. Бы ло от ме че но,
что мо ‰ель UML — это н‡ бо ‰и ‡ „‡мм. В этой лек ции мы ‡с смо т им т‡ -
кие ‚о по сы:
•
По че му нуж но не сколь ко ‚и ‰о‚ ‰и ‡ „‡мм.
•
Ви ‰ы ‰и ‡ „‡мм.
•
ООП и по сле ‰о ‚‡ тель ность по ст о е ниfl ‰и ‡ „‡мм.
Пеж ‰е чем пе ей ти к об суж ‰е нию ос но‚ но „о м‡ те и ‡ л‡ этой лек -
ции, ‰‡ ‚‡й те по „о ‚о им о том, з‡ чем ‚о об ще сто ить к‡ кие-то ‰и ‡ „‡м -
мы. Р‡з ‡ бот к‡ мо ‰е ли лю бой си с те мы (не толь ко по „‡мм ной) ‚се „‰‡
пе‰ ше ст ‚у ет ее со 片 нию или об но‚ ле нию. Это не об хо ‰и мо хо тfl бы ‰лfl
то „о, что бы flс нее пе‰ ст‡ ‚ить се бе е ш‡ е мую з‡ ‰‡ чу. По ‰у м‡н ные мо ‰е -
ли очень ‚‡ж ны и ‰лfl ‚з‡ и мо ‰ей ст ‚иfl ‚ну т и ко м‡н ‰ы ‡з ‡ бот чи ко‚, и
‰лfl ‚з‡ и мо по ни м‡ ниfl с з‡ к‡з чи ком. В кон це кон цо‚, это поз ‚о лfl ет убе -
‰ить сfl ‚ «‡ хи тек ту ной со „л‡ со ‚‡н но с ти» по ек т‡ ‰о то „о, к‡к он бу ‰ет
е ‡ ли зо ‚‡н ‚ ко ‰е.
Мы сто им мо ‰е ли слож ных си с тем, по то му что не мо жем опи с‡ть
их пол но стью, «оки нуть о‰ ним ‚з„лfl ‰ом». По это му мы ‚ы ‰е лfl ем лишь
су ще ст ‚ен ные ‰лfl кон кет ной з‡ ‰‡ чи с‚ой ст ‚‡ си с те мы и сто им ее мо -
‰ель, ото б ‡ ж‡ ю щую эти с‚ой ст ‚‡. Ме то‰ объ ект но-ои ен ти о ‚‡н но „о
‡н‡ ли з‡ поз ‚о лfl ет опи сы ‚‡ть е ‡ль ные слож ные си с те мы н‡ и бо лее ‡‰ек -
‚‡т ным об ‡ зом. Но с у‚е ли че ни ем слож но с ти си с тем ‚оз ни к‡ ет по теб -
ность ‚ хо о шей тех но ло „ии мо ‰е ли о ‚‡ ниfl. К‡к мы уже „о ‚о и ли ‚ пе -
‰ы ‰у щей лек ции, ‚ к‡ че ст ‚е т‡ кой «ст‡н ‰‡т ной» тех но ло „ии ис поль зу ет -
сfl уни фи ци о ‚‡н ный flзык мо ‰е ли о ‚‡ ниfl (Unified Modeling Language,
UML), ко то ый fl‚ лfl ет сfl „‡ фи че с ким flзы ком ‰лfl спе ци фи к‡ ции, ‚и зу -
‡ ли з‡ ции, по ек ти о ‚‡ ниfl и ‰о ку мен ти о ‚‡ ниfl си с тем. С по мо щью
UML мож но ‡з ‡ бо т‡ть по ‰об ную мо ‰ель со 片 ‚‡ е мой си с те мы, ото б -
‡ ж‡ ю щую не толь ко ее кон цеп цию, но и кон кет ные осо бен но с ти е ‡ -
ли з‡ ции. В ‡м к‡х UML-мо ‰е ли ‚се пе‰ ст‡‚ ле ниfl о си с те ме фик си у -
ют сfl ‚ ‚и ‰е спе ци ‡ль ных „‡ фи че с ких кон ст ук ций, по лу чи‚ ших н‡ з‚‡ -
ние ‰и ‡ „‡мм.
Пи ме ч‡ ние.
Мы ‡с смо т им не ‚се, ‡ лишь не ко то ые из ‚и ‰о‚ ‰и ‡ -
„‡мм. Н‡ пи ме, ‰и ‡ „‡м м‡ ком по нен то‚ не ‡с см‡ т и ‚‡ ет сfl ‚ этой лек -
ции, ко то ‡fl fl‚ лfl ет сfl лишь к‡т ким об зо ом ‚и ‰о‚ ‰и ‡ „‡мм. Ко ли че ст ‚о
ти по‚ ‰и ‡ „‡мм ‰лfl кон кет ной мо ‰е ли пи ло же ниfl ни к‡к не о„ ‡ ни чи ‚‡ ет -
сfl. Длfl по стых пи ло же ний нет не об хо ‰и мо с ти сто ить ‰и ‡ „‡м мы ‚сех
без ис клю че ниfl ти по‚. Не ко то ые из них мо „ут по сто от сут ст ‚о ‚‡ть, и
27
Лекциfl 2
Ви‰ы ‰и‡„‡мм UML
этот ф‡кт не бу ‰ет счи т‡ть сfl ошиб кой. В‡ж но по ни м‡ть, что н‡ ли чие ‰и -
‡ „‡мм оп е ‰е лен но „о ‚и ‰‡ з‡ ‚и сит от спе ци фи ки кон кет но „о по ек т‡.
Ин фо м‡ цию о ‰у „их (не ‡с смо т ен ных з‰есь) ‚и ‰‡х ‰и ‡ „‡мм мож но н‡й -
ти ‚ ст‡н ‰‡ те UML.
По че му нуж но не сколь ко ‚и ‰о‚ ‰и ‡ „‡мм
Длfl н‡ ч‡ л‡ оп е ‰е лим сfl с те ми но ло „и ей. В пе ‰ис ло ‚ии к этой
лек ции мы не о‰ но к‡т но ис поль зо ‚‡ ли по нfl тиfl си с те мы, мо ‰е ли и ‰и ‡ -
„‡м мы. А‚ то у‚е ен, что к‡ж ‰ый из н‡с ин ту и ти‚ но по ни м‡ ет смысл
этих по нfl тий, но, что бы ‚не сти пол ную flс ность, сно ‚‡ з‡ „лfl нем ‚ „лос с‡ -
ий и по чтем сле ‰у ю щее:
Си с те м‡ —
со ‚о куп ность ‚з‡ и мо с‚fl з‡н ных уп ‡‚ лfl е мых по‰ си с тем,
объ е ‰и нен ных об щей це лью функ ци о ни о ‚‡ ниfl.
БСЭ н‡ slovari.yandex.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т ное оп е ‰е ле ние
мо ‰е ли к‡к
Кус
28
UML: Пе‚ое зн‡комст‚о
се м‡н ти че с ки з‡ мк ну той ‡б ст ‡к ции си с те мы
‚fl‰ ли по flс нит си ту ‡ цию,
по это му по по бу ем объ flс нить «с‚о и ми сло ‚‡ ми».
Мо ‰ель
— это не кий (м‡ те и ‡ль ный или нет) объ ект, ото б ‡ ж‡ ю щий
лишь н‡ и бо лее зн‡ чи мые ‰лfl ‰‡н ной з‡ ‰‡ чи х‡ ‡к те и с ти ки си с те мы.
Мо ‰е ли бы ‚‡ ют ‡з ные — м‡ те и ‡ль ные и не м‡ те и ‡ль ные, ис кус ст ‚ен -
ные и ес те ст ‚ен ные, ‰е ко ‡ ти‚ ные и м‡ те м‡ ти че с кие...
Пи ‚е ‰ем не сколь ко пи ме о‚. Зн‡ ко мые ‚сем н‡м пл‡ст м‡с со ‚ые
и„ у шеч ные ‡‚ то мо биль чи ки, ко то ы ми мы с т‡ ким ‡з‡ том и„ ‡ ли ‚
‰ет ст ‚е, это не что иное, к‡к
м‡ те и ‡ль н‡fl ис кус ст ‚ен н‡fl ‰е ко ‡ ти‚ н‡fl
мо ‰ель е ‡ль но „о ‡‚ то мо би лfl. Ко неч но, ‚ т‡ ком «‡‚ то» нет ‰‚и „‡ те лfl, мы
не з‡ пол нfl ем е„о б‡к бен зи ном, ‚ нем не ‡ бо т‡ ет (бо лее то „о, ‚о об ще от -
сут ст ‚у ет) ко об к‡ пе е ‰‡ч, но к‡к мо ‰ель эт‡ и„ уш к‡ с‚ои функ ции
‚пол не ‚ы пол нfl ет: он‡ ‰‡ ет е бен ку пе‰ ст‡‚ ле ние об ‡‚ то мо би ле, по -
сколь ку ото б ‡ ж‡ ет е„о х‡ ‡к те ные че ты — н‡ ли чие че ты ех ко лес, ку -
зо ‚‡, ‰‚е ец, окон, спо соб ность ех‡ть и т. ‰.
В хо ‰е ме ‰и цин ских ис сле ‰о ‚‡ ний опы ты н‡ жи ‚от ных ч‡ с то пе‰ -
ше ст ‚у ют кли ни че с ким ис пы т‡ ни flм ме ‰и цин ских пе п‡ ‡ то‚ н‡ лю ‰flх.
В т‡ ком слу ч‡е жи ‚от ное ‚ы сту п‡ ет ‚ о ли
м‡ те и ‡ль ной ес те ст ‚ен ной
мо ‰е ли че ло ‚е к‡.
У‡‚ не ние, изо б ‡ жен ное ‚ыше — то же мо ‰ель, но это мо ‰ель
м‡ те -
м‡ ти че с к‡fl
, и опи сы ‚‡ ет он‡ ‰‚и же ние м‡ те и ‡ль ной точ ки по‰ ‰ей ст ‚и -
ем си лы тfl же с ти.
Ос т‡ лось лишь ск‡ з‡ть, что т‡ кое ‰и ‡ „‡м м‡.
Ди ‡ „‡м м‡
— это „‡ -
фи че с кое пе‰ ст‡‚ ле ние мно же ст ‚‡ эле мен то‚. Обыч но изо б ‡ ж‡ ет сfl ‚
‚и ‰е „‡ ф‡ с ‚е ши н‡ ми (сущ но с тfl ми) и е б ‡ ми (от но ше ни fl ми). Пи -
ме о‚ ‰и ‡ „‡мм мож но пи ‚е с ти мно же ст ‚о. Это и зн‡ ко м‡fl н‡м ‚сем со
школь ных лет блок-схе м‡, и схе мы мон т‡ ж‡ ‡з лич но „о обо у ‰о ‚‡ ниfl,
ко то ые мы мо жем ‚и ‰еть ‚ у ко ‚о‰ ст ‚‡х поль зо ‚‡ те лfl, и ‰е е ‚о ф‡й ло‚
и к‡ т‡ ло „о‚ н‡ ‰ис ке, ко то ое мы мо жем у‚и ‰еть, ‚ы пол ни‚ ‚ кон со ли
Windows ко м‡н ‰у
tree
, и мно „ое-мно „ое ‰у „ое. В по ‚се‰ не‚ ной жиз ни
‰и ‡ „‡м мы ок у ж‡ ют н‡с со ‚сех сто он, ‚е‰ь и су нок ‚ос пи ни м‡ ет сfl
н‡ ми ле„ че, чем текст...
Но ‚е нем сfl к по ек ти о ‚‡ нию ПО (и не толь ко). В этой от ‡с ли
с
по мо щью ‰и ‡ „‡мм мож но ‚и зу ‡ ли зи о ‚‡ть си с те му с ‡з лич ных то чек зе -
ниfl
. О‰ н‡ из ‰и ‡ „‡мм, н‡ пи ме, мо жет опи сы ‚‡ть ‚з‡ и мо ‰ей ст ‚ие
поль зо ‚‡ те лfl с си с те мой, ‰у „‡fl — из ме не ние со сто fl ний си с те мы ‚ по -
цес се ее ‡ бо ты, те тьfl — ‚з‡ и мо ‰ей ст ‚ие меж ‰у со бой эле мен то‚ си с -
те мы и т. ‰. Слож ную си с те му мож но и нуж но пе‰ ст‡ ‚ить ‚ ‚и ‰е н‡ бо -
‡ не боль ших и поч ти не з‡ ‚и си мых мо ‰е лей-‰и ‡ „‡мм, пи чем ни о‰ н‡
29
Лекциfl 2
Ви‰ы ‰и‡„‡мм UML
из них не fl‚ лfl ет сfl ‰о ст‡ точ ной ‰лfl опи с‡ ниfl си с те мы и по лу че ниfl пол -
но „о пе‰ ст‡‚ ле ниfl о ней, по сколь ку к‡ж ‰‡fl из них фо ку си у ет сfl н‡ к‡ -
ком-то оп е ‰е лен ном ‡с пек те функ ци о ни о ‚‡ ниfl си с те мы и ‚ы ‡ ж‡ ет
‡з ный уо ‚ень ‡б ст ‡к ции. Ду „и ми сло ‚‡ ми, к‡ж ‰‡fl мо ‰ель со от ‚ет -
ст ‚у ет не ко то ой оп е ‰е лен ной, ч‡ ст ной точ ке зе ниfl н‡ по ек ти у е -
мую си с те му.
Не смо т fl н‡ то что ‚ пе ‰ы ‰у щем ‡б з‡ це мы ‚есь м‡ ‚оль „от но обо -
шлись с по нfl ти ем мо ‰е ли, сле ‰у ет по ни м‡ть, что ‚ кон тек с те пи ‚е ‰ен -
ных ‚ы ше оп е ‰е ле ний
ни о‰ н‡ от ‰ель н‡fl ‰и ‡ „‡м м‡ не fl‚ лfl ет сfl мо ‰е -
лью
. Ди ‡ „‡м мы — лишь
се‰ ст ‚о ‚и зу ‡ ли з‡ ции
мо ‰е ли, и эти ‰‚‡ по нfl -
тиfl сле ‰у ет ‡з ли ч‡ть. Лишь
н‡ бо ‰и ‡ „‡мм со ст‡‚ лfl ет мо ‰ель си с те мы
и н‡ и бо лее пол но ее опи сы ‚‡ ет, но не о‰ н‡ ‰и ‡ „‡м м‡, ‚ы ‚‡н н‡fl из
кон тек с т‡.
Ви ‰ы ‰и ‡ „‡мм
UML 1.5 оп е ‰е лflл
‰‚е 퇉 ц‡ть ти по‚ ‰и ‡ „‡мм
, ‡з ‰е лен ных н‡ ти
„уп пы:
•
че ты е ти п‡ ‰и ‡ „‡мм пе‰ ст‡‚ лfl ют
ст‡ ти че с кую стук ту у
пи ло же ниfl;
•
пflть пе‰ ст‡‚ лfl ют
по ‚е ‰ен че с кие ‡с пек ты
си с те мы;
•
ти пе‰ ст‡‚ лfl ют
фи зи че с кие ‡с пек ты
функ ци о ни о ‚‡ ниfl си с те -
мы (‰и ‡ „‡м мы е ‡ ли з‡ ции).
Те ку щ‡fl ‚е сиfl UML 2.1 ‚не сл‡ не слиш ком мно „о из ме не ний. Ди -
‡ „‡м мы сле„ к‡ из ме ни лись ‚неш не (по fl‚и лись фей мы и ‰у „ие ‚и зу -
‡ль ные улуч ше ниfl), не мно „о усо ‚е шен ст ‚о ‚‡ л‡сь но т‡ циfl, не ко то ые
‰и ‡ „‡м мы по лу чи ли но ‚ые н‡ и ме но ‚‡ ниfl.
Впо чем, точ ное чис ло к‡ но ни че с ких ‰и ‡ „‡мм ‰лfl н‡с ‡б со лют -
но не ‚‡ж но, т‡к к‡к мы ‡с смо т им не ‚се из них, ‡ лишь не ко то ые —
по той пи чи не, что ко ли че ст ‚о ти по‚ ‰и ‡ „‡мм ‰лfl кон кет ной мо ‰е -
ли кон кет но „о пи ло же ниfl не fl‚ лfl ет сfl сто „о фик си о ‚‡н ным. Длfl
по стых пи ло же ний нет не об хо ‰и мо с ти сто ить ‚се без ис клю че ниfl
‰и ‡ „‡м мы. Н‡ пи ме, ‰лfl ло к‡ль но „о пи ло же ниfl не обfl з‡ тель но
сто ить ‰и ‡ „‡м му ‡з ‚е ты ‚‡ ниfl. В‡ж но по ни м‡ть, что пе е чень ‰и ‡ -
„‡мм з‡ ‚и сит от спе ци фи ки ‡з ‡ б‡ ты ‚‡ е мо „о по ек т‡ и оп е ‰е лfl ет сfl
с‡ мим ‡з ‡ бот чи ком. Ес ли же лю бо пыт ный чи т‡ тель ‚се-т‡ ки по же л‡ -
ет уз н‡ть обо ‚сех ‰и ‡ „‡м м‡х UML, мы ото шлем е„о к ст‡н ‰‡ ту UML
(http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML).
Н‡ пом ним, что цель этой кни „и — не опи с‡ть ‡б со лют но ‚се ‚оз мож -
но с ти UML, ‡ лишь по зн‡ ко мить с этим flзы ком, ‰‡ть пе ‚о н‡ ч‡ль ное
пе‰ ст‡‚ ле ние об этой тех но ло „ии.
Ит‡к, мы к‡т ко ‡с смо т им т‡ кие ‚и ‰ы ‰и ‡ „‡мм, к‡к:
Кус
30
UML: Пе‚ое зн‡комст‚о