首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请进,这个系统该怎么设计

2013-09-14 
请进,这个系统该如何设计各位好,想设计一个课程管理系统,有老师,课程,学生三个主体,现在的设想是:1)设计一

请进,这个系统该如何设计
各位好,想设计一个课程管理系统,有老师,课程,学生三个主体,现在的设想是:
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模式。课件是学生的成员。


[解决办法]
引用:
我咋感觉这玩意,首先要设计的是数据库的表,而不是什么类。


深有同感。数据库主要就是关系(联系-->关联--->),联想了。。。

热点排行