python毕业设计论文基于django学生在线考试系统

摘 要

本文首先实现了学生在线考试管理的发展,随后依照传统的软件开发流程,最先为系统挑选适用的语言和软件开发平台,依据需求分析开展控制模块制作和数据库查询构造设计,依据系统整体功能模块的设计,制作系统的功能模块图、流程表和E-R图。其次进行设计框架,依据设计的框架撰写编码,完成系统的每个功能模块。最终,对基本系统开展了检测,包含软件性能测试、单元测试和性能指标。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

关键字:B/S模式、Python、学生在线考试

Abstract

This paper firstly realizes the development of online examination management, then according to the traditional software development process, firstly selects the appropriate language and software development platform for the system, carries out the control module production and database query construction design according to the demand analysis, and makes the system function module diagram, process table and E-R diagram according to the design of the whole system function module. Secondly, I design the framework, write the code according to the framework, and complete each function module of the system. Finally, the basic system is tested, including software performance tests, unit tests and performance indicators. The test results show that the system can achieve the required function, the running condition is acceptable without obvious shortcomings.

Key words: B/S mode, Python, online examination

目 录

1 绪 论 1
1.1项目研究的背景 1
1.2课题研究现状 1
1.3系统总概 2
1.4论文结构 2
2 开发技术介绍 4
2.1 B/S架构 4
2.2 MySQL 数据库介绍 4
2.3 MySQL环境配置 4
2.4 Python可视化技术 5
2.5 Django框架 5
3 系统分析 6
3.1可行性分析 6
3.1.1技术可行性 6
3.1.2经济可行性 6
3.1.3操作可行性 6
3.2系统性能需求分析 7
3.3系统功能分析 7
3.4系统流程的分析 8
3.4.1个人中心管理流程 8
3.4.2登录流程 9
4系统设计 10
4.1软件功能模块设计 10
4.2数据库设计 10
4.2.1概念模型设计 10
4.2.2物理模型设计 12
5系统详细设计 17
5.1系统登录注册功能实现 17
5.2管理员模块实现 18
5.3用户模块实现 20
6系统测试 22
6.1软件测试原则 22
6.2软件测试过程 23
6.3测试用例 24
6.4本章小结 25
结 论 26
参考文献 27
致 谢 28

1 绪 论

1.1项目研究的背景
随着科学技术发展,计算机已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。人类社会进入了全新的信息化时代。学生在线考试管理一直是信息管理的一大难题,学生在线考试信息数量多,此时寻找有效便捷的学生在线考试管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理学生在线考试管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。
使用学生在线考试系统相对传统学生在线考试管理方式具备很多优点:首先可以大幅提高学生在线考试检索,只需输入相关信息就能在数秒内反馈想要的结果;其次可存储大量的学生在线考试信息,同时学生在线考试系统安全性有更高的保障;相比纸质文档来管理学生在线考试,学生在线考试系统更节省空间人力资源。这些优点大大提高管理效率并节省运营成本。因此,必须开发一个学生在线考试系统开展合理有效的管理方法,这提高了学生在线考试的效率和特性,增加了用户信息安全性,方便用户及时反馈信息给管理员,增加了用户之间的互动交流,更能提高用户的体验强度。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库[1],而Python技术[2], B/S架构则保证了较高的平台适应性。文中主要是讲解了该系统的开发环境、要实现的基本功能和开发步骤,并主要讲述了系统设计方案的关键点、设计思想。
1.2课题研究现状
现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时各类管理系统作为新型产业崛起,大量制度进入人们生活,而无疑是学生在线考试最好的管理制度,在这样成功的管理模式背景下,学生在线考试信息越来越多。但是随着学生在线考试信息的增多,管理员的管理成为了一个难题。高效便捷地管理成为了转变管理模式,与时代兼容的当务之急。
学生在线考试系统,为用户随时随地查看学生在线考试信息提供了便捷的方法,更重要的是大大的简化了管理员管理学生在线考试信息的方式方法,更提供了其他想要了解学生在线考试系统及运作情况以及挑选方便快捷的可靠管道。相比于传统学生在线考试管理方法,这样的电子信息管理更为简洁方便,在维护信息反馈和处理意见方面也有得天独厚的优势。
学生在线考试系统能做到的不仅是大大简化管理员的信息管理工作,在提高管理效率的同时还能缩减开支,更能在数字化的平面网络上将最好的一面展示给用户,而这个系统在带给全新用户信息管理统计和分类的同时,还成为日后制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为学生在线考试管理最不可或缺的内容。尽管目前大部分已经将学生在线考试系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合管理方针,不同系统有不同的要求,个性化也是管理系统十分重要的一点,所以都希望自己能有一个个性化定制的学生在线考试系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的学生在线考试系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着规模的不断扩大,用户信息共享也成一种趋势。系统的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高。
1.3系统总概
作为一个学生在线考试系统,数据流量是非常大的,因而,系统的制定需要达到方便使用、实际操作灵便的规定[3]。所以,在设计学生在线考试系统时,应完成下列总体目标:
(1)页面应美观大方友善,查找应便捷方便,数据储存应可以信赖;
(2)全方位呈现全部学生在线考试信息,方便使用者迅速查询全部信息;
(3)方便用户快速搜索学生在线考试信息;
(4)用户可以随意调整自身的基本信息;
(5)完成学生在线考试管理作用;
(6)系统使用方便,便于维护;
(7)系统运作平稳、安全可靠。
1.4论文结构
1.绪论:剖析项目可行性,表明研究方向。
2.开发技术:系统关键运用了Python语言、b/s方式和myspl数据库查询,并进行了详细介绍[4]。
3.系统分析:包含系统的总体构造,剖析系统的特性、作用和流程图。
4.系统设计:软件程序功能模块和数据库查询的总体设计。
5.系统总体设计:叙述系统的作用,
6.测试系统。
7.在文章的最终,我个人总结了自身在系统开发和论文撰写全过程中的汇总、感想,包括致谢。

2 开发技术介绍

2.1 B/S架构
B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。
B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:
(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。
(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。
2.2 MySQL 数据库介绍
MySQL是数据库是比较灵活的方式,优势就在于更加的切合开发者的思考逻辑,所以理解起来也会比较的方便,还能够和其他的语言一起使用,在连接起来就是比较的易懂,同时对于一些基本的查询以及添加的操作也是必须能够掌握的功能。
MySQL支持使用多线程,充分利用了CPU的计算资源,可以选择InnoDB, MyISAM和MEMORY等作为存储引擎,提供了丰富的数据库管理工具。在索引功能的加持下,其具有非常高的查询效率,并支持主从、多节点集群等高可用部署模式。MySQL凭借其低廉的成本、可靠的数据库服务和出色的性能;MySQL还是比较灵活的方式,优势就在于更加的切合开发者的思考逻辑,所以理解起来也会比较的方便,还能够和其他的语言一起使用,在连接起来就是比较的易懂,同时对于一些基本的查询以及添加的操作也是必须能够掌握的功能。目前己经成为绝大多数企业在进行开发时的首选;
2.3 MySQL环境配置
本文系统数据信息用的是MySQL,必须组装在特定的档目录下。假如免费下载非安装的MySQL压缩档,只需缓解压力到指定的档目录就可以。随后点一下文档C : \ Program Files \ MySQL \ bin \ winMySQLadmin.exe在其中C\ Program Files \ MySQL是MySQL安装档。键入winMySQLadmin的原始账户密码(留意:这不是MySQL中的账户密码)你不用在意。确定后,右下方的任务栏栏会出现一个红绿灯标志。红灯表明服务项目终止,绿灯表明服务项目是正常的,左击这个图示->winnt->install the service 安装此服务项目,随后点击一下v->winnt->start the service 运行MySQL服务项目。
改动MySQL数据库的root登陆密码。用cmd键键入命令行模式输入如下命令:
cd C:\Program Files\MySQL\bin
MySQLadmin -u root -p password 123
回车出现Enter password:代表着键入初始登陆密码。安装之初,登陆密码为空,立即键入就可以。至此,MySQL中账号root的登陆密码改成123,安装完毕。
2.4 Python可视化技术
Python语言是荷兰guido van rossum在1991年推出的一种免费开源语言,其开发的程序可读性非常强,非常适合初学者学习,功能强大并且易于开发,可扩展性很强,代码库也很丰富,它的应用范围也非常广,例如web应用开发、科学计算、人工智能等多个领域。自2005年开始,Python上涨的势头就非常明显,如今已经进入到3.0时代,近来在tiobe公布的2022年1月排行榜中,Python取得了第一的成绩,这说明Python语言在蓬勃发展并且其发展前景非常好。对于物联网专业的中职学生来说,学习Python语言不仅可以提高他们的专业水平和逻辑性,还可以提高他们的就业竞争力。
2.5 Django框架
Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈•莱因哈特命名。该架构的主要组件如下:
1.用于创建模型的对象关系映射。
2.最终目标是为用户设计一个完美的管理界面。
3.是目前最流行的URL设计解决方案。
4.模板语言对设计师来说是最友好的。

3 系统分析

3.1可行性分析
在开发系统之前,必须对系统开展可行性研究,目地是用有效的方法处理最大的问题。程序流程一旦开发出去满足客户的要求,便会产生许多益处。下面咱们就从技术性、操作性、经济性等领域来挑选这一系统最后是不是会开发。
3.1.1技术可行性
此次系统开发挑选Python语言,这也是一种面向对象编程的语言,Python为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度[9-11],作为Python开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以系统设计选择使用MySQL数据库查询主要运用于创建和维护信息。从未来发展趋势看来,应当具备功能完善,使用方便的优势,数据库的要求则是能够建立和维护数据信息的统一性和完整性。
依据上述目标来分析本系统的硬件如下:
Intel® Core™ i7-7700HQ CPU ;
存储器是 16G;
硬盘是1000G;
操作系统是Window 10;
软件层面,安装了Visul Studio和MySQL数据库开发专用工具。依据以上硬件配置和系统规定,得到本系统的技术水平是有效的。
3.1.2经济可行性
本系统的软件开发只要一台一般的计算机就可以进行开发,其成本费很低。此外作为毕业设计论文,开发花费基本上可以忽略,系统软件的交付使用,可以实现更加快速高效的学生在线考试管理,同时还能实现对人力资源和管理资源的有效节约,该学生在线考试系统设计与实现在经济上完全可行。
3.1.3操作可行性
伴随着科学技术的迅猛发展,计算机早就进到大家的日常生活,大家的办公环境都不像过去那么极端了。规定工作人员在指定地点工作,有一些工作可以在家里进行。这促使大家工作效能更高一些。操作的多样化也变的更高一些。因而,管理方法的便利化和数字化是现代社会的大势所趋。各种各样智能系统五花八门,不一样的系统可以满足消费者不一样的要求,既增强了工作效能,又达到了一些特殊的要求。该系统不但页面简洁明了,并且使用了数据可视化页面。客户可以应用鼠标和键盘来改动、删掉、加上等有关信息。由于这一系统的使用比较简单实用,第一次应用系统只要一点时间就能很快上手。因而,该系统在使用上是有效的。
3.2系统性能需求分析
对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析;
系统反应度:同时上万人在线时反应时间应该在两三秒以内,。
简单明了的页面:系统界面规定简单明了,使用方便,有利于客户实际操作。
储存特性高:学生在线考试系统的设计方案和完成必须储存很多的信息,因此系统的存储量十分高,因此数据库查询要十分强力,确保信息的可靠平稳储存;
易懂:系统在使用上一定要实用。不用许多繁杂的实际操作,只要简洁的学习培训就可以实际操作。
可靠性:学生在线考试系统的设计方案、完成和运行平稳,页面清楚,字体样式清楚。
3.3系统功能分析
考虑到实际生活中在学生在线考试管理方面的需要以及对该系统认真的分析,将系统按权限进行划分。
管理员登入使用本系统涉到的功能主要有首页、个人中心、用户管理、课程信息管理、试卷管理、试题管理、考试管理等功能。管理员用例如图3-1所示。
在这里插入图片描述

图3-1 管理员用例图
用户登入使用本系统涉到的功能主要有首页、个人中心、课程信息管理、考试管理等功能。用户用例如图3-2所示。
在这里插入图片描述

图3-2 用户用例图
3.4系统流程的分析
由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以管理员功能权限下的系统业务流程来分析,如下图所展示:
3.4.1个人中心管理流程
个人中心管理流程如图3-3所示:
在这里插入图片描述

图3-3个人中心管理流程
3.4.2登录流程
登录流程如图3-4所示:
在这里插入图片描述

图3-4登录流程

4系统设计

4.1软件功能模块设计
系统整功能如下图4-1所示:
在这里插入图片描述

图 4-1 系统总体功能模块图
4.2数据库设计
4.2.1概念模型设计
概念模型是对现实中的问题出现的事物进行描述,ER图是由实体线以及关联构成的图,E-R图可以明确地叙述系统中涵盖的实体线相互关系。
教师实体图如图4-2所示:
在这里插入图片描述

图4-2教师实体图
考试记录实体图如图4-3所示:
在这里插入图片描述

图4-3考试记录实体图
试题实体图如图4-4所示:
在这里插入图片描述

图4-4试题实体图
课程信息实体图如图4-5所示:
在这里插入图片描述

图4-5课程信息实体图
用户实体图如图4-6所示:
在这里插入图片描述

图4-6用户实体图
4.2.2物理模型设计
根据上诉的逻辑模型设计,下面给出物理模型的设计,如下所示:
表4-1:教师
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiaoshizhanghao varchar 200 教师账号
mima varchar 200 密码
jiaoshixingming varchar 200 教师姓名
nianling int 年龄
xingbie varchar 200 性别
lianxidianhua varchar 200 联系电话
touxiang longtext 4294967295 头像

表4-2:考试记录表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
userid bigint 用户id
username varchar 200 用户名
paperid bigint 试卷id(外键)
papername varchar 200 试卷名称
questionid bigint 试题id(外键)
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
myscore bigint 试题得分 0
myanswer varchar 200 考生答案

表4-3: 表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
paperid bigint 所属试卷id(外键)
papername varchar 200 试卷名称
questionname varchar 200 试题名称
options longtext 4294967295 选项,json字符串
score bigint 分值 0
answer varchar 200 正确答案
analysis longtext 4294967295 答案解析
type bigint 试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空) 0
sequence bigint 试题排序,值越大排越前面 100

表4-4:试卷表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
name varchar 200 试卷名称
time int 考试时长(分钟)
status int 试卷状态 0

表4-5:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-6:用户
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
zhanghao varchar 200 账号
mima varchar 200 密码
xingming varchar 200 姓名
nianling int 年龄
xingbie varchar 200 性别
shouji varchar 200 手机
touxiang longtext 4294967295 头像
zhuceziliao longtext 4294967295 注册资料
sfsh varchar 200 是否审核 待审核
shhf longtext 4294967295 审核回复

表4-7:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

表4-8:课程信息
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
kechengmingcheng varchar 200 课程名称
kechengfenlei varchar 200 课程分类
kaikeshijian datetime 开课时间
keshi varchar 200 课时
jiaoshizhanghao varchar 200 教师账号
jiaoshixingming varchar 200 教师姓名
kechengneirong longtext 4294967295 课程内容
clicktime datetime 最近点击时间

5系统详细设计

5.1系统登录注册功能实现
当人们打开系统的网址后,首先看到的就是登录界面。在系统登录页面的输入栏中输入用户登录信息进行登录操作。系统登录界面如图5-1所示:
在这里插入图片描述

图5-1 系统登录界面

系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册界面如图5-2所示:
在这里插入图片描述

图5-2系统注册界面

5.2管理员模块实现
管理员进入主界面,主要功能包括对首页、个人中心、用户管理、课程信息管理、试卷管理、试题管理、考试管理等进行操作。管理员主界面如图5-3所示:
在这里插入图片描述

图5-3管理员主界面

管理员点击用户管理。在用户管理页面输入用户账号和姓名进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-4所示:
在这里插入图片描述

图5-4用户管理界面

管理员点击课程信息管理。在课程信息管理页面输入课程名称、课程分类、教师姓名进行查询、新增或删除课程信息列表,并根据需要对课程详情信息进行详情、修改或删除操作;如图5-5所示:
在这里插入图片描述

图5-5课程信息管理界面

管理员点击试卷管理。在试卷管理页面输入试卷名称进行查询、新增或删试卷列表,并根据需要对试卷详情信息进行详情、修改或删除操作;如图5-6所示:
在这里插入图片描述

图5-6试卷管理界面

管理员点击试题管理。在试题页面输入试卷、试题进行查询、新增或删除试题列表,并根据需要对试题详情信息进行修改或删除操作;如图5-7所示:
在这里插入图片描述

图5-7试题管理界面

6系统测试

系统的测试是必须的,需要知道的是这个阶段不是单独的,而是在全部的时间进行。这么做可以及时发现问题,还能找到产生矛盾的地方,并且可以尝试修改,这样就能完善系统。对于被测试的系统,都可以找到一些问题,而且还可以找到对应的位置在哪。其目的是对于整体的测试,发现需求中存在的矛盾,就可以做出修改了。测试的过程是对应于整体,有对软件的测试,发现需求的符合度,接下来,就是对数据的检测,以及对硬件的检测。
在软件测试规划中,必须了解测试流程,包括功能概述,测试周期,测试方法,测试范围,测试配置,测试技巧,测试交流,风险分析等[12]。对于一些开发的人员,是可以知道测试方法,找到测试过程的一些的问题,然后可以应对这些问题。
6.1软件测试原则
系统的项目开始启动,系统测试也就是正式开始。软件的是有很多特殊性质,其一些测试也是整体的时间,不是一个单独的过程,因为有可能在所以时间段里,可以有不同的问题。从需求分析、系统设计的过程中,就可以进行系统的测试,制定相应的测试内容和设计文档,并且在整个开发过程中,都要进行系统的审核和确认[13],只有这样,才能更快的发现错误,从而提升系统的质量。为了更早地进行检测,让测试人员可以早知道测试难度,还有进行工作的准备,提前了解关于问题的风险,便于能够提高测试的效率,而且还能保证开发质量,还能够避免风险存在于测试里的,可以有更加完善的方案。
在测试过程中有一些问题,还有一些不足能被发现,这样测试可以使软件中有比较少的问题。有些人觉得只要能够通过软件测试的系统,就不会再存在任何问题,便可以比较放心的使用。这种把软件测试夸大的思想是违反原则的。总的来说即使软件测试能够发现任何问题,也不足以证明软件当中就没有任何的问题,系统就是完全正确的。软件测试必须很快地到软件开发过程中,这样就可以很快的地发现软件缺陷,并且越快发现软件问题,软件的修复成本就会越小。可以让测试人员加入需求的开发过程,以确保需求的可以测试的性质、正确性等,便可以更加有效地节省开发带来的成本。在有关于测试的环节当中也会尽早的找到问题,要是开发人员在某个模块发现了问题,那么在这模块中或许会存在不止一个问题。现在软件都比较复杂,而且测试也有难度,几乎不能有测试可以是完全。
测试是在一定的顺序,每个不同的阶段能够由出现的问题,可以了解到它的风险,这样也可以加强测试,从而可以保证软件使用时的质量。测试是需要比较早开始的,一方面就是保证软件的质量,有效的降低风险以及成本。测试的人员一般在分析需求时候就已经开始测试准备了,使得系统的不足在需求或者设计阶段就可以被发现出,就这点来说发现越早,能够修复的成本就越小。测试的设计可以确定测试的有效性以及效率问题,测试的工具只是提升了测试的效率,而非测试本身。在设计一个测试案例时,是还能改善可靠性,可以用更有效的方法。
6.2软件测试过程
软件测试中每当用户提出新的功能需求时,测试人员需要与开发人员一起做测试,这样测试人员就会对本次测试有个比较清晰的认识,具体要完成什么,都有什么功能等。而且当集成测试在完成后,开发的模块就会被联接在一起,从而形成一个完整的程序。每个各模块间的接口存在的许多缺陷都被消除,就可以进入了确认测试的阶段。确认测试是按照软件的需求规格,对软件进行评估是确保它否满足需求规格,然后决定最后的软件是否正常。
在测试规范后,就可以进行测试用例的编写,主要根据功能模块而展开,例如界面包括哪些操作,其中的操作是否可以正常进行,然后根据相关功能来设计,可以根据不同的情况来设计,对于一些测试过程中出现的问题等,以便查找测试任务的相关情况。
(1)单元测试
这种测试是一种用代码的编写,然后完成的测试方法,在整个检测流程中,是一个非常关键的步骤。在一项有关的程序中,可以进行测试的代码,这种的步骤和实现功能的运行过程是一样的,更加能够突出实现的时候,有关于一些数据的正确还有难易的问题。而且单元测试都由开发人员自己来实现。通常都是开发人员有义务编写相关的功能模块代码,由于对于这些问题的出现,会比别人更加的清楚。有目的单元测试,就是能够出现相应地方代码的执行行为与我们预期的具有一样的效果。一般是由开发人员查看相关代码来查找出问题,而且同样是不同的开发人员相互查看对方的代码,这样才能发现更多的问题。在使用工具扫描程序时,可以根据程序的一些错误的特征,是能够发现而且记录代码中的错误原因。还有就是可以使用工具能够自动生成测试用例,而且也能执行相关程序的测试,这种方式也是由于发现一些行为上的特征,并且报告错误的原因,这种测试的方法只能够发现一些明显的错误的问题,对一些不明显的错误就不能测试出原因所在,就比如一直简单的加法函数,其中的错误是相对比较简单的,但是以上的测试方法仍不能发现,是由于这种测试工具不可能自动的理解代码的功能。
(2)系统测试
所谓系统测试,就是把被确定的软件系统,包括电脑的硬件和网络,都是一个整体,它可以完成整个系统的检测和验证[14],系统试验是对整个软件系统进行的一次试验,其目的在于检测该系统能否达到要求,发现一些和需求规定不一样或者有歧义的地方,从而能够提出更加有效的方案。这里要有出现的任何问题,为了能够找到出现问题的位置,就是需要有调试的过程,然后进一步的改正。
这种测试也能够发现和规定不一样的时候,或者是出现的一些矛盾。都是需要提前有关于规定的需求做出比较,做出能够在实际的应用里,可以运行的一些对应的测试过程的用例。
(3)集成测试
集成测试是在单元测试后面开始的,将确定测试单元之间可以相互协调的运行。由于在很大的情况中,需要的系统不是有单独的几个或者一个人来完成,所以在前面的测试过程是,通过负责独立部分的开发者,同时也要负责这里的功能测试。但是如果要是把所以的测试部分都整合在一起,就可以发生一些问题。所以这里的测试是能够说明,不同的负责者的模块可以完全的正常执行,通常在执行集成测试之前,是必须先执行单元测试。
集成测试通过将逻辑上相关的两个或许多的功能模块连接起来执行增量的测试,接着又加入更多功能模块,以及对其功能进行的测试,一直到完成所有功能模块的集然后成功测试为止。集成测试又可以是自上而下方法[15],一般从测试最顶层的功能模块开始,接着一步步地降到最低的功能模块,其中测试是按照软件的具体控制流程从上到下的进行。还可以是自底向上的集成测试,可以很快的发现底层功能模块的问题,能够提高测试的效率。如果要是了解整个的框架,就必须是对应的功能测试在可以检测完的条件。
测试过程中的集成是相对容易的,而且用到的方法也是不太难,根据对应的方法,做出测试用例的需要也比较少,但是由于无法避免的功能模块间接口的问题,所以能够一次运行成功的可能性比较小。而且要是一次集成的功能模块数量比较多,在集成测试后有可能还出现大量的错误,这样系统的错误定位以及相关的修改就会存在比较大的问题,即便能够完成集成测试,但是有可能会留下很多的错误进入系统测试。
6.3测试用例
部分系统测试用例如表6-1所示。
表 6-1 测试用例表
测试功能、流程 预期结果 实际结果 结论
测试管理登录。管理员在登陆页面输入对应信息可以进入主页面 登陆成功,
之后跳转页面 登陆成功,
成功跳转页面 测试成功
6.4本章小结
一开始系统的测试是可以不用考虑整个的程序,只是考虑它的某个正常的部分,而且也可以不用看到其正常的运行的功能,暂时先不用了解具体的结构是什么样。只是用软件就能确定的测试,能够判断出测试的精确程度。这个软件的测试,其实是用一个软件的内部构造来进行的。同时经过一些分析来测试的。同时也是由代码进行的软件测试,开发者可以通过检查代码或利用开发工具,来判定系统的质量。
在正常的情况下,需要软件的安装程序必须能够比较好的与现存在系统是可以兼容的,而且还能有相关的提示信息,可以让用户查看,接着正常安装然后实现相应的功能。所以在这里就体现了测试的重要性,要是没有一些正确的测试过程就会导致软件安装上的错误,然后软件就不能正确的运行,所以在这里安装的测试就是比较重要的环节。其中安装的测试的目的就是检验系统能否可以成功的安装,同时也保证系统安装完成了可以正常运行。
在软件开发之后,会对软件做出测试。通过对软件的检测,能够发现软件的实际用法,主要是用户为主的,然后系统的开发人员以及质量保证的测试人员也应加入的测试。主要考虑的问题是各个功能是不是规范的,还有一些用户的会有的问题。不仅仅是一个方面的质量问题,而是需要进行全方位是功能验证,最后要确定软件是否符合要求,所以验收的测试是一项比较严格的测试项目,需要根据事先制订的一些相关的计划,进行对于软件配置的审查、功能的测试、性能的测试等,最后才能确保软件的正常使用。
结 论
通过完成该学生在线考试系统设计与实现和本论文的撰写让我更加明白了软件开发过程中软件工程思想的重要性。在项目的前期由于对需求分析做的不够谨慎和明确,导致了后面在设计甚至编码时候造成了许多不必要的麻烦。由此在今后的学习和工作开发之中必须要牢牢把握住软件工程的设计思想和方法,这样可以进一步保证项目开发的健壮性和准确性。
本系统所实现的是一个学生在线考试系统,该系统严格按照需求分析制作相关模块,并利用所学知识尽力完成,但是本人由于学识浅薄,无法真正做到让该系统可以投入市场使用,仅仅简单实现部分功能,希望日后还能改善。
一、本系统具有以下优点:
1、该系统具有较高的适用性,选用B/S结构,这一系统可以在大部分服务平台上应用。
2、系统页面简单明了,绝大多数人都能正常的应用。
二、但也存在以下问题需要改进:
1、运行时窗口不能被刷新,可以改进。
2、系统过于简单,显示的信息有限。
3、不能添加多个管理员账号,如果可以则将利于发展学生在线考试系统规模,便于学生在线考试信息的集中管理。
由于经验和能力不足,导致在开发、设计该系统的时候,出现了比较多的问题,例如需要用到的技术不熟悉、程序报错等,后来我积极地向同学询问自己出现的问题同时也会找一些相关的书进行学习,慢慢的一点点将自己遇到的问题逐渐解决。所以不管以后在任何时候合作都不会让自己事半功倍。通过本系统完整的开发,可以遇到自己平时写一些简单的小程序遇不到的问题,不仅仅局限与技术与业务方面的,同时也使得自己更加深入的了解软件过程的开发设计思想,对于即将踏入社会工作而言,这些心得都十分重要。在以后的学习中也必须加深这方面的理解,将最好的开发技术和最新的科学原理运用到自己以后的开发工作和学习研究中去。

参考文献

[1]韦力梅,苏兵. Django框架下Python网站开发过程综述 [J]. 电脑与电信, 2019.
[2]李根.基于Django框架的生物信息网站建设[D] .大连海事大学,2018.
[3]夏亚丽,戴志涛. 基于Django的O2O家庭酒店商务平台 [J]. 软件, 2019.
[4]薛耀伟.基于Django框架管理界面自动生成模块的设计与实现[D].哈尔滨工业大学,2020.
[5]陈勇.基于Django框架的实时课堂投票系统设计与实现[D].大连理工大学,2021.
[6]周玥.基于Django框架的校园预约打印网站设计与实现[D].吉林大学,2019.
[7]周吉波,孟利民. 基于Django web框架的GPS车载管理系统网站的设计和实现[C].第二届亚太地区信息论学术会议论文集,2019.
[8]Li,Shenliang,Si,Zhanjun. Information publishing system based on the framework of Django [J].Lect. Notes Electr. Eng.2019.
[9]Tiwari, Usha,Mehfuz, Shabana,Sharma, Satyam,Pandey, Vinayak Triguna. Design of Python Based Lost and Found Website for College Campus [J]. Int. Conf. Power Electron., Control Autom., ICPECA – Proc,2019.
[10]Suryanto,WiwitIrna,ka,Theodosius Marwan. Web-based application for inverting one-dimensional magnetotelluric data using Python [J].Comput. Geosci, 2018.
[11]张飞.一种在计算机上制作和显示流程图的方法[P].杭州杭诚专利事务所有限公司,2021:4-5.
[12]李志.论E-R图在数据库建模过程中的重要性[J].信息记录材料,2020:143-145.
[13]张李义,孟健,陈为思. 系统开发与管理(第二版)[M]北京:高等教育出版社,2020,47-49
[14]李艳杰.MySQL数据库下存储过程的设计与应用[J].信息技术与信息化,2021(01):96-97.
[15]彭兵.浅谈MVC设计模式在JSP程序中的应用[J].信息与电脑(理论版),2019(11):104-105.

致 谢

岁月不声不响,却让人慌慌张张,曾经以为大学四年是很遥远的事情,转眼间已是四个冬,四个春,行文至此,大学四年即将告一段落。
这条人生之路较长,发展前途如浩瀚星辰般璀璨。我们不需要为以前的得失而迟疑。这些所说的大学四年的缺憾,或许是一种发展,些许会有伤害,终究会化为前路。在我第一次到校时,我惊喜万分,我交了很多好朋友。入校就是我最大的好运,求学之路漫漫。我定将上下求索,我始终忘不了我心地善良活泼可爱的同学们,忘不了我寝室善良的阿姨,忘不了我饭堂的大叔。至始至终。首先我要感激我最尊敬的论文指导老师,在我论文选题一直到论文的结束,所有的每一步都有老师殷切的指导,每个细小的点都花费了老师很多的时间帮我斟酌修改,在整个过程中,我深刻的感受到老师严谨的科研态度和对学生负责任的工作态度,这使我感触颇深,同时不省心的我真的让老师花费了很多的时间,在这里,我真的很感恩,很感激老师。一朝沐杏雨,一生念师恩,饮其流时思其源,成吾学时念吾师,仅以拳拳之心以表谢意,祝愿老师在今后的日子里万事顺意,身体健康。
第二,我要感谢我的父母,谢谢他们这么多年以来的养育之恩,求学至今,所吃所用无一不来自他们,由衷谢谢他们,一路为我遮风挡雨,他们用爱和关心浇灌我成长,做我坚实的靠山,岁月荏苒,您对我的辛勤付出,我必将铭记于心时刻不忘,心怀感恩,成为你们骄傲的小棉袄。
第三,我要感谢在大学期间所有的同学,朋友们。我们即将奔赴不同的山川人海,海压竹枝低复举,风吹山角晦还明,我希望你们可以坚信人生没有无用的经历,一直走,天一定会亮,这就是我们这一代人应该努力的意义,愿我们终将抵达人生的高处,即时那是我们相距千里,我也会衷心的祝福你们,我最亲爱的同学,朋友们。
最后,我想要再次感谢我的大学,谢谢您承载我的大学时光,谢谢您带给我这么多学习的经历,我真的要谢谢您和这学校里所有的一切一切,不管是好与坏,无论是胜利的喜悦还是失败的挫败,我都欣然接受,因为这都会是我生命中难忘的印记。
文末搁笔,思绪繁杂,曾读到过一句话:所有的经历都是学习,四载寒暑,无论是喜所有经历于我都是人生的礼物,所有的相遇,于我都是宝藏。四年里的所有羁绊,或许做不到一生铭记,但绝对一生感恩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值