【《基于python语言的题库统设计》12000字】_第1页
【《基于python语言的题库统设计》12000字】_第2页
【《基于python语言的题库统设计》12000字】_第3页
【《基于python语言的题库统设计》12000字】_第4页
【《基于python语言的题库统设计》12000字】_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于python语言的题库统设计摘要随着中国国民教育行业技术水平的逐渐提升,题库系统已渐渐成为学生在线测试的一部分。题库系统的实现有利于知识点的复习,对易错知识点进行题型设计,有利于提高对知识点的强化学习。那么如果将题库系统与互联网融合起来,用Python技术构建题库系统,实现题库系统的网络化。则对提高国民教育行业信息安全,丰富学生教育测试内容,定能提供不少的促进作用。从最近这些年来题库系统发展的现状,以及它的发展趋势来看,开发题库系统的过程可分为以下几步:需求的分析、结构设计、数据库的设计、题库系统的实现。本文从系统的概述、系统的分析、系统设计、系统实现、以及对系统进行测试等方面,对题库系统整个的开发过程进行了详细的讲解。题库系统的设计是在不断地研究和学习中,找到一种可行的方案,经过反复的学习,不断地研究探讨,运用Python语言、JavaScript技术、MYSQL数据库、PyCharm等开发软件来完成系统的各种功能,并对试题库进行测试,对试题库的权限和漏洞进行了检测,使其能够满足要求。关键字:Python语言,在线测试,MYSQL数据库,JavaScript技术,Django框架,目录TOC\o"1-3"\h\u摘要 IAbstract II第1章绪论 11.1选题背景与目的 11.2国内外研究状况 11.3论文结构 31.4本章小结 4第2章系统开发技术 52.1PyCharm简介 52.2HTML/CSS简介 52.3PYTHON简介 62.4MySql数据库概念和特点 62.5本章小结 7第3章系统分析 83.1功能需求分析 83.2业务流程分析 93.3数据流程分析 103.4本章小结 11第4章系统设计 124.1系统设计思想 124.2系统总体设计 124.3系统功能模块设计 134.4数据库设计 144.4.1概念模型设计 144.4.2数据库表设计 164.5本章小结 18第5章系统的实现 195.1实现环境说明 195.2前台页面的实现 195.3登录模块的实现 205.4测试试题模块的实现 235.5测试试卷模块的实现 265.6学生测试记录模块的实现 285.7错题本模块的实现 295.8学生模块的实现 305.9本章小结 33第6章系统测试 366.1测试目的 366.2界面测试 366.3功能测试 366.4测试结果 376.5本章小结 38第7章总结 39参考文献 40第1章绪论1.1选题背景与目的题库是按照一定的教育理论,在计算机系统中实现的某个学科的集合,是在数学模型基础上建立起来的教育测量工具。题库建设是一种综合运用教育技术、网络技术、以及数据库技术的计算机辅助教学方式[1]。当今社会已经步入了教育行业信息高速发展的新时期,而网络的广泛应用也为人们生活带来了很多转变。像中国很多的学校、公司等都有了自己的题库系统,其工作模式也从以往传统的模式逐渐迁移到了网络上,这时建设属于自己的题库系统也势在必行。那么,题库系统建设的真正功能与含义又有什么呢?1.首先提高专业形象:这也是各个企事业单位建设的主要目的所在。对一个企业、学校而言就如同一种无形的广告。但在现在这个教育行业信息时代,如果企业、学校甚至连题库系统都没搞过,往往带来一种赶不上时代潮流的印象。2.提高管理效率:随着高校招生规模的扩大和教学质量要求的提高,教学管理难度也逐渐增大,越来越多的高校去尝试改变传统的教学模式与考试模式,利用网络技术、数据库技术等先进技术来建设考试题库,提升高校教学管理效率。建设高校题库,有利于高校教学与考试分离,减轻教师工作量,提高学生平时学习积极性,使考试更加科学、规范、标准[2]。3.除此之外,一个好的网络测试系统可以把学生的在线测试推广到一个新的层次。而且,系统的内容也会随着时间的推移而不断的更新,这一点对于现在的学生们来说非常重要,因为这是传统的纸面考试所不具备的。试题库系统能够每日更新,及时反映出考生的网上考试状况。1.2国内外研究状况1、国外研究状况国外的计算机技术发展比较早,所以把计算机技术和考试管理结合起来起于国外。根据文献记载,英国率先把电脑技术引入考试管理中,提出运用计算机进行辅佐测试这一概念。在1986年,IBM公司与洛杉矶一起研发出来了ClassroomTeacherSupportingSystem。最初,它被用来管理课程,可以让教师们在考试中撰写考题,也可以让学生们对相关的问题进行讨论。后来,随着电脑的广泛使用,美国加利福尼亚州也研制出了一套更强的考题系统,它可以提供多种科目的考题。国外对题库的研究比较早,成果也比较多,既可以为现代题库的编制与设计提供丰富的理论支撑,又可以在架构设计、参数设计、工具等方面提供成熟的技术支撑。美国心理学学会在80年代就制定了有关电脑在考试中的运用和分析成绩的相关准则,而且该标准涵盖了更多的类别和科目,涵盖了53个与之相关联的科目,为当时的试题库软件开发提供了一个指南。目前,世界上很多发达国家都在将该准则应用于各种类型的测试中,并以此作为软件开发的基础。在这些测试中,美国大学在计算机上的运用较为成功,1982年,远程教学使用了电脑“点播测验”。后来,美国有关部门也开始在GRE、护士资格证书等方面应用了考题库,并将其应用于国内的题库设计与研究。2、国内研究状况我国计算机教育起步较晚,应用电脑教学与教学管理的模式发展较慢,题库的建设与管理也比较滞后。首先,电脑和教学管理是由专业的编程人员来管理和操作的,首先要将考卷输入到相应的考卷中,然后再将考卷归类,输入到各个学科的试卷中,这样不但效率很低,而且还需要专业的电脑技术人员来处理,而且试卷的查找和检索也比较麻烦,所以不太适用;后来,随着电脑的广泛使用,各种科目都有了考题,例如清华大学的高数考题库,既可以方便地对各种科目进行归类,又可以方便老师对考题进行管理,便于老师们出题、整理,大大提升了工作效率;而目前最先进的题库,则是通过考生输入相关的资料,从电脑中提取出相应的题目,而且题目是随机的,这样就不会出现任何的作弊现象。同时,由于电脑可以进行自动批改,这不但可以极大的减轻老师的工作量,而且还可以提高试题的灵活性,让考生的学习更加的全面,更加的深入,也更加的避免了人为的干扰,让考试的结果更加的客观、科学。我国目前的考题库建设,尽管经过了几个发展阶段,但整体水平仍然偏低,普及率、实用性都比较差,在软件建设与开发上的研究很少,实践效果也很差。通过对国内试题库的相关研究,我国试题库分以下三种类型:(1)基于单机的题库系统以单机为基础的试题库系统,将考卷存入单一计算机的库档,然后将考卷归类、归类、归档、归档,具有以下特征:1)单机试题库基本覆盖了试题的特点、范围、知识点和难度,并具有简单的统计功能;2)试题库包含各门科目的相关考题,并保存于资料库中,故考题的裁剪与修改难度较大;3)将所有科目的考题都保存在一个资料库中,导致了检索难和排版难。所以,单机题库系统已不能满足要求,被淘汰。(2)基于LAN的试题库系统基于局域网的题库系统主要是利用多人多点的方法来构建相关的题库。它的特征是:1)利用WORD文件方法构建题库,使系统规模更小,使用起来更方便;2)可以同时创建一个数据库,该数据库以一种简单的方法构建;3)将各个科目进行归类,试题库的构建相对开放,但安全性差,适合各种职业技能测试。(3)基于WEB的题库系统以WEB为基础的题库系统是一个庞大的网上试题库,它具有很大的规模和应用范围,其主要特点有:1)具有某种共享功能,用户仅需使用浏览器即可浏览试题库,仅需一个服务器即可完成;2)统一、规范化的考试管理方式与标准,使用专业的管理机构进行考题的管理与维护;3)考题库在使用上有一定的开放性,采用网上和电脑的方式进行抽题,使考题具有一定的开放性;4)本系统安装方便,使用方便。从上述分析可以看出,目前在WEB平台上使用的最多的是基于WEB的题库,可以在大规模的测试中使用。随着通信网络技术的飞速发展,网络测试系统也得到了极大的发展和进步。其中,英语4、6级考试、计算机水平考试等都可以在网上进行,而且,随着系统的发展,考试体系也在不断的发展,同时,网上考试的软件和技术也在不断的更新和发展[3]。1.3论文结构(1)绪论从开发题库系统的背景、意义、以及系统的发展状况,详细描述了题库系统的在哪些方面能得到应用、然后对本章进行总结。(2)系统分析系统概述、用户需求分析、业务流程分析、数据组成、小结。(3)系统设计系统设计的思路,对系统进行总体设计、根据系统功能进行的模块设计,对涉及的数据进行数据库设计。(4)系统开发环境介绍PyCharm软件介绍、HTML语言简介、MYSQL数据库简介、Python语言简介。(5)系统的实现测试试题、测试试卷、学生测试记录、错题本、学生模块的实现。(6)系统测试试题库系统在完成编码之后,会对其进行检测,系统的测试方法可分为黑盒测试与白盒测试,此次开发的题库系统选取了“黑盒测试”对系统的功能进行检测,通过对各类测试数据的输入,来检测系统的性能。1.4本章小结本章重点介绍了题库系统的选题的背景、选题的意义,国内外研究现状,以及分析了题库系统的功能,系统的设计以及所需要的技术、软件,总述了论文的组成。第2章系统开发技术2.1PyCharm简介PyCharm:JetBrains公司开发出来的PythonIDE。它与其他的集成的开发环境一样,PyCharm同样具备了智能代码编辑器,它能了解Python语言的功能,并能为其提供良好的开发工具:能自动地代码格式化,代码执行、重建、导入等。通过代码分析器,上面的这些特性使PyCharm对于从事Python开发的专家来说是一个非常有用的工具,除此外,刚开始使用者也适合使用。PyCharm提供以下重要功能:软件提供了Django框架,使用此框架开发的高级功能,包含了代码的完成、检查、代码重构及特定的代码导航。集成了Python调试器与图形模块的检测工具。它支持先进的Python开发工具链,其中包含virtualenv和buildout。版本控制器整合——包含Mercurial、Git、SVN、Perforce以及CVS等版本控制器的整合用户界面(UI)。GoogleAppEngine服务,它可以在应用程序引擎上进行配置,并且可以保证程序的代码与沙箱环境的需求相一致。无论是Django还是REPL控制台,都有很多优势:可以在运行时检查语法;可以用圆括号和引号进行自动匹配;也可以执行代码。PyCharm,它整合了PEP的规范,因此,使用时基本上不用再担心代码的规范出现问题。2.2HTML/CSS简介HTML全称HyperTextMarkupLanguage,超文本标记语言,也被叫做超文本链接语言,html作为比较简单的文本标记语言,其通常用来制作网页,电脑可以利用它来进行因特网间的信息交换,也可以通过网络浏览器来进行信息的传输。直到今天,它在网上也一直被经常的使用,是被开发员都认可的,被用来制作网页,是程序员们使用的通用语言。HTML语句可以表达出很多信息,包括表格里面信息、图形信息、文字的信息、以及链接中信息等。程序员都承认它是用来制作网页的基本语言,它的结构是由头部(head)以及主体(body)构成,添加标题在头部,表达出页面所需信息,它的主体则是展示页面里面的内容。作为设计网页的基础语言,在HTML中,它可以将程序设计的Python文件嵌入到生成的文件中,并可以通过JavaScript技术实现不同的功能效果。2.3PYTHON简介Python语言,由GuidovanRossum,人称“龟叔”,在1989年,为了打发枯燥的圣诞节而编写的一个语言。当你开始使用高级程序设计语言,开始对软件进行实际的开发时,您需要的不仅仅是程序代码的开发,还有许多已经完成了的基础代码,以加快您的研究与开发。就比如,如果你要开发一款邮件客户端,估计要花上一年半的时间,你才能从底层开始编写出和网络协议相关联的代码。高级的程序设计语言一般会提供一种更高级的代码,可以直接用来进行使用,比如SMTP电邮协定和GUI程序库。Python给开发员提供了一个十分完备的基础代码库,其中包括网络、文本、数据库、文件、GUI等丰富的功能,被称作“内置电池(batteriesincluded)”。开发员运用Python语言来开发,许多代码不用从零开始写,你直接调用已经写好的就行。Python除了内置的程序库之外,还有很多其他可以直接利用的第三方库。当然,如果你写的代码经过好的包装,也可以将其作为第三方库供他人使用。国外的相当多的大型网站的开发就是使用Python语言进行的,比如YouTube、Instagram、Google、Yahoo,甚至NASA都大规模使用Python,除此这些之外,国内的一些网站,比如豆瓣,就是用它开发出来的。GuidovanRossum把Python定义为“优雅”,“明确”和“简单”,因此Python的代码看起来很简单,初学者学习Python也很容易,随着时间的推移,可以写出很复杂的程序代码。总而言之,Python的理念是简洁而优美,尽可能地编写易于理解的代码,并尽可能地减少代码。如果一个高级程序员在你面前展示他所写的复杂代码,动辄就是几万行,那你就可以拿他开个玩笑了。那Python适合开发哪些类型的应用呢?首先包括网站、后台服务等;其次,就是一些插件,例如,管理员在执行任务时,会用到一些脚本;它也可以重新包装其它语言开发的代码,便于操作[4]。2.4MySql数据库概念和特点目前,计算机里面存的数据变得越来越多,呈现出令人眼花缭乱的趋势,所以,工程师们开发出了一个数据库管理系统和一个用于帮助编程人员解决问题的管理软件。利用数据库管理系统,可以使数据在电脑中的存储变得井然有序,同时也能极大地降低数据的冗余,增加了数据的独立性,便于编程人员进行数据处理。MySQL采用了一个图形接口,很容易学会它的使用方法。(1)MySQL是一款RelationalDatabaseManagementSystem。(2)MySQL可以和Windows系统完美结合。(3)MySQL对计算机硬件的要求不高。(4)MySQL有良好的可伸缩性。(2)MySQL拥有良好的灵活性,并能够快速适应变化的环境。2.5本章小结本节主要说明了题库系统在开发的过程中运用到了哪些技术,以及需要的工具,对python语言开发软件PyCharm,网页开发语言HTML、CSS、JavaScript,数据库MySQL都进行了详细的介绍。第3章系统分析3.1功能需求分析本系统它包括前端和后端这两个模块,其中试题管理、学生测试记录查询、学生信息管理、试卷管理、错题本查看等功能模块。见表3-1。表3-1功能需求列表编号功能名称功能描述输入内容输出内容前台登录保证注册用户通过身份验证进入系统前台进行操作用户名、密码用户登录是否成功和用户登录状态用户注册对注册用户进行检测,信息通过检测之后成为本系统的用户用户名,密码、性别、身份证等注册的结果(提醒“用户注册成功”或者“用户注册失败”)修改个人信息用户可以根据自己当前的情况修改个人的信息要修改的信息提示修改的结果用户测试用户通过开放的试卷进行测试测试答案提示回答是否正确查看测试记录用户查看测试记录测试试卷名称或者测试试题显示结果列表查看错题用户查看错题测试试卷名称或者测试试题显示结果列表后台登录仅管理员能够登录后台后台用户名,密码,前台的用户名后台登录是否成功修改个人信息管理可以根据自己当前的情况修改个人的信息要修改的信息提示修改的结果添加测试试题管理添加测试试题数据测试试题的相关信息测试试题列表编辑测试试题管理修改测试试题信息测试试题相关信息测试试题是否编辑成功删除测试试题依据主键,用户删除测试试题测试试题信息测试试题删除成功或失败添加测试试卷管理添加测试试卷数据测试试卷的相关信息测试试卷列表编辑测试试卷管理修改测试试卷信息测试试卷相关信息测试试卷是否编辑成功删除测试试卷管理删除测试试卷测试试卷信息测试试卷删除成功或失败添加用户添加用户信息学号,密码用户是否添加成功编辑用户修改用户信息学号,密码用户是否编辑成功删除用户删除用户信息学号用户删除成功或失败3.2业务流程分析具体如图3-1所示:管理员管理员用户信息管理用户错题查看测试记录查看测试试卷管理测试试题管理用户信息错题记录测试记录测试试题测试试卷测试试题测试试卷查看测试记录查看错题查看用户注册账号用户图3-1总体业务流程图总体流程:首先使用者要先登录系统,学生先要注册账号,通过了审核以后,学生需要用注册后的账号密码进入系统,然后学生进行测试,查看测试试卷、测试试题、测试记录、错题等学生的信息,学生可以通过试题名称或者试卷名称查找相关的信息,学生可以完成对个人信息的修改。管理员进入系统,也需要输入账号和密码,之后,与数据库内的数据进行比较,数据验证成功后就进入系统。管理员可以进行试卷管理、学生测试记录查看、学生信息管理、试题管理、错题查看等一系列系统管理功能操作。3.3数据流程分析参照上一节设计的业务流程图,画出数据流图,各层的数据流图如下:1.0层数据流图用户和管理员都可以登录系统,对系统进行操作,如图3-2所示:用户用户系统输出输入管理员输出输入数据库输入输出图3-20层数据流图系统会通过输入的账号和密码,判断该用户是管理员还是学生,不同的人物角色会进入不同的网页,让用户在系统里进行操作,而数据流中的有效数据,则会被传送到数据库中心。执行的结果反馈到页面上。2.1层数据流图1层为系统的详细数据流图。如图3-3所示管理员管理员登录信息D3测试记录表输入信息P1用户登录输出信息用户登录用户登录信息P8学生测试记录查看P4学生测试记录查看D2测试试卷表输入信息P3测试试卷管理D1测试试题表输入信息输出信息P6测试试题查询测试试题管理输出信息P7测试试卷查看P10信息匹配P1P2P0用户注册D0学生信息表P9信息验证注册信息P5学生信息管理输入信息学生信息输入信息图3-31层数据流图在1层数据流图中,数据实体中有学生、管理员;数据流包括各类信息的增、删、改、查的一项或多项操作;数据表包括学生测试记录表、学生信息表、测试试卷表、测试试题表。管理员流程包括学生信息管理、测试试题管理、测试试卷管理等模块管理以及学生测试记录、错题等信息的查看。3.4本章小结本章节主要说明开发的题库系统的需求分析,业务流程的分析,数据流的分析,以及其中需要涉及到的数据,其中包括了前台和后台里面的详细数据。第4章系统设计4.1系统设计思想本文旨在为学生设计一个能够满足学生在线测试要求的题库系统。该系统采用B/S方式,既克服了用户使用专用软件进行题库开发、存取题库等缺点,而且十分方便。该题库系统的主要功能是完成教育行业涉及的数据记录,而且能够满足使用者的操作习惯。整个系统使用Django框架来实现:Django是一个开放源码的Web框架,它是用Python开发的,它拥有完全的架站功能。有了Django,Python的编程人员只需少量的代码,就可以很容易地实现一个正规站点所需的大多数功能,并且能够更好地实现Web服务。Django自身是基于MVC(Model+View+Controller)模型,也就是模型+视图+控制器,所以它天生就具备MVC的优势:部署方便,可重用性高,开发速度快,维护成本低。Python与Django结合,可以进行快速的开发、设计以及网站部署。Django于2003年问世,并于2006年作为一个开放源码Web架构而获得BSD授权。“Django”这个词来源于比利时爵士乐家德扬戈•雷恩哈特,寄予Django通过优美的方式来演绎(开发)不同音乐(Web)的美妙内涵[5][6]。4.2系统总体设计通过对上述的项目设计的分析,,将教育产业按系统开发的基本思想进行了细分,从模块上可以划分为前台和后台两个部分。前台只是让普通用户即学生使用登录,数据流包括学生本人信息的修改,以及进行试卷测试,测试记录的查看;数据表涉及到了学生信息表,测试记录表。管理员登陆后台后,可以进行用户的管理(用户的添加、修改、删除、查找)、试题管理(试题的删除、修改、添加、查询)、试卷管理(试卷录入、修改、删除、查询),后端的管理员可以对学生信息表,试题表,试卷表,进行增、删、改、查等数据操作。系统总体功能模块图如图4-2所示。测试试题导入导出题库系统测试试题导入导出题库系统测试试卷测试记录测试试题学生管理测试试题增删改查测试试卷导出测试试卷增删改查学生测试记录查询学生错题记录查询学生信息的增删改查图4-1系统功能结构图4.3系统功能模块设计学生注册:学生填写个人信息(学号,密码)等数据,系统验证格式后,输入数据错误,进行提示并重新输入,验证通过后注册成功。登录题库系统:管理员和学生都可以登陆系统,管理员和学生通过登录页面index.html进入系统,进入系统登录界面后,输入信息(学号、密码),然后进行角色选择,对其选择的身份角色进行判断。修改个人信息:所有的使用者(管理员、学生)都可以对自己的密码进行修改,除此之外还有其他的个人信息,密码修改后,退出并重新登录。学生管理:管理员可以在本系统中进行学生信息的管理,包括学生信息的增、删、改、查。试题管理:管理员可以进行对试题进行查询、删除、修改、添加、等操作,也可以对所属试卷的id、试题的选项、试题的名称、正确答案、分值、试卷的名称、答案的解析、试题类型、试题排序等数据项进行单独设置,以及设置数据类型等参数。试卷管理:管理员对试卷进行删除、添加、查询、修改等操作,也可以对试卷名称、测试时长、试卷状态等数据项进行设置,以及设置数据类型等参数。学生测试记录管理:管理员可以对所有学生的测试记录进行查询操作。错题本管理:管理员可以对所有学生的错题记录进行查询操作。学生信息管理:管理员对学生的信息进行修改、添加、查询、删除等操作,也可以对学号、姓名、密码、性别、年龄、手机、学院、班级等数据项进行单独操作,设置数据类型等参数。4.4数据库设计4.4.1概念模型设计在构建数据库之前,首先要对系统中所涉及的数据进行概念化的设计,然后再进行实体的设计,包括哪些属性,以及它们之间的关系,然后再用系统的概念来设计出一个整体方案。测试试题E-R图包含了所属试卷名称、试题名称、选项、分值、正确答案、答案解析、试题类型、试题排序等数据项,如图4-2所示。测试试题测试试题选项分值所属试卷id答案解析正确答案试题类型选项值试题排序

图4-2测试试题E-R图测试试卷E-R图包含了试卷名称、学生测试时长、试卷状态等数据项,如图4-3所示。测试试卷测试试卷试卷状态试卷名称学生测试时长

图4-3测试试卷E-R图学生测试记录E-R图包含了用户名、试卷id、试卷名称、试题id、试题名称、选项、分值、正确答案、答案解析、试题得分、考生答案等数据项,如图4-4所示学生测试记录学生测试记录试卷id试卷名称用户名选项试题名称分值正确答案答案解析试题得分考生答案试题id

图4-4学生测试记录E-R图错题本E-R图包含了姓名、测试试卷、试题名称、分值、正确答案、考生答案、试题分析、学生考试时间等数据项,如图4-5所示错题本错题本试题名称分值正确答案姓名测试试卷试题分析考生答案学生考试时间

图4-5错题本E-R图学生E-R图包含了学号、密码、姓名、性别、年龄、手机、学院、班级等数据项,如图4-6所示学生学生密码性别年龄学号姓名学院手机班级

图4-6学生E-R图系统总体E-R图如图4-7所示管理员管理员管理管理测试试卷查询用户测试记录测试试题查询nnn11nn11管理测试11nn图4-7系统总体ER图4.4.2数据库表设计在服务器上建立数据库,其中包括以下表:表4-1exampaper序号字段名称字段类型长度允许为空备注1idbigint20否主键2addtimetimestamp0否

-3namevarchar200否

-4timeint11否

-5statusint11否

-表4-2examquestion序号字段名称字段类型长度允许为空备注1idbigint20否

主键2addtimetimestamp0否

-3paperidbigint20否

-4papernamevarchar200否

-5questionnamevarchar200否

-6optionslongtext0-

-7scorebigint20-

-8answervarchar200-

-9analysislongtext0-

-10typebigint20-

-11sequencebigint20-

-表4-3examrecord序号字段名称字段类型长度允许为空备注1idbigint20否主键2addtimetimestamp0否

-3useridbigint20否

-4usernamevarchar200-

-5paperidbigint20否

-6papernamevarchar200否

-7questionidbigint20否

-8questionnamevarchar200否

-9optionslongtext0-

-10scorebigint20-

-11answervarchar200-

-12analysislongtext0-

-13myscorebigint20否

-14myanswervarchar200-

-表4-4users序号字段名称字段类型长度允许为空备注1idbigint20否主键2usernamevarchar100否-3passwordvarchar100否

-4rolevarchar100-

-5addtimetimestamp0否

-表4-5xuesheng序号字段名称字段类型长度允许为空备注1idbigint20否

主键2addtimetimestamp0否

-3xuehaovarchar200否

-4xingmingvarchar200否

-5mimavarchar200否

-6xingbievarchar200-

-7nianlingint11-

-8shoujivarchar200-

-9xueyuanvarchar200-

-10banjivarchar200-

-4.5本章小结本章重点讨论了在系统的开发过程中的题库系统的整体设计,其中包括:B/S架构的网络设计;其次,对题库的前后端进行试题、试卷、学生测试记录、错题本、学生功能模块的设计,并对题库各个模块进行了划分,并对具体的模块进行了详细的阐述。第5章系统的实现5.1实现环境说明运行的环境需求包括硬件需求及软件需求如下表所示。表5-1硬件要求设备名称说明处理器英特尔G520以上内存2GB以上,内存越大,速度越快硬盘500GB以上表5-2软件要求名称说明操作系统Windows7及以上应用软件PyCharm,MySQL,等5.2前台页面的实现系统设计的是一个题库系统。该系统分为测试试卷管理、测试试题管理、学生测试记录查询、错题本查询、学生信息管理等多个模块。通过此系统的开发,使学生能够在网上进行测试。本系统具有较强的实用性,且易于管理。题库系统主界面如下图5-1所示。图5-1系统主页面系统前端页面的实现使用html编程语言,CSS样式设计,JS脚本语言进行事件处理。系统从index.html页面进入,调用JS验证登录,跳转到主页面,页面的跳转路径全部在dj2文件里面的urls.py文件中。系统里常用的类和方法,抽象出来形成模型在model.py文件里,方便后面调用。登录页面代码如图所示:在首页登录页面index.html上添加了学生注册功能,点击注册之后,系统跳转会到注册页面,完成注册以后,浏览器将会用post方法发送到后端,JavaScript会对格式进行验证,如果有问题,窗口会显示错误的原因,如果所有的表格格式都是对的,那么就会自动跳转到form表单提交,完成注册,提示注册成功,然后把注册的数据添加到数据表中。5.3登录模块的实现登陆页面index.html是试题库系统的主页,在输入了帐号和密码后,系统会将使用者的帐号、密码与数据库中的帐号密码进行比对,并将结果反馈给用户。显示登录成功或者失败,进入后使用系统。登录界面index.html如下图5-2所示。图5-2用户登录页面模块功能实现的主要代码如下所示:注册:学生输入注册信息,学号不能为空,手机号码格式要正确,post方法提交表单,通过JS验证无误后,写入数据库。登录:学生登陆时,需要输入正确的学号密码,否则提示错误,登录时需要选择角色,管理员角色对应了数据表users,学生角色对应xuesheng数据表,通过获取对应数据表信息验证身份。登出:退出登陆状态,需要重新登陆获取学生信息记录:通过request请求获取学生信息。5.4测试试题模块的实现

为了方便学生、管理员,系统中应该增加一个测试试题的模块来帮助学生、管理员查看一系列的数据,使得此模块效率提升。每个测试试题后面都应该有所属测试试卷id、测试试卷名称、测试试题名称、选项、分值、正确答案、答案解析、测试试题类型、测试试题排序等数据项。测试试题界面如图5-3所示。图5-3测试试题页面模块功能实现的主要代码如下所示:获取试题:通过get方法获取全部试题,学生只能进行测试,每个试卷有不同的试题。根据属性isAdmin判断用户身份,显示试题,管理员可以显示全部试题:添加测试记录:通过post方式获取form表单信息,get方法将数据写入数据库修改:修改时会重新提交表单,post方法提交后写入数据库,更新。删除:通过id字段删除试题,使用数组ids达到批量删除。查看详情:通过get方法获取试题,点击详情查看。5.5测试试卷模块的实现

为了方便学生和管理员,系统中应该增加一个测试试卷的模块来帮助学生、管理员查看一系列的数据,使得此模块效率提升。每个测试试卷后面都应该有测试试卷名称、学生测试时长、测试试卷状态等数据项。测试试卷界面如下图5-4所示。图5-4测试试卷页面获取试卷:学生查看启用的试卷,管理员通过添加属性设置试卷的状态,启用或禁用。添加试卷:管理员添加试卷,设置试卷状态。修改:修改试卷名称,分数,状态。删除:根据试卷id删除试卷。5.6学生测试记录模块的实现

为了方便学生、管理员,系统中应该增加一个学生测试记录的模块来帮助学生、管理员查看一系列的数据,使得此模块效率提升。每个学生测试记录有用户id、用户名、测试试卷id、测试试卷名称、测试试题id、测试试题名称、选项、分值、正确答案、答案解析、测试试题得分、考生答案等数据项。学生测试记录界面如下图5-5所示。图5-5测试记录页面获取记录:学生通过id获取自己的测试记录,管理员可以查看全部记录。5.7错题本模块的实现

系统中应该增加一个错题本的模块来帮助学生、管理员查看一系列的数据,使得此模块效率提升。每个错题本后面都应该有姓名、测试试卷、测试试题名称、分值、正确答案、考生答案、测试试题分析、学生考试时间等数据项。错题本界面如图5-6所示。图5-6错题本页面获取错题记录:学生通过id获取自己的错题记录,管理员可以查看全部错题记录。5.8学生模块的实现为了方便学生和管理员,系统中应该增加一个学生的模块来帮助管理员对学生进行管理,使得此模块效率提升。每个学生后面都应该有学号、姓名、密码、性别、年龄、手机、学院、班级等数据项。学生界面如下图5-7所示。图5-7学生注册页面模块功能实现的主要代码如下所示:获取学生列表:get获取xuesheng数据表全部学生信息。根据属性isAdmin判断身份,显示学生信息,管理员可以显示全部信息:添加学生:添加学生信息,添加后重新获取。学生修改信息:输入密码,获取表单里的mima,与数据表里面的password比较,相同提交password,不同提交mima。删除:通过id删除学生信息,使用数组ids达到批量删除。查找学生信息:通过id查找学生信息。5.9本章小结本节主要讲了登录管理模块、学生管理模块、试题管理模块、学生测试记录、试卷管理模块、错题本等功能模块设计,以及后面代码的编写,最后代码的实现。系统实现使用的Django框架,作为除了flask框架之外,用python语言开发web页面的最常用的框架,它是基于MVC架构的框架,也就是模型model,模板template,视图view,它们的作用分别是用于处理和数据相关联的事物,页面的表现,存取模型以及调取模板的逻辑,程序员可以快速高效的开发出web。系统实现过程中遇到了一些比较难解决的问题,以下是遇到的问题及解决方法:1、导入的项目无法运行打开run→Editconfigurations,路径,端口,环境都要配置。路径一定要选择到py件,端口一定要配置runserver8080,环境是python安装的地址。更改项目地址后,python设置下的路径要更改。2、pip模块安装出错原因是国外资源访问慢会断开,换国内的源就解决了,推荐阿里云。3、添加时操作失败urls.py文件中,路径要添加上,而且请求路径属性要加上引号,才能识别字符串,否则识别不出。4、ModuleNotFoundError:Nomodulenamed‘import_export’使用命令:pipinstalldjango-import_export5、学生如何进行批量删除。首先需设置每条记录的自增序列id或唯一主键的值传输到复选框中,设:id="增序列id或者唯一主键"。当前端页面选择多个复选框时,JS会遍历获取被选中的复选框,获取对应的自增序列ids或者唯一主键,并将ids写入数组中。判断id长度是否大于0,如果大于0,说明有复选框被选中,可以被批量删除,然后将获取到的id数组传入到后端。id数组传入到后端,后端处理删除数据库中对应id的记录。第6章系统测试6.1测试目的通过软件测试,可以对题库系统的风险进行识别,为学生和管理者提供软件测试的反馈,给学生和管理者提供相关的信息。另外,软件的测试也要保证满足上线标准,包括对项目的不断跟踪,以及对每个开发阶段的严格控制。对题库系统进行测试,主要是测试用户操作后是否有问题,以及后台服务器的响应。前端测试用户的注册、登录,用户提交信息以后页面是否跳转,试题测试,试卷测试,学生测试记录。在后台系统中,测试系统的用户管理、测试试题管理、测试试卷管理、学生测试记录管理等功能的实现。6.2界面测试此系统开发完成后,测试采取黑盒测试的方法进行测试,对页面进行测试,测试界面是否正常,是否可以使用。页面测试的测试项以及结果如下表6-1所示。表6-1用户界面测试表测试项测试人测试结果窗口切换、移动、改变大小时正常吗?本人正常各种界面元素的文字正确吗?(如标题、提示等)本人正常各种界面元素的状态正确吗?(如有效、无效、选中等状态)本人正常数据项能正确返回吗?本人正常执行有风险的操作时,有“确认”、“放弃”等提示吗?本人正常各种界面元素的布局合理吗?本人正常6.3功能测试1.登录测试管理员:输入账号admin,密码admin,进行登录,如果没有输入密码,又或者是输入的密码错误时,就会反馈给使用者,提示“请输入密码”或者“密码错误请您输入正确地密码!”如图6-1、6-2所示。图6-1密码输入提示图6-2用户登录测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论