Какой тип отношений я должен использовать? - PullRequest
1 голос
/ 12 октября 2019

В настоящее время я посещаю урок по диаграммам UML, где есть лабораторное упражнение, которое нам нужно выполнить.

В лабораторном упражнении существуют различные классы данных в отношении темы Супермаркет. Один из классов данных называется Receipt, который включает в себя такие атрибуты, как идентификатор, дата и время оплаты, приобретенные товары и общая стоимость. Существует также другой класс данных, называемый Платеж, который включает атрибут типа платежа. Класс данных Платежа «связан» с классом данных «Квитанция», однако я не уверен, какое отношение использовать.

Полный абзац вопросаследовать:

Shopper arrives at checkout counter.
The total price is calculated and the shopper is given an receipt which includes a list of purchased items.
Payment is recorded when it occurs, either now (cash) or later (card payment).

1 Ответ

0 голосов
/ 13 октября 2019

Предполагается, что вы создаете диаграмму классов:

  • «Ссылка» - это простая ассоциация, поскольку в формулировках ничего не предлагает состав или агрегацию.
  • " Платеж регистрируется, когда он происходит, сейчас или позже " означает, что в какой-то момент времени возможно, что платеж (пока) отсутствует.
  • " либо сейчас (наличными), либо позже (платеж картой) " настоятельно рекомендует, чтобы квитанция была оплачена одним платежом (множественные частичные платежи не исключаются формулировкой, но, похоже,маловероятно).
  • , поэтому кратность составляет 0,1 платежа за квитанцию.
  • О множественности квитанций об оплате ничего не сказано. Мы можем представить, что есть минимум 1, так как никто не будет платить ни за что. Но нельзя исключить, что платеж с помощью кредитной карты производится для оплаты нескольких неоплаченных квитанций одновременно. Поэтому я хотел бы, чтобы это не указывалось в диаграмме. В реальном мире это то, что вы хотели бы проверить с вашим клиентом. В вашем упражнении, в зависимости от практики, свидетелем которой вы были у профессора, вы можете поставить 1.

Итак, вот упрощенная диаграмма (я не показывал свойства и операции радипростоты, а также предметов, которые вы не упомянули как проблему):

enter image description here

...