UML Class - Использование базового класса, когда нет производных классов - PullRequest
1 голос
/ 10 июня 2019

Здравствуйте, я пытаюсь подготовить диаграмму ER + диаграмму классов. Система очень проста. Он включает в себя простую систему бронирования авиабилетов с двумя ролями (актерами).
В ERD мы можем различать две роли, используя атрибут «IsAdmin» («true» для администратора и «false» для клиента).
На диаграмме классов у меня есть базовый класс с именем «Пользователь» (содержащий все атрибуты и методы роли клиента, все атрибуты и некоторые методов роли администратора).
Должен ли я использовать класс User при работе с сущностью customer (поскольку атрибуты и методы одинаковы) или для ясности создать пустой класс, производный от класса User?
ERD

Class Diagram

Ответы [ 2 ]

2 голосов
/ 10 июня 2019

Это зависит ...

В основном при работе с бизнес-объектами я бы не использовал класс с именем "Пользователь", который говорит все или ничего. У вас есть «Клиент» и «Администратор» и, вероятно, многие другие «Пользователи». Не делайте «пользователя» «клиентом».

Если оставить это в стороне, если вы используете платформу сериализации, которая часто требует, чтобы таблица и класс имели одно и то же имя.

Также вы не должны запускать систему с оптимизацией. Дайте ясность преимущество в пользу этого. Он будет выплачиваться раньше, чем позже. И в любом случае: вы можете оптимизировать и на более поздних этапах.

0 голосов
/ 11 июня 2019

Диаграммы ER (ERD) и Диаграммы классов UML (CD) - это языки информационного моделирования, которые по существу охватывают одни и те же понятия, но используют другой визуальный синтаксис. Оба позволяют моделировать классы со свойствами / атрибутами (и операциями / методами в случае компакт-дисков), определяющими типы сущностей и ассоциации (или типы отношений).

Поскольку компакт-диски были определены совсем недавно, они более выразительны, чем ERD, и включают их. Следовательно, нет необходимости дублировать информационную модель как в виде ERD, так и CD. Скорее вы должны составить логическую схему проектирования классов, из которой вы можете получить как модели классов ООП (определяющих, например, классы Java), так и модели таблиц RDB.

При необходимости вы можете получить ERD из вашего CD.

...