2016-03-21 2 views
0

Как я могу улучшить эту диаграмму классов UML и какие ошибки я сделал?Как улучшить/изменить в этой диаграмме классов UML?

Я действительно смущен взаимоотношениями между Расходным и Категориям, поскольку Категория и Расходы могут существовать сами по себе: вы можете зарегистрировать Расход и не назначать его категории, или сделать наоборот, вы можете добавить новые категории в список категорий и т. д.

Действительно ли мне нужны отдельные классы классов?

enter image description here

+0

Если вы объясните семантику CategoryList, можно будет дать более содержательный ответ. –

ответ

1

Я бы просто сделать свой CategoryList класс Категория и удалить последний. Я не знаю вашего домена, но при условии, что расходы могут быть назначены одной или несколькими категориями, вы можете прояснить это, добавив множественность. Вы также должны отказаться от общей композиции (полый бриллиант), поскольку она не добавляет никакой реальной информации в вашу модель.

Редактировать Согласно вашему комментарию, я бы моделировать это следующим образом:

enter image description here

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

+0

Основная идея заключалась в том, что пользователь может выбрать категорию из списка категорий, чтобы назначить ее Expense, или он может пропустить этот шаг, поэтому расходы могут существовать без категорий, а один Expense может быть назначен только одной категории. «Вы также должны отказаться от общей композиции (полый алмаз)» - следует ли использовать ассоциацию? – CrushJelly

+0

Вы имеете в виду несколько списков, или это всего лишь один список со всеми категориями? –

+0

Существует один список со всеми категориями, вы можете выбрать категорию ar, добавить новую и выбрать ее. – CrushJelly