Системный Анализ. Предметная область. Модели на UML. Михаил Кумсков
Чтение книги онлайн.

Читать онлайн книгу Системный Анализ. Предметная область. Модели на UML - Михаил Кумсков страница 5

СКАЧАТЬ href="#image15_5df35050ac80d400077e6f75_jpg.jpeg"/>

      Рис. 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

      Был рассмотрен пошаговый процесс построения модели предметной области в виде набора диаграмм СКАЧАТЬ