大二上 Pyhton 时候的课设,使用类与对象思想,加入云服务 B/S 理念。
代码地址和视频介绍地址在博客:Python学生选课系统课设附源码 - vASTSEa'S bLOg
功能模块
学生模块
新学生注册 流程:输入学号,姓名,性别,生日,系别,所在上课班级集合
修改信息
退选课 添加、删除课程
花名册
删除学生
课程管理
新建课程
修改信息
班级学生管理
课程列表 课程平均分
成绩更新
删除班级
查询模块
查询学生成绩和学分 Grades:xxx , credits:xxx, GPA:xxx
查询学生个人课程表
云同步
同步数据上云
stuList、cseList、clsList 序列化为 json,post 到同步接口
http://YOURDOMAIN/loaddata.php
拉取、初始化数据
读取 http://YOURDOMAIN/coursedata.json
反序列化 stuList、cseList、clsList
智能门牌(PyQt 另行实现)
排程查看
当前排程显示
空闲时显示排程表
核心实现 à
请求接口 http://YOURDOMAIN/getRoomCourse.php?roomId=”8-8888”
获取本 Room 的所有排程信息
Json 解析到 7x5 的列表组内
展示排程表
时间判断显示当前排程
类设计
基础类
类属性
无
对象字段
无
方法
序列化
反序列化
删除对象(对象列表中)
修改对象
Id 取对象
对象列表
课程类
类属性
List
对象字段
name, id, credits
department
方法
注册添加
上课班级类
类属性
List
对象字段
className,
data
time
location
方法
班级添加学生
班级删除学生
id 获取学生成绩
更新成绩
添加班级
“人” 类
类属性
List
对象字段
Name
Sex
Birthday
Department
方法
无
学生类
类属性
List
对象字段
id
courseClassList
方法
加入班级
离开班级
注册学生
数据结构思路
Student (学生)、Course (课程)、CourseClass (上课班级) 都有自己的类属性 List(字典)
在这个字典中以学生 id 为 key(int)存储 cls 对象