Концептуальная схема диаграммы классов UML
Я сделал диаграмму UML, но думаю, что сделал неправильно для частей, указанных ниже (и заштрихован серым на рисунке). Любая помощь и советы приветствуются.:) Спасибо.
Правила:
Офис обычно занят только одним преподавателем. Члены вспомогательного персонала разделяют офисы. Офис также может быть пустым в течение определенного периода времени.
Сотрудник факультета назначается каждому студенту в качестве советника по его или ее специальности. Студентам, имеющим более одной специальности, назначается консультант факультета для каждой специальности.
У каждого предмета есть по крайней мере один учебник, требующий до трех дополнительных учебников. Для данной сессии в течение года, академическая единица может управлять многими предметами.
Каждый бегущий предмет может преподаваться разными преподавателями в академической единице.
Для каждого бегущего субъекта записываются дата начала, дата окончания и дата окончания экзамена. Студенты могут зарегистрировать до двух беговых предметов в каждой сессии.
Если учащийся не справляется с заданием, он может заняться этим предметом позже, на другом занятии, когда предмет снова запускается.
Для этого итоговая оценка, которую студенты получают по каждому предмету, хранится в базе данных.
2 ответа
Офис также может быть пустым, поэтому вводите 0..1 со стороны академического персонала преподавателей в офисные отношения, когда он пуст, никто не прикреплен. В части регистрации нет необходимости, потому что существует взаимно однозначное сопоставление между предметами и регистрацией (если выпускные экзамены не в ту же дату), включите это только в предмет. В итоговую оценку также включите ID предмета и ID ученика, ссылка 1 на 1
По офисам. Если что-то является только ОБЫЧНЫМ правилом, вы не можете строить свою логику так, как будто это ВСЕГДА так. Или ваш SW будет непригодным в реальной жизни. Итак, 0..* вместо 1.
Вы должны разделить предмет, курсы и классы. Для одного и того же предмета могут быть организованы несколько разных курсов. Студент записывается на несколько курсов. Он может даже иметь два или более разных курса по одному предмету. И так далее. Все вещи вокруг курсов показаны здесь. Конечно, ваша структура может быть более сложной, но не менее сложной.
Сделать оценку как тип перечисления. И просто создайте ассоциацию из Subject to it с именем finalGrade.
Майор, студент и аспирант три стороны одного отношения. Вы можете сделать это как третичное объединение или создать класс MajorAssignment и подключить его ко всем трем классам.
Для вашего правила 6 вы ничего не сделали.
Нарисуйте схему, и мы посмотрим на нее. Но лучше на будущее ставить более узкие вопросы. Одно правило + как выглядят ваши попытки реализовать это + часть проблемы, с которой вы не можете справиться = правильный вопрос.