- 功能要求
角色:学校、学员、课程、讲师
要求:
1. 创建学校
2. 创建课程
3. 课程包含,周期,价格,通过学校创建课程
4. 通过学校创建班级, 班级关联课程、讲师
5. 创建学员时,选择学校,关联班级
5. 创建讲师角色时要关联学校,
6. 提供两个角色接口
6.1 学员视图, 可以注册, 交学费, 选择班级,
6.2 讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 创建学员的成绩
6.3 管理视图,创建讲师, 创建班级,创建课程
7. 上面的操作产生的数据都通过pickle序列化保存到文件里
8. 增加日志文件,能同时输出到控制台
9. 用户认证采用装饰
10.增加try捕捉错误信息
- 开发环境
- python 3.6.1
- PyCharm 2016.2.3
- 数据流图与业务功能图
- 主程序数据流图
2.业务功能图
- 目录结构
- 程序设计
1 #!/usr/bin/env python 2 #coding=utf-8 3 __author__ = 'yinjia' 4 5 6 import os 7 8 BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 9 10 BASE_ADMIN_DIR = os.path.join(BASE_DIR, "db", "admin") 11 12 BASE_STUDENTS_DIR = os.path.join(BASE_DIR, "db", "students") 13 14 BASE_TEACHER_DIR = os.path.join(BASE_DIR,"db","teacher") 15 16 TEACHER_DB_DIR = os.path.join(BASE_DIR, "db", "teacher_list") 17 18 COURSE_DB_DIR = os.path.join(BASE_DIR, "db", "course_list") 19 20 SHOOL_DB_DIR = os.path.join(BASE_DIR,"db", "shool_list") 21 22 STUDENTS_DB_DIR = os.path.join(BASE_DIR,"db", "students_list") 23 24 SCHOOLCLASS_DB_DIR = os.path.join(BASE_DIR,'db','schoolclass_list') 25 26 SCORE_DB_DIR = os.path.join(BASE_DIR,'db','score_list') 27 28 BASE_LOG_DIR = os.path.join(BASE_DIR,'log','AAP_')