请进,这个系统该如何设计
各位好,想设计一个课程管理系统,有老师,课程,学生三个主体,现在的设想是:
1)设计一个用户类,可以注册账户,登陆,修改密码
2)学生和老师是此用户类的子类,老师可以上传课件,发布课程计划,等等;学生可以网上订课,下载课件,等等
现在遇到的疑问是,课程与老师和学生这两个类该是如何的关系?考虑到如上描述,是不是将课程设计成与它们关联关系,也就是将课程设置成这两个类的成员,大家觉得如何呢?
多谢!
[解决办法]
用户类:
using namespace std;
class User
{
public:
User();
~User();
public:
//上传课程
virtual int Upload_courseware ()
{
return 0;
}
//发布计划
virtual int Release_program ()
{
return 0;
}
//网上订课
virtual int Online_Booking ()
{
return 0;
}
//下载课件
virtual int Download_courseware ()
{
return 0;
}
private:
//some info
};
老师类:
class Teacher:public User
{
public:
Teacher();
~Teacher();
public:
//上传课程
int Upload_courseware ()
{
//TODO
return 0;
}
//发布计划
int Release_program ()
{
//TODO
return 0;
}
private:
//some info
};
学生类:
老师,学生 属于用户类子类,但其实又有账号的属性(多重继承?)
老师和课程是1对多关系,学生和课程也是一对多的关系,所以用户和课程可能是关联的类型做为用户类成员
但课程可能是教务室安排的,所以应该会引入一个manager类 老师安排课程,学生预定课程,都是该类的接口
课程和课件是两个单独的类,课程和课件有各自的属性。课程关联课件接口中大概会用到factory 和 iterator模式。课件是学生的成员。
[解决办法]
深有同感。数据库主要就是关系(联系-->关联--->),联想了。。。