Путаница в том, как работают атрибуты в диаграммах классов UML

Я прошел курс "Объектно-ориентированная система и дизайн" в Стокгольмском университете. Мне пришлось сдать дополнительное задание, в котором я должен был создать диаграмму классов UML, отражающую веб-сайт, на котором продавались автомобили (это не тема, в которой я прошу вас сделать мою домашнюю работу). Вот что я сдал:

Описание

Учитель сказал, что "это не то, как вы используете атрибуты" и, похоже, неохотно объясняет, что я должен был сделать по-другому. Это все по-шведски, но я думаю, что основные моменты ясны независимо от языка.

Мой вопрос: как это должно быть смоделировано по-другому? У меня есть агрегация для некоторых объектов, перечисления, потому что у веб-сайта было ограниченное количество атрибутов для некоторых классов.

Любая помощь с благодарностью.

С уважением,

Хьюго

2 ответа

Я вижу некоторые проблемы на вашей диаграмме:

  • Я считаю, что у вас есть некоторые перечисления в вашей диаграмме, которые не определены должным образом. Перечисление должно выглядеть следующим образом.
  • Вы определяете атрибуты в дополнение к агрегации (например, Bil имеет отношение агрегации к этому SäkerhetsTiläggи дополнительно определяет атрибут säkerhet, Вы должны использовать отношение или атрибут, см. Здесь.
  • В то время как мы находимся в этом, множественность несколько запутывает. Вы говорите, что Bil может иметь любое количество SäkerhetsTiläggв то время как атрибут säkerhet держит ровно одну SäkerhetsTilägg,
  • Afaik, вы должны определить видимость атрибутов и методов (например, +, - так далее).

Мне кажется, что ваши Перечисления смоделированы как Классы. Несмотря на то, что визуально Enumeration выглядит как класс со стереотипом <>, это на самом деле совсем другое дело, и в нем есть EnumerationLiterals, когда атрибуты были бы для класса.

В ArgoUML вы можете создать Перечисление, используя четвертую кнопку справа на панели инструментов. Это раскрывающееся меню, в котором по умолчанию создается новый тип данных, но если вы потянете его вниз и выберите зеленый прямоугольник, он создаст перечисление. Сначала создайте свои перечисления, и они будут доступны для выбора в качестве типа ваших атрибутов.

Конечный результат должен выглядеть так:Перечень заданий АргоУМЛ

Другие вопросы по тегам