选课系统

需求分析:(面向对象)
角色:学校、学员、课程、讲师
要求:
1. 创建北京、上海 2 所学校
    学校对象
    特征: 学校名称  地址  课程(可以多个)
    行为:创建课程

2. 创建linux , python , go 3个课程 , linuxpy 在北京开, go 在上海开。
    课程对象
    特征: 周期  价格 课程名称

3. 课程包含,周期,价格,通过学校创建课程

4. 通过学校创建班级, 班级关联课程、讲师
    班级对象
    特征: 班级名称  课程名称  老师名称

5. 创建学员角色时:选择学校,关联班级
    学员对象
    特征: 名字 年龄 性别  班级名称 成绩 是否缴费
    行为: 交学费  选择班级

6. 创建讲师角色时要关联学校,
    老师对象
    特征: 名字 年龄 性别  学校名称
    行为: 选择班级  查看学员列表  修改成绩

7. 提供三个角色接口  学员 老师 管理员
7.1 学员视图, 可以注册, 交学费, 选择班级,
7.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩
7.3 管理视图, 创建讲师, 创建班级,创建课程
    管理员对象
    特征: 账户名  密码
    行为: 创建讲师  创建班级 创建课程 创建学校

8. 上面的操作产生的数据都通过pickle序列化保存到文件里
    需要一个工具 用于读取 保存数据


需要的模块
    视图模块 三个  学员 老师 管理员
    接口模块 三个  学员 老师 管理员
    db_handler  数据访问模块
    存放所有模型(类)的 models模块

1.管理员视图
    1.登录
    2.注册
    3.创建学校
    4.创建课程
    5.创建班级
    6.创建讲师

2.老师视图
    1.登录
    2.选择班级
    3.查看学员信息
    4.修改学员成绩

3.学员视图
    1.登录
    2.注册
    3.选择班级
    4.交学费
    5.查看成绩
原文地址:https://www.cnblogs.com/dongzhihaoya/p/10187100.html