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

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

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

Лекци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 ‡ссмот еть и п изн‡нных ли‰е-о‚ ынк‡, и е„о LJутс‡й‰е о‚È, и комме ческих Çмонст о‚È, и Çле„киеÈ п о„ ‡ммы с отк ытым исхо‰ным ко‰ом.

Вз‡ключении по‰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 и

11

Ку с

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

п и пе жке 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, и ‚ конце концо‚ мы об‡ отложили ‡боту 퇉 кни„ой ljо лучших ‚ еменÈ, соз퇂‡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

Лекциfl 1

Что т‡кое The UML

ность уч‡стиfl ‚ п оекте ÇВи туозÈ и з‡ пе е‚о от ‚ ми о‚озз ении. Всех

сот у‰нико‚ Ниже„о о‰ской л‡бо ‡то ии Intel Ñ з‡ ‰об ожел‡тельность,

пе жку и ценные со‚еты. В뇉ими ‡ П‡‚л Ñ з‡ то, что он з‡ ‡зил н‡с с‚оей эне „ией и н‡учил жить ‚ Çс‚оей е‡льностиÈ. ÇИнте нет-уни-

‚е ситет инфо м‡ционных техноло„ийÈ и Ан‡толиfl Шк 則 лично Ñ з‡ „о-

то‚ность сот у‰нич‡ть ‚ и片нии это„о пособиfl. Ан‡толиfl Волох и Telelogic Ñ з‡ любезно п е‰ост‡‚ленный п‡кет TAU G2, с помощью кото-о„о были пост оены большинст‚о ‰и‡„ ‡мм ‚ этой кни„е. И, н‡конец, мою жену Ñ з‡ пе жку и то с‡моот‚е женное те пение, кото ое он‡ ‰емонст и о‚‡л‡ к‡ж‰ый ‰ень ‚ течение ‚се„о ‚ емени, пок‡ пис‡л‡сь эт‡ кн脇...

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

12.09.2005 Ð 20.01.2008

13

Ку с

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

Лекци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

Лекциfl 1

Что т‡кое The UML

синт‡ксис, то есть оп е‰еление п ‡‚ил пост оени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 Ñ сло‚о Çунифици нныйÈ. Е„о можно поним‡ть тоже нео‰нозн‡чно. В лите ‡ту е можно ‚ст етить опис‡ние э ы ljо 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

Ку с

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

В не т‡кие уж и ‰‡лекие 80-е „о‰ы было множест‚о ‡зличных мето- ‰оло„ий мо‰ели ниfl. ʇ扇fl из них имел‡ с‚ои ‰остоинст‚‡ и не‰о- ст‡тки, ‡ т‡кже с‚ою нот‡цию. То смутное ‚ емfl получило н‡з‚‡ние Ç‚ойны мето‰о‚È. П облем‡ ‚ том, что ‡зные лю‰и использли ‡зные но- т‡ции, и ‰лfl то„о чтобы понflть, что описы‚‡ет т‡ или ин‡fl ‰и‡„ ‡мм‡, з‡ч‡стую т еблсfl Çпе е‚о‰чикÈ. О‰ин и тот же сим‚ол мо„ озн‡ч‡ть ‚‡зных нот‡циflх ‡бсолютно ‡зные ‚ещи! Н‡ исунке ниже можно у‚и- ‰еть лишь м‡лую ч‡сть мно„ооб ‡зиfl мето‰о‚, кото ые сущест‚ли ‚ то ‚ емfl и ‚ к‡кой-то ме е по‚лиflли н‡ UML ( ис. 1.1).

Рис. 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

Лекциfl 1

Что т‡кое The UML

‡сши 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 experience, н‡ кото ый ни мето‰ Буч‡, ни 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

Ку с

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

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

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

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

Н‡ч‡ть хотелось бы с ‰емонст ‡ции из‚естной к‡ тинки, кото ‡fl уже более ‰‚ух ‰есflтилетий Çжи‚етÈ ‚ Инте нете, но источник ее никому не из‚естен (если кто-то из чит‡телей сможет п олить с‚ет н‡ ее п оисхож‰ение, ‡‚то бу‰ет очень б뇄 ен з‡ инфо м‡цию). Эт‡ к‡ тинк‡ п ек ‡сно иллюст и ует типичный п оцесс со片ниfl п о‰укт‡, или Ç е- шениflÈ (поскольку п о‰укт еш‡ет п облему з‡к‡зчик‡), к‡к любflт „о‚о-

ить ‚ Microsoft ( ис. 1.2).

Рис. 1.2

З‰есь мы ‚и‰им ‚се п облемы п о„ ‡ммной инжене ии, ‚ ч‡стности п облемы с коммуник‡цией и поним‡нием, ‚ы炇нные отсутст‚ием четкой специфик‡ции со片‚‡емо„о п о‰укт‡. Т‡к ‚от, ‡‚то ы UML оп е- ‰елflют е„о к‡к „ ‡фический flзык мо‰ели ниfl обще„о н‡зн‡чениfl (т. е. е„о можно п именflть ‰лfl п оекти ниfl че„о у„о‰но Ñ от п остой к‡-

18

Лекциfl 1

Что т‡кое The UML

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

‚изу‡лиз‡ции, п оекти ниfl и ‰окументи ниfl ‚сех ‡ теф‡кто‚, со片-

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

Ит‡к, UML ‚ пе ‚ую оче е‰ь Ñ это специфик‡ции. З‡„лflнем сн ‚ „лосс‡ ий и обн‡ ужим, что

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

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

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

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

glossary.ru

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

Ку с

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

К‡ мы „о‚о им о том, что UML Ñ это с е‰ст‚о ‚изу‡лиз‡ции, мы имеем ‚ ‚и‰у мо‰ельные специфик‡ции. Все мы зн‡ем, к‡к ин‡ т у‰но з‡ст‡‚ить себfl Ç‚никнутьÈ ‚ суть м‡те и‡л‡, из뇄‡емо„о ‚ оче-е‰ном учебнике или м‡ну‡ле. Изучение че„о-то но‚о„о и‰ет „о ‡з‰о п още, если ‰окумент со‰е жит не только текст, ‡ еще и иллюст ‡ции к нему. А если уко‚о‰ст‚о или учебник ‚ы„лfl‰flт к‡к к‡ тинки с по‰- писflми (‚спомните м‡йк ософто‚ские учебники и т ейне -киты илиуко‚о‰ст‚‡ пользтелfl мобильных телефоно‚!), то ус‚оение но‚о„о м‡те и‡л‡ п оисхо‰ит еще п още и эффекти‚нее. Н則 ом ‰о сих по т‡к популfl ны комиксы, кото ые т‡кже п е‰ст‡‚лflют собой к‡ тинки с текстом!

Т‡к ‚от, т‡кие к‡ тинки с по‰писflми 퇄лfl‰ны и интуити‚но понflтны, п ичем почти о‰нозн‡чно поним‡ютсfl любыми з‡инте есн- ными лиц‡ми, т‡к что мо„ут использтьсfl ‚ к‡чест‚е с е‰ст‚‡ общениfl меж‰у лю‰ьми. UML поз‚олflет со片‚‡ть т‡кие п остые и понflтные к‡ - тинки (мо‰ели), описы‚‡ющие систему с ‡зных сто он, кото ые можно пок‡з‡ть з‡к‡зчику и обсу‰ить с ним, т. е. служит с е‰ст‚ом коммуник‡- ции ‚ ком‡н‰е. Посмот ите н‡ исунок ниже ( ис. 1.3). Все ‚е‰ь понflтно, п ‡‚‰‡?

Рис. 1.3

20

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