基于PyQT5的学生成绩管理系统(运行简单,简单有文档,带注释,含源码)

2023-10-31

自己做的项目,全CSDN唯一,禁止转载,基于pyqt5的学生成绩管理,带登录注册,基本的学生信息的增加、修改、删除、查询和选课,课程信息的增加、修改、删除、查询,成绩的添加、修改、查询等功能,用pycharm导入,安装依赖包,配置好数据库就可以正常运行了,里面的代码都含有注释,结构简单,清晰易懂,看一下就会了,可以基于这个来做二次开发都行,有需要可以私聊,项目结构如下:

《学生成绩管理系统》

--方案设计说明书

该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校.学院等等)的学生信息的管理。

目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少,但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。

学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。

本系统完成了学生信息的增加、修改、删除、查询和选课,课程信息的增加、修改、删除、查询,成绩的添加、修改、查询等功能。

【关键字】:

信息管理系统、模块设计、软件工程。

学生信息管理系统的功能总结起来,共需要以下几个方面:

1、登录功能

具有账号的操作者登录使用系统

2、学生信息管理

管理所有学生的基本信息,包括增加、修改、删除等,也可以根据各种条件查询出需要的信息。

3、学生成绩管理

根据学号进行登记课程的成绩,可以根据学号查询出来选课信息与成绩。

3.1开发环境

名称

内存

CPU

磁盘

笔记本

8GB

Intel酷睿i5-8250U

238.35GB

3.2工具列表

描述本软件运行所使用的计算机软件及版本,包括:

1) 操作系统:Windows  

2) 数据库系统:Mysql

3) 开发平台及工具:PyCharm, Pyqt5

4) 通信协议:TCP/IP

5) 其他软件:Navicat数据库连接工具

3.3结构设计

结构设计,根据对系统的需求分析,本系统将分为5个功能模块:

模块名称

描述

登录模块

登录界面,提供账号和密码输入框。

学生管理模块

管理学生的基本信息,提供个人信息的添加、修改、删除,以及选课信息的添加。

学生查询

查询已经登记的学生的基本信息

成绩管理

管理学生的选课的成绩信息,包括成绩的登记与修改。

成绩查询

查询已经登记的成绩信息。

表 功能模块表

3.4功能结构图

 

4.1 工作流设计

1.登录

管理员使用账号和密码进行登录,系统对账号和密码进行校验

2.增加学生信息

系统操作人员打开学生信息添加界面,输入相关的信息(姓名、性别、年级等),在数据库中添加相关数据。

3.修改学生信息

根据学生的学号查询出该学生的相关信息,修改相关条目后保存在数据库中。

4.删除学生信息

根据学生的学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。

5.学生选课

选择学生学号与需要选择的课程,确定无误后保存,数据库中将自动添加新的选课记录。

6.登记成绩

根据学号,以及该学生所选择的课程,进行成绩登记,为选课的同学将无法登记。

7.修改成绩

对已经登记的成绩信息进行修改。

8.学生查询

可以根据学生学号、学生姓名、学生性别、年级来对学生信息进行查询,所有符合查询条件的学生信息将都被显示出来。

9.成绩查询:

根据学生的学号来查询该学生所有课程的成绩。

4.2数据库设计

4.2.1 数据库设计

此系统使用的是mysql数据库,由于此系统需要的数据量不是很大,所以选择比较简便mysql数据库。此系统的数据库名称是studentsys,编码采用utf8,使用Navicat工具查看,如图:

 

4.2.2 数据库表设计

用户管理表

名称

字段名称

数据类型

主键

非空

id

序号

int

Yes

Yes

password

登录密码

varchar

No

No

phone

登录账号,采用手机号

varchar

No

No

学生管理表

名称

字段名称

数据类型

主键

非空

id

序号

int

Yes

Yes

student_id

学号

varchar

No

No

name

姓名

varchar

No

No

sex

性别

varchar

No

No

age

年龄

int

No

No

the_class

班级

varchar

No

No

成绩管理表

名称

字段名称

数据类型

主键

非空

id

序号

int

Yes

Yes

subject

课程

varchar

No

No

score

分数

varchar

No

No

student_id

学号

varchar

No

No

student_name

名字

varchar

No

No

4.3 详细设计

使用PyQT5制作GUI交互界面,包括以下5个功能模块构成,包括登录、成绩管理、成绩查询、学生管理、学生查询,以下分别加以叙述:

1、登录主界面

从输入框接收输入的账号和密码,通过查询数据库判断是否正确,如果账号不存在,则提示用户账号不存在,如果密码错误,则提示密码错误,如果验证通过,则提示成功,跳转至管理页面。

运行截图:

2、成绩新增主界面

输入学号、姓名、科目、分数,点击提交或者修改按钮则把数据插入或者更新至数据库中。

运行截图:

3、成绩查询主界面

输入学号、姓名、成绩区间,点击查询。如果没有查询到内容,则给出提示。查询成功,则把数据加载到列表展示到页面上。

运行截图:

4、学生新增主界面

输入学号、姓名、性别、年龄、班级,点击新增/修改。则把数据插入或者更新到数据库中。点击删除学生,则通过学号删除学生,如果学生不存在,则给出提示。

运行截图:

5、学生查询主界面

输入学号、姓名、班级,点击查询。如果没有查询到内容,则给出提示。查询成功,则把数据加载到列表展示到页面上。

运行截图:

字数太多了,不贴出来了,见文档

点击下载源码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于PyQT5的学生成绩管理系统(运行简单,简单有文档,带注释,含源码) 的相关文章

随机推荐

  • java 控制 区域投屏,Scrcpy投屏原理浅析-设备控制篇

    起初我真的想过自己单独写一套来着 后来发现时间真的不够 所以有了对scrcpy源码的浅析 服务端我就用scrcpy现有的了 客户端scrcpy采用ffmpeg sdl2 0进行了跨平台的播放 我准备用Flutter重构客户端部分 Scrcp
  • SVN客户端安装及使用说明

    SVN客户端安装及使用说明 一 SVN客户端与语言包的安装 1 下载TortoiseSVN 2 安装TortoiseSVN 双击安装包 进入下一步 如图 3 点击Next 进入下一步 如图 4 选择接受 然后点击Next 进入下一步 如图
  • Python中逗号的三种作用

    最近研究python 遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1 逗号在参数传递中的使用 这种情况不多说 没有什么不解的地方 就是形参或者实参传递的时候参数之间的逗号 例如def abc a b 或者abc 1 2 2 逗号在类型
  • Python学习笔记(五)—LOOP 循环

    个人认为Python基础学习直到LOOP才算真正开始 循环有While do while 和for 比如while 我们要输出100条 you are my sunshine 可以表达如下 count 0 while count lt 10
  • opencv 打开1080P等高分辨率摄像头时卡顿问题的解决

    参考 blog csdn net lunweiwangxi3 article details 88556911 http blog sina com cn s blog 9b493e7b0102xvn6 html 总结http stacko
  • SRCNN以DIV2K数据集进行训练时,.h5文件、PSNR评价指标、运行结果

    由于是从Word文档直接复制过来 其中格式如果乱码或者不通顺 请评论区告知我 1 对于 h5文件的大小计算 输入图片后 由于大小不同 无法从图片直接计算 但整合后数组有两个 一个arrlabel 一个arrdata 1 其中 arrlabe
  • java 对象属性复制,将一个对象的属性值赋值给另一个对象, 属性名需要相同

    java 对象属性复制 将一个对象的属性值赋值给另一个对象 属性名需要相同 关键代码 import org springframework beans BeanUtils BeanUtils copyProperties a b demo
  • 微信小程序--实现分享功能

    本篇文章的目标是实现分享小程序中的单张页面给其他用户 并且打开分享后的页面拥有返回按钮 最终的效果 1 封装一个分享的组件
  • 文件的名字带有特殊符号下载报错问题

    在这里插入图片描述 其中encodeURI 主要用于整个URI 例如 http www jxbh cn illegal value htm 而encodeURIComponent 主要用于对URI中的某一段 例如前面URI中的illegal
  • 六级(2020/12-2) Text1

    Vegetarians would prefer not to be compelled to eat meat Yet the reverse compulsion 强迫 is hidden in the proposals for a
  • char与wchar_t(TCHAR)之间的相互转换

    char与wchar t TCHAR 之间的相互转换 vc 2005以后 Visual studio 编译器默认的字符集为Unicode VC中很多字符处理默认为宽字符wchar t L Holle 如CString的getBuffer 而
  • 玩转Openwrt(二) — 配合Android手机打造无线音乐播放器

    前一篇文章大概介绍了刷入带ADSL驱动的openwrt以及简单的配置 这次就总结下一个好玩的应用 使用android手机 mpd打造一台无线音乐播放器 所需装备 DB120或者RG100A或者其它BCM6358芯片的路由一台 USB声卡一件
  • 09.语义分割和数据集

    语义分割 PDF part 2 13 pdf d2l ai 视频 46 语义分割和数据集 动手学深度学习v2 哔哩哔哩 bilibili 语义分割 semantic segmentation 问题重点关注于如何将图像分割成属于不同语义类别的
  • 第13章Stata Logistic回归分析

    目录 13 1二元Logistic回归分析 案例延伸 延伸1 设定模型预测概率得具体值 延伸2 使用Probit模型对二分类因变量进行拟合 13 2多元Logistic回归分析 案例延伸 延伸 根据模型预测每个样本视力低下程度的可能性 13
  • Java输入流之BufferReader和Scanner的用法!

    在Java中 我们都知道Java的标准输入串是System in 但是我们却很少在Java中看到谁使用它 这是因为我们平时输入的都是一个字符串或者是一个数字等等 而System in提供的read方法是通过字节来读取数据的 所以对我们来说太
  • react hooks的用法

    一 页面初始化的结构 export const SearchPanel gt 二 声明字段的类型 请求字段类型 const param setParam useState name personId 四 写请求接口的代码 useEffect
  • java随机选人,实现对文本文件操作

    理解 全程无报错 IDEA全绿通过 每步都有注解 因为防止 main主代码 太长 将很多方法都封装了 编程小白 有不足的地方希望能指正出来吧 好的处理点 我觉得自己比较好的地方是 将页面方法返回值 设置为集合 这样打印页面的时候 能返回路径
  • CTF-Crypto题目分析__1

    CTF Crypto题目分析 1 以下所有题目提交flag的格式为SeBaFi 第一题 考察base36编码 下载附件后可得 597142166468670232704404065453992639482284357949191392729
  • Java 敏感词过滤工具类及文本

    最主要最主要的文本在此 链接 https pan baidu com s 163mWeLecBdV1tA1WstXnuw pwd yyds 提取码 yyds 复制这段内容后打开百度网盘手机App 操作更方便哦 工具类代码 就是解析文本进行过
  • 基于PyQT5的学生成绩管理系统(运行简单,简单有文档,带注释,含源码)

    自己做的项目 全CSDN唯一 禁止转载 基于pyqt5的学生成绩管理 带登录注册 基本的学生信息的增加 修改 删除 查询和选课 课程信息的增加 修改 删除 查询 成绩的添加 修改 查询等功能 用pycharm导入 安装依赖包 配置好数据库就