《毕业设计(论文)在线英语能力测试系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)在线英语能力测试系统的设计与实现.doc(39页珍藏版)》请在三一办公上搜索。
1、毕业论文(设计) 题 目 在线英语能力测试系统的设计与实现 学生姓名 学 号 学 院 计算机与软件学院专 业 网络工程指导教师 二一一 年 五 月 二十 日声 明本人郑重声明:1、 持以“求实、创新”的科学精神从事研究工作。2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成果。3、 本论文中除引文外,所有实验、数据和有关材料均是真实的。4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。作者签名: 日 期: 目 录1、前言12、开发技术与工具介绍22.1 B/S体系结构22.2 JS
2、P技术简介32.3 Tomcat应用服务器32.4 Microsoft SQL Server 200543、需求分析53.1功能需求概述53.2数据分析74、系统设计94.1系统结构94.2系统层次模块详细设计104.2.1 系统管理模块104.2.2 考生管理模块104.2.3 成绩查询模块124.2.4 控制考试模块124.2.5 制作试卷模块124.2.6 考生考试模块134.3数据库设计144.3.1 概念结构设计144.3.2 逻辑结构设计165、系统实现及设计代码185.1考生考试模块185.2考生成绩查询模块205.3考生信息管理模块215.4试卷管理模块235.5考试控制模块2
3、56、结束语27致谢27参考文献27在线英语能力测试系统的设计与实现南京信息工程大学计算机与软件学院 南京 210044摘 要:随着科学技术的不断提高,计算机和网络技术的日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。在线英语能力测试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过互联网络或局域网进行,方便校方考务的管理,也方便了考生,尤其适合考生分布广,不易集中的远程教育等。本系统包括学生报名、系统管理、考生管理、在线考试、在线制作试卷、控制学生考试、试卷审批中心等功能。本论文主要介绍了系统的分析,设计和开发的全部过程。运用数据流图,E-R图
4、,程序流程图等对系统的设计过程进行详细的说明。全文共分为前言、需求分析、系统设计、开发技术、关键技术解决,结论六部分。系统采用B/S开发模式,开发工具选择JAVA、JSP、JavaScript、Html语言,采用Tomcat服务器技术,后台数据库选用SQL Server 2005。关键词:JSP,JAVA,SQL Server 2005数据库,B/S模式1、前言随着信息技术和网络技术的迅速发展,教育信息化和网络化也将成为必然的趋势。作为教育评价和衡量学生能力的考试也正经历着无纸化和网络化的飞跃。网络的开放性和分布性的特点以及基于互联网的巨大计算能力使得考试突破了时间和空间的限制,使得考试可以方
5、便的在任何时候任何地点进行1。并且实现无纸化的考试系统具有比较高的经济性2。由于以上的种种原因,基于网络技术的考试系统正成为人们的研究热点之一,其中,基于WEB技术的考试系统已成为互联网的重要应用之一,对这个方向的研究具有重要的理论意义和现实意义3。在线考试系统具有降低考试成本,解决繁重的考务工作的优点。它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。实现无纸化考试,大大提高了工作效率4。同时,试卷是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得
6、到有效的保证5。在线英语能力测试系统利用开放、动态的系统架构,将传统的考试模式与先进的网络应用相结合,实现在线英语能力测试的无纸化、自动化、网络化6。在线英语能力测试系统借助计算机技术,能够在 在Windows平台上,使用IE浏览器,完成抽题、考试、交卷等考试任务,还可以通过互联完成考试的控制7。借助原来的数据库,各考点可以通过网络获取题库8。学生通过网络选择开考的试卷,然后进行在线作答。答辩后,学生可在线自动交卷。交卷同时,系统将自动评分,生成考试成绩数据。教师可在线查看各考生的成绩。同时本系统,可对学生基本信息及考试成绩信息进行查询、更改等管理,也有利于学校教务的管理9。本系统的开发采用J
7、2EE技术体系实现。使用HTML技术和JSP技术作为前台显示。后台采用java语言实现,数据库采用普遍的数据库技术SQL Server 2005,使得程序对数据库的操作简单易行。采用的技术大部分都属于免费开源的,符合对经济性的要求,而且由于java语言的广泛性,对于后期维护也十分方便。并且开源代码也有利于计算机方面的学生去研究探讨,可以起到一举两得的作用10。2、开发技术与工具介绍鉴于在线英语系统是基于网页式的B/S结构系统,故我们可以采用Java EE体系结构和SQL Server 2005数据库来开发项目。2.1 B/S体系结构如图2-1所示。B/S体系结构是指在TCP/IP的支持下,以H
8、TTP为传输协议,客户通过浏览器访问Web服务器和与Web服务器相连的后台数据库的体系结构,它由Web浏览器、Web服务器、中间件和数据库服务器组成。在B/S结构中,各组成部分之间通过Internet(或Intranet)相连,遵守HTTP协议,浏览器通过发送请求和服务器端建立连接,从而实现以整个Internet为背景的数据存储和访问。Web浏览器Web 服务器中间件(应用程序)数据库服务器数据库Http请求Html页面SQL请求结果图2-1 B/S体系结构B/S结构中的表示层有Web浏览器,它向网络上的Web服务器提出服务请求,接收Web服务器返回的页面并显示给用户;事务逻辑层有Web服务器
9、,它接受用户的请求并判断请求的类型。如果请求的是一般静态页面,就直接在Web服务器的文件系统中找到页面并返回;否则执行相应的应用程序,比如对数据库进行更新、查询等,随后获得数据库操作的结果,将结果动态生成页面,返回给表示层的客户端;数据层则有数据库服务器,实现数据的存储、维护、访问和更新,它接受Web服务器的数据操作请求,并把运行结果返回给Web服务器11。B/S结构具有以下特点:第一,基于TCP/IP开放式网络标准协议,完全实现了跨平台访问计算机及其网络上的各种资源,具有很强的系统独立性和平台无关性。第二,软件维护开销大大降低,只需开发维护服务器应用程序,无需开发客户端程序,规范和统一了客户
10、端程序的标准Web浏览器,从而统一了用户界面。第三,充分发挥了数据库管理系统(DBMS)高效的数据存储和数据管理能力,实现了更大程度和更大范围的数据库资源共享。B/S结构代表了当前数据库应用软件技术发展的趋势,是目前开发Web数据库应用系统普遍采用的数据库系统体系结构。它的优点使它成为构建高效安全Web数据库应用系统首选的体系结构2.2 JSP技术简介JSP可用一种简单易懂的等式表示为:HTML+Java=JSP12。Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今internet发展的客观要求,java是一门各方面性能
11、都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在internet环境上开发应用系统13。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户1
12、4。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览15。JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需
13、要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点16。自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。2.3 Tomcat服务器Tomcat服务器是一个免费的开放源代码的Web应用服务器。它是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成11。由于有了Sun 的参与和支持,最新的Se
14、rvlet和JSP规范总是能在Tomcat中得到体现,Tomcat 5支持最新的Servlet 2.4和JSP 2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
15、对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache独立的进程单独运行的。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不
16、如Apache服务器。2.4 SQL Server 2005Microsoft SQL Server2005是由 Microsoft公司开发的,简称SQL Server,由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。Microsoft SQL Server 2005 的特性包括17: Internet 集成 SQL Server 2005 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2005 程序设计模型与 Windows DNA 构架集成,用以开发 Web
17、 应用程序,并且 SQL Server 2005 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。可伸缩性和可用性同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2005 数据中心版的大型多处理器服务器。SQL Server 2005 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 企业级数据库功能SQL Server 2005 关系数据库引擎支持当今苛刻的
18、数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2005 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2005 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 易于安装、部署和使用SQL Server 2005 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 S
19、QL Server 的过程。SQL Server 2005 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 数据仓库SQL Server 2005 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。SQL Server 中还包括一些工具,可用来直观地设计数据库并通过 English Query 来分析数据。 3、需求分析3.1功能需求根据实际需求,本系统要实现的是在线
20、英语能力测试,在设计时除了应该有较好的用户界面,便于用户的操作,还应具有比较完备的功能,能够满足各方面的需求。因此,英语在线考试系统主要实现题库录入、在线考试、在线制作试卷、在线控制考试、自动评分、自动交卷、考生管理、成绩查询、试卷审批、系统管理等功能,并充分利用计算机网络技术,改变传统的考试操作方式,实现无纸化考试的模式18。为了能够详细清楚的叙述本系统的具体功能,在此我以用例图将功能进行简要说明。本系统总体用例图如下图3-1所示:图3-1 系统总体用例图由上图我们可大概获知本系统的用户类型及相对应各个用户的主要功能权限。接着,我们以各个用户为例,运用用例图,将各用户相应的可实现的具体功能进
21、行详细的表述:以下图3-2为本系统学生具体用例图:图3-2 学生具体用例图以下图3-3为本系统管理员具体用例图:图3-3 管理员具体用例图以下为本系统功能的详细描述:(1) 用户类别:登录系统的身份定为二种,一是管理员,二是学生,只有被授权的用户才可以使用本系统的资源。(2) 权限管理:系统需要经过有效的身份验证可以登录。用户的身份不同,使用的系统资源也不同。考生只可以参加在线考试;一般管理员(普通教师)可以在线添加试题、制作试卷,进行考生管理,添加学生信息、控制考试、成绩查询等。(3) 在线考试功能:考生输入准号证号登陆系统后,选择对应的试卷可进行考试。答题完毕后,有倒计时的功能,可自动交卷
22、,系统将自动评分,考生可同时获得考试成绩。(4) 提交试卷功能:考生答题完毕后,可自动交卷,系统将实现自动评分,考生可同时获得考试成绩。(5) 题库管理功能:一般管理员(普通教师)可在线进行考试试题的添加、删除、修改、查看等,并可以设置试题相应的题型及答案等。(6) 试卷管理功能:一般管理员(普通教师)可在线制作试卷,试卷中的试题是从系统题库中随机抽取的。同时,管理员可以对试卷进行添加、删除、修改、查看等功能。(7) 考试控制功能:管理员可设定每次的考试时间,可禁止或允许考生参加考试,同时可查看考生的考试状态。(8) 用户管理功能:一般管理员可新增学生用户,同时查看个别考生及班级考生的信息,也
23、可设定考生的考试状态:允许或禁止考试;而高级管理员则可以对一般管理员进行增加、删除等各种管理。至于学生登录系统后,则可以按需求进行密码修改,以保证考试的安全性。(9) 查询成绩功能:能够提供考生和管理员查看考试成绩。3.2数据分析系统操作的数据存储在数据库中,数据库中需要存储如下信息:(1)管理员信息(工作证号、密码、管理员姓名、性别、所在部门(系别)、身份等级)(2)考生信息(准考证号、密码、姓名、性别、学号、年级、班级、部门号(系别)、考试状态、考试权限)(3)考生成绩(考生准考证号、科目号、试卷号、科目名称、成绩、补考成绩)(4)考生答案(考生准考证号、科目号、试卷号、问题号、答案)(5
24、)系别信息(部门号、部门名称)(6)科目信息(科目号、科目名称、部门号)(7)试卷属性(科目号、试卷号、试卷标题、部门号、试卷属性、教师证号、试卷状态)(8)问题属性表(科目号、试卷号、问题号、问题、题型、难度、分数、状态、被提取次数)(9)问题库(问题、科目号、选项号、选项内容、答案)本系统的顶层数据流图,如图3-4所示。图3-4 顶层数据流图上图中把系统功能分为几个主要的信息管理功能,分别是考试管理、试卷管理、参加考试、成绩管理、用户管理等,并明确了各功能之间的联系,绘制出数据流图,下面3-5至3-6给出了相应的第二层数据流图。图3-5 第二层管理员数据流图图3-6 第二层学生数据流图4、
25、系统设计4.1系统结构该系统主要用于学生英语成绩的测试和批阅,学生成绩的管理,用户的管理等。根据系统的功能需求,可以大致将系统分为以下几个最主要的模块(其中,由于考虑到系统试题库的管理主要是为了能够成功制作试卷,故把系统试题库的管理功能模块合并于制作试卷模块中),如下图4-1所示。图4-1 系统结构图4.2系统模块详细设计4.2.1 系统管理模块图4-2 系统管理模块系统管理模块包括更改密码、高级管理(添加资源、添加管理员、删除管理员、查询管理员)两大子模块。1、更改密码:各级管理员登录系统后,可自行重新设置登录密码;2、高级管理:包含添加资源、添加管理员、删除管理员、查询管理员四个子功能,超
26、级管理员添加资源、添加管理员、删除管理员、查询管理员,学校领导拥有超级管理员的权限外,还有查询管理员的权限。(1)添加资源,可(i)添加部门名称;(ii)部门的科目名称,科目名称将录入科目信息表中,以后教师可以制作此科目的试卷。(2)添加管理员,允许超级管理员和校领导添加超级管理员及一般的管理员用户,并分配权限。(3)删除管理员,允许超级管理员及校领导删除其它管理员。(4)查询管理员,只允许校领导查询管理员信息,查询时,可显示各管理员的信息列表,点击列表中各记录后面的修改、删除,可对管理员信息进行编辑与管理,但不可更改管理员的信息。4.2.2 考生管理模块图4-3 考生管理模块考生管理模块包括
27、考生注册,考生个人信息查询、考生集体(班级)查询三个模块。1、考生注册:考生注册用于添加考生的信息,此操作由超级管理员及教师来完成。输入项:准考证号、姓名、性别、学号年级,班级和所在系。输出项:注册成功,进入成功页面,不成功则显示错误信息页面。处 理:(1)判断准考证号,姓名,性别,学号,年级,班级的所在系是否为空,数据库中是否有重复的准考证号以及位数是否正确;(2)在这里系统管理员可以添加考生信息,添加的信息有准考证号,姓名,性别,学号,年级,班级和所在系。所有的信息被系统取得后都将添入信息表中,经过注册的考生,可以使用他的准考证号和密码登录英语在线考试系统,进行在线考试。这里系统将考生的密
28、码默认为准考证号。2、考生信息:(1)个人信息查询输入项:考生的准考证号输出项:查找成功,进入成功页面,显示考生信息,不成功则显示错误信息页面。处 理:在这个子功能里,用户输入考生的准考证号,提交给系统后,系统会将使用这个准考证号的考生的所有信息显示出来。个人的信息有准考证号,姓名,性别,学号,年级,班级,所在系,考试状态(允许考试/禁止考试),考试次数,历史最好的科目与成绩,历史最坏的科目与成绩,所有考试科目与成绩。还可以查看此考生的试卷,在这个子功能里还可以设置考生的考试状态(允许/禁止)。(2)集体信息查询(班级)输入项:用户选择系别,年级和班级输出项:查找成功,进入成功页面,不成功则显
29、示错误信息页面处 理:在这个子功能里,用户选择系别,用户选择系别,年级和班级,提交给系统后,系统将这个具体的班的所有考生的信息显示出来。集体的信息有准考证号,姓名,性别,学号,考试状态(允许考试/禁止考试)。通过这个功能还可以设置整个班级考生的考试状态。4.2.3 成绩查询模块本模块可查询学生基本信息及成绩单信息。输入项:学生的准考证号或姓名,或系级,支持模糊查询。输出项:显示符合条件的该考生基本信息及各科目成绩单信息,无符合条件的将显示无此记录。处 理:在这个子功能里,用户可输入准考证号、姓名或系别,系统将自动进行判定。4.2.4 控制考试模块图4-4 控制考试模块控制考试模块包括开始考试、
30、结束考试两个模块。试卷获准发布后,教师可选择院系及试卷,然后点击“允许开始考试”,同时设定考试时限,此后,学生登陆考试系统才能开始考试。在此处,对已开考的试卷,教师可随时结束本次考试。输入项:选择部门或院系名称输出项:页面将罗列出已经审批过的试卷,以及显示试卷考试状态控制页面,即“允许开始开试”、“结束考试”。处 理:(1)系统检索数据库中属于这个部门且又审批后可以发布的试卷,然后罗列出来。(2)所有查询结果以分页方式显示,每页5条,可以迅速跳转某一页,也可按上一页、下一页、首页、尾页方式连接到相应的页。4.2.5 制作试卷模块图4-5 制作试卷模块制作试卷模块包括:基本属性设置(系别,试卷的
31、科目,试卷的标题,性质(标准考试,补考),题型设置,(题型,难度,分数,问题),问题选项设置(选项个数的设置,每个选项的内容,及设置该选项是否为正确答案),试卷的预览(及有修改的功能)。其中试卷中的试题,是从系统中的题库中随机抽取的。输入项:题型,难度,分数,问题输出项:题型的设置页面,完成制作是预览这套试卷。处 理:(1)题型设置。试卷的问题是一道一道的设置的。流程以上如图,先是选择题,要系统中有五种,分别是单选题,多选题,判断题、阅读题和听力题。以菜单的形式显示这五种题型。(2)难度设置。难度分为:易,中,难三个等级。(3)分数设置。填写此题的分数。(4)输入此题的具体问题。将以上这些信息
32、提交给系统,系统会根据用户提交题型的不同,显示不同的内容。单选题、多选题、阅读题和听力题会提示用户先设置几个选择题的选项,然后提交给系统,系统接着将要求用户就几个选项,设定一个或几个正确的答案,并提交给系统。系统会提示是否继续制作或完成制作。若继续制作,用户可继续进行题目添加或其它题型的设置。试题制作完成后,就可以按要求随机抽取其中试题制作成试卷。4.2.6 考生考试模块图4-6 考生考试模块考生考试模块主要是考生的获取试卷,及考试(并有倒计时的功能),及自动评功能。输入项:考生输入正确口令,选择(获取)试卷,作答题目。输出项:考生信息,考生的试卷及考生考完的成绩(打印成绩单)。处 理:系统对
33、考生输入的口令进行验证,如果通过则并进入考生考试的首页面,及显示考生的所有信息,对公布一些考场规则,当考生获取试卷时,并作答时系统进入倒计时,时间一到,系统将自动交试卷并进入评分,把该科目的成绩存入到学生档案中,显示该科目的成绩并打印成绩单。一份试卷,只允许考生考一次,考生交卷后,若该考生第二次进入该试卷时,虽然考生可继续答题,但已不能重复交卷。 考生考试操作流程: (1) 输入用户名(准考证号),密码(默认准考证号)。(2)系统显示该考生的基本信息,及一次考试规则。(3)考生获取试卷,系统并进入倒计时。(4)考生进行答题,答题完毕点击“交卷”,不可重复交卷两次。(5)交卷后,考生可即时看到自
34、己的成绩。系统只对客观选择题进行评分。考生可打印自己的成绩单。4.3数据库设计数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。4.3.1 概念结构设计考 生准考证号密码姓名性别考试权限考试状态部门号(系别)年级学号班级概念设计的具体任务 : 识别系统中的实体、实体的属性、实体的关键字和实体间的联系,采用实体关系建模技术来描述客户信息的实体、属性
35、及关系,从而达到为系统建立良好的数据模型的目的。实体联系方法是 P.P.S.Chen 在 1976 年首先提出的用 E-R 图来描述现实世界中数据之间联系的有效方法,现在己成为在数据库概念设计阶段描述系统概念模型的主要工具。 E-R 图直观易懂,是设计人员和用户之间进行沟通的有效工具。根据上面的设计规划出的实体主要有考生,管理员,试卷,成绩,答案等,本系统中的实体E-R图分别如下所示:考生实体图4-7:图4-7 考生实体图管理员实体图4-8:管理员工作证号密码姓名性别身份等级部门号(系别)图4-8 管理员实体图试 卷教师证号试卷属性试卷号科目号试卷状态部门号试卷标题试卷实体图4-9:图4-9
36、试卷实体图成绩实体图4-10:成 绩考生准考证号补考成绩成绩试卷号科目名称科目号图4-10 成绩实体图答案实体图4-11:答案考生准考证号答案问题号试卷号科目号图4-11 答案实体图本系统的实体E-R图如下4-12:11m试卷考生考试mn1m制作试 卷管理员管 理m1答题查看成绩获取答案111图4-12 系统ER图4.3.2 逻辑结构设计表1 管理员信息表(administrators)字段名称数据类型主键非空说明wnumvarchar(4)yesyes管理员工作证号wpswdvarchar(30)nono管理员登陆密码tnamevarchar(20)nono管理员的姓名tsexintnono
37、管理员的性别tdepintnono管理员所在部门(系别)tpri intnono管理员得身份等级表2 考生信息表(student)字段名称数据类型主键非空说明snumvarchar(30)yesyes考生的准考证号spswdvarchar(30)nono考生的登录密码snamevarchar(20)nono考生的姓名ssexintnono考生的性别snointnono考生的学号gragdeintnono考生所在年级sclassintnono考生所在班级depintnono考生所在部门号(系别)stateintnono考生的考试状态,表明是否在考试powerintnono考生的考试权限,表明是否
38、允许考试表3 考生成绩表(success)字段名称数据类型主键非空说明snumvarchar(30)yesyes考生的准考证号sbnumintnono考生试卷成绩科目号pnumintnono考生的试卷号subjectvarchar(40)nono考生试卷的科目名称successintnono考生的考试成绩bsuccess intnono考生的补考成绩 表4 考生试卷答案表(answer)字段名称数据类型主键非空说明snumvarchar(30)yesyes考生的准考证号sbnumintnoyes考生试卷答案科目号pnumintnoyes考生答案的试卷号qnumintnoyes考生答案的问题号k
39、eysvarchar(800)nono考生提交的答案表5 系别信息表(department)字段名称数据类型主键非空说明depintyesyes学校的部门号depnamevarchar(50)noyes学校的部门名称表6 科目信息表(subject)字段名称数据类型主键非空说明sbnumintyesyes考试的科目号sbnamevarchar(50)noyes考试的科目名称depintnoyes学校的部门号表7 试卷属性表(pap)字段名称数据类型主键非空说明sbnumintyesyes试卷上题目的科目号pnumintyesyes试卷号pheadvarchar(100)noyes试卷标题dep
40、intnono试卷上学校的部门号wproperintnono试卷属性wnumvarchar(4)nono出题管理员证号pstateintnono试卷状态,表明是否允许考试表8 问题属性表(question)字段名称数据类型主键非空说明sbnumintyesyes具体题目的科目号pnumintyesyes题对应的试卷号qnumintnoyes题目的问题号questionvarchar(400)nono题目具体的问题typeintnono题目的题型diffintnono题目的难度markintnono题目的分数stateintnono题目的状态numintnono被提取次数表9 问题库表(stor
41、er)字段名称数据类型主键非空说明questionvarchar(400)yesyes题目具体的问题sbnumintnono题目的科目号knumintnono题目的选项号Answervarchar(400)nono题目的选项内容Keysvarchar(800)nono题目的答案5、系统实现及设计代码5.1考生考试模块 考生登录系统后,就可以在系统界面左侧看到三个选择按钮,分别是“查询成绩”、“获取试卷”、“退出系统”,考生点击“获取试卷”后,就可以获得系统里已经生成并允许考生考试的试卷,然后按需求选择需考试的试卷,点击“开始考试”,就能获得该份试卷进行在线考试,考试完毕后,考生点击“交卷”按钮
42、后就完成了考试,并能立刻获得自己该场考试的成绩。如果一份试卷,管理员设定了考试时间,则考生需要在规定的考试时间内完成考试并交卷,如果考生没有在规定的考试时间内完成考试并交卷,当时间一到,系统将会自动帮考生提交试卷,学生未完成的试题都自动给予0分处理,答题的试题则会根据答案给予相应的评分。以下图5-1,5-2是考生考试模块的主要截图:图5-1 考生考试选择界面图5-2 考生在线考试界面 以下是考生进行在线考试后,并能提交答案的功能主要代码:String sql4=select * from temp_question where temp_pap_id=+pap_id+ order by rec
43、_id;ResultSet rs4=db4.executeQuery(sql4); int qnum=0; int que_rec_id=0;/主题的ID号String cx_name=; char aa; String sl=;/以下是自定义数据,从而获取试卷上有几道题String tisusql=select count(*) as sizec from temp_question where temp_pap_id=+pap_id+ ;ResultSet tirs=db.executeQuery(tisusql);int tisize=0;/有多少题就要自定义多大的数组空间if (tirs.next()tisize=tirs.getInt(sizec);tirs.close(); String tou=; String quarry=new Stringtisize; int q_i=0; /定义数组的下标变量 String strq=;/每道题的变量while(rs4.next()strq=; /用来随机变的页面临时变量qnum+;sl=name+qnum;que_rec_id=rs4.getInt(que_id);