- •Проектирование информационных систем
- •Поиск ассоциаций
- •Система обозначений для ассоциаций языка uml
- •Поиск ассоциаций: список стандартных ассоциаций
- •Ассоциации с высоким приоритетом
- •Рекомендации по назначению ассоциаций
- •Кратность
- •Имена ассоциаций
- •Несколько ассоциаций между двумя типами
- •Ассоциации для предметной области pos-системы тт
- •Отношения в магазине, которые должны быть учтены
- •Использование списка категорий ассоциаций
- •Модель предметной области pos-системы тт
- •Сохранение только важных ассоциаций
- •Модель предметной области: добавление атрибутов
- •Атрибуты
- •Система обозначений атрибутов в языке uml
- •Типы данных
- •Непримитивные типы классов
- •Совет разработчикам: не используйте атрибуты в качестве внешних ключей
- •Моделирование атрибутов Quantity и Unit
- •Атрибуты модели предметной области системы тт
- •Вопрос 2. Модель проектирования: диаграммы взаимодействия
- •Диаграммы последовательностей и кооперации
- •Пример диаграммы кооперации: makePayment
- •Основные обозначения для диаграмм взаимодействия: Отображение классов и экземпляров объектов
- •Синтаксис для отображения сообщений
- •Основные обозначения диаграммы кооперации: Отображение связей
- •Отображение сообщений
- •Сообщения, передаваемые самому объекту
- •Создание экземпляров объектов
- •Представление порядка передачи сообщений
- •Представление условных сообщений
- •Представление взаимоисключающих условных маршрутов
- •Представление итерационного процесса или циклов
- •Сообщения, передаваемые классу
- •Основные обозначения диаграммы последовательностей
Пример диаграммы кооперации: makePayment
Показанную на рис. 2.3 диаграмму кооперации нужно интерпретировать следующим образом.
Сообщение makePayment передается экземпляру объекта Register. Отправитель сообщения не определен.
Объект Registerпередает сообщение makePayment экземпляру объектаSale.
Объект Saleсоздает экземпляр объектаPayment.
Рисунок 2.3 – Диаграмма кооперации
Рисунок 2.4 – Диаграмма последовательностей
Для успешного конструирования диаграмм взаимодействий принципы разработки предварительно могутбыть систематизированы и проанализированы. Такой подход к пониманию и использованию этих принципов основывается нашаблонах(patterns), представляющих собой структурированные рекомендации \ принципы.
Основные обозначения для диаграмм взаимодействия: Отображение классов и экземпляров объектов
В языке UMLдля иллюстрацииэкземпляровобъектов (а не классификаторов) используется простой и непротиворечивый подход (рис. 2.5):
Рисунок 2.5 – Классы и экземпляры объектов
Для экземпляра любого элемента языка UML (класса, исполнителя и т.д. используется то же самое графическое обозначение, что и для типа, однако при этом соответствующая определяющая строка подчеркивается.
Таким образом, для отображения экземпляра класса на диаграмме взаимодействий используется обычное графическое условное обозначение класса, одна ко при этом его имя подчеркивается.
Для уникальной идентификации экземпляра класса может использоваться его имя. Если имя экземпляра не указано, на диаграмме кооперации перед именем класса ставится двоеточие.
Синтаксис для отображения сообщений
В языке UML существует стандартный синтаксис для обозначения передач сообщений.
получатель := сообщение (параметр : типПараметра) : типПолучателя
Информация о типах может исключаться в силу своей очевидности или не значительности. Например:
Основные обозначения диаграммы кооперации: Отображение связей
Связь(link) является соединением между двумя экземплярами классов, определяющим некоторую форму перемещения и видимости между ними (рис. 2.6). Более строго, можно сказать, что связь является экземпляром ассоциации. Например, имеется связь, или маршрут перемещения, от объектаRegisterк объектуSale, в соответствии с которым могут передаваться сообщения, такие какmakePayment.
Рисунок 2.6 – Линии связей
Обратите внимание, что по одной и той же линии связи могут передаваться несколько сообщений в обоих направлениях.
Отображение сообщений
Передаваемые между объектами сообщения представляются в виде имен этих сообщений над линиями связей, помеченных стрелками. Над одной линией связи может быть указано любое количество сообщений (рис. 2.7). Для отображения порядка следования сообщений в текущем потоке управления рядом с сообщением приводится порядковый номер.
Рисунок 2.7 – Сообщения
Сообщения, передаваемые самому объекту
Сообщение может передаваться объектом самому себе (рис. 2.8). Такой случай отображается с помощью связи объекта с самим собой, когда сообщения передаются в направлении этой связи.
Рисунок 2.8 – Сообщения, передаваемые самому объекту
Создание экземпляров объектов
Для создания экземпляра объекта можно использовать любые сообщения. Однако в языке UMLпринято использовать для этой цели сообщениеcreate(создать). При использовании другого имени (возможно, менее очевидного) сообщение следует снабдить специальным свойством, получившим название стереотипа UML, в частности «create». Это сообщение передается создаваемому экземпляру объекта (рис. 2.9).
Рисунок 2.9 – Создание экземпляра объекта
Сообщение createможет иметь параметры, задающие начальные значения свойств создаваемого экземпляра. Такая форма записи может означать, например, вызов конструктора с параметрами на языкеJava.
Более того, чтобы подчеркнуть факт создания экземпляра, новому экземпляру объекта можно дополнительно присвоить свойство {новый}.