Скачать книгу

экземпляр «Меню» связан со многими «Заказами» (значок «0..*»).

      Теперь указываем «поля карточек» в картотеках как атрибуты классов, существенные для учета согласно целям моделирования.

      Атрибуты «Заказа клиента»: «дата-время начала обслуживания» и «дата-время завершения обслуживания» (гости ушли, освободив столик) позволяют учитывать время, когда столик («номер столика» указан в атрибуте) был занят на время данного обслуживания. Также необходимо учитывать общую «стоимость», вычисляемую по «Меню» и количеству заказанных блюд.

      • Атрибуты «Сотрудника» – фамилия, имя, отчество, должность, оклад (опционально).

      • Атрибуты «Кафе» – название, адрес, число столиков.

      • Атрибуты «Оплаты заказа» – дата-время оплаты (стоимость не указываем, т. к. уже есть в самом «Заказе»);

      • Атрибуты «Блюда» – название, тип блюда, время приготовления.

      Рис. 1.3. Диаграмма классов UML для картотеки «Заказ» гостя в кафе. Показаны атрибуты классов

      Для оставшихся событий «Покупка продуктов», «Списание бракованных продуктов», «Списание бракованных блюд», «Инвентаризация» и «Меню» соответствующие диаграммы классов UML приведены ниже – на рисунках 1.4—1.8.

      Рис. 1.4. Диаграмма классов UML для картотеки «Закупка продуктов» в кафе. Показаны атрибуты классов участников

      Рис. 1.5. Диаграмма классов UML для картотеки «Списание бракованных продуктов» в кафе

      Рис. 1.6. Диаграмма классов UML для картотеки «Списание бракованных блюд» в кафе

      Рис. 1.7. Диаграмма классов UML для картотеки «Инвентаризация» в кафе

      Рис. 1.8. Диаграмма классов UML для картотеки «Меню»

      Теперь, продолжая шаг 5, связываем справочники друг с другом, последовательно создавая диаграммы классов для картотек «Пункт питания», «Сотрудник», «Блюдо» и «Продукты».

      Рис. 1.9. Диаграмма классов UML для справочников «Кафе» и «Сотрудник»

      Рис. 1.10. Диаграмма классов UML для справочников «Блюдо» и «Продукты»

      Шаг №6. Применяем паттерны на диаграммах-«ромашках»

      Паттерн «Объект-список»

      Ассоциации с множественностью «Много ко многим» могут иметь собственные свойства. Например, для связи «Заказ» – «Блюдо» (рис. 1.3) таким свойством является число заказанных экземпляров блюда. Например, если заказано два мороженых, то двойка – это не атрибут «Заказа» и не атрибут «Блюда» (рецепта), это атрибут ассоциации «много ко многим».

      Согласно паттерну «Объект список» удаляем из диаграммы ассоциацию между «Заказом» и «Блюдом» и вместо нее вводим новый класс «Строка списка». Эту строку следует ввести для каждого блюда, вошедшего в «Заказ». Результат применения паттерна «Объект-список» показан на рис. 1.3.

      Рис.

Скачать книгу