Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование

Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 40

PDF-файл Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 40 Объектно-ориентированный анализ и проектирование (53090): Книга - 7 семестрДж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование: Объектно-ориентированный ан2019-09-18СтудИзба

Описание файла

PDF-файл из архива "Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 40 страницы из PDF

Сообщения могут проходить только в том направлении,куда указывает стрелка.Спецификация UML 2 допускает три разных способа отображения возможности навигации, которые подробно обсуждаются в разделе 9.4.3.В данной книге используется самое распространенное обозначение:••все кресты опускаются;двунаправленные ассоциации изображаются без стрелок;•однонаправленные ассоциации изображаются с одной стрелкой.Единственным настоящим недостатком этого способа отображения является отсутствие возможности показать, что решение о навигацииеще не принято, потому что отсутствие символов навигации подразумевает, что связь «не допускает навигации».Например, на рис. 9.3 показано, что связь между :PersonDetails и :Addressоднонаправленная. Это значит, что у объекта :PersonDetails есть объектная ссылка на объект :Address, но не наоборот.

Сообщения могут пересылаться только от :PersonDetails к :Address.9.3.2. ПутиОбозначения UML, такие как пиктограмма объекта, пиктограмма прецедента и пиктограмма класса, соединяются с другими обозначениями путями. Путь – это «связанные последовательности графическихсегментов» (другими словами, линия!), объединяющие два или болееобозначений. Существует три стиля представления путей:• прямоугольный – путь состоит из ряда горизонтальных и вертикальных сегментов;•наклонный – путь является последовательностью одной или болеенаклонных линий;•кривой – путь является кривой линией.Какой стиль пути использовать, вопрос личных предпочтений.

Стилимогут даже смешиваться на одной диаграмме, если это делает ее более204Глава 9. ОтношенияBookClubbookClub:Clubchairpersonsecretaryila:Personerica:Personnaomi:PersonmemberРис. 9.4. Прямоугольный стиль отображения путейясной и понятной. Мы, как и многие разработчики моделей, обычноиспользуем прямоугольный стиль.На рис. 9.4 использован прямоугольный стиль, и пути объединеныв дерево. Объединять можно только пути, имеющие одинаковые свойства. В данном случае все пути представляют связи, поэтому вполнезаконно могут быть объединены.Визуальная четкость, легкость прочтения и общая привлекательностьдиаграмм имеют огромное значение.

Необходимо всегда помнить, чтоосновная масса диаграмм создается для когото. Таким образом, неважно, какой стиль используется, важны четкость и ясность.9.4. Что такое ассоциация?Ассоциации – это отношения между классами. Аналогично связям,соединяющим объекты, ассоциации соединяют классы. Самое главное: для того чтобы между двумя объектами была связь, между классами этих объектов должна существовать ассоциация. Потому чтосвязь – это экземпляр ассоциации. Так же как объект – экземпляркласса.Ассоциации – это соединения между классами.На рис.

9.5 показаны отношения между классами и объектами и между связями и ассоциациями. Поскольку не может быть связи без ассоциации, очевидно, что связи зависят от ассоциаций. Это можно смоделировать как отношение зависимости (пунктирная стрелка), котороеболее подробно рассматривается в разделе 9.5. Чтобы явно обозначитьсемантику зависимости между ассоциациями и связями, зависимостьпомечается стереотипом «instantiate».Объекты – это экземпляры классов, а связи – экземпляры ассоциаций.2059.4.

Что такое ассоциация?ассоциацияClubPerson«instantiate»«instantiate»«instantiate»chairpersonbookClub:Clubila:PersoncвязьРис. 9.5. Отношения между классами и объектами и между связямии ассоциациямиСемантика базовой, неуточненной ассоциации чрезвычайно проста: ассоциация между классами указывает на то, что между объектами этихклассов могут устанавливаться связи. Существуют другие, более конкретные формы ассоциаций (агрегация и композиция), которые рассматриваются в разделе 18.3 при обсуждении процесса проектирования.9.4.1. Синтаксис ассоциацииАссоциации могут иметь:• имя ассоциации• имена ролей• кратность• возможность навигацииПоскольку ассоциации обозначают действие, производимое исходнымобъектом над целевым объектом, в качестве их имен должны использоваться глагольные группы.

Перед именем или после него может применяться маленькая черная стрелка, указывающая направление, в котором должно читаться имя ассоциации. Имя ассоциации записывается в стиле lowerCamelCase.В примере на рис. 9.6 ассоциация читается следующим образом:«Компания (Company) нанимает много Человек (Persons)». Хотя стрелкауказывает направление чтения ассоциации, всегда можно прочитатьее в обратном направлении.

Таким образом, в примере на рис. 9.6 можимя ассоциацииCompanyвозможность навигацииemploys1*PersonкратностьРис. 9.6. Отображение ассоциации с использованием ее имени206Глава 9. Отношенияимя ролиCompanyemployer1возможность навигацииemployee*PersonкратностьРис.

9.7. Отображение ассоциации с использованием имен ролейно сказать, что в любой момент времени «каждый Человек (Person) нанят только одной Компанией (Company)».Имена ассоциаций – это глагольные группы, указывающие на семантикуассоциации.Альтернативный вариант – классам на обоих концах ассоциации могут быть присвоены имена ролей. Эти имена указывают на роли, исполняемые объектами классов, когда они связаны экземплярами данной ассоциации.

На рис. 9.7 можно видеть, что объект Company будетиграть роль employer (работодатель), а объекты Person – роль employee(служащие), если они связаны экземплярами этой ассоциации. Именаролей называют роль, которую могут играть объекты, поэтому онидолжны быть существительными или именными группами.Ассоциация может иметь или имя ассоциации, или имя роли. Указание и имени роли, и имени ассоциации для одной и той же ассоциациитеоретически допустимо, но считается очень плохим стилем.

Это ужеперебор!Признак хороших имен ассоциаций и ролей – они должны легко читаться. На рис. 9.6 ассоциация «Company employs many Persons» (Компания нанимает много Человек) звучит на самом деле замечательно. Если прочитать ассоциацию в обратном направлении, получается «Personis employed by exactly one Company at any point in time» (Человек наняттолько одной Компанией в любой момент времени).

Тоже звучит неплохо. Аналогичным образом имена на рис. 9.7 ясно указывают роли,которые будут играть объекты этих классов, связанные именно такимобразом.Имена ролей – это именные группы, указывающие на роли, исполняемые объектами, связанными экземплярами этой ассоциации.9.4.2. КратностьОграничения – один из трех механизмов расширения UML, и кратность – первый из рассматриваемых нами типов ограничений. Это также самый распространенный тип ограничений. Кратность ограничивает число объектов класса, которые могут быть вовлечены в конкрет2079.4. Что такое ассоциация?Компания нанимает много ЧеловекCompanyemployer1employeePerson*Каждый Человек работает на одну КомпаниюРис.

9.8. Отображение кратности на диаграмменое отношение в любой момент времени. Фраза «в любой момент времени» – решающая для понимания кратностей. На рис. 9.8 можноувидеть, что в любой момент времени объект Person нанят только одним объектом Company. Однако с течением времени объект Person может быть нанят несколькими объектами Company.На рис.

9.8 можно найти еще коекакие любопытные вещи. ОбъектPerson не может быть безработным, он всегда нанят только одним объектом Company. Таким образом, ограничение включает в себя два бизнесправила данной модели:• объекты Person в данный момент времени могут быть наняты толькоодним объектом Company;• объекты Person не могут быть безработными.Не важно, зависят или нет эти допустимые ограничения всецело оттребований, предъявляемых к моделируемой системе, но это именното, что выражает модель.Как видим, ограничения кратности имеют большое значение, в нихмогут быть закодированы ключевые бизнесправила модели. Однакоэти правила «скрыты» в деталях модели. Грамотные разработчики моделей называют такое сокрытие ключевых бизнесправил и требований «тривиализацией» (trivialization).

Намного более глубокое обсуждение этого феномена можно найти в книге [Arlow 1].Кратность задается в виде разделенного запятыми списка интервалов,в котором каждый интервал представлен в форме:минимум..максимумгде минимум и максимум – целые числа или любое выражение, возвращающее целое число.Если кратность не задана явно, значит, решение о ней еще не принято.Если кратность не задана явно, значит, решение о ней еще не принято.В UML нет «применяемой по умолчанию» кратности. В моделировании широко распространена ошибка, состоящая в том, что незаданная208Глава 9.

Отношениякратность по умолчанию предполагается равной 1. Некоторые примеры синтаксиса кратности приведены в табл. 9.1.Кратность задает число объектов, которые могут принимать участиев отношении в любой момент времени.Таблица 9.1ДополнениеСемантика0..1Нуль или 11Ровно 10..*Нуль или более*Нуль или более1..*1 или более1..6От 1 до 61..3, 7..10, 15, 19..*От 1 до 3, или от 7 до 10, или ровно 15, или от 19до множестваМодель всегда необходимо читать так, как написано.Пример на рис. 9.9 иллюстрирует, что кратность действительно является мощным ограничением, которое часто имеет огромное влияниена бизнессемантику модели.Если прочитать пример внимательно, можно увидеть, что:• у Company может быть ровно семь employee;• Person может быть нанят только одной Company (т.

е. в данной моделиPerson не может одновременно иметь больше одной должности);• у BankAccount может быть только один owner (владелец);• у BankAccount может быть один или много operator (операторов);• у Person может быть от нуля до множества BankAccount;• Person может управлять от нуля до множества BankAccount.При прочтении UMLмодели крайне важно понять, что именно выражает модель, а не прибегать к предположениям или догадкам.

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