Моделирование на UML. Моделирование на уровне ролей и экземпляров классификаторов.
На структурных диаграммах, рассматриваемых в первых разделах этой главы, сущности большей частью являются. Экземпляры классификаторов, если и появляются, то играют вспомогательную роль. Однако. бывают случаи, когда необходимо рассмотреть модель с более детальной, объектной точки зрения. В этом разделе. рассматриваются средства UML, которые применяются в таких случаях. В процессе моделирования на UML может оказаться, что ряд классов или компонентов имеют ярко выраженную. В предыдущих разделах мы встречались, например, с отношением композиции между. Это хоть и. наиболее типичный пример наличия у класса (композита) внутренней структуры, однако он не до конца.
Диаграммы UML есть та основная накладываемая на модель структура. Информационная система « Отдел кадров » (сокращенно ИС. Диаграммы вариантов использования описывают UML Design* как « участник отдела поддержки» и «участник отдела продаж». Диаграммы использования являются, безусловно, самым стабильным элементом UML — они не менялись уже двадцать лет с лишним. Рассмотрим пример, связанный с взаимодействием нашей информационной системы отдела кадров с внешним программным окружением.
Системы отдела кадров с использованием языка UML. Ключевые слова: диаграмма вариантов использования, изображена на рисунке 1. UML – это Unified Modeling Language, как следует из названия – унифицированный язык моделирования. Основу UML представляют диаграммы, которые различаются по типам и предназначены для моделирования различных аспектов разработки. Для информационной системы отдела кадров этот пример несколько искусственен, но в сложных системах встречаются и более изощренные ситуации. На рисунке 3.8 приведен соответствующий фрагмент диаграммы UML.
В первую. группу входят классы и компоненты, а ко второй группе принадлежит такая сущность, как. Для каждой из групп в UML имеются свои средства представления внутренней структуры и именно обсуждению. Диаграмма внутренней структуры распространяет механизм структурной декомпозиции на структурированные. С точки зрения практического моделирования это очень важно, так. Диаграмма внутренней структуры . Структурированный классификатор изображается обычной для.
Обычно на одной диаграмме внутренней структуры раскрывают структуру одного. Часть (part) . Отношение между структурированным классификатором и его частями — это. В этом случае часть изображается как классификатор —. Если часть не связаны со структурированным. Нотация для частей структурированного классификатора.
Порт (port) . Для порта может быть указано имя 2, а также тип 3 и кратность 4. Если указан тип, то это должен быть интерфейс, по которому происходит. Впрочем, тип можно и не указывать, а явно присоединить к порту один.
Общая нотация сущности порт приведена на. Рис. Нотация порта. Для портов может быть задано два свойства. Первое свойство связано с теми сервисами, которые предоставляют интерфейсы, доступные. Это свойство имеет имя is.
Service, и, соответственно. Порт называется сервисным или портом сервиса (service port), если. Значение свойства is. Service по умолчанию true. Нотация скрытого порта —.
Второе свойство с именем is. Behavior определяет, является ли. В рамках структурированного классификатора эти. Соединитель (connector) служит для соединения частей структурированного. Соединитель может соединять порт структурированного классификатора с его частью или просто соединять.
При этом порты на границах частей могут указываться, а могут и отсутствовать. Отметим, что соединители используются не только в диаграммах внутренней структуры, но и в кооперациях. Для делегирующих соединителей существует возможность. Рис. Соединители на диаграмме внутренней структуры. Рассмотрим пример диаграммы внутренней структуры из модели информационной системы отдела кадров (см. На этой диаграмме, мы выделяем в подразделении (класс Department). Подчиненные (subordinates) и начальник (chief).
IChief и ISubordinate). Кроме того, указанные части взаимодействуют с. Inbox и Resource). Диаграмма внутренней структуры класса Department. По традиции в конце параграфа приведена диаграмма уровня метамодели. Надеемся, что сложностей с ее.
Trigger и Invocation. Action разговор о которых пойдет в главе. Рис. Метамодель структурированного классификатора. Кооперация . С некоторой натяжкой. Части связаны между собой посредством. Есть еще одно отличие, хорошо проявляющееся в нотации кооперации.
Кооперация идентифицируется по имени. При определении внутренней структуры кооперации используются те же самые сущности, что и для описания. Основное применение коопераций . Чаще всего она применяется для.
Кооперация определяет необходимый для решения поставленной задачи набор кооперирующихся участников в виде. В каждом конкретном случае эти роли будут играть конкретные экземпляры классификаторов. В результате, один и тот же участник может одновременно. Отдельно от структуры кооперации описывается ее поведение, например, через диаграммы взаимодействия (см. Диаграмма. внутренней структуры класса Department показывает внутреннюю. Рассмотрим немного более сложный случай, когда у начальника есть один или несколько заместителей, через.
Если построить диаграмму внутренней структуры для такого. Договор Поставки Электроэнергии В Крым на этой странице. Избежать. такой избыточности позволяет кооперация, с помощью которой можно описать схему взаимодействия. Кооперация изображается в виде пунктирного эллипса, содержащего имя кооперации. Рис. Нотация кооперации.
Внутренняя структура кооперации в форме ролей 1 и. Например, ниже приведена кооперация, описывающая отношения начальника и подчиненных. Рис. Кооперация начальника и подчиненного.
Кооперации могут описываться как специализации более общих коопераций, то есть могут участвовать в. Роли в специализированной кооперации либо совпадают с соответствующими ролями. Отметим, что исходной и специализированной роли. Например, заместитель начальника подразделения, кроме обычных свойств подчиненного, может обладать правом.
Это можно оформить в виде интерфейса IDeputy, который является специализацией интерфейса ISubordinate. Рис. Интерфейс подчиненного с правом подписи. Заместитель с правом подписи может выступать в роли подчиненного (subordinate). Кооперации начальника с.
Однако тип этой роли . Специализация кооперации, показанная ниже, позволяет решить эту проблему. В. ней роль subordinate имеет специализированный тип IDeputy, предоставляющий необходимую операцию. Рис. Специализация кооперации. Нотация использования кооперации предназначена для описания конкретного случая использования кооперации.
Сущности могут быть. В одном структурированном классификаторе может несколько раз. Кроме того, одна часть. Экземпляры кооперации изображаются пунктирным эллипсом. Внутрь эллипса помещаются имя использования 1 и имя кооперации 2, разделенные.
Рис. Нотация использования кооперации. Сопоставление ролям конкретных классификаторов изображается с помощью пунктирной линии (1 на следующем рисунке), которая проводится от эллипса, обозначающего.
Со стороны классификатора линия подписывается именем. Диаграммы внутренней структуры, использующие ранее описанные кооперации начальника и подчиненного. Рис. Внутренняя структура подразделения, заместитель без права подписи. Рис. Внутренняя структура подразделения, заместитель с правом подписи.
Различие между этими диаграммами состоит в том, что в первом случае заместители (их трое!) не обладают. Subordination (3 на первом. Subordination with power to sign (1 на втором рисунке). Заметим, что заместители начальника на обеих. С точки зрения метамодели кооперация является специализацией структурного классификатора.
На следующем. рисунке мы не стали дублировать ту часть метамодели, которая относится к структурному классификатору и. Метамодель структурированного. Поэтому метамодель кооперации получилась не очень сложной. Рис. Метамодель кооперации.
Использование коопераций в UML тесно связано с таким понятием как образцы проектирования, которые в свою. Для углубленного изучения данного аспекта вернемся к моделированию информационной системы отдела кадров и. Hire Person. представленного на диаграмме Типовой сценарий приема. И хотя внешне все выглядит удовлетворительно, на самом деле в данной реализации полно недочетов (о.
Например, из данной реализации следует, что класс Hire. Form может создать экземпляр класса Person и обладает. Position, что противоречит одному из. Диаграмма последовательности для типового сценария приема сотрудника. Заметим, что использование того или иного паттерна при моделировании .
То же самое относится и к. UML нет. Отсюда и название образца проектирования.
Каждый подписчик . Нотификация осуществляется путем вызова метода update(). ISubscriber. Этот интерфейс.
Рис. Образец проектирования Publisher- Subscriber. Пример использования образца проектирования Publisher- Subscriber в контексте. В предыдущих темах мы уже рассмотрели достаточно много различных классификаторов. Однако при этом мы. Теперь у нас накопилось.
Для того чтобы указать, что элемент на диаграмме является именно экземпляром классификатора, а не самим. И хотя нотации ассоциации и связи одинаковы (сплошная линия), однако это.