Я пытаюсь построить диаграмму классов UML. Я немного новичок в UML, так что прошу прощения за мое невежество.
У меня есть класс домена User
со следующими атрибутами:
- Имя пользователя ; тип данных — строка; идентификатор
- Пароль ; тип данных — строка
- Активный ; тип данных логический
- Заблокировано; тип данных логический
- Дата истечения срока действия пароля ; тип данных DateTime
Вот как я строю это в UML:
Теперь я хочу определить эти операции этого класса User
на диаграмме классов UML:
- Получить объект User по предоставленному идентификатору из базы данных.
- Сопоставьте пароль полученного объекта User с предоставленным паролем.
- Проверьте, активен ли полученный пользователь.
- Проверьте, заблокирован ли полученный пользователь.
- Проверьте, не истек ли срок действия полученного пароля пользователя.
- Вставьте объект пользователя в базу данных.
- Обновите объект пользователя в базе данных.
- Удалить объект пользователя из базы данных.
Вот как я строю это в UML:
Но меня очень смущает метод № 1 «Получить объект пользователя по предоставленному идентификатору из базы данных».
Все остальные методы работают с одним объектом User
, что означает, что один объект User
уже был извлечен из базы данных или это новый объект.
Но метод №1 имеет смысл работать с коллекцией из User
объектов, что означает все пользовательские объекты, которые уже существуют в базе данных.
Имеет ли это смысл? или это несоответствие? Если да, то как я могу это исправить?
Спасибо
ОБНОВИТЬ
Спасибо за упоминание операций на уровне классов в диаграмме классов UML. Я не знал о них.
Итак, я внес изменения, и это последняя диаграмма классов UML для класса User
:
Теперь правильно?
UserName
как атрибут идентификатора, добавив{id}
послеstring
. Тогда такжеDeleteUser
должен иметь только параметрuserName
. В своем ответе я объясняю, что также создание/добавление и обновление не будут иметь объектUser
в качестве параметра. - person Gerd Wagner   schedule 13.04.2018