面向对象之选课系统
一、选课系统需求分析
1、选课系统
角色:学校、讲师、学员、课程
2、要求
1.两所学校,分别在北京、上海
2.三类课程,分别是linux、python(上海)、go(北京)
3.课程包含周期、价格,课程通过学校创建
4.通过学校创建班级,班级关联课程、讲师
5.创建学员时,选择学校,关联班级
5.创建讲师时需要关联学校
6.提供三个角色接口:
6.1.学员视图
注册、登录、交学费、选择班级
6.2.讲师视图
可管理班级、查看学员、修改学员成绩
6.3.管理员视图
创建讲师、创建班级、创建课程
7.以上所产生的数据通过pickle模块序列化到文件里
二、功能提炼
1、管理员功能
注册
登录
创建学校
创建班级
创建课程
创建老师
2、讲师功能
登录
选择课程
查看课程
查看学生分数
修改学生分数
3、学生功能
注册
登录
选择学校
选择课程
查看课程分数
三、选课系统架构设计
1、三层架构设计
展示层:
core.src.py
主要用户获取用户输入,功能展示
核心逻辑层:
interface.admin_interface.py
管理员功能核心逻辑代码
interface.teacher_interface.py
讲师功能核心逻辑代码
interface.student_interface.py
讲师功能核心逻辑代码
数据处理层:
models.py
用于储存所有的类,只能该文件才能与数据进行交互
db.dbhandler.py
用于处理用户文件的增删改查
四、选课系统目录搭建
1、conf:
settings.py
2、lib:
common.py
3、core:
src.py
admin_src.py
teacher_src.py
student_src.py
4、db:
models.py
db_handler.py
5、interface:
admin_interface.py
teacher_interface.py
student_interface.py
6、log:
log.log
7、start.py
8、readme.txt
9、requirements.txt
五、选课系统功能搭建
1、空函数
2、循环
3、