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

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

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

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

На практике для именования экземпляровиспользуют одно или несколько коротких существительных,взятых из словаря моделируемой системы. При этом каждоеслово, кроме первого, обычно пишется с прописной буквы(например, t или myCustomer).ОперацииОперацииописаныв главах 4и 9, полиморфизм –в главе 9.Объект не просто занимает определенное место в реальноммире – он поддается неким манипуляциям. Операции, выполняемые объектом, объявляются в его абстракции.

Например, есликласс Transaction (Транзакция) содержит операцию commit (совершить) и у него имеется экземпляр t : Transaction, то можно написатьвыражение t.commit(). Его выполнение означает, что над объектом tосуществляется операция commit. В зависимости от связанной с этимклассом иерархии наследования данная операция может быть вызвана полиморфно.Базовые понятия195взаимодействия нарисовать его несколько раз, причем на каждомрисунке будет отражено новое состояние.АтрибутыСовершая над объектом операцию, вы изменяете его состояние,обсуждают- однако при запросе объекта его состояние не меняется. Предполося в главе 4,жим, бронируя билет на самолет (объект r : Заказ), вы определяетедиаграммызначение одного из атрибутов (например, цена билета = 395.75). Извзаимоменив впоследствии условия заказа – скажем, добавив к маршрутудействия –еще одну пересадку, – вы тем самым изменяете и его состояние: нав главе 19.пример, цена билета становится равной 1024.86.АльтернаНа рис.

13.3 показано, как изображать значение атрибутовтивный спо- объекта средствами языка UML. Значение атрибута id объектасоб описатьmyCustomer равно “432891783”. В данном случае тип идентификаторапроцесс(SSN – номер социального страхования) показан явно, хотя егоизмененияможно и опустить (как это сделано для атрибута active = True), посостоянияскольку тип содержится в объявлении id в ассоциированном класобъекта – иссе объекта myCustomer.пользованиеС классом можно ассоциировать также автомат, что особенавтоматов –но полезно при моделировании управляемых событиями системрассматили жизненного цикла класса.

В таких случаях можно показатьриваетсясостояние автомата для данного объекта в данный момент времев главе 22.ни. Состояние изображается в квадратных скобках после типа. Например, на рис. 13.3 показано, что объект c – экземпляр класса Phone(Телефон) находится в состоянии WaitingForAnswer (ЖдетОтвета),определенном в автомате для класса Phone.СостояниеКроме прочего, объект обладает состоянием, под которым подразумевается совокупность всех его свойств и их текущих значений(включая также ссылки и связанные объекты, в зависимости от точки зрения). В число свойств входят атрибуты и ассоциации объекта, а также все его агрегированные части. Таким образом, состояниеобъекта динамично, и при его визуализации вы фактически описываете значение его состояния в данный момент времени и в данной точке пространства.

Процесс изменения состояния объектаможно изобразить графически, если на одной и той же диаграммеРис. 13.3. Состояние объектаНа заметку. Так как объект может одновременно находитьсяв нескольких состояниях, вы можете вывести на диаграммевесь список его текущих состояний.Экземпляры196Типичные приемы моделированияДругие свойстваПроцессыи потоки обсуждаютсяв главе 23.Поскольку процессы и потоки являются важными составнымичастями представления системы с точки зрения процессов, в UMLимеется графический образ для различения активных и пассивныхэлементов (элемент считается активным, если он является частьюпроцесса или потока и представляет собой исходную точку потокауправления). Вы можете объявить активные классы, материализующие процесс или поток, и, соответственно, выделить экземплярактивного класса (см.

рис. 13.4).Рис. 13.4. Активные объектыДиаграммывзаимодействияобсуждаютсяв главе 19.Ссылкиописаныв главах14 и 16,статическиеатрибутыи операции –в главе 9.На заметку. Чаще всего активные объекты применяютсяв контексте диаграмм взаимодействия, моделирующих множественные потоки управления.

Каждый активный объектпредставляет исходную точку потока управления и можетиспользоваться для именования различных потоков.В UML существуют еще два элемента, у которых могут бытьэкземпляры. Первый – это ассоциация. Экземпляром ассоциацииявляется ссылка (link). Ссылка представляет собой семантическоесоединение между объектами. Как и ассоциация, она изображаетсяв виде линии; от ассоциации ее можно отличить по тому, что онасоединяет только объекты.

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

Тем не менее экземплярам обычно не приписывают стереотипнепосредственно и не связывают с ними помеченных значений.Вместо этого стереотипы и помеченные значения объекта выводятся из ассоциированных с ним абстракций. В качестве примерана рис. 13.5 показано, как можно явно приписать стереотип самомуобъекту или его абстракции.197экземпляр со стереотипом«signal»Рис.

13.5. Объекты со стереотипамиВ UML определены два стандартных стереотипа, применимыхк связям зависимости между объектами и классами:• instanceOf – показывает, что объектFклиент является экземпляром классификатораFсервера. Это редко изображаетсяграфически. Обычно используется текстовая запись с двоеточием;• instantiate – показывает, что классFклиент создает экземпляры классификатораFсервера.Типичные приемы моделированияМоделирование конкретных экземпляровМоделируя конкретные экземпляры, вы визуализируете сущности, имеющиеся в реальном мире.

Конечно, вы не увидите экземпляр класса Client, если данный клиент не стоит перед вами, но, покрайней мере, имеете возможность увидеть в отладчике представление этого объекта.Одна из сфер применения объектов – моделирование конкретДиаграммыкомпонентов ных экземпляров, существующих в реальном мире. Например, модеобсуждают- лируя топологию сети вашей организации, вы пользуетесь диаграмся в главе 15, мами размещения, содержащими экземпляры узлов.

Аналогичнымобразом, если вы хотите моделировать компоненты, расположенныедиаграммыв физических узлах сети, то будете пользоваться диаграммами комразмещепонентов, которые содержат их экземпляры. Наконец, если к вашейния –системе подключен отладчик, вы сможете представить структурныев главе 31,связи между экземплярами с помощью диаграмм объектов.диаграммыПри моделировании конкретных экземпляров необходимо сообъектов –блюдать такую последовательность действий:в главе 14. идентифицировать экземпляры, необходимые и достаточныедля визуализации, специфицирования, конструирования илидокументирования моделируемой задачи; изобразить эти объекты как экземпляры с помощью UML.Если можно, дать каждому из них собственное имя. Если дляобъекта не существует осмысленного имени, изобразить егокак анонимный объект;Экземпляры198 выявить для каждого экземпляра стереотипы, помеченныезначения и атрибуты (вместе с их значениями), необходимые и достаточные для моделирования задачи; изобразить эти экземпляры и связи между ними на диаграмме объектов или на другой диаграмме, соответствующей типуэкземпляра.В качестве примера на рис.

13.6 показана диаграмма объектов,взятая из системы проверки подлинности кредитных карточек. Такой ее можно увидеть в отладчике, тестирующем приложения.Глава 14. Диаграммы объектовВ этой главе:serverDatabaseРис. 13.6. Моделирование конкретных экземпляровСоветы и подсказкиМоделируя экземпляры на языке UML, помните, что каждыйиз них должен означать конкретное воплощение некоторой абстракции (обычно – класса, компонента, узла, варианта использованияили ассоциации). Хорошо структурированный экземпляр обладаетследующими свойствами: явно ассоциирован с конкретной абстракцией; имеет уникальное имя, взятое из словаря предметной области или области решения.Изображая экземпляры в UML, руководствуйтесь следующимипринципами: всегда показывайте имя абстракции, которой принадлежитэкземпляр, если это не очевидно из контекста; показывайте стереотип, роль или состояние экземпляра, только если это необходимо для понимания объекта в данномконтексте; организуйте длинные списки атрибутов экземпляра, группируя их вместе с их значениями в соответствии с категориями.Моделирование структур объектовПрямое и обратное проектированиеДиаграммы объектов позволяют моделировать экземпляры сущностей, которые содержатся в диаграммах классов.

На диаграммеобъектов показано множество объектов и связей между ними в некоторый момент времени.Диаграммы объектов применяют при моделировании статических представлений системы с точки зрения проектирования и процессов. При этом моделируется «снимок» системы в данный момент времени и изображается множество объектов, их состоянийи связей между ними.Диаграммы объектов важны не только для визуализации, специфицирования и документирования структурных моделей, но и дляконструирования статических аспектов системы с помощью прямого и обратного проектирования.ВведениеДля человека, не знакомого с правилами игры, футбол может показаться чрезвычайно простым видом спорта: толпа народа беспорядочно носится по полю, гоняя мяч. Неискушенный зритель вряд лиувидит в этом движении какойFлибо порядок или оценит красоту игры.Если прервать матч и показать зрителю, какие роли исполняют отдельные игроки, перед ним предстанет совсем другая картина.В общей массе он различит нападающих, защитников и полузащитников, а понаблюдав за ними, поймет, как они взаимодействуют согласно определенной стратегии, направленной на то чтобы забитьгол в ворота противника: ведут мяч по полю, отбирают его другу друга и атакуют.

В опытной команде вы никогда не найдете игроков, беспорядочно и бесцельно перемещающихся по полю. Напротив, в любой момент времени расположение игроков и их взаимодействия точно рассчитаны.Диаграммы200Диаграммыклассовобсуждаютсяв главе 8,взаимодействия –в главе 16,диаграммывзаимодействия –в главе 19.То же самое касается визуализации, специфицирования, конструирования и документирования программных систем. Стараясьпроследить за потоком управления в работающей системе, вы быстро потеряете общее представление о том, как организованы ее составляющие части, особенно если имеется несколько потоков.

Точно так же изучение состояния одного объекта в конкретный моментвремени не поможет понять сложную структуру данных. Чтобырешить эту проблему, придется рассмотреть не только сам объект,но и его ближайших соседей и связи между ними. Вообще, во всехобъектноFориентированных системах, за исключением самых простых, объекты не существуют автономно, а вполне определеннымобразом связаны со множеством других объектов. Более того, неполадки в таких системах чаще всего объясняются не логическимиошибками, а именно нарушениями взаимосвязей объектов или непредвиденными изменениями их состояния.В языке UML статические аспекты строительных блоков системы визуализируют с помощью диаграмм классов. Диаграммы взаимодействия позволяют увидеть динамические аспекты системы,включая экземпляры этих строительных блоков и сообщения, которыми они обмениваются. Диаграмма объектов содержит множество экземпляров сущностей, представленных на диаграмме классов.Таким образом, диаграммы объектов представляют статическую составляющую взаимодействия и состоят из взаимодействующихобъектов, однако сообщения на них не показаны.

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

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

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