码迷,mamicode.com
首页 > 编程语言 > 详细

python 实现选课系统

时间:2018-01-25 17:21:24      阅读:522      评论:0      收藏:0      [点我收藏+]

标签:base   创建   连接   6.2   技术分享   mes   python   main   ext   

角色:学校、学员、课程、讲师 >作业需求 - [ ] 1.创建北京、上海 2 所学校 - [ ] 2.创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开 - [ ] 3.课程包含,周期,价格,通过学校创建课程 - [ ] 4.通过学校创建班级, 班级关联课程、讲师 - [ ] 5.创建学员时,选择学校,关联班级 - [ ] 5.创建讲师角色时要关联学校, - [ ] 6.提供两个角色接口,一个管理接口 6.1学员视图, 可以注册, 交学费, 选择班级 6.2讲师视图, 讲师可管理自己的班级, 上课时选择班级, 查看班级学员列表 , 修改所管理的学员的成绩 6.3管理视图,创建讲师, 创建班级,创建课程 - [ ] 7.上面的操作产生的数据都通过pickle序列化保存到文件里 博客地址: ## 1. 程序说明 实现功能如下 - [x] 1.创建北京、上海2所学校 - [x] 2.创建linux,python,go3个课程,linux\py在北京开,go在上海开 - [x] 3.课程包含,周期,价格,通过学校创建课程 - [x] 4.通过学校创建班级,班级关联课程、讲师 - [x] 5.创建学员时,选择学校,关联班级 - [x] 5.创建讲师角色时要关联学校 - [x] 6.提供两个角色接口,一个管理接口 6.1学员视图,可以注册,交学费,选择班级 6.2讲师视图,讲师可管理自己的班级,上课时选择班级,查看班级学员列表,修改所管理的学员的成绩 6.3管理视图,创建讲师,创建班级,创建课程 - [x] 7.上面的操作产生的数据都通过pickle序列化保存到文件里 ## 2. 思路和程序限制 首先设置限制: 1. 学员有地域限制,不能同时选择北京和上海学校; 2. 为避免课程冲突,学员只能选择一个课程,且不考虑历史选课; 3. 讲师上课时只能选择一个班级; 4. 讲师周一到周日都可选择班级授课,一日一课程,一周最多7个班级; 5. 一个帐号只属性一个人,帐户使用用户名登录,对应唯一ID,即学号; 6. 一个班级可能对应多个讲师; 按帐号区分视图: 1. 学员帐号 属性:学号、班级、学校、课程、成绩、名字; 方法:注册、选课、查看班级信息、修改自己信息; 2. 导师帐号 属性:名字、授课班级、学校、授课课程、授课安排; 方法:查看学员信息、排课、修改自己信息、修改学生成绩; 3. 系统帐号 属性:名字、管理员权限 方法:创建班级、分配学员班级、创建课程、创建讲师、管理员功能 从程序上来设计: 1. 人类:属性有名字、年龄、性别; 2. 城市类:属性有城市名; 3. 学校类:属性有学校名; 4. 班级类:属性有班级名,学员,和学员一对多关系; 5. 学生类:继承基本类人,有其它属性选课、成绩,和班级(一对一); 7. 讲师类:继承基本类人,有其它属性教的课程; 7. 课程类:属性有课程名,价格,; 8. 帐户类:属性有帐号名、密码、状态、角色;(与人一对一) ## 3. 选课系统程序目录结构 . ├── Course_selection_system │?? ├── bin # 可执行程序入口目录 │?? │?? ├── __init__.py │?? │?? └── course_selection.py # 程序入口 │?? ├── conf # 配置文件目录 │?? │?? ├── __init__.py │?? │?? ├── __pycache__ │?? │?? │?? ├── __init__.cpython-35.pyc │?? │?? │?? ├── __init__.cpython-36.pyc │?? │?? │?? ├── settings.cpython-35.pyc │?? │?? │?? └── settings.cpython-36.pyc │?? │?? └── settings.py # 配置文件 │?? ├── core # 选课系统主要逻辑程序目录 │?? │?? ├── __init__.py │?? │?? ├── __pycache__ │?? │?? │?? ├── __init__.cpython-35.pyc │?? │?? │?? ├── __init__.cpython-36.pyc │?? │?? │?? ├── logger.cpython-35.pyc │?? │?? │?? ├── logger.cpython-36.pyc │?? │?? │?? ├── main.cpython-35.pyc │?? │?? │?? ├── main.cpython-36.pyc │?? │?? │?? ├── operate.cpython-35.pyc │?? │?? │?? └── operate.cpython-36.pyc │?? │?? ├── logger.py # 日志记录模块 │?? │?? ├── main.py # 主程序模块 │?? │?? └── operate.py # 系统操作功能模块 │?? ├── db # 数据库目录 │?? │?? ├── __init__.py │?? │?? ├── accounts │?? │?? │?? ├── 10000 │?? │?? │?? ├── 10001 │?? │?? │?? ├── 10002 │?? │?? │?? ├── 10003 │?? │?? │?? ├── 10004 │?? │?? │?? ├── 10005 │?? │?? │?? ├── __init__.py │?? │?? │?? └── user_names │?? │?? ├── base │?? │?? │?? └── base.db │?? │?? └── increment_id │?? ├── lib │?? │?? ├── __init__.py │?? │?? ├── __pycache__ │?? │?? │?? ├── __init__.cpython-35.pyc │?? │?? │?? ├── __init__.cpython-36.pyc │?? │?? │?? ├── account.cpython-35.pyc │?? │?? │?? ├── account.cpython-36.pyc │?? │?? │?? ├── banji.cpython-35.pyc │?? │?? │?? ├── banji.cpython-36.pyc │?? │?? │?? ├── base.cpython-35.pyc │?? │?? │?? ├── base.cpython-36.pyc │?? │?? │?? ├── course.cpython-35.pyc │?? │?? │?? ├── course.cpython-36.pyc │?? │?? │?? ├── db.cpython-35.pyc │?? │?? │?? ├── db.cpython-36.pyc │?? │?? │?? ├── people.cpython-35.pyc │?? │?? │?? ├── people.cpython-36.pyc │?? │?? │?? ├── school.cpython-35.pyc │?? │?? │?? └── school.cpython-36.pyc │?? │?? ├── account.py # 帐户类 │?? │?? ├── banji.py # 班级类 │?? │?? ├── base.py. # 数据基础类 │?? │?? ├── course.py # 课程类 │?? │?? ├── db.py # 数据库连接类 │?? │?? ├── people.py # 人、学员、讲师类 │?? │?? └── school.py # 学校类 │?? └── log # 日志目录 │?? ├── __init__.py │?? └── system.log # 系统日志 └── README.md ## 4. 测试帐户说明 系统帐户: admin/admin 讲师帐户: hgz/123 学员帐户: hgz1/123

流程图
技术分享图片

代码:
链接:https://pan.baidu.com/s/1pNmOCjD 密码:2rfj

python 实现选课系统

标签:base   创建   连接   6.2   技术分享   mes   python   main   ext   

原文地址:http://blog.51cto.com/11019859/2065106

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!