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

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

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

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

Допустим также, чтообсуждают- А и В объявлены открытыми частями в своих пакетах. Эта ситуацияся в главе 5,коренным образом отличается от двух предыдущих. Хотя оба класмеханизмыса объявлены открытыми, свободный доступ одного из них к друрасширениягому невозможен, ибо границы пакетов непрозрачны. Однако еслиUML – в гла- пакет, содержащий класс А, импортирует пакетFвладелец класса В,ве 6.то А сможет «видеть» В, хотя В поFпрежнему не будет «видеть» А.Импорт дает элементам одного пакета односторонний доступ к элементам другого. На языке UML связь импорта моделируют как зависимость, дополненную стереотипом import. Упаковывая абстракции в семантически осмысленные блоки и контролируя доступ кним с помощью импорта, вы можете управлять сложностью систем,насчитывающих множество абстракций.На заметку.

Фактически в рассмотренной ситуации применяются два стереотипа – import и access, и оба они показывают, чтоисходный пакет имеет доступ к элементам целевого. Стереотипimport добавляет содержимое целевого пакета в открытоепространство имен исходного, поэтому нет необходимостив квалификации их имен.

Таким образом, возникает вероятность конфликта имен, которого необходимо избегать, если выПакеты184Типичные приемы моделирования185Зависимости импорта и доступа являются транзитивными.В данном примере пакет Client импортирует Policies, а Policies – GUI,так что можно сказать, что Client транзитивно импортирует GUI. ЕслиPolicies имеет доступ в GUI, не импортируя его, то Client не добавляет элементы GUI к своему пространству имен, но может обращатьсяк ним, используя квалифицированные имена (такие как, например,GUI::Window).хотите, чтобы модель была хорошо согласована. Стереотипaccess добавляет содержимое целевого пакета в закрытое пространство имен исходного. Единственное различие заключается в том, что нельзя повторно экспортировать импортированные элементы, если какойQлибо третий пакет импортируетпервоначальный исходный пакет.

Чаще используют стереотип import.На заметку. Элемент, видимый внутри пакета, будет видимтакже и внутри всех вложенных в него пакетов. Вообще, вложенные пакеты могут «видеть» все, что «видят» включающиеих пакеты. Имя во вложенном пакете может скрывать имяво включающем пакете; в этом случае для ссылки требуетсяквалифицированное имя.Открытые элементы пакета называют экспортируемыми. Так,Интерфейсыобсуждают- на рис.

12.4 пакет GUI экспортирует два класса – Window (Окно) и Formся в главе 11. (Форма). Класс EventHandler (ОбработчикСобытий) является защищенной частью пакета. Довольно часто экспортируемыми элементами пакета являются интерфейсы.-Типичные приемы моделированияМоделирование групп элементов«import»«import»Рис. 12.4.

Импорт и экспортЭкспортируемые элементы будут видимы для содержимого техпакетов, для которых видим данный пакет. В примере на рис. 12.4пакет Policies (Политики) явно импортирует пакет GUI. Таким образом, классы GUI::Window и GUI::Form будут видимы для содержимого пакета Policies как классы с простыми именами Window и Form.Но класс GUI::EventHandler будет скрыт, так как является защищенным. С другой стороны, пакет Server не импортирует GUI, поэтому элементы Server имеют доступ к открытым элементам GUI,но для этого им понадобятся квалифицированные имена, например GUI::Window.

Аналогично у GUI нет доступа к содержимому пакета Server даже с использованием квалифицированных имен, поскольку оно закрыто.Пять представленийархитектуры обсуждаютсяв главе 2.Чаще всего пакеты применяют для организации элементов моделирования в именованные группы, с которыми потом можно будет работать как с единым целым. Создавая простое приложение,можно вообще обойтись без пакетов, поскольку все ваши абстракции прекрасно разместятся в единственном пакете. В более сложных системах вы скорее обнаружите, что многие классы, компоненты, узлы, интерфейсы и даже диаграммы естественным образомразделяются на группы.

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

Компоненты представления реализации допустимо организовать таким же образом.Пакеты также применяются для группирования элементовразличных типов. Например, если система создается несколькимиколлективами разработчиков, расположенными в разных местах,то пакеты можно использовать для управления конфигурацией,размещая в них все классы и диаграммы, так чтобы члены разныхПакеты186коллективов могли независимо извлекать их из хранилища и помещать обратно. На практике пакеты часто применяют для группирования элементов модели и ассоциированных с ними диаграмм.Чтобы смоделировать группы элементов, необходимо: Просмотреть элементы модели в некотором представленииархитектуры системы с целью поиска групп элементов, близких семантически или концептуально.

Поместить каждую такую группу в пакет. Для каждого пакета определить, какие элементы должны бытьдоступны извне. Пометить их как открытые, а остальные –как защищенные или закрытые. В сомнительных случаяхскрыть элемент. Явно соединить пакеты зависимостями импорта с теми пакетами, от которых они зависят. При наличии семейств пакетов соединить специализированные пакеты с более общими связями обобщения.В качестве примера на рис. 12.5 показаны пакеты, которые организуют в классическую трехуровневую архитектуру классы, являющиеся частями представления информационной системы с точки зренияпроектирования. Элементы пакета User Services (ПользовательскиеСервисы) предоставляют визуальный интерфейс для ввода и выводаинформации.

Элементы пакета Data Services (Сервисы Данных) обеспечивают доступ к данным и их обновление. Пакет Business Services(БизнесFсервисы) является связующим звеном между элементамипервых двух пакетов; он охватывает все классы и другие элементы, отвечающие за выполнение бизнесFзадачи, в том числе бизнесFправила,которые диктуют стратегию манипулирования данными.«import»«import»Рис. 12.5. Моделирование групп элементовТипичные приемы моделированияДокументирующеепомеченноезначениеобсуждаетсяв главе 6.187Все абстракции простой системы можно поместить в один пакет. Однако, организуя классы и другие элементы представлениясистемы с точки зрения проектирования в три пакета, вы не толькосделаете модель более понятной, но и сможете контролировать доступ к ее элементам, скрывая одни и экспортируя другие.На заметку. Изображая подобные модели, обычно показывают элементы, центральные для каждого пакета.

Чтобы прояснить назначение пакетов, можно также использовать документирующее помеченное значение для каждого из них.Моделирование архитектурных представленийИспользование пакетов для группирования родственных элементов весьма важно – без него нельзя разработать сложную модель. Данный подход применим к организации таких элементов,как классы, интерфейсы, компоненты, узлы и диаграммы. Но прирассмотрении архитектурных представлений программных системвозникает потребность в еще более крупных блоках. Архитектурные представления тоже можно моделировать с помощью пакетов.Связь предНапомним, что представлением (view) называется проекцияставленийорганизации и структуры системы, в которой внимание акцентирус моделямиется на одном из конкретных ее аспектов.

Из этого определения выобсуждает- текают два следствия. ВоFпервых, систему можно разложить на почся в главе 32. ти ортогональные пакеты, каждый из которых имеет дело с наборомархитектурно значимых решений (например, можно создать представления с точки зрения проектирования, взаимодействий, реализации, размещения и вариантов использования). ВоFвторых, этимпакетам будут принадлежать все абстракции, относящиеся к данному представлению. Так, все компоненты модели принадлежат пакету, который моделирует представление реализации. В то же времяпакеты могут содержать ссылки на элементы других пакетов.Для моделирования архитектурных представлений необходимо:Пять представленийархитектуры описываютсяв главе 2.

Идентифицировать набор архитектурных представлений,значимых в контексте вашей проблемы. На практике этот набор обычно включает представления проектирования, взаимодействия, реализации, размещения и вариантов использования. Разместить те элементы и диаграммы, которые необходимыи достаточны для визуализации, специфицирования, конструирования и документирования семантики каждого представления, в соответствующем пакете.Пакеты188 При необходимости выполнить дальнейшую группировкуэтих элементов в пакеты.Между элементами различных представлений обычно возникают зависимости. Таким образом, каждое представление на верхнемуровне системы должно быть открыто для всех остальных представлений этого уровня.МоделироваВ качестве примера на рис.

12.6 показана каноническая декомпоние системзиция верхнего уровня, типичная для большинства сложных систем.обсуждается в главе 32.вид с точки зрениявариантовиспользованияРис. 12.6. Моделирование архитектурных представленийСоветы и подсказкиМоделируя пакеты в UML, помните, что они нужны толькодля организации элементов вашей модели. Если имеются абстракции, непосредственно материализуемые как объекты в системе, непользуйтесь пакетами. Вместо них применяйте такие элементы моделирования, как классы или компоненты.Хорошо структурированный пакет характеризуется следующими свойствами: он внутренне согласован и очерчивает четкую границу вокруг группы родственных элементов; он слабо связан и экспортирует в другие пакеты толькоте элементы, которые они действительно должны «видеть»,а импортирует лишь те, которые принципиально важны дляработы его собственных элементов; глубина вложенности пакета невелика, поскольку человекне способен воспринимать слишком глубоко вложенныеструктуры; владея сбалансированным набором элементов, пакет по отношению к другим пакетам в системе не должен быть ни слишком большим (если надо, расщепляйте его на более мелкие),Советы и подсказки189ни слишком маленьким (объединяйте элементы, которымиможно манипулировать как единым целым).Изображая пакет в UML, руководствуйтесь следующими принципами: применяйте простую форму пиктограммы пакета, если не требуется явно раскрыть его содержимое; раскрывая содержимое пакета, показывайте только те элементы, которые принципиально необходимы для пониманияего назначения в данном контексте; моделируя с помощью пакета сущности, относящиеся к управлению конфигурацией, раскрывайте значение меток, связанных с номерами версий.Базовые понятияГлава 13.

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

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

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