Название: Системный Анализ. Предметная область. Модели на UML
Автор: Михаил Кумсков
Издательство: Издательские решения
Жанр: Компьютеры: прочее
isbn: 9785005093851
isbn:
Рис. 1.11. Диаграмма Классов «Заказ» преобразовывается по паттерну «Объект – список», который применен к ассоциации «Заказ» – «Блюдо».
«Строка заказа» связана с «Заказом» композицией (закрашенный ромбик) – это значит, что при удалении «Заказа» все его «Строки заказа» также будут удалены.
Применим паттерн «Объект список» к ассоциациям «Много ко многим» для оставшихся событий «Закупка продуктов», «Списание бракованных продуктов», «Списание бракованных блюд» и «Инвентаризация», «Меню», а также к справочнику «Блюдо» – соответствующие диаграммы классов приведены ниже, на рис. 1.12—1.16.
Рис. 1.12. Диаграмма классов «Закупка продуктов» преобразуется по паттерну «Объект – список» – сравните с рис. 1.4
Рис. 1.13. диаграмма классов «списание бракованных продуктов» преобразуется по паттерну «объект – список» – сравните с рис. 1.5
Рис. 1.14. Диаграмма классов «Списание бракованных блюд» преобразуется по паттерну «Объект – список» – сравните с рис. 1.6
Рис. 1.15. Диаграмма классов «Инвентаризация» преобразуется по паттерну «Объект – список» – сравните с рис. 1.7
Рис. 1.16. Диаграмма классов «Меню» преобразуется по паттерну «Объект – список» – сравните с рис. 1.8
Рис. 1.16. Диаграмма классов «Блюдо» преобразуется по паттерну «Объект – список» – сравните с рис. 1.10
Паттерн «Объединение картотек»
Если на диаграмме классов встречаются ассоциации с такой множественностью, как:
• «один» к «одному» («1» – «1»),
• «один» к «ноль..одному» («1» – «0..1»),
• «ноль..один» к «ноль..одному» («0..1» – «0..1»), то соответствующие картотеки можно рассматривать как «кандидаты на объединение». В нашем примере такая связь есть на диаграмме «Заказ» между классом «Заказом» и классом «Оплатой заказа». Если мы объединяем эти картотеки, то:
• объединяются атрибуты картотек;
• новый класс (картотека) приобретает состояния.
Для диаграммы классов «Заказ» получаем следующую преобразованную диаграмму классов уже без связи с «Оплатой заказа» (рис. 1.17).
Рис. 1.17. Диаграмма классов «Заказ» после применения паттерна «Объединение картотек». У «заказа» появился новый атрибут «Дата-Время-Оплаты»
Состояния объединенной картотеки «Заказ» опишем UML-диаграммой «Машина состояний» (рис. 1.18).
Рис. 1.18. Диаграмма «Машина состояний UML для класса „Заказ“ после объединения с картотекой „Оплата заказа“»
Итоги раздела 1
Был рассмотрен пошаговый процесс построения модели предметной области в виде набора диаграмм СКАЧАТЬ