Главная » Просмотр файлов » 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006)

2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732), страница 29

Файл №1185732 2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006).pdf) 29 страница2. Язык UML. Руководство пользователя. Буч_ Рамбо_ Якобсон (2-е издание) (2006) (1185732) страница 292020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 29)

Расширенные связиВ этой главе:Расширенные связи: зависимости, обобщения, ассоциации,реализации и уточненияМоделирование систем связейСоздание систем связейМоделируя сущности, формирующие словарь вашей системы, выдолжны также показать, как эти сущности связаны друг с другом.Связи, однако, могут быть достаточно сложными. Визуализация,специфицирование, конструирование и документирование системсвязей требуют ряда расширенных свойств.Зависимости, обобщения и ассоциации – наиболее важныестроительные блоки связей в UML.

Эти связи обладают множеством свойств помимо тех, что уже были описаны в предыдущейчасти. Также вы можете моделировать множественное наследование, навигацию, композицию, уточнение и другие характеристики.Используя четвертый вид связей – реализацию, можно моделировать соединение между интерфейсом и классом или компонентомлибо между вариантом использования и кооперацией.

UML допускает моделирование семантики связей на любом уровне формальности.Управление сложными системами связей требует использования правильных связей на правильном уровне детализации, чтобыне имело место ни чрезмерное упрощение, ни излишнее усложнение вашей системы.ВведениеВариантыиспользованияи сценарииобсуждаются в главе 17.Когда вы проектируете дом, важно определить, как будут располагаться комнаты по отношению друг к другу. Скажем, вы решаетепоместить главную ванную комнату на первом этаже, подальше отфасада дома.

Дальше надлежит продумать общий план расположения комнат (например, учесть необходимость вноса продуктов из гаража на кухню: было бы неразумно, если бы на этом пути151пришлось проходить через ванную, поэтому такой вариант вы отвергнете).Можно составить достаточно подробный план дома, простоучитывая эти основные связи и варианты использования. Однакоесли не учитывать в проекте более сложных связей, в конце концоввы столкнетесь с серьезными трудностями. Допустим, вас вполнеустраивает расположение комнат на каждом этаже, но комнаты наразных этажах соседствуют неудачно. В частности, комнату вашейдочери вы поместили прямо над своей ванной, а девочка учится играть на барабане. Понятно, что изначальную схему придется пересмотреть.Аналогичным образом вы должны установить, как скрытые механизмы дома (коммуникации, проводка, несущие конструкциии т.п.) могут повлиять на поэтажный план.

Так, например, стоимость конструкции значительно возрастет, если вы не разместитекомнаты таким образом, чтобы они имели общие стены, в которыхможно проложить трубы и водостоки.ПрямоеТо же самое происходит, когда вы создаете программное обеси обратноепечение. Зависимости, обобщения и ассоциации – наиболее общиепроектиросвязи, с которыми вы сталкиваетесь при моделировании програмвание обсуж- мных систем, но вам понадобится немало расширенных средствдаютсядля описания таких связей. В результате вам удастся охватить элев главах 8,менты многих систем, что позволит избежать недоработок в ди14, 18, 19, 20, зайне.25, 30 и 31.С этой целью UML обеспечивает представление множества дополнительных свойств (рис.

10.1). Данная нотация позволяет вамвизуализировать, специфицировать и документировать системысвязей на любом уровне детализации по вашему желанию, – дажедостаточном для осуществления прямого и обратного проектирования моделей и кода.направление ассоциации«interface»Connectabledisconnect()«permit»disconnect()зависимость со стереотипомРис. 10.1. Расширенные связиРасширенные связи152Базовые понятияСвязь – это соединение сущностей. В объектноFориентированноммоделировании существуют четыре наиболее важных типа связей:зависимости, обобщения, ассоциации и реализации. Связи изображаются линиями разного начертания.ЗависимостиБазовыесвойства зависимостейобсуждаются в главе 5.МеханизмырасширенияUML обсуждаютсяв главе 6.Диаграммыклассовобсуждаютсяв главе 8.Зависимость – это связь использования, указывающая, что изменение спецификаций одной сущности, например класса SetTopController(УстановитьВерхнийКонтроллер) на рис.

10.1, может повлиятьна другие сущности, которые используют ее, например на классChannelIterator (ИтераторКанала, – но не наоборот. Зависимостьизображается в виде пунктирной линии со стрелкой, направленнойк той сущности, от которой зависит еще одна. Применяйте зависимости, когда хотите показать, что некая сущность использует другую.Простая, без дополнений, связь зависимости встречается чащевсего. Однако, если вы хотите подчеркнуть некие смысловые оттенки, UML предоставляет вам набор стереотипов, которые могут бытьприложены к связи зависимости. Имеющиеся стереотипы можноразделить на несколько групп.ВоFпервых, есть стереотип, который касается связей зависимости между классами и объектами на диаграмме классов:1. bind – показывает, что исходный объект создает экземплярцелевого, используя заданные реальные параметры.Используйте bind, когда нужно уточнить подробности, касаюШаблоныщиеся шаблонных классов.

Например, связь между шаблонными зависиконтейнерным классом и экземпляром этого класса должна момость bindделироваться зависимостью bind. Она включает список действиобсуждают- тельных аргументов, соответствующих формальным аргументамся в главе 9.шаблона.2. derive – показывает, что источник может быть вычисленпо цели.Использовать derive следует при моделировании связи междуАтрибутыобсуждают- двумя атрибутами или двумя ассоциациями, одна из которых конкся в главах 4 ретна, а вторая – концептуальна. Например, класс Person (Человек)и 9, ассоциа- может иметь конкретный атрибут BirthDate (ДатаРождения), а такжеции – в главе атрибут Age (Возраст), который происходит от BirthDate, поэтомуне объявлен отдельно в классе. Связь между BirthDate и Age выража5 и нижев настоящей ется зависимостью derive, то есть Age выводится из BirthDate.главе.3.

permit – показывает, что источник имеет заданную видимостьдля цели.Базовые понятияЗависимости типаpermit обсуждаютсяв главе 5.153Такая зависимость пригодится вам, если вы захотите обеспечить классу доступ к закрытым свойствам другого класса. В C++для этих же целей предусмотрены классыFдрузья (friends).4. instanceOf – показывает, что исходный объект является экземпляром целевого.

Обычно отображается в текстовой нотации вида исходный объект : Целевой объект.5. instantiate – показывает, что источник создает экземплярыцели.ДихотомияДва последних стереотипа позволяют вам явно моделировать«класс/объ- связи «класс/объект». Можно использовать instanceOf при моделироект» обсуж- вании связи между классом и объектом на одной и той же диаграмдаютсяме либо связи между классом и его метаклассом; однако последняяв главе 2.обычно отображается в текстовом синтаксисе.

Стереотип instantiateсвидетельствует о том, что один класс создает объекты другого.Логическоемоделирование базданныхобсуждаетсяв главе 8, моделированиефизическихбаз данных –в главе 30.Пакетыобсуждаютсяв главе 12.6. powertype – сообщает, что целевой объект является супертипом исходного. Супертип – это классификатор, объектыкоторого являются дочерними по отношению к заданномуродительскому.Следует использовать powertype, когда нужно моделировать теклассы, которые по отношению к другим являются классификаторами (как иногда бывает при моделировании баз данных).7. refine – показывает, что источник находится на более тонкомуровне абстракции, чем цель.Используется при моделировании классов, представляющиходно и то же понятие на разных уровнях абстракции.

Например,в процессе анализа вы можете определить класс Customer (Покупатель), который в процессе проектирования будет уточнен до болеедетализированного класса Customer и завершен реализацией.8. use – специфицирует, что семантика исходного элемента зависит от семантики открытой части целевого.Применяйте use, когда хотите явно обозначить зависимость каксвязь использования, в противовес прочим значениям зависимостей, представленным в стереотипах.Упомянем два стереотипа, касающихся связей зависимости между пакетами:1. import – показывает, что открытое содержимое целевого пакета входит в открытое пространство имен исходного пакета,как если бы они были декларированы в исходном;2.

access – показывает, что открытое содержимое целевого пакета входит в закрытое пространство имен исходного. Неквалифицированные имена могут применяться внутри исходного, но не могут реэкспортироваться.154Вариантыиспользования обсуждаютсяв главе 17.Расширенные связиБазовые понятияИспользуйте import и access, когда захотите задействовать элементы, объявленные в других пакетах. Импорт элементов позволяет отказаться от применения полных квалифицированных имендля ссылок на элементы других пакетов в текстовых выражениях.Два стереотипа относятся к связям использования между вариантами использования:нюансы зависимостей, каждая из которых наделена своейсобственной семантикой, но не настолько семантическиудалена от обычной зависимости, чтобы представлять ее какособый вид связи.

В какомQто смысле это не очень отвечаетидеологии UML, но опыт показывает, что подобный подходпозволяет достичь баланса в определении важных видов связей, с которыми вы можете столкнуться и избежанием избыточного числа вариантов выбора для разработчика модели.Вы не ошибетесь, если сначала смоделируете обобщения,ассоциации и реализации, а все остальные виды связей обозначите зависимостями.1.

extend – показывает, что целевой вариант использования расширяет поведение исходного;2. include – показывает, что исходный вариант использованияявно включает в себя поведение другого варианта использования в месте, указанном в исходном.Используйте extend и include, а также простое обобщение, когдавам требуется выполнить декомпозицию вариантов использованияна повторно использ уемые части.ИнтерфейсыОдин из стереотипов вы будете встречать в контексте взаимообсуждают- действия объектов:ся в главе 16. send – показывает, что исходный класс посылает сообщениецелевому.Машинысостояний(конечныеавтоматы)обсуждаются в главе 22.Системыи моделиобсуждаютсяв главе 32.Используйте send, когда вам предстоит смоделировать операцию(такую как действие, связанное с переходом между состояниями),передающую данное событие целевому объекту, который, в своюочередь, может иметь ассоциированный конечный автомат.

Зависимость send позволяет вам эффективно связать друг с другом дванезависимых автомата.И наконец, еще один стереотип вы встретите в контексте организации элементов вашей системы в подсистемы и модели:Пять представленийархитектуры обсуждаютсяв главе 2.Используйте trace, когда нужно смоделировать связи между элементами различных моделей. Например, в контексте архитектурысистемы вариант использования в модели вариантов использования,представляющий функциональное требование, может трассироваться в пакет соответствующей модели дизайна, представляющей артефакты, которые реализуют данный вариант использования.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее