Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование, страница 9
Описание файла
PDF-файл из архива "Дж. Арлоу, А. Нейштадт - UML 2 и Унифицированный процесс - Практический объектно-ориентированный анализ и проектирование", который расположен в категории "". Всё это находится в предмете "объектно-ориентированный анализ и проектирование" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст 9 страницы из PDF
1.11. Элемент с дополнениями1.9.3. Принятые деленияПринятые деления описывают конкретные способы представлениямира. В UML существует два принятых деления: классификатор/экземпляр и интерфейс/реализация.1.9.3.1. Классификатор и экземплярВ UML предполагается, что может существовать абстрактное понятиетипа сущности (например, банковский счет) и отдельные конкретныеэкземпляры этой абстракции (такие как «мой банковский счет» или«ваш банковский счет»). Абстрактное понятие типа сущности – этоклассификатор, а отдельные конкретные сущности – экземпляры.
Этоочень важная концепция, которая на самом деле крайне проста для понимания. Примеры классификаторов и экземпляров можно найти повсюду. Возьмем эту книгу по UML. Можно сказать, что «UML 2 и Унифицированный процесс» – это абстрактная идея этой книги, и множество ее экземпляров – это книги, одну из которых вы сейчас читаете.Вы увидите, что понятие «классификатор/экземпляр» является ключевой концепцией, пронизывающей UML.391.9. Общие механизмы UMLВ UML экземпляр обычно обозначается той же пиктограммой, что и соответствующий классификатор, но для экземпляров имя на пиктограмме подчеркнуто.
Поначалу это различие может показаться несущественным.Классификатор – это абстрактное понятие, например тип банковскогосчета. Экземпляр – конкретная сущность, например ваш банковскийсчет или мой банковский счет.UML 2 предоставляет богатую систематику из 33 классификаторов.Некоторые из наиболее распространенных классификаторов приведены в табл. 1.2.Таблица 1.2Классифи СемантикакаторРазделАктерРоль, выполняемая внешним пользователем системы, 4.3.2которому система предоставляет некоторые услуги.КлассОписание набора объектов, обладающих одинаковыми 7.4свойствами.Компонент Модульная и замещаемая часть системы, инкапсулирую 19.8щая свое содержимое.Интерфейс Набор операций, используемых для определения серви 19.3сов, предлагаемых классом или компонентом.УзелФизический элемент, существующий во время выполне 24.4ния и представляющий собой вычислительный ресурс,например ПК.СигналАсинхронное сообщение, передаваемое между объектами.
15.6Прецедент Описание последовательности действий, осуществляемых 4.3.3системой для предоставления пользователю результата.Все эти классификаторы (и другие) будут рассмотрены более подробнов следующих разделах.1.9.3.2. Интерфейс и реализацияИнтерфейс – это, например, кнопки на панели видеомагнитофона. Реализация – устройство видеомагнитофона.Основная идея этих понятий в том, чтобы отделить то, что выполняетдействие (интерфейс), от того, как это делается (реализации).
Например, при управлении машиной водитель взаимодействует с очень простым и четко определенным интерфейсом. На разных машинах этотинтерфейс реализован поразному.40Глава 1. Что такое UML?Интерфейс определяет контракт (имеющий много общего с юридическим контрактом), придерживаться которого обязуются конкретныереализации. Это функциональное разделение между тем, что обещановыполнить, и реализацией этого обещания является важной концепцией UML. Подробно этот вопрос обсуждается в главе 17.Конкретные примеры интерфейсов и реализаций можно найти повсюду. Например, кнопки на панели видеомагнитофона обеспечиваютпростой интерфейс его сложного механизма. Интерфейс избавляет насот необходимости вникать в детали внутреннего устройства.1.9.4.
Механизмы расширенияUML – расширяемый язык моделирования.Разработчики UML понимали, что просто невозможно создать полностью универсальный язык моделирования, который удовлетворял бывсем современным требованиям и тем, что могут появиться в ближайшем будущем. Поэтому UML включает три простых механизма расширения, приведенные в табл.
1.3.Таблица 1.3Механизмы расширения UMLОграниченияРасширяют семантику элемента, обеспечивая возможностьдобавлять новые правила.СтереотипыОбеспечивают возможность определять новые элементы модели UML на основании существующих: мы определяем семантику стереотипа самостоятельно.Стереотипы добавляют новый элемент в метамодель UML.ПомеченныезначенияПредоставляют способ расширения спецификации элемента, обеспечивая возможность добавлять в него новую специальную информацию.Более подробно эти механизмы расширения рассматриваются в следующих трех разделах.1.9.4.1. ОграниченияОграничения позволяют добавлять новые правила в элементы модели.Ограничение – это строка текста, заключенная в фигурные скобки ({ }),определяющая некоторое условие или правило для элемента модели,которое должно оставаться истинным.
Иначе говоря, оно некоторымобразом ограничивает какиелибо свойства элемента. В книге приводятся примеры ограничений.1.9. Общие механизмы UML41UML определяет Объектный язык ограничений (Object Constraint Language, OCL) как стандартное расширение. Введение в OCL изложенов главе 25.1.9.4.2. СтереотипыСтереотипы позволяют определять новые элементы модели.В книге «The UML Reference Manual» [Rumbaugh 1] утверждается:«Стереотип представляет разновидность существующего элемента модели, имеющего ту же форму (например, атрибуты и отношения), нодругое назначение».Стереотипы позволяют создавать новые элементы модели на основаниисуществующих.
Для этого к имени нового элемента добавляется имястереотипа во французских кавычках («…»). Число стереотипов каждого элемента модели может изменяться от нуля до некоторого значения.Каждый стереотип может определять ряд помеченных значений и ограничений, которые применяются к элементу, помеченному стереотипом.
Также со стереотипом можно ассоциировать пиктограмму, цветили текстуру. Обычно следует избегать применения цвета или текстуры в моделях UML, поскольку у некоторых читателей (например,дальтоников) могут возникнуть сложности с восприятием диаграмм.Кроме того, зачастую диаграммы распечатываются в чернобелом варианте. Обычно со стереотипом ассоциируют новую пиктограмму.
Этопозволяет контролировать расширение системы графических изображений UML.Поскольку стереотипы вводят новые элементы модели с иным назначением, гдето должна быть определена семантика этих элементов.Как это сделать? Если инструмент моделирования не предоставляетвстроенную поддержку документирования стереотипов, большинстворазработчиков моделей просто помещают примечание в модель иливставляют ссылку на внешний документ, в котором описываются стереотипы.
В настоящее время поддержка стереотипов инструментамимоделирования не выполняется безоговорочно – большинство инструментальных средств поддерживают стереотипы в той или иной степени, но не все из них предоставляют возможность записи семантики.С помощью элемента класс (глава 7) со специальным предопределенным UMLстереотипом «стереотип» можно самостоятельно моделировать стереотипы. При этом создается метамодель вашей системы стереотипов. Это метамодель, потому что она является моделью элементов модели и находится на совершенно другом уровне абстракции, чемобычная UMLсистема или бизнесмодели. Метамодель ни в коем слу+чае нельзя объединять с обычными моделями. Она всегда должна находиться в отдельной модели. Создавать новую модель, предназначенную исключительно для стереотипов, имеет смысл, только если стерео42Глава 1. Что такое UML?типов много.
Такая ситуация встречается довольно редко, поэтомубольшинство разработчиков моделей документируют стереотипы в примечаниях или внешних документах.Стереотипы могут отображаться поразному, но чаще всего разработчики моделей применяют просто имя стереотипа, заключенное в кавычки «», или пиктограмму. Другие варианты отображения стереотипов используются реже; кроме того, инструмент моделирования частоограничивает возможности разработчика. Примеры приведены нарис.
1.12 (звездочки не являются частью UMLсинтаксиса; они простоуказывают на наиболее удачные варианты представления).предпочтительный«entity»Ticket«entity»TicketпиктограммастереотиппредпочтительныйTicketTicket«control»JobManager«call»SchedulerРис. 1.12. Варианты отображения стереотиповОбратите внимание, что помечать стереотипом можно и отношения.В книге вы найдете множество таких примеров.1.9.4.3. Помеченные значенияПомеченные значения позволяют добавлять собственные свойства к элементам модели.В UML свойство – это любое значение, прикрепленное к элементу модели.
Большинство элементов имеют большое число предопределенных свойств. Некоторые из них могут отображаться на диаграммах,другие являются частью семантического заднего плана модели.С помощью помеченных значений UML позволяет добавлять в элементы модели собственные свойства. Идея помеченных значений предельно проста: помеченное значение – это ключевое слово, к которому может быть прикреплено значение. Помеченные значения имеют следующий синтаксис: {метка1 = значение1, метка2 = значение2, …, меткаN =значениеN}. Разделенный запятыми список пар метка–значение, написанных через знак равенства, называется списком меток.
Его заключают в фигурные скобки.431.9. Общие механизмы UMLНекоторые метки являются просто дополнительной информацией обэлементе модели, например {author = Jim Arlow} ({автор = Джим Арлоу}).Однако некоторые метки представляют свойства новых элементов модели, определенных стереотипом. Не следует применять такие меткинепосредственно к элементам модели; лучше ассоциировать их со стереотипом.
Тогда при применении стереотипа к элементу модели, элемент также получает метки, ассоциированные с этим стереотипом.1.9.4.4. Профили UMLПрофиль UML определяет набор стереотипов, меток и ограничений, которые настраивают UML в соответствии с определенной целью.Профиль UML – это набор стереотипов, помеченных значений и ограничений. Профиль UML используется, чтобы настроить UML для определенной цели.Профили UML позволяют настраивать UML так, чтобы его можно было эффективно использовать в различных областях.