Главная » Просмотр файлов » Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка

Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633), страница 23

Файл №1158633 Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (Дж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка) 23 страницаДж. Рамбо, М. Блаха - UML 2.0 - Объектно-ориентированное моделирование и разработка (1158633) страница 232019-09-18СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Диаграмма состояний и переходов 4.9. Ограничения 103 ЗиЬвтвпсе виьвгвпсеывпе Воплощение: атрибут становится классом вава . Зиьвтепсейвтв виьв1апсемате ЗиЬвтвпсв Рис. 4.22. Воплощение 4.9. Ограничения Ограничение (сонэ(гагат) — это логическое условие, накладываемое на элементы модели, такие как объекты, классы, атрибуты, связи, ассоциации и наборы обобщений. Ограничение действует на значения, которые могут принимать элементы. Ограничения можно записывать на естественном или на формальном языке (например, ОСЪ ['тЧагшег-991).

4.9.1. Ограничения на объекты На рис. 4.23 приведены несколько примеров ограничений, наложенных на объекты. Зарплата сотрудника не может превышать зарплату босса (ограничение наложено одновременно на два объекта). Ни у какого окна соотношение сторон (длины к ширине) не может быть меньше 0.8 нли больше 1.5 (ограничение на атрибуты одного объекта). Приоритет задачи нельзя повысить (ограничение на один и тот же объект в разные моменты времени).

В моделях классов ограничения могут быть достаточно простыми. УУ1 пав»т 1епдт ш1ЕГЬ Ьовв Етр!оуее В 1 вв1вгу (вв1вгу 3 Ьовв.ва1вгу) (О.В З 1епдягГтибгь З 1Л) (Приоритет никогда не повышается) Рис. 4.23. Ограничения на объекты может использоваться для задания схемы управления и последующей реализации этой схемы при написании соответствующего кода. Альтернативный подход заключается в подготовке метамодели, в которой модель состояний и переходов будет храниться как данные. Универсальный интерпретатор будет считывать содержимое метамодели и выполнять его, реализуя нужную последовательность управления. На рис.

4.22 атрибут еибзтапсе(сгате был сделан классом для того, чтобы описать отношение многие-ко-многим между 5иЫгапсеМате и 5иЫапсе. Химическое вещество может быть известно под несколькими названиями. Например, пропилеи можно назвать пропиленом или С,Не И наоборот: под одним и тем же названием может скрываться несколько химических веществ. Различные смеси этиленгликоля с присадками имеют общее название «антифриз».

104 Глава 4 ° Углубленное моделирование классов 4.9.2. Ограничения на наборы обобщений Модели классов содержат множество ограничений в самой своей структуре. Например, семантика обобщения подразумевает некоторые структурные ограничения. При единичном наследовании подклассы являются взаимоисключающими. Более того, каждый экземпляр абстрактного суперкласса является экземпляром ровно одного его подкласса. Каждый экземпляр конкретного суперкласса является экземпляром не более, чем одного из его подклассов.

На рис. 4.16 и 4.17 ограничения используются в качестве вспомогательных средств для описания множественного наследования. ()М1. разрешает использовать с наборами обобщений следующие ключевые слова; ° о1з)о(пс (несовместные). Подклассы взаимно исключают друг друга. Лю- бой объект принадлежит ровно одному из них. ° очег!арр(пя (перекрывающиеся). Подклассы могут иметь общие объекты. Объект может принадлежать сразу нескольким подклассам. ° сошр!е1е (полное).

В обобщении перечислены все возможные подклассы. ° 1псошр!еее (неполное). Некоторые подклассы могли быть пропущены. 4.9.3. Ограничения на связи Кратность — это ограничение на количество элементов множества. Кратность ассоциации ограничивает количество объектов, которые могут быть связаны с одним конкретным объектом. Кратность атрибута определяет количество значений, которые может принимать конкретный экземпляр атрибута. Квалификаторы также являются ограничениями для ассоциации. Атрибут квалификатора не просто описывает связи ассоциации.

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

4.24 показано явное ограничение, не являющееся частью структуры модели. Председатель комитета должен быть одним из его членов — ассоциация СЬа1гО~ является подмножеством ассоциации Метбег07. Рис 4.24. Отношение подмножества накладывает ограничение на ассоциации 4.10. Производные данные 105 4.9.4. Использование ограничений Мы рекомендуем выражать ограничения в явном виде, то есть объявлять их в модели. Объявление дает вам возможность выразить суть ограничения без всяких предположений о возможной реализации. Обычно ограничения приходится преобразовывать в форму процедур перед тем, как реализовывать их иа язьгке программироваиия, ио это преобразование чаще всего бывает достаточно простым. Ограничения позволяют оценить качество модели классов: в «хорошей» модели значительная часть ограничений заложена в саму структуру.

Часто требуется несколько итераций проектирования, чтобы структура получилась правильной с точки зрения ограничений. На практике чаще всего ие получается заложить все ограничения в структуру, ио нужно стараться добиться этого по крайней мере для наиболее важных из иих. В ПМЕ имеется две альтернативные системы обозначения ограничений. Ограиичеиие можно отделить фигурными скобками или поместить его в прямоугольиик комментария с подогнутым краем (так называемое псобачье ухо» вЂ” рис.

4.26). В любом случае нужно стараться размешать ограничения около тех элементов, к которым оии относятся. Для соединения элементов можно использовать пуиктириые линии. Пунктирная линия может связывать элемент, иа который наложено ограничение, с тем элементом, от которого это ограничение зависит. 4.10.

Производные данные Производный элемент (г)ег1чег1 е1егпепг) — это функция одного или нескольких элементов, которые, в свою очередь, тоже могут быть производными. Производный элемент является избыточным, поскольку ои полностью определяется другими элементами. Дерево вывода заканчивается базовыми элементами. Производиыми могут быть классы, ассоциации и атрибуты. Перед именем производного элемента ставится косая черта, Необходимо также указать ограничение, определяющее порядок вычисления элемента. На рис. 4.25 показан пример производного элемента.'Возраст можно рассчитать по дате рождения и текущей дате.

Спггвпгоагв Регвпп ьгппппгп / аде (аое = сппепгпаГе — Ьмьса!е) Рис. 4.25. Производный атрибут На рис. 4.26 ставок состоит из нескольких агрегатов, которые, в свою очередь, состоят из деталей. Агрегат характеризуется смещением относительно координат станка. Каждая деталь смещена относительно координат агрегата. Мы можем определить систему координат для каждой детали, которая будет определяться координатами станка, смещением агрегата и смещением детали. Эта система координат будет представлена в модели производным классом ООзес, связанным с каждой деталью производной ассоциацией №гООзег.

106 Глава 4 ° Углубленное моделирование классов ЮЛЪе~ Рис. 4.26. Производный объект и производная ассоциация Полезно отделять операции с побочными эффектами от операций, возвращающих некоторое значение, но не создаюших побочных эффектов. Последние называются запросами (цвету). Запросы без аргументов (за исключением целевого объекта) могут рассматриваться как производные атрибуты. Например, ширину прямоугольника можно вычислить по координатам его сторон. Во многих случаях объект обладает множеством атрибутов со связанными между собой значениями, из которых лишь некоторые могут быть определены независимо.

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

4.11. Пакеты Модель классов можно уместить на одной странице, если вы решаете задачу небольшого или среднего размера. Большую модель бывает трудно охватить целиком. Мы рекомендуем разбивать большие модели на части, чтобы другим людям было проще понять их. Пакет — это группа элементов (классов, ассоциаций, обобщений и вложенных пакетов), объединенных общей темой. Пакеты разбивают модель на части, что упрощает ее понимание и поддержку. Для крупных приложений может потребоваться несколько уровней пакетов. Пакеты образуют дерево, уровень абстрактности которого увеличивается в направлении корня — приложения, которое одновременно является пакетом верхнего уровня. Пакет обозначается прямоугольником с закладкой (рис. 4.27).

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

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

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