设计一个学生-课程-教师-学期电子表格




最近我被要求为课程应用程序(Java)设计处理学生/教师/学期/课程实体的模型。这有点像电子表格设计问题。

条件是:一个学生可以注册一门课程,由一些老师教授,在一个学期发生在一个特定的时间,比如在第2学期。

一个学生可以有多个课程,由多个老师在多个时间教授(每个老师教一个特定的课程)(每个课程在一个独特的学期发生)。因此,学生+课程+教师+学期的组合是独一无二的。

更聪明的设计是什么?

我最初从一个具有学生id的类和一个Map开始,其中映射的"键"值设置为Course-id,"值"设置为另一个类,例如TeacherSemester。TeacherSemesterclass包含了TeacherId和SemesterId值。

但这似乎不是一个可扩展的解决方案。有人能提出更好的设计吗?任何讨论都会有帮助的。

Thaks

老师和学生是角色,他们不是班级。

class Person
{
    string Name
}
class Course
{
    List<Person> enrolledStudents
    List<Person> teachers
    Semester semester
    CourseTime time
}
class Application
{
    List<Course> courses
    List<Person> persons
    List<Semesters> semester
    List<CourseTime> courseTimes
}

最新更新