- •Проектирование информационных систем
- •Поиск ассоциаций
- •Система обозначений для ассоциаций языка uml
- •Поиск ассоциаций: список стандартных ассоциаций
- •Ассоциации с высоким приоритетом
- •Рекомендации по назначению ассоциаций
- •Кратность
- •Имена ассоциаций
- •Несколько ассоциаций между двумя типами
- •Ассоциации для предметной области pos-системы тт
- •Отношения в магазине, которые должны быть учтены
- •Использование списка категорий ассоциаций
- •Модель предметной области pos-системы тт
- •Сохранение только важных ассоциаций
- •Модель предметной области: добавление атрибутов
- •Атрибуты
- •Система обозначений атрибутов в языке uml
- •Типы данных
- •Непримитивные типы классов
- •Совет разработчикам: не используйте атрибуты в качестве внешних ключей
- •Моделирование атрибутов Quantity и Unit
- •Атрибуты модели предметной области системы тт
- •Вопрос 2. Модель проектирования: диаграммы взаимодействия
- •Диаграммы последовательностей и кооперации
- •Пример диаграммы кооперации: makePayment
- •Основные обозначения для диаграмм взаимодействия: Отображение классов и экземпляров объектов
- •Синтаксис для отображения сообщений
- •Основные обозначения диаграммы кооперации: Отображение связей
- •Отображение сообщений
- •Сообщения, передаваемые самому объекту
- •Создание экземпляров объектов
- •Представление порядка передачи сообщений
- •Представление условных сообщений
- •Представление взаимоисключающих условных маршрутов
- •Представление итерационного процесса или циклов
- •Сообщения, передаваемые классу
- •Основные обозначения диаграммы последовательностей
Атрибуты модели предметной области системы тт
Теперь необходимо сформировать список атрибутов для отображения требований данной итерации или список атрибутов для сценариев прецедента Оформление продажи.
Таблица 1.2 – Список атрибутов для прецедента
Sale (Продажа)
|
date (дата), time (время). Товарный чек представляет собой распечатанные на бумаге данные о продаже. Как правило, на не также указываются дата и время продажи
|
Payment(Платеж)
|
amount(сумма). Если нужно определить, достаточную ли сумму заплатил покупатель, и вычислить разность между этой суммой и стоимостью покупок, необходимо иметь атрибутamount(известный также как "предложенная сумма")
|
Product Specification (Спецификация товара)
|
description(описание). Оказывается полезным, если описание товара нужно отобразить на экране или распечатать на товарном чеке id(идентификатор товара). Если необходимо просмотреть данные объектаProductSpecification, соответствующего введенному значению кода itemID, то эту связь можно обеспечить с помощью данного атрибута price(цена). Необходим для вычисления итоговой суммы и отображения цены единицы товара
|
SalesLineItem(Элемент продажи)
|
quantity(количество). Требуется для записи введенного количества товаров, если покупатель приобретает несколько единиц одного и того же товара (например, пять коробок конфет)
|
Store(Магазин) |
address(адрес),name(название). На товарном чеке требуется указывать название и адрес магазина
|
Тогда модель предметной области с атрибутами будет иметь вид согласно рис. 1.13 и 1.14.
Рисунок 1.13 – Модель предметной области с атрибутами
Рисунок 1.14 – Фрагмент модели предметной области
Вопрос 2. Модель проектирования: диаграммы взаимодействия
Система обозначений для диаграмм взаимодействия
В этом вопросе лишь вводится система обозначений. Для грамотного объектного проектирования необходимо понимать его основные принципы. После ознакомления с системой обозначений для диаграмм взаимодействия в следующих вопросах вы ознакомитесь с этими принципами и их применением для построения диаграмм взаимодействия.
Диаграммы последовательностей и кооперации
Термин "диаграмма взаимодействия" используется в качестве общего названия для двух следующих конкретных типов диаграмм, которые могут использоваться для иллюстрации обмена сообщениями.
Диаграммы кооперации (collaboration diagram)
Диаграммы последовательностей (sequencediagram)
Чтобы подчеркнуть свободу разработчиков при выборе артефактов проектирования, будут использованы оба типа диаграмм.
Диаграммы кооперации(collaborationdiagram) иллюстрируют взаимодействие объектов в формате графа или сети, как показано на рис. 2.1. При этом объекты могут размещаться в любом месте диаграммы.
Рисунок 2.1 – Диаграмма кооперации
Диаграммы последовательностей(sequencediagram) иллюстрируют взаимодействие в форме, показанной на рис. 2.2. Здесь объекты располагаются слева направо.
Рисунок 2.2 – Диаграмма последовательностей
Оба типа диаграмм имеют свои преимущества и недостатки.
При использовании CASE-средств разработки многие предпочитают строить диаграммы последовательностей для удобства обратного проектирования – преобразования исходного кода в диаграмму взаимодействия.
Тип диаграммы |
Преимущества |
Недостатки |
Последовательностей
|
Ясно отображает последовательность и временной порядок сообщений. Простые обозначения
|
Расширяется вправо при добавлении новых объектов; занимает много места по горизонтали
|
Кооперации
|
Экономия пространства – возможность добавления объектов в двух направлениях. Лучше иллюстрирует сложные зависимости, итерационность и параллельные события
|
Сложнее отследить последовательность сообщений. Более сложная система обозначений
|