Диаграмма классов для регистрации на курс - PullRequest
0 голосов
/ 07 июля 2019

Я делаю диаграмму класса для Регистрация класса / курса , где студенты должны сначала зарегистрировать свой курс, а затем выбрать свои расписания занятий (расписание)

Я не уверен, что смогу получить CourseRegistrationи таблица ClassRegistration, как это.Причина, по которой я сделал это так, заключается в том, что студент может записаться на курс, но не записывается в класс напрямую.поэтому они могут подождать несколько дней, а затем только зарегистрироваться.Поэтому я должен убедиться, что регистрация курса сохранена в базе данных.

enter image description here

Спасибо за помощь PS: Пожалуйста, не возражайте против моегоатрибуты, они просто черновик.

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

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

Кроме того, что означает "ClassSchedule"? Является ли экземпляр ClassSchedule классной встречей?

Поскольку ваша модель должна определять дизайн (таблиц базы данных и, например, классов Java), для каждого класса сущностей должен быть определен атрибут ID, который выражается в UML с ключевым словом "id" в фигурных скобках с добавлением к объявлению атрибута. Наличие «ID» в именах атрибутов не является формальным объявлением. Кроме того, атрибут ID, похоже, отсутствует для ClassSchedule.

0 голосов
/ 07 июля 2019

Да, это нормально.В качестве альтернативы вы можете использовать обозначение класса ассоциации следующим образом:

enter image description here

Некоторые примечания:

  • маркировка ассоциаций не , что полезно, за исключением того, что вы находитесь на уровне анализа бизнесаВместо этого используйте имена ролей на любом конце.

Правка Я почему-то упустил из виду, что вы разрабатываете таблицы.Поэтому мой предыдущий комментарий

  • удаляет все атрибуты id.Каждый объект будет иметь свой уникальный идентификатор, назначенный системой времени выполнения.Используйте такой идентификатор только в том случае, если он имеет общественное значение (например, идентификатор паспорта или регистрационный номер студента).И затем используйте это конкретное имя (например, passportId), а не <class>id.

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

...