选课系统
一、需求分析
# 项目需求如下
'''
角色:学校、学生、课程、讲师
要求:
1. 创建北京、上海 2 所学校
2. 创建linux , python , go 3个课程 , linux\py在北京开,go在上海开
3. 管理员创建学校 ,老师,课程
4. 学校包含学校名称,地址等属性
5. 学生注册登录后,可以选择学校,选择课程,查看成绩
6. 学生只能选择一所学校,从校区中选择一门课程,课程绑定给学生。
7. 老师登录后,可以查看教授课程,选择想要教授的课程,查看课程下的学生,修改学生成绩等
最终分为以下视图和功能:
学生视图
1、注册
2、登录
3、选择校区
4、选择课程
5、查看成绩
老师视图
1、登录
2、查看教授课程
3、选择教授课程
4、查看课程下学生
5、修改学生成绩
管理视图,创建讲师, 创建班级,创建课程
1、注册
2、登录
3、创建学校
4、创建老师
5、创建课程
'''
二、程序的框架设计
'''
程序的架构一共分为三层:
- 1.用户视图层
- 2.接口层
- 3.数据层
- models ---> 用于把数据封装在对象中
- db_handler ---> 把对象通过pickle的形式进行存储
'''
三、程序的目录结构
'''
conf放置配置信息setting
core:放置用户层视图
db:数据操作层py文件和以文件形式保存的数据,通过pickle把数据序列化保存到文件里。
interface:放置接口相关信息,有管理员接口,老师接口,学校接口,学生接口和公共接口
lib:放置公共方法
用户功能层:src下:
src:主视图,
admin:管理员视图,
student:学生视图
teacher:老师视图
接口层:interface下:
admin_interface管理员的接口
common_interface公共的接口
school_interface学校的接口
student_interface学生的接口
teacher_interface老师的接口
数据层:db目录下:
db_handler,文件操作相关的方法
models:各种类及类方法的定义
其它目录:admin,course,school,student,teacher是自动生成的目录,用来存放数据信息
start.py启动文件
总共分三个视图:
管理员视图:
def admin_register():
pass
def admin_login():
pass
def creat_school():
pass
def creat_teacher():
pass
def creat_course():
pass
老师视图:
def teacher_login():
pass
def check_course():
pass
def choose_course():
pass
def check_student():
pass
def modify_score():
pass
学生视图:
def student_register():
pass
def student_login():
pass
def choose_school():
pass
def choose_course():
pass
def check_score():
pass
'''