《Python程序开发》课程设计报告 学生成绩测评系统

目 录

1、需求分析............................................................................................................ - 1 -

2、功能设计与分析................................................................................................. - 1 -

1、使用数据库对数据进行存取............................................................................. - 1 -

(1)使用PyMySQL模块操作数据库对数据进行存取.................................... - 1 -

(2)创建数据库school,创建数据表student_sore、teacher_login................... - 1 -

(3)使用xlrd模块从Excel文件中读取数据到数据库.................................. - 1 -

(4)定义一个PyMySQL增删改查的工具类PyMySQLUtils........................... - 2 -

2、使用桌面窗体界面进行交互............................................................................. - 3 -

(1)使用Tkinter模块实现图形化界面GUI设计........................................... - 3 -

(2)开始界面:教师注册、教师登录、退出系统.......................................... - 3 -

(3)教师注册界面:输入账号、输入密码、确认账号、确定、返回.............. - 4 -

(4)教师登录界面:账号、密码、确定、返回.............................................. - 4 -

(5)教师操作界面:添加、修改、查询、删除.............................................. - 4 -

3、 实现所有相关信息的添加、修改、查询、删除等功能..................................... - 5 -

(1)添加学生成绩信息................................................................................. - 5 -

(2)修改学生成绩信息................................................................................. - 6 -

(3)查询学生成绩信息................................................................................. - 7 -

(4)删除学生成绩信息................................................................................. - 7 -

(5)清空输入框的内容................................................................................. - 8 -

(6)写入到Excel文件................................................................................. - 8 -

3、总结与体会......................................................................................................... - 9 -

(1)课程设计总结........................................................................................ - 9 -

(2)课程设计体会........................................................................................ - 9 -

4、运行结果........................................................................................................... - 10 -

(1)开始界面............................................................................................. - 10 -

(2)教师注册界面...................................................................................... - 10 -

(3)教师登录界面...................................................................................... - 12 -

(4)教师操作界面...................................................................................... - 13 -

1、需求分析

(1)通过类的知识实现学生成绩信息(学号、姓名、院系、三门课成绩、考试平均成绩、同学互评分、任课教师评分、综合测评总分,其中综合测评总分由:考试平均成绩70%,同学互评分10%,任课教师评分20% );

(2)能够实现学生成绩信息的保存和读取(使用数据库对数据进行存取);

(3)实现所有相关信息的输入、输出、查找、删除、修改等功能;

(4)系统界面应至少实现控制台界面(使用桌面窗体界面进行交互);

(5)通过xlrd和xlwt模块读取和写入Excel文件;

2、功能设计与分析

1、使用数据库对数据进行存取

(1)使用PyMySQL模块操作数据库对数据进行存取

先安装PyMySQL模块:pip install PyMySQL

再使用时直接导入即可:import pymysql

(2)创建数据库school,创建数据表student_sore、teacher_login

可以使用Navicat for MySQL创建,也可以使用预处理语句创建表,若不存在则创建,若存在则跳过;

(4)定义一个PyMySQL增删改查的工具类PyMySQLUtils

1)def __init__(self)获取连接:

打开数据库的连接,使用cursor()方法获取操作游标;

2)def fetchall(self, sql)查询获取多条数据:

使用execute()方法执行SQL语句,使用fetchall()方法获取多条数据;

3)教师操作界面:添加、修改、查询、删除

class TeacherMenu:(销毁上一个窗口)初始化一个根窗口window;添加三个Frame框架控件,用于框架分组self.frame_center、self.frame_left、frame_right;在中心区域添加ttk.Treeview树视图窗口控件,ttk.Scrollbar 滚动条控件,设置列、表头,定义储存数据的列表,从数据库获取表格内容,设置表格内容,给表头绑定函数tree_sort_column,点击可排序,给表格绑定点击事件tree_click,获取被点击的条目;在左方区域添加八个Label标签控件,用于单行文本显示;添加八个Entry输入控件,用于显示用户输入文本,添加六个Button按钮控件,将其分别与关联函数绑定;在主事件循环中等待用户触发事件响应。

..................

3、总结与体会

(1)课程设计总结

学生成绩管理系统主要还是实现增删改查存取的功能,用PyMySQL操作数据库操作很方便实现,可以定义一个工具类PyMySQLUtils,简化代码避免冗余。图形化界面设计上用Tkinter实现的,导入tkinter模块、创建根窗体、添加人机交互控件并编写相应的函数、在主事件循环中等待用户触发事件响应;控件的使用放置这里需要多次试改,找到一个合适相对美观的布局,grid 就是用表格的形式定位的,place()就是给精确的坐标来定位,pack()就是会按照上下左右的方式排列;相对比较难的是获取输入框的数据后,需要转变类型才能计算考试平均成绩和保留的位数之类的;增删改查的功能都是先根据输入框中的学号操作数据库中的数据,接着根据输入框中的学号在储存学号列表的索引操作储存数据的列表中的数据,最后操作表格内容中的数据,其实就是对数据库、列表、ttk.Treeview树视图窗口控件的增删改查操作。排序功能是通过给表头绑定tree_sort_column函数,使用list.sort()方法,根据排序后索引移动,重写表头使之成为再点倒序的表头。

(2)课程设计体会

总体来说,这次课程设计时间上有点紧迫,很多想实现的功能都没写,本来是准备分为:教师注册登录操作、学生登录操作的,有些功能对学生不开放,但代码大量重复就省略了。这次课程设计复习并深入理解了Python语言基本特性、数据文件读取方法及面向对象思想,研究并掌握Python面向对象的语法特点和使用方法;简单使用了xlrd和xlwt模块实现Excel文件的读取和写入,实现了使用桌面窗体界面进行交互,和使用数据库对数据进行存取,基本掌握了PyMySQL和Tkinter模块的使用。

4、运行结果

下载链接:

https://download.csdn.net/download/weixin_68551689/87363832?spm=1001.2014.3001.5501

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
学生成绩管理系统测试计划是为了确保学生成绩管理系统的功能和性能能够满足需求,并且能够稳定运行而制定的一项计划。下面是一个学生成绩管理系统测试计划的简要介绍: 1. 测试目标:明确测试的目标,例如验证系统的功能是否符合需求、性能是否满足要求等。 2. 测试范围:确定测试的范围,包括测试哪些功能模块、哪些用户场景等。 3. 测试资源:确定测试所需的资源,包括测试环境、测试数据、测试工具等。 4. 测试策略:确定测试的策略,包括测试方法、测试技术、测试用例设计等。 5. 测试计划:编制详细的测试计划,包括测试任务、测试时间安排、测试人员分配等。 6. 功能测试:对学生成绩管理系统的各个功能进行测试,验证其是否符合需求。 7. 性能测试:对学生成绩管理系统进行性能测试,验证其在负载情况下的性能表现。 8. 安全测试:对学生成绩管理系统进行安全测试,验证其是否存在安全漏洞。 9. 兼容性测试:对学生成绩管理系统在不同平台、不同浏览器等环境下进行测试,验证其兼容性。 10. 用户验收测试:邀请用户参与测试,验证学生成绩管理系统是否满足用户需求。 11. 缺陷管理:对测试过程中发现的缺陷进行记录、跟踪和管理。 12. 测试报告:编制测试报告,总结测试结果、问题和建议。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰度少爷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值