设为首页 收藏本站
查看: 1488|回复: 0

[经验分享] python 实现选课系统

[复制链接]

尚未签到

发表于 2018-8-5 09:36:27 | 显示全部楼层 |阅读模式
角色:学校、学员、课程、讲师  >作业需求
  - [ ] 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

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-546817-1-1.html 上篇帖子: python 实现选课系统 下篇帖子: python学习-dnspython
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表