【Python学生成绩管理系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
二十一世纪我们的社会进入了信息时代,信息管理系统的建立,大大提高了人们信息化水平。传统的管理方式对时间、地点的限制太多,而在线管理系统刚好能满足这些需求,在线管理系统突破了传统管理方式的局限性。于是本文针对这一需求设计并实现了一个基于Python学生成绩管理系统,为了简捷并有效的解决学生成绩管理的各方面的问题。
本文讲述了学生成绩管理系统。结合电子管理系统的特点,分析了学生成绩管理系统的背景,给出了学生成绩管理系统实现的设计方案。
本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,在教师模块,主要有教师进行注册和登录,教师可以查看课程信息、课程报名、考试成绩、用户信息等,还能修改个人信息等;在学生模块,学生添加查看课程信息、公告信息等,在管理员模块,管理员可以对教师信息、学生信息、课程信息、课程类型、课程报名、考试成绩、系统管理、用户信息等进行相应的操作。
关键词:学生成绩管理系统;Djangot框架 ; Python语言;
Abstract
In the 21st century, our society has entered the information age. The establishment of information management system has greatly improved people's information level. The traditional management mode has too many restrictions on time and place, and the online management system can just meet these needs, and the online management system breaks through the limitations of the traditional management mode. Therefore, this paper designs and implements a student score management system based on Python in order to solve all aspects of student score management problems simply and effectively.
This paper describes the student achievement management system. Combined with the characteristics of electronic management system, this paper analyzes the background of student achievement management system, and gives the design scheme of student achievement management system.
This paper mainly completes the division of permissions of different users, and different users have different operation functions of permissions. In the teacher module, teachers mainly register and log in, and teachers can view course information, course registration, exam results, user information, and modify personal information. In the student module, students can add and view course information, announcement information, etc. In the administrator module, the administrator can carry out corresponding operations on teacher information, student information, course information, course type, course registration, exam results, system management, user information, etc.
Key words: student achievement management system; Djangot framework; Python language;
目 录
1绪 论
1.1 课题背景
21世纪以来,随着科学技术的飞速发展,人们对信息的要求越来越高,于是传统的信息技术越来越难以满足人们的要求。学生成绩管理系统通过计算机技术进行信息管理,完善平台与教师、学生之间的关系,有助于提高工作效率,实现信息化管理[1]。此次设计的系统不仅利于管理员总体负责整体系统的运行维护,统筹协调,同时也方便教师随时查询课程信息、课程报名、考试成绩等,之后也方便学生添加查看课程信息等,学生成绩管理系统的开发很好地解决了这一问题,同时也为学生提供方便的信息获取渠道。
1.2 选题的目的与意义
本文研究的目标是通过对各种功能单元进行最优的整合,从而达到对各种管理的具体要求,从而最大限度地提高本行业的自动化和信息化水平,从而使得学生成绩数据处理管理更清楚、更透明。操作简单,管理方便,可以实现自动检测,减少了学生成绩数据处理管理的错误。学生成绩管理系统最大的特色在于信息的处理,因为它涉及到大量的信息,而且涉及到的各种类型和复杂的管理,使得整个过程更加的繁琐。它们之间的联系很复杂,而且数据的检索和分析方式也很复杂。在以往的传统学生成绩数据处理管理中,以上各项工作都是非常繁杂和繁琐的。由于在进行数据的加工时,往往会发生信息的反复传输和丢失,所以必须引进电脑进行信息的管理,以达到改善工作者管理工作的效果。
该软件满足了时代的变化,满足了用户的需求,充分发挥了网络的交互和实时性,提供了方便、快捷、舒适的服务,使用户能够及时掌握最新的信息,使用户能够及时掌握最新的数据,并能有效地提升用户的服务水平。本制度的优势在于:
(1)该系统将课程信息及时地提供给使用者。使用者可以在任何时候登陆该网站查询相关资讯,所有资讯均真实可信,并严肃处理各项事务,确保使用者权益得到切实保障。
(2)该系统网页的界面结构简洁,便于使用者使用。
(3)系统更新方便,成本低廉,能够与用户进行双向的信息交换,能够适应市场的发展,并能吸引到越来越多的用户[2]。
1.3 初步设计方法与实施方案
软件体系结构方案:由于本系统需要在不同设备上都能运行,而且电脑配置要求也要越低越好,为了实现这一要求,经过考虑B/S架构成为最佳之选。使用B/S架构的系统可以几乎在任何电脑上运行,只要浏览器可以正常工作就可以正常运行该系统,而且后期维护及二次修改较为容易,符合要求。
操作系统方案:Windows10操作系统,该系统是目前微软公司推出的最新系统,目前大多数市面上的电脑都使用该系统,并且该系统功能完善,兼容性好。开发工具:选用 Eclipse,Python开发语言django框架,MySQL数据库。
1.4 本文研究内容
该系统以 B/S架构为基础,通过 Mysql技术,实现了对数据的查询与存储,保证了工作的正常、高效,提高了工作效率。主要的工作包括:
(1)本系统界面简洁明了,便于使用者进行操作。Eclipse提供了可视化的程序设计,大多数的功能都可以由控制程序来实现,并且用户可以很容易地进行各种操作。
(2)本系统分为三部分,能够满足管理人员与使用者的不同需要。该系统的使用者有:管理员及教师、学生[3]。
2 关键技术介绍
2.1 Python语言
Python是解释型的脚本语言,在运行过程中,把程序转换为字节码和机器语言,说明性语言的程序在运行之前不必进行编译,而是一个专用的解释器,当被执行时,它都会被翻译,与之对应的还有编译性语言。
同时,这也是一种用于电脑编程的跨平台语言,这是一门将编译、交互和面向对象相结合的脚本语言(script language)。
可以说其优点也是非常的突出,下面就其优点进行具体的说明:
(1)首先它是一种比较简单易学的,而且对初学者来说也是非常容易上手的一种语言,与其他的语言相比较在进行编写和阅读的时候,会更加接近人的思维模式,非常的适合用户的阅读性和易于理解的特点。
(2)由于其底层的逻辑是用c语言完成的,所以在运行的速度来说也是非常快的,就如许多的开发者所了解的,它的很多的标准库以及第三方的依赖都是由c语言所开发的,所以执行起来比较高效率。
(3)并且,它始终是一个面向对象的程序设计,它支持面向过程和面向对象的编写,在以流程为导向的语言里,一个程序是建立在一个过程或者一个简单的可重复使用的代码的功能上,在面向对象中,一个程序是以数据和函数为基础的对象构造的。
(4)如果需要代码的扩充或者是快速查看,在使用它的时候格式也是非常的清晰,还有便于维护的特点,在不同的开发人员共同开发的过程中,都会比较方便的理解所编写的内容。
(5)同时也是因为它开源的特点,能够被移植到很多的平台进行使用,并且它也是完全支持重载、派生、继承等有助于增强代码的复用的特点,同时有两个标准库(functools, itertools)提供了开发的支持。
2.2 MySQL数据库
网站的发展必须与数据库相配套,数据库有一定的组织结构,可以存储和管理的数据信息,在过去的数据库的功能只是数据保存和管理操作,但时代的变化和发展,现在数据库已经演变成一种数据处理、数据库从一开始简单的存储的数据表信息现在可以存储成千上万的大型数据库中的数据,或者经历了很多改革。
本管理系统开发使用的数据库是MYSQL数据库,数据库运行速度快,安全性能也很高,而且使用平台没有任何限制,所以应该广泛的输送到系统的开发中去。MySQL是一个开源和多线程关系管理数据库系统,MySQL数据库是开源的,跨平台的阻力,尽管不是强大,导致很多人都知道的基本应用程序数据库在数据库中,每个表是对应的,每个都有自己的连接,数据库具有重要意义,你不能运行一个程序没有数据库的链接,你可以看到数据库和程序是多么重要,他们是如何紧密相连的。
2.3 Django框架简介
Django被官方称之为“完美主义者框架”,只需要很少的代码就能更快的完成一个优秀的Web应用。Django采用了MTV框架模式,此模式根据MVC进行改进形成了更适于Django的设计模式。M为模型(Model)、T为模板(Template)、V为视图(View)。
3 系统分析
3.1可行性分析
在开发一个新的软件之前,必须要进行一个系统的可行性研究,以最大限度地利用这个问题。以下我们将从系统,技术,操作、运营、法律等方面来决定该体系的发展[4]。
3.1.1系统可行性分析
利用计算机支持高效率完成学生成绩管理系统的日常事务,是适应现代化制度要求、推动信息管理系统走向科学化、规范化的必要条件;同时计算机有着手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生成绩数据处理管理的效率,也是本系统信息化的重要条件[5]。
3.1.2 技术可行性分析
学生成绩管理系统在使用电脑和信息分析系统这些设计没有硬性要求,电脑只要是可以正常使用的话,那么代码和页面设计就是可行的。要求高的主要是服务器,平台上传服务器一定要选择性价比高和安全性高的,打开网站一定要顺滑不卡顿,所以硬件也是可行的[6]。
3.1.3 操作可行性分析
将根据管理系统中的用户体验和管理员的效率来分析该措施的可行性。管理员和教师、学生都可以通过简单的操作登录进对应的系统页面,方便用户搜索信息和管理人员管理数据,不需要特别懂电脑的人也可以轻松访问系统模块。该系统已完全投入使用[7]。
3.1.4运营可行性
可操作性是指将系统开发所涉及到的所有功能全都实现,代码收尾工作完成后对用户消费水平,系统的业务能力是否与用户消费水平所对等,是否可以满足大部分消费者的需求,页面是否美观,能否让用户满意,代码显示是否为轻量级,操作和功能是否简单便捷,是否同时适用于小孩,成人和老人。系统能否同时应用于windows、linux等操作系统,这取决于系统的可移植性。Python 编程语言的适应性非常强,基本上能够较好的适应目前市场环境中所流行的各个平台。也就是说Python的可移植性很强,那么系统的价值越高,可行性也就越强。
3.1.5法律可行性
该学生成绩管理系统是面向大众开源化和不收取任何费用的。它的主要目的是帮助用户解决数据处理的问题。完全符合法律可行性要求,系统内部权限划分不会导致内部用户泄露系统机密。对于用户信息,系统有保护措施,用户密码在数据库中加密,并有严格的自我控制和商品价格解释。
3.2 需求分析
需求分析的首要是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
其中获得用户需求以后,就要可以将用户需求设计为学生成绩管理系统的功能模块。在能及时的分析和发现有关需求的情况下,需要系统同时的跟进需求设计。在学生成绩数据处理管理过程中还需要创建需求工作的数据分析,以便于后面的分析做总结。写入一个需求的报告内容,其中需要包含完整的描述需求、以及功能需求、模型等后续开发过程中还需要用到的部分资料。
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,学生成绩数据处理管理功能是许多个可以测试的功能相结合的,正是由于这些功可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求。
这个阶段所要求做的就是将上述的分析具体化,设计出能满足预定目标系统的过程。从粗到细,根据程序结构化设计的要求,把整个项目分为三个用户角色,分别是管理员与教师、学生。在具体的功能模块设计上,三个角色的功能又不尽相同[8]。作为系统实施的基础,系统设计的作用尤为重要。
3.3系统用例图
学生成绩管理系统可以将功能划分为教师、学生的使用功能和管理员功能。
(1)教师关键功能包含教师注册登录,系统首页、课程信息、课程报名、考试成绩、用户信息等有关信息,并进行详细操作。教师用例如下:

图3-1 教师用例图
(2)学生关键功能包含系统首页、课程信息、公告信息、个人中心等有关信息,并进行详细操作。学生用例如下:

图3-2 学生用例图
(3)管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除,包括用户功能。管理员用例如下:

图3-3管理员用例图
3.4系统流程的分析
3.4.1 用户管理的流程
用户管理包括:添加用户信息,查看用户信息,修改用户信息,删除/激活用户信息。添加用户信息后设置用户信息的参数,如果参数合法,保存用户信息,否则需要重新设置参数;查询用户信息需要输入查询关键字,然后返回查询信息;查看用户信息就可以查看详细的信息;修改用户信息需要修改参数,如果修改后的参数合法,保存用户信息,否则需要重新修改参数;删除/激活用户信息后删除/激活用户信息成功[9]。用户管理的流程如图3-4所示。

3.4.2 个人中心管理流程
进入主页面后点击个人中心查看,点击修改密码进入修改密码页面,输入原密码和新密码,判断是否符合要求,如果符合要求即可保存,否则需要重新输入。个人中心管理流程如图3-5所示[10]。

图3-5 个人中心管理流程
3.4.3 登录流程
进入登录界面后,输入用户名和密码,选择角色后验证,如果正确进入主界面,否则需要重新输入。登录流程如图3-6所示[11]。

图3-6 登录流程
4系统设计
4.1 软件功能模块设计
学生成绩管理系统分为三个模块,分别是管理员功能模块和教师、学生功能模块。主要功能模块包括:学生、教师、课程信息、课程类型、课程报名、考试成绩、系统管理、用户信息等,系统总体功能如下图所示[12]。

图4-1学生成绩管理系统总体功能模块图
4.2 数据库设计
4.2.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
学生信息E-R图如图4-2所示。

图4-2学生信息E-R图
教师信息E-R图如图4-3所示。

图4-3教师信息E-R图
考试成绩E-R图如图4-4所示。

图4-4考试成绩E-R图
课程报名E-R图如图4-5所示。

图4-5课程报名E-R图
学生成绩管理系统总体E-R图如图4-6所示。

图4-6 学生成绩管理系统总体E-R图
4.2.2 数据表
学习程序设计,如果要了解数据库管理系统或者是根据需求而制定的系统接口,就必须创建一种数据库管理系统的模式,用来保存数据资料,这样当在应用编程过程中时候,就不需要再向操作系统页面上加载信息,进而增加了整个系统的工作效率。信息库管理系统中保存着许多数据,应该说是一个管理信息系统建设的中心和基础,而信息库管理系统也为管理信息系统建设提出了新增、删除、更改和搜索的操作功能,使管理信息系统建设能够迅速地查询所需要的数据,而不会直接从程序代码中查找。信息库管理系统通过将信息表的各个组成部分按照特定的方法准确地合并,排序和组成信息库管理系统。
本系统采用的是MySQL数据库存储数据,系统中使用到的主要数据表的具体展示部分如下所示。
表4-1:用户表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
username |
varchar |
100 |
用户名 |
||
|
password |
varchar |
100 |
密码 |
||
|
image |
varchar |
200 |
头像 |
||
|
role |
varchar |
100 |
角色 |
管理员 |
|
|
addtime |
timestamp |
新增时间 |
CURRENT_TIMESTAMP |
表4-2:关于我们表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
title |
varchar |
200 |
标题 |
||
|
subtitle |
varchar |
200 |
副标题 |
||
|
content |
longtext |
4294967295 |
内容 |
||
|
picture1 |
longtext |
4294967295 |
图片1 |
||
|
picture2 |
longtext |
4294967295 |
图片2 |
||
|
picture3 |
longtext |
4294967295 |
图片3 |
表4-3:系统简介表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
title |
varchar |
200 |
标题 |
||
|
subtitle |
varchar |
200 |
副标题 |
||
|
content |
longtext |
4294967295 |
内容 |
||
|
picture1 |
longtext |
4294967295 |
图片1 |
||
|
picture2 |
longtext |
4294967295 |
图片2 |
||
|
picture3 |
longtext |
4294967295 |
图片3 |
表4-4:收藏表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
userid |
bigint |
用户id |
|||
|
refid |
bigint |
商品id |
|||
|
tablename |
varchar |
200 |
表名 |
||
|
name |
varchar |
200 |
名称 |
||
|
picture |
longtext |
4294967295 |
图片 |
||
|
type |
varchar |
200 |
类型 |
1 |
|
|
inteltype |
varchar |
200 |
推荐类型 |
||
|
remark |
varchar |
200 |
备注 |
表4-5:公告信息分类表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
typename |
varchar |
200 |
分类名称 |
表4-6:公告信息表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
title |
varchar |
200 |
标题 |
||
|
introduction |
longtext |
4294967295 |
简介 |
||
|
typename |
varchar |
200 |
分类名称 |
||
|
name |
varchar |
200 |
发布人 |
||
|
headportrait |
longtext |
4294967295 |
头像 |
||
|
clicknum |
int |
点击次数 |
0 |
||
|
clicktime |
datetime |
最近点击时间 |
|||
|
thumbsupnum |
int |
赞 |
0 |
||
|
crazilynum |
int |
踩 |
0 |
||
|
storeupnum |
int |
收藏数 |
0 |
||
|
picture |
longtext |
4294967295 |
图片 |
||
|
content |
longtext |
4294967295 |
内容 |
表4-7:课程信息表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
kechengbianhao |
varchar |
200 |
课程编号 |
||
|
kechengmingcheng |
varchar |
200 |
课程名称 |
||
|
kechengleixing |
varchar |
200 |
课程类型 |
||
|
shangkeshijian |
datetime |
上课时间 |
|||
|
kechengshizhang |
double |
课程时长 |
|||
|
xuefen |
int |
学分 |
|||
|
kechengxiangqing |
longtext |
4294967295 |
课程详情 |
||
|
shangkedidian |
varchar |
200 |
上课地点 |
||
|
fabushijian |
datetime |
发布时间 |
|||
|
jiaoshigonghao |
varchar |
200 |
教师工号 |
||
|
jiaoshixingming |
varchar |
200 |
教师姓名 |
||
|
kechengfengmian |
longtext |
4294967295 |
课程封面 |
||
|
clicktime |
datetime |
最近点击时间 |
|||
|
clicknum |
int |
点击次数 |
0 |
||
|
storeupnum |
int |
收藏数 |
0 |
表4-8:课程类型表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
kechengleixing |
varchar |
200 |
课程类型 |
||
|
image |
longtext |
4294967295 |
图片 |
表4-8:课程报名表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
kechengbianhao |
varchar |
200 |
课程编号 |
||
|
kechengmingcheng |
varchar |
200 |
课程名称 |
||
|
kechengleixing |
varchar |
200 |
课程类型 |
||
|
shangkeshijian |
varchar |
200 |
上课时间 |
||
|
kechengfengmian |
longtext |
4294967295 |
课程封面 |
||
|
xuefen |
int |
学分 |
|||
|
kechengshizhang |
varchar |
200 |
课程时长 |
||
|
shangkedidian |
varchar |
200 |
上课地点 |
||
|
jiaoshigonghao |
varchar |
200 |
教师工号 |
||
|
jiaoshixingming |
varchar |
200 |
教师姓名 |
||
|
baomingshijian |
datetime |
报名时间 |
|||
|
xuehao |
varchar |
200 |
学号 |
||
|
xueshengxingming |
varchar |
200 |
学生姓名 |
||
|
banji |
varchar |
200 |
班级 |
表4-10:考试成绩表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
xuehao |
varchar |
200 |
学号 |
||
|
xueshengxingming |
varchar |
200 |
学生姓名 |
||
|
banji |
varchar |
200 |
班级 |
||
|
kechengbianhao |
varchar |
200 |
课程编号 |
||
|
kechengmingcheng |
varchar |
200 |
课程名称 |
||
|
xuefen |
double |
学分 |
|||
|
chengji |
double |
成绩 |
|||
|
paiming |
int |
排名 |
|||
|
jiaoshipingyu |
longtext |
4294967295 |
教师评语 |
||
|
dengjishijian |
datetime |
登记时间 |
|||
|
jiaoshigonghao |
varchar |
200 |
教师工号 |
||
|
jiaoshixingming |
varchar |
200 |
教师姓名 |
||
|
kechengfengmian |
longtext |
4294967295 |
课程封面 |
表4-11:教师表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
jiaoshigonghao |
varchar |
200 |
教师工号 |
||
|
mima |
varchar |
200 |
密码 |
||
|
jiaoshixingming |
varchar |
200 |
教师姓名 |
||
|
zhaopian |
longtext |
4294967295 |
照片 |
||
|
xingbie |
varchar |
200 |
性别 |
||
|
lianxidianhua |
varchar |
200 |
联系电话 |
表4-12:学生表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
|
xuehao |
varchar |
200 |
学号 |
||
|
mima |
varchar |
200 |
密码 |
||
|
xueshengxingming |
varchar |
200 |
学生姓名 |
||
|
zhaopian |
longtext |
4294967295 |
照片 |
||
|
xingbie |
varchar |
200 |
性别 |
||
|
banji |
varchar |
200 |
班级 |
||
|
lianxidianhua |
varchar |
200 |
联系电话 |
表4-13:配置文件表
|
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
|
id |
bigint |
主键 |
主键 |
||
|
name |
varchar |
100 |
配置参数名称 |
||
|
value |
varchar |
100 |
配置参数值 |
||
|
url |
varchar |
500 |
url |
5 系统功能实现
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到人事管理系统的导航条显示系统首页、课程信息、公告信息。系统首页界面如图5-1所示:

图5-1系统首页界面
在注册流程中,学生在Vue前端填写必要信息(如学生名、密码等)并提交。前端将这些信息通过HTTP请求发送到Python后端。后端处理这些信息,检查学生名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知学生完成注册。这个过程实现了新学生的数据收集、验证和存储。在系统首页点击登录按钮,然后页面跳转到登录界面,后来输入信息完成后,单击登录操作,如图5-2所示:

图5-2学生注册界面
在登录流程中,学生首先在Vue前端界面输入账号和密码。这些信息通过HTTP请求发送到Python后端。后端接收请求,通过与MySQL数据库交互验证学生凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-3所示:

图5-3学生登陆界面
用户点击课程信息,在课程信息的详情页面里可以查看到课程编号、课程类型、上课时间、课程时长、学分、上课地点、发布时间、教师工号、教师姓名和点击次数的信息,并可以点击报名和点我收藏的操作,如图5-4所示:

图5-4医生页面
用户点击个人中心,在个人中心页面可以更新个人详细信息,还可以对课程报名、考试成绩和我的收藏进行详细操作,如图5-5所示:

图5-5个人中心界面
5.2后台管理员功能模块
管理员通过登录页面填写用户名和密码、角色,完成后进行登录,如图5-6所示。

图5-6管理员登录页面
管理员登录进入人事管理系统的实现可以对教师、学生、课程信息、课程类型、课程报名、考试成绩、系统管理、用户信息等进行相管理操作,如图5-7所示。

图5-7管理员功能界面图
教师信息管理功能实现是在Django后端部分,您需要创建一个新的应用,然后在该应用下创建一个模型(models.py)来定义用户的数据结构,使用Django的ORM来处理与MySQL数据库的交互,包括教师信息的增删改查等操作。接着,在views.py中编写视图逻辑来处理前端请求,使用Django的URL路由(urls.py)将请求映射到相应的视图函数。对于数据的验证和序列化,可以使用Django的表单或序列化器来实现。在前端Vue.js部分,将创建相应的Vue组件,在这些组件中使用axios或其他HTTP库与Django后端的API进行交互,实现教师信息的展示、新增教师、编辑教师信息和删除教师等功能。状态管理可以通过Vuex来维护,比如在store目录下定义教师模块的状态、突变、动作和获取器。管理员点击教师;在教师页面对教师工号、教师姓名、照片、性别、联系电话等信息,进行搜索,新增、改动和删除教师信息等操作;如图5-8所示。

图5-8教师管理界面图
学生信息管理功能实现是在Django后端部分,您需要创建一个新的应用,然后在该应用下创建一个模型(models.py)来定义学生的数据结构,使用Django的ORM来处理与MySQL数据库的交互,包括学生信息的增删改查等操作。接着,在views.py中编写视图逻辑来处理前端请求,使用Django的URL路由(urls.py)将请求映射到相应的视图函数。对于数据的验证和序列化,可以使用Django的表单或序列化器来实现。在前端Vue.js部分,将创建相应的Vue组件,在这些组件中使用axios或其他HTTP库与Django后端的API进行交互,实现学生信息的展示、新增学生、编辑学生信息和删除学生等功能。状态管理可以通过Vuex来维护,比如在store目录下定义学生模块的状态、突变、动作和获取器。管理员点击学生;在学生页面对学号、学生姓名、照片、性别、班级和联系电话等信息,进行搜索,新增、改动和删除学生信息等操作;如图5-9所示。

图5-9学生界面图
管理员点击课程信息;在课程信息页面对课程编号、课程名称、课程类型、上课时间、课程时长等信息,进行搜索、新增、删除、导入、上传模板、下载模板导出、改动和删除等操作;如图5-10所示。

图5-10课程信息界面图
管理员点击课程报名;在课程报名页面对课程编号、课程名称、课程类型、上课时间、课程封面、学分等信息,进行搜索、改动和删除课程报名等操作;如图5-11所示。

图5-11课程报名界面图
管理员点击考试成绩;在考试成绩页面对学号、学生姓名、班级、课程编号、课程名称、学分、成绩等信息,进行搜索、新增、删除、导入、上传模板、下载模板导出、改动和删除等操作,如图5-12所示。

图5-12健康咨询面图
管理员点击系统管理;在系统管理页面可以对系统简介、轮播图管理、公告信息、公告信息分类和关于我们进行相关操作,如图5-13所示。

图5-13系统管理界面图
5.3后台教师功能模块
教师注册、登录界面,首先双击打开系统,连上网络之后会显示出本系统的注册、登录界面,这是进入系统的第初始页面“注册、登录”,能成功进入到该注册和登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-14所示。


图5-14教师注册、登录界面
医生登录到系统界面,可以对课程信息、课程报名、考试成绩、用户信息等功能进行相应操作,如图5-15所示。

图5-15教师功能界图面
6系统测试
在经过长期的测试与修改下,系统能正常运行,已经达到基本的要求,但难免有时会出现一些报错和Bug,如果忽略一些不起眼的小问题有可能会产生连锁反应:数据的报错,数据的无缘被修改以及泄露,甚至会成为不法分子的可乘之机,给开发者和使用者造成惨重的代价。综合以上几点,必修要对这个完成的系统进行测试,只有通过一定的测试来解决这些出现的问题。通过不断地进行测试,一步一步的发现系统中的问题,然后对问题进行一次又一次的修改,使该学生成绩管理系统更加完善,最后争取没有漏洞和Bug,成为一个接近完美无暇的学生成绩管理系统的网站。还要在测试修改的过程中吸取经验:自己为什么会犯这种错误、代码的编写哪个逻辑环节出了错误、又有哪些地方是因为自己的粗心大意造成的等等。使系统本身接近完美以及以后的维护更加快捷方便[13]。
本课题根据实际需求情况,选择以功能为主要的黑盒测试方法。具体测试过程如下:
当用户输入用户名和密码后未勾选用户时,系统提示“请选择用户登录类型”;当输入错误的用户名或密码时,系统提示“账号或密码不正确”;当输入正确的用户名和密码时,系统提示“登陆成功”后进入首页;当输入用户名和密码后点击重置,用户名和密码清空,则可以重新输入用户名和密码。如表6-1所示[14]。
表6-1登录功能测试表
|
测试内容 |
测试数据 |
期望结果 |
实际结果 |
|
登录功能 |
用户名:430 密码:430 |
提示请选择用户登录类型 |
提示请选择用户登录类型 |
|
登录功能 |
用户名:430 密码:123 |
提示账号或密码不正确 |
提示账号或密码不正确 |
|
登录功能 |
用户名:430 密码:430 |
提示登陆成功 |
提示登陆成功 |
|
重置功能 |
用户名:430 密码:430 |
用户名和密码重置 |
用户名和密码重置 |
当只输入账号后点击注册时,系统提示“必填项不能为空”;当只输入账号、密码和注册密码时,系统提示“姓名不能为空”;当输入账号、密码、注册密码和姓名后,系统提示“注册成功”并且进入登录界面;当输入账号后点击重置,账号清空,则可以重新输入[15]。如表6-2所示。
表6-2注册功能测试表
|
测试内容 |
测试数据 |
期望结果 |
实际结果 |
|
注册功能 |
账号:507 |
提示必填项不能为空 |
提示必填项不能为空 |
|
注册功能 |
账号:507 密码:507 确认密码:507 |
提示姓名不能为空 |
提示姓名不能为空 |
|
注册功能 |
账号:507 密码:507 确认密码:507 姓名:王一 |
提示注册成功,进入登录界面 |
提示注册成功,进入登录界面 |
|
重置功能 |
账号:507 |
账号重置 |
账号重置 |
6.1 系统测试结论
本系统主要使用黑盒测试,通过模拟用户使用系统实现各个功能编写测试用例,并进行测试。以确保系统流程的正确性。系统测试必不可少,可以使系统更加完善,该系统的可使用性也会更高。
测试该系统主要为了验证系统的功能模块是否满足我们最初的设计理念,验证各个功能模块逻辑是否正确,此系统不需要过于复杂的逻辑处理,以便于使用者操作。测试的最终目的也是围绕着用户使用展开。测试过程中所有场景都应符合用户需求,不可偏离需求目标,遇到问题时要站在用户的角度进行思考。经过一系列的测试过程后得到最终的测试结果,从测
试结果可以看出,实现的系统在功能和性能方面满足设计要求。
结 论
毕业设计创作已经接近尾声了,大学生活也即将结束,对于软件工程这门学科,真可谓是博大精深,值得我们学习和思考的东西还有好多,只有不断地拜读前人的著作,了解最新技术,才是学习这门可最好的方法。
在此次设计中,渐渐对数据库设计、软件工程和Python这几门课程的知识有了更加深刻的理解,并能够灵活运用其中的知识来分析实际的问题,加强了我的分析和考虑问题的能力。
更重要的是从指导老师xxx身上学到了很多东西。她待学生细心热枕,耐心回答学生的问题,主动询问学生的难处,使我见过难得的平易近人的老师。她工作态度认真负责,讲课生动透彻,让我不管是在专业还是做人上感触颇深,让我得到不少的提高,这对于我以后的工作和学习都有一种巨大的帮助,感谢她细心而又耐心的辅导。
致 谢
论文可以停留在第六章,但是人生还需要继续。
行文至此,落笔为终。我的大教师涯到此处画上了句号。始于xxx年金秋,终于xxxx盛夏。逐梦计算机学院,终究还需离别。目之所及,皆是回忆。感谢母校的培育与关怀,让我的大学生活充满色彩。
生逢盛世,与有荣焉。感谢党和国家为我提供了和平安逸的学习环境和生活环境,让我可以接受更好的教育,成为一名有理想、有知识的大学生。
桃李不言,下自成蹊。大学生活中我首先要感谢我的导员xxx老师,专业知识渊博,为学严谨认真,待人和蔼可亲,关心学生,让我感受到大学中的温暖。特别是在大学的最后阶段,每天帮我们筛选公司,帮助我就业;写论文时对我谆谆教诲,松懈时的督促。这四年张老师倾注的心血难以估计。感谢我的指导老师xxx老师,在我有困惑时总是不厌其烦的帮我解答问题,不管多晚给老师发消息,她总是第一时间向我伸出援手。为了我可以更好的完成毕业设计,经常会发一些小技巧帮助我。良师难得,定将一生铭记,一生感恩。
父母之恩,无以为报。他们含辛茹苦的将我养大成人,让我站在他们的肩膀上见识到了他们没见到的繁华。即将踏入社会,我只想不断努力,成为他们的骄傲。
平生感知己,寸岂悠悠。恰同学少年,风华正茂。我想感谢自己的室友们,朋友们。在我迷茫的时候有你们陪我,在我开心的时候你们也会在我身边。愿你们前程似锦,以梦为马,不负韶华。
本次毕业设计的完成预示着大学时代的句号,在这个设计过程中,我收获到的绝不仅仅是做项目过程中要到的知识,更多的是同窗情谊和师生情谊,最重要的是做任何事情都要具备的认真态度,以及真正职业的思考方式方法。我会带着大学收获的知识走向社会,我们更高处见!
参考文献
[1] 陈湘瑾, 孙瑜鸿, 祖子帅,等. 基于Python开发技术的信息化房屋租赁系统[J]. 科学技术创新, 2021.
[2] 刘洋瑀. 社区管理系统[D]. 华中科技大学, 2019.
[3] 魏婷. 学生成绩管理平台的开发与实现[D]. 北京化工大学.
[4] 罗云飞, 张德伟, 窦鑫鑫,等. B/S 架构信息化管理软件在学生成绩管理的应用[J]. 粮食科技与经济, 2022, 47(1):3.
[5] 张文, 方巍, 贾雪磊. 基于springboot框架的学生成绩管理系统设计与实现[J]. 计算机技术与发展, 2021, 31(11):6.
[6] 王一竹. 基于MySQL的学生成绩管理系统设计[J]. 电脑编程技巧与维护, 2022(1):4.
[7] 石怡. 基于MySQL数据库的查询性能优化研究[J]. 四川职业技术学院学报, 2021, 31(1):5.
[8] 倪灵枝. 计算机软件Python编程特点及其技术研究[J]. 科技资讯, 2022, 20(1):3.
[9] 王宏, 王清勇. 计算机软件开发中Python编程语言的应用[J]. 数字技术与应用, 2020, v.38;No.355(01):42-43.
[10] 柯采. 计算机软件开发中Python编程语言的应用[J]. 电脑编程技巧与维护, 2019(10):3.
[11] 吕萱. 计算机软件开发中Python编程语言的应用[J]. 信息与电脑, 2020(8):3.
[12] 张烈超, 胡迎九. 典型Python Web开发框架模型的研究[J]. 武汉交通职业学院学报, 2021, 23(4):6.
[13]陈孝威, 陈凌云. 三层体系结构的客户机/服务器 [J]. 计算机应用, 2020(01): 23-26.
[14]杨秀斌, 李岩琦, 景慎艳. 学生成绩管理系统 [J]. 电子世界, 2019(09): 179+182.
[15]苏蒙蒙. 基于移动互联网的家政服务系统的设计与实现 [D]. 北京邮电大学, 2020: 10-45.
[16]万佳. 南昌市学生成绩管理系统分析与设计 [D]. 云南大学, 2021: 34-78.
[17]王子元. 浅析学生成绩管理系统的培养与发展 [J]. 知识经济, 2020(20): 58-59.
[18] Hu X , Yan C . Development and application of Python language development test evaluation system software[J]. Journal of Computational Methods in Sciences and Engineering, 2020:1-12.
[19] Huang C Y . Learning Database through Developing Database Web Applications[J]. International Journal of Information and Education Technology, 2019, 9(4):241-249.
[20]Qiuying Han,Xiuye Yin. Application of Python Programming Language in Computer Software Development[J]. International Journal of Computational and Engineering,2020,5(4).
免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!
免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!
免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!
更多推荐


所有评论(0)