项目信息
角色:学校 学员 课程 讲师
要求:
1.创建bj,xian 2所学校
2.创建linux python go 3个课程,linnux在bj开 go在xian开设
3.课程包含,周期,价格 通过学校创建课程
4.通过学校创建班级,班级关联课程,讲师
5.创建雪学员时,选择学校 关联班级
创建讲师角色时要关联学校
6.提供两个角色接口
6.1学员视图,可以注册,交学费 选择班级
6.2讲师视图 讲师可管理自己的班级,上课时选择班级,查看班级学员列表
6.3管理视图,创建视图,创建班级,创建课程
7.上面的操作产生的数据都通过pickle序列化保存到文件里
----------------------------
二.需求分析
-管理视图
-1.注册
-2.登录
-3.创建学校
-4.创建课程
-5.创建讲师
-学员视图
-1.注册
-2.登录功能
-3.选择校区
-4.选择课程
-5.查看分数
-讲师视图:
-1.登录
-2.查看教程课程
-3.选择教授课程
-4.查看课程下学生
-5.修改学生分数
三.程序的架构设计
-用户视图层
-用户视图层
-用于与用户进行交互
-小的逻辑判断
-core
-src.py 主视图
-admin.py
-student.py
-teacher.py
-逻辑接口层
-核心业务逻辑的处理
-interface
-admin_interface
-student_interface
-teacher_interface
-数据处理层
-做数据的处理,比如数据的增 删 改 查
-db
-db_handeler.py
-models.py #面向对象的所有内容体现的地方
=========================================================
选课系统总结:
-管理员
-注册
1.用户在视图层(core)输入用户名和密码,交给接口层
2.接口层调用数据层中的models.select进行校验。
3.若不存在就创建,并将注册成功返回给视图层。
-登录
1.用户在视图层输入用户和密码,交给接口层
2.接口层调用数据层中的models.select进行校验
3.若存在,则校验密码,并将登录成功返回给视图层
-创建学校
1.让用户输入学校名与学校地址
2.调用管理员创建学校接口
3.判断学校是否存在,若存在不让创建
4.若不存在,则调用接口层创建学校,获取管理员对象的创建学校方法保存学校
5.将结果发挥给视图层
-创建课程
1.获取所有学校,并打印,让用户选择
2.获取用户选择的学校与创建的课程,交给接口层
3.接口层调用管理员对象中的创建课程方法,保存课程对象
4.课程需要绑定给学校对象,最终将创建成功的结果返回给视图层
-创建老师
1.让用户输入老师的名称
2.调用接口层,接口层中设置默认密码 123 ,调用数据层
3.判断老师是否存在,不存在则调用, 管理员对象中的创建老师方法
4.保存老师对象 并将结果返回给视图层。
-学生
-注册[同上]
-登录[同上]
-选择学校
1.获取所有学校,让学生选择,将选择的学校传给接口层
2.接口层判断当前学生是否选择学校
3.若没有选择,则调用学生对象中的添加学校方法。
4.将添加后消息返回给视图层
-选择课程
1.先获取当前学生所在学校的所有课程,并选择
2.接口层将选择课程,调用数据层的添加课程方法保存。
3.学生对象中课程列表添加该课程,设置课程分数默认为0
4.最终将结果返回给视图层。
-查看成绩
1.直接调用接口层
2.接口层调用数据层中的查看成绩方法
3.返回成绩给视图层并打印
-老师
-登录[同上]
-查看教授课程
1.直接调用接口层,获取老师对象下课程列表数据
2.若有则打印,没有则退出
-选择教授课程
1.调用接口层中选择教授课程接口,调用数据层中该课程下所有的学生返回给视图层
2.打印所有的视频,让老师选择,若老师课程中有该课程则不让添加
3.没有,则调用 老师对象中的 添加课程方法进行添加
-查看课程下学生
1.直接获取老师对象下所有的课程,选择课程
2.从老师对象中,请用查看课程表学生方法,获取 课程对象下 所有的学生,返回给视图层
3.视图层打印,该课程下所有的学生,并让用户选择需要修改分数的学生
4.调用老师修改分数接口,获取老师对象,调用对象汇总的修改分数方法
5.获取学生对象总的 score_dict 分数字典,进行修改。
-修改学生分数
|