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

时间:2011-07-15 22:14:57

标签: database-design class-design


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

条件是:学生可以报名参加由某位老师教授的课程,在一个特定时间发生一个学期,比如第二学期。

学生可能有多门课程,由多位教师(每位教师教授一门特定课程)多次教授(每门课程都在一个独特的学期开课)。 因此,学生+课程+教师+学期的组合是独一无二的。

什么是更智能的设计?

我最初是从一个有学生ID和地图的课程开始的,其中地图的'key'值设置为Course-id,'value'设置为另一个类,例如TeacherSemester。 TeacherSemesterclass包含TeacherId和SemesterId值。

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

Thaks

1 个答案:

答案 0 :(得分:1)

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

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
}