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

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

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

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

Хотя на рисунке этоне показано, вы могли бы изучить кооперацию изнутри и увидеть ееструктурные и поведенческие аспекты.Моделирование реализации операцииОперацииобсуждаются в главах 4и 9.Примечанияобсуждаются в главе 6.Еще одно назначение коопераций – это моделирование реализации операций. Часто ее можно специфицировать непосредственно в коде, однако для тех операций, которые требуют совместнойработы нескольких объектов, перед написанием кода лучше смоделировать реализацию с помощью кооперации.Контекст реализации операции составляют параметры, возвращаемые значения и объекты, локальные по отношению к ней.

Такимобразом, эти элементы видимы для структурного аспекта кооперации, которая реализует данную операцию (подобно тому как действующие лица видимы для структурного аспекта кооперации, реализующей вариант использования). Связи между этими частямиможно смоделировать при помощи диаграмм составной структуры,описывающих структурную часть кооперации.Чтобы смоделировать реализацию операции, необходимо: Идентифицировать параметры, возвращаемые значения и другие объекты, видимые операции. Они выступят в качестверолей кооперации. Если операция достаточно проста, представить ее реализацию непосредственно в коде, который можно поместитьна задний план модели либо явно визуализировать в примечании. Если операция сложна алгоритмически, смоделировать еереализацию с помощью диаграммы деятельности. Если операция сложна либо требует долгого и тщательногопроектирования, представить ее реализацию в виде кооперации.

В дальнейшем можно развернуть структурную и поведенческую составляющие кооперации, используя соответственно диаграммы классов и диаграммы взаимодействия.В качестве примера на рис. 28.7 показан активный класс RenderFrame(ПостроениеФрейма) и раскрыты три его операции. Функция progressРис. 28.7. Моделирование реализации операцииДиаграммыдеятельности обсуждаютсяв главе 20.На заметку. Операцию можно моделировать и с использованием диаграмм деятельности.

Эти диаграммы, по сути,представляют собой блокQсхемы, поэтому для алгоритмически сложных операций, которые нужно моделировать явно,это обычно наилучший выбор. Однако если операция требуетучастия множества объектов, лучше выбрать кооперации,поскольку они позволяют моделировать как структурные, таки поведенческие аспекты операции.Моделирование механизмаОбразцыи каркасыобсуждаются в главе 29.Там же рассматриваетсяпример моделированиямеханизма.В хорошо структурированной объектноFориентированной системе всегда присутствует целый спектр образцов. На одном концеэтого спектра вы обнаружите идиомы, представляющие устойчивые конструкции языка реализации, а на другом – архитектурные образцы и каркасы, образующие систему в целом и задающиеопределенный стиль. В середине же спектра располагаются механизмы, описывающие распространенные образцы проектирования,посредством которых системы взаимодействуют друг с другом.

Механизмы в UML представляют с помощью коопераций.Механизмы – это автономные кооперации; их контекстом является не какойFто один вариант использования или одна операция,а система в целом. Любой элемент, видимый в некоторой части системы, – кандидат на участие в механизме.Кооперации400Механизмы представляют архитектурно значимые проектныерешения, и относиться к ним следует серьезно. Обычно механизмыпредлагает системный архитектор, и с каждой новой версией ониизменяются. В конце концов вы обнаруживаете, что система сталапростой (поскольку в механизме реализованы типичные взаимодействия), понятной (так как к пониманию системы можно подойтисо стороны ее механизмов) и гибкой (настраивая каждый механизм,вы настраиваете систему в целом).Чтобы смоделировать механизм, необходимо: Идентифицировать основные механизмы, образующие архитектуру системы.

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

Утвердить механизмы на ранней стадии жизненного цикларазработки (они имеют стратегическое значение), но впоследствии в каждой новой версии развивать их по мере прояснения деталей реализации.Советы и подсказкиПри моделировании коопераций в UML помните, что каждая изних должна либо представлять реализацию варианта использования,либо служить автономным механизмом уровня всей системы. Хорошоструктурированная кооперация обладает следующими свойствами: включает как структурный, так и поведенческий аспекты; представляет собой четкую абстракцию некоторого идентифицируемого взаимодействия в системе; редко бывает полностью независимой, но чаще перекрывается со структурными элементами других коопераций; понятна и проста.Изображая кооперацию в UML, придерживайтесь следующихправил: явно изображайте кооперацию только тогда, когда это необходимо для понимания ее связей с другими кооперациями,классификаторами, операциями или системой в целом. В остальных случаях используйте кооперации, но оставляйте ихна заднем плане модели; организуйте кооперации в соответствии с представленнымиими классификаторами или операциями либо помещайтев пакеты, ассоциированные с системой в целом.Глава 29.

Образцы и каркасыВ этой главе:Образцы и каркасыМоделирование образцов проектированияМоделирование архитектурных образцовОбеспечение доступности образцовВсе хорошо структурированные системы полны образцов (patterns).Образец предлагает типичное решение типичной проблемы в данном контексте. Механизм – это образец проектирования, применяемый к сообществу классов; каркас (framework) – это, как правило,архитектурный образец, предлагающий расширяемый шаблон дляприложений в некоторой предметной области.Образцы используются для специфицирования механизмови каркасов, образующих архитектуру системы. Вы делаете образецдоступным, ясно идентифицируя все «вилки», «розетки», «кнопки»и «циферблаты», с помощью которых пользователь настраиваетобразец для применения его в определенном контексте.ВведениеО том, сколько существует способов собрать дом из кучи досок,можно было бы исписать тысячи страниц.

Мастер из СанFФранцископредставит на ваш суд выкрашенное в яркий цвет здание в викторианском стиле, с остроконечной крышей. Строитель из штата Мэн превратит груду досок в домик в виде солонки, обшитойдранкой.Внешне эти дома представляют собой два совершенно разныхархитектурных стиля. Каждый строитель, основываясь на собственном опыте, выберет тот стиль, который лучше всего удовлетворяет требованиям заказчика, а затем слегка подкорректируетс учетом пожеланий клиента и ограничений, накладываемых выбранным местом, а также с местными строительными нормамии правилами.Образцы и каркасы402При проектировании дома нельзя снять со счетов и некоторыеобщие проблемы, устанавливающие разумные пределы архитекторским фантазиям. Есть лишь ограниченное число проверенныхспособов конструирования стропил, на которые опирается крыша,и ограниченное число способов проектирования несущей стеныс дверными и оконными проемами.

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

Если взглянуть чуть выше уровняэтих механизмов, то вы увидите типичные каркасы, формирующиеархитектуру всей системы. Например, в информационных системахприменение трехслойной архитектуры – распространенный способдостижения четкого разделения обязанностей между пользовательским интерфейсом, хранением информации и бизнесFобъектамии правилами.В UML вам нередко придется моделировать образцы проектиКооперацииобсуждают- рования, также называемые механизмами, которые можно предся в главе 28, ставить в виде коопераций. Аналогичным образом архитектурныеобразцы моделируются как каркасы, представляемые в виде пакепакеты –тов со стереотипами.в главе 12.Для образцов обоих типов в UML предусмотрено особое графическое представление (см. рис.

29.1).«»Рис. 29.1. Механизмы и каркасыБазовые понятия403Базовые понятияОбразец (pattern) – это общее решение типичной проблемыв данном контексте. Механизм – это образец проектирования, применимый к сообществу классов. Каркас (framework) – это архитектурный образец, предлагающий расширяемый шаблон для приложений в некоторой предметной области.Образцы и архитектураПрограммнаяархитектура обсуждаетсяв главе 2.Занимаясь разработкой архитектуры новой системы или развитием существующей, вы в любом случае никогда не начинаетес нуля. Напротив, прежний опыт и соглашения наталкивают васна применение типичных приемов решения типичных проблем.Например, при построении системы, активно взаимодействующейс пользователем, вы можете задействовать испытанный образец «модель–представление–контроллер» (model–view–controller), который позволяет четко отделить объекты (модель) от их внешнегопредставления и от агента, обеспечивающего их синхронизацию(контроллер).

А при создании систем дешифровки провереннымспособом организации системы окажется применение архитектуры«классной доски» (blackboard), хорошо приспособленной для решения сложных задач методом проб и ошибок.То и другое представляет пример образца – типичного решениятипичных задач в данном контексте. Любая хорошо структурированная система включает в себя множество образцов на различныхуровнях абстракции. Образцы проектирования описывают структуру и поведение сообщества классов, а архитектурные образцы –структуру и поведение системы в целом.Образцы входят в UML просто потому, что являются важной составляющей словаря разработчика.

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

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

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