这个项目是基于Qt框架(C++)和SQLite轻量级数据库开发的GUI学生信息管理系统,系统集成了学生基本信息管理、成绩记录、班级管理、课表查看等功能。
前端界面:Qt框架(C++)
后端数据库:SQLite
输入用户名,学生端用户名为学生的学号,管理员端用户名为"sdu"。
输入密码,密码默认为"12345678",登录后可以自行更改密码,密码保存在数据库中,为经过MD5加密以后的字符串。
保存用户名,是否保存用户名,如果点击保存,则程序会把用户名存入注册表中,下一次登录时将自动填入上一次保存的用户名。
(注册表路径:计算机\HKEY_CURRENT_USER\Software\SMS\studentManagementSystem Windows中在终端用"regedit"指令查看注册表)
点击进入或退出系统。
切换学生端和管理员端。
个人信息:
显示学生的详细个人信息
成绩查询:
选课浏览:
课程信息:
修改密码:
学生管理:
可以设置排序字段(字段名为数据库中的真实字段名),可以分男女,也可以通过学生号搜索。
数据列表,可以修改数据内容。
显示当前选中的记录,可以用来修改数据。
功能栏:
输入要求:
下面的几个管理界面与组件排布上与学生管理界面相似,只介绍输入要求。
成绩管理:
输入要求:
学生选课:
输入要求:
课程管理:
输入要求:
教师管理:
输入要求:
班级管理:
输入要求:
修改密码:与学生端相似,只是不需要输入用户名,略。
定义在smsdatabase.h和smsdatabase.cpp文件里,会在main.cpp中新建一个全局所有组件所共用的数据库接口(QSqlDatabase),会通过各自组件的构造函数传递smsDatabase类的指针给其他组件,模块会自动管理SQLite数据库接口的开启和关闭。
st=>start: 程序启动
e=>end: 程序关闭
setGDB=>operation: 创建一个smsDatabase对象,创建数据库接口
login=>operation: smsDatabase对象删除,关闭数据库接口
sub=>subroutine: 传递给各组件(构造函数)
st->setGDB->sub->login->e
使用SQLite搭建的数据库,具体内容如下:
student表:储存学生数据。
teacher表:储存教师数据。
course表:储存课程数据。
score表:有两个用途:如果学生有相关课程的成绩记录,则说明学生选择了这门课程,而课程是否有过程评价、期末成绩和绩点记录则表示课程是否结课。
school表:储存学院数据。
major表:储存专业数据。
class表:储存班级数据。
setting表:储存设置信息,包括管理员用户名、密码和学期信息等。