1、 成 都 信 息 工 程 学 院学 位 论 文Smart 系统题库及试卷管理模块的设计与开发Smart 系统题库及试卷管理模块的设计与开发摘 要SMART系统是一个采用新思路、新架构、新技术开发出来的一个新型智能在线考试信息管理系统,该系统主要实现了学生在线考试与评估以及对各种评估信息的管理和维护。本文针对教育工作的具体需求,用struts + spring + hibernate搭建的框架为设计平台,以B/S(Browser/Server)模式开发与设计题库及试卷管理模块。本设计为Smart系统的一部分。主要设计和实现了学校考试的出卷方式与试题库的管理。论文首先阐述了题库管理及试卷管理系统的
2、详细需求分析、数据库的合理设计以及系统设计原理,给出了计算机管理环境下的题型分类、试卷生成的方法,并从科学、实用的角度构造系统功能模块,包括试题录入、题库维护、生成试卷、试卷管理等功能。其次介绍了各个模块功能的具体实现,包括:题库权限管理、手动出卷、自动出卷等。最后通过本模块的应用,可以满足评估系统中考试需求,对教育评估的发展起到一定的促进作用。关键词:Struts;Spring;Hibernate;卷生成;题库;卷管理The Smart System-The Design and Implementation of an Exercise library Management ModuleA
3、bstractDeveloped with new idea, structure, technology, SMART is online intelligent examination information management system; it realizes the function of online test, evaluation, and evaluation information management and maintenance. Aiming at the requirement of education, I use the framework of str
4、uts + spring + hibernate as a design platform, and B/S mode as development and design of item pool and paper management module. My design is part of the Smart system. The design realizes the function of test paper design and item pool management. The theses, firstly, illustrate the principle of item
5、 management, database design and system design, then find out the solution of question type sorting, test paper generating in computer environment. The design also construct the function mode from scientific and pragmatic aspect, including test question input, item pool management, test paper genera
6、tion etc. Secondly, the theses introduces the realization of each module function, including the power limit management of the item pool, manual generation of test paper etc. finally, Through this system application, may satisfy the educate appraisal demand, and promote the educational evaluation de
7、velopment.Key words: struts; spring; hibernate; randomization test; test questions database; test management目 录论文总页数:22 页1 引言 .11.1 课题背景 .11.2 国内现状 .11.3 本课题研究的意义 .12 相关理论知识及其技术 .22.1 系统开发环境及技术 .22.1.1 开发环境 22.2 框架介绍 .22.2.1 Struts 简介 22.2.2 Spring 简介 .42.2.3 Hibernate 简介 42.2.4 SQLServer 2000 简介 42
8、.2.5 JSP 组件 53 需求分析和设计方案 .63.1 题库管理 63.1.1 试题管理需求分析 63.1.2 试题管理设计方案 63.2 试卷管理 .73.2.1 试卷管理需求分析 73.2.2 试卷管理设计方案 84 设计流程 .94.1 数据库设计 .94.1.1 题库管理数据 ER 图及数据库表 94.1.2 试卷管理数据 ER 图及数据库表 114.2 系统实现 144.2.1 题库管理模块实现 144.2.2 试卷管理模块实现 165 系统测试 .195.1 测试环境 195.2 测试结果 19结 论 19参考文献 19致 谢 21声 明 22第 1 页 共 22 页1 引言
9、1.1 课题背景随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,给传统教育模式带来新的变革,并对教育的发展形成新的推动力。本文以 Internet 为平台,研究了基于 Web 考试系统题库管理模块和试卷管理模块的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了题库管理模块和试卷管理模块的设计。1.2 国内现状在我国,虽然远程教育已经蓬勃地发
10、展起来,但是目前学校与社会上的各种考试大多数采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。然而在这个过程中人工手动出题和试题的选择是最为复杂的。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。1.3 本课题研究的意义随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同
11、时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的限制。一个完备的在线考试系统可以使用户在网上学习后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。只要形成一套成熟的题库和生成试卷的自动化就可以实现考试的自动化,可以使教师方便的出卷,在出题模块设计了比较智能的出题方式,为教师提供很大的方便,这样一来,教师所要做的只是精心设计题目、维护题库,智能出卷就可以了,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了
12、这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!第 2 页 共 22 页2 相关理论知识及其技术2.1 系统开发环境及技术2.1.1 开发环境(1)集成开发环境: JDK5.0+Eclipse3.1+MyEclipse4.0(2)硬件环境:PC 机 CPU:PIII 500 以上,内存:256M 以上(3)开发语言: Java、SQL2.2 框架介绍 本系统采用 struts + spring 管理的 hibernate 作为平台框架搭建的。J S P 或者其他视图生成 H T M LW E B 层 ( 处理用户输入
13、 , 调用业务层 , 选择视图 )业务层 ( 主要事务及业务逻辑 )D A O 接口及实现层H i b e r n a t e 平台 数据库S p r i n g 平台利用 S t r u t s 框架包实现了整个 W E B 层的 M V C 架构图 1 系统框架流程图2.2.1 Struts 简介1、MVC 设计模式MVC 是一种设计模式,他强制性的把应用程序的输入、处理和输出分开。MVC 把应用程序分成三个核心模块:模型、视图和控制器,他们分别担负不同的任务。图 2 显示了这几个模块各自的功能以及它们的相互关系。第 3 页 共 22 页用户请求图 2 MVC 设计模式2、Struts 概
14、述Struts 最早作为 Apache Jakarta 项目的组成部分问世。这个名字来源于在建筑和旧式飞机中使用的支持金属架。它产生的目的是为了帮助开发者减少运用 MVC 设计模式来开发 Web 应用的时间。Struts 框架是基于 JAVA 技术的,开发人员通过 Struts 框架可以充分利用代码重用和“一次编写、到处运行”的优点。它提供了一种创建 Web 应用程序的框架,其中对应用程序的显示、表示和数据的后台代码进行了抽象。Struts 是一个比较好的 MVC 框架,继承了 MVC 的各项特性,并根据 J2EE的特点,做了相应的变化和扩展。它采用的主要技术是 Servlet,JSP 和 t
15、ag library。Struts 架构是围绕一个 Action Mapping 把 HTTP 消息形式的用户请求转换成应用程序的动作。Action Mapping 创建了一个 Action 对象来处理请求。一旦 Action 对象完成了一个任务,它就通过在一个 JSP 页面上写结果来直接回应一个用户请求,或者它可以让一个引用程序流动到其它地方作回应。Struts 作为一个 MVC 的框架,对 Model、View 和 Controller 都提供了响应的实现组件,对此分别做介绍,并且看它们是如何结合在一起的。Controller:控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然
16、后把响应结果送回到客户端,在 Struts 中由 ActionServlet 和ActionMapping 对象组成。Model:struts 为 Model 部分提供了 Action 和 ActionForm 对象。Struts建议在实现是把“做什么” (Action)和“如何做” (业务逻辑)分离。View:Struts 应用中的 View 部分是通过 JSP 技术实现的。Struts 提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的 Model部分交互,通过使用这些自定义表创建的 JSP 表单,可以实与 Model 部分中的View显示模型状态接受数据更新请求把用户输
17、入数据传给控制器Mode代表应用程序状态响应状态查询处理业务流程通知视图业务状态更新Controller接受用户请求调用模型响应用户请求选择视图显示响应结果选择视图状态查询通知数据库更新第 4 页 共 22 页ActionForm 的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。2.2.2 Spring 简介Spring 既是全面的又是模块化的。Spring 有分层的体系结构,这意味着你能选择仅仅使用它任何一个独立的部分,而它的架构又是内部一致。它的设计从一开始就是要帮助你编写易于测试的代码。Spring 是使用测试驱动开发的工程的理想框架。 Spring 不
18、会给你的工程添加对其它的框架依赖。Spring 也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其它 framework 没有考虑到的内容。 其中比较重要的两个模块有 IOC 和 AOP。IOC 即控制反转模式(也称作依赖性介入)的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器 (在 Spring 框架中是 IOC 容器) 负责将这些联系在一起。面向方面的编程,即 AOP,是一种编程技术,它允许程序员对横切关注点或横切典型的职责分界线的行为(例如日志和事务管理)进行模块化。AO
19、P 的核心构造是方面,它将那些影响多个类的行为封装到可重用的模块中。2.2.3 Hibernate 简介Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通 Java 对象一样,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是:Hibernate 可以在应用 EJB 的 J2EE 架构中取代
20、 CMP,完成数据持久化的重任。2.2.4 SQLServer 2000 简介 Server是一个关系数据库管理系统,它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。于1988 年推出了第一个OS/2版本,在Windows NT 推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft 将SQL Server 移植到Windows NT 系统上,专注于开发推广SQL Server WindowsNT 版本。SQL Server 2000是Microsoft公司推出的SQL Server数据库管理系统,该版本继承
21、了SQL Server 7.0版本的优点,同时又比它增加了许多更先进的功能,具有使用方便、可伸缩性好与相关软件集成程度高等优点。SQL Server 不但可以应用于大中型数据库管理中,建立分布式关系数据库,第 5 页 共 22 页并且也可以开发桌面数据库。事实上,SQLServer 数据库处理的基本结构,采取关系型数据库模式,尽管如此,相信大家都可以轻易的发现,在SQL Server 的数据库处理方式中,则是使用面向对象的操作方式与精神,也就是说,SQL Server的所有功能,都可以基于系统已经建立好的一些对象来达成,是相当OO面向对象的一个系统结构。SQL Server 企业管理器是 SQ
22、L Server 的主要管理工具,它提供了一个遵从MMC 标准的用户界面,使用户得以:(1)定义 SQL Server 实例组。(2)将个别服务器注册到组中。(3)为每个已注册的服务器配置所有 SQL Server 选项。(4)在每个已注册的服务器中创建并管理所有 SQL Server 数据库、对象、登录、用户和权限。(5)在每个已注册的服务器上定义并执行所有 SQL Server 管理任务。(6)通过唤醒调用 SQL 查询分析器,交互地设计并测试 SQL 语句、批处理和脚本。(7)唤醒调用为 SQL Server 定义的各种向导。2.2.5 JSP 组件在传统的 HTML 文件中加入 JAV
23、A 程序片段和 JSP 标签,就构成了 JSP 网页。JAVA 程序片段可以操作数据库、重定向网页以及发送 E-MAIL 等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给用户端的仅仅为输出结果。JSP 技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持 Java,也可以访问 JSP 网页。当 JSP 容器接受到 WEB 用户的一个 JSP 文件请求时,它对 JSP 文件进行语法分析并生成 JAVA Servlet 源文件,然后对其进行编译。一般情况下,Servlet 源文件的生成和编译仅在初次调用 JSP 时发生。如果原始的 JSP 文件被更新了,JSP 容器
24、将检测所做的更新,在执行它之前重新生成 Servlet 并进行编译。图 3 显示了 JSP 容器初次执行 JSP 的过程:尽管 JSP 在本质上是Servlet,但这两者的创建方式不一样。Servelet 完全由 java 程序代码构成,擅长于流程控制和事务处理,而通过 Servlet 来生成动态网页很不直观;JSP由 HTML 代码和 JSP 标签构成可以方便的编写动态网页。因此在实际应用中,采用 Servlet 来控制业务流程,而采用 JSP 来生成动态网页。在 Struts 框架中,JSP 位于 MVC 设计模式的视图层,而 Servlet 位于控制层。第 6 页 共 22 页浏览器JS
25、P 容器JSP 文件生成 Servlet 源代码经编译的 Servlet 类请求响应图 3 JSP 容器初次执行 JSP 的过程3 需求分析和设计方案3.1 题库管理3.1.1 试题管理需求分析试题管理是整个系统非常核心的模块,它基于知识点模块、章节模块、课程模块、题型管理模块完成的基础上的。其中核心元素是试题,通过试题将题库中的各模块连接起来。试题管理分为题库录入和题库维护两部分组成。试题录入是整个题库管理模块的灵魂所在,所以试题录入十分重要。由于试题类型很多和试题录入、查询时方便快捷、管理的便利等各个因素考虑,不同种题型的试题分别保存在不同的试题库中。同时考虑到整系统的实用性,每一个题库都
26、要有一个相应的答案库。答案库是独立的,这样设计是为了避免答案的泄露。题库管理模块用来维护题库中的试题的,对题库中的试题提供增加、删除、修改及其查询等功能。其中题库生成是一个独立的子模块。题库是有使用权限的,只有拥有权限的管理员与教师才可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。所添加的试题可以通过试题来源来设计试题库,例如:可以设计某某老师的题库。这样设计可以使老师在出卷的时候直接调用自己的题库来出试卷。这样方便了教师的出卷,缩减了教师的工作量和时间。3.1.2 试题管理设计方案试题录入:首先进入,选择年级,课程,章节,知识点,只有知识点不为空的时候点确定,才会跳出试
27、题的具体设置信息,否则会提示“请首先选择知识点”要选择对应的试题类型,才能跳出对应的选项。比如选单选才能跳出单第 7 页 共 22 页选对应的内容。所涉及的表的操作主要是保存。题库管理:进入初始化页面,将所有的试题查询出来显示在页面上。(1)查询:为用户提供 3 种查询方式按知识点查找(通过年级课程章节知识点) ,按试题类型查找和按试题来源查找。通过 3 种查询方式,分别显示出符合条件的试题,显示在页面上。(2)删除:主要实现对试题的删除操作。通过试题左端的复选框,实现单个试题的删除或者批量的删除。(3)修改:主要实现对试题的修改功能。通过点击试题对应的 id,或者通过选择复选框,进入到修改页
28、面。a.修改页面要先加载整个试题的内容,单用户修改完内容点击保存的时候,能够更新数据库中对应的字段的内容。b.修改页面还要实现对本试题的删除,以及返回到初始页面的功能。(4)主要涉及表有:物理年级表:smart_real_grade 课程表:smart_course章节表:smart_section 知识点表:Smart_knowledge_point判断题目表:smart_judgement 单选题目表:smart_single_choice多选题目表:smart_multi_choice 试题来源表:smart_source标准答案表:smart_answer3.2 试卷管理3.2.1 试
29、卷管理需求分析功能主要实现试卷由试题组成,而试题又来自于题库,所以试卷管理模块依赖于题库。试卷管理对试卷提供管理,包括试卷的增删改查。试卷管理中最重要的是试卷的生成,试卷生成的结果存储到试卷库。试卷的生成可能根据多种条件来生成,可以人工出题,自动出题,试卷应具有“单元测试、学年/半学年测试、学年考试、年级统考等多种性质,以适合不同场合的需要。可以由出卷人来设定,试卷生成与题型管理结合非常紧密。手动出卷:老师可以定制出卷的一些参数,比如:总题目数、试题的类型,每种类型试题中具体小题的数目,每道题的分数,每个年级的题所占比例,相关题目的难度比例、试题的范围等,在此基础上,系统会根据出卷人的参数,按
30、类型分类筛选出符合条件的试题,以可翻页的方式显示,由出卷人选择确定后生成一套完整的试卷。自动出卷:老师可以定制出卷的一些参数,比如:总题目数、试题的类型,每种类型试题中具体小题的数目,每个年级的题所占比例,相关题目的难度比第 8 页 共 22 页例、试题的范围等,在此基础上,系统会根据出卷人的参数,自动生成一套完整试卷。鉴于主观题的主观性,目前无法实现系统自动阅卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案 A、B、C、D 中选择唯一正确的答案;多选题是在供选答案中有多个选择;而判断题实质上就相当于有两个选项的单选题。因而,本系统中所涉及的单选题和多选题跟过去的大体相同。
31、还有判断题部分。并且假设多选题一般情况下也是最多提供八个备选答案,标准答案至少有一个。故各题型的样题设计如下:单选题:password 的意思是: A、密码 B、经过 C、单词 D、通路正确答案为 A多选题:下面的表达式为真的有:A、12 B、7%5=2 C、sin(30)=1/2 D、Cint(7/5)=1正确答案为 B、C、D3.2.2 试卷管理设计方案试卷生成:当用户进入试题管理的模块新建一份试卷时,给用户提供试卷类型、出题方式、使用年级、及其相应的科目和适用考试名称的选项,用户只要选择就可以了,避免手动输入,给用户提供了很大的方便,同时也节省了宝贵时间。其余的就是让用户设置试卷的相关内
32、容,为接下来的试卷的试题的具体添加做好准备。如果设置的各个类型的题目的总分没有和开始设置的整张试卷的总分一致是无法进入下一步进行添加各种试卷具体类型的题目的。只有第一步骤设置都满足条件后就可以进一步完成出卷。当用户进入步骤二时看到页面显示的所有参数都是有步骤一设定的。如试题类型和每一类型题型要选的题目数的数目都是通过前面的设定来的,接着用户就可以设定各种参数从数据库抽题目,如选题的时候可以按书本查询、章节查询、各个知识点查询。提高了选题的速度和准确度,体现了出题的智能化。试题被选中显示在页面刷新。就采用了ajax技术避免传输,并实现了分页显示。当用户选定了相应的题目的时候,点击添加试题的时候。
33、也是采用的ajax技术传到后台函数进行处理,把数据保存相应的session中,处理成功后会给用户一个对话框提示“临时保存成功”。用户就可以进行下一类型试题的添加了。试卷管理:进入初始化页面,将所有的试选查询出来显示在页面上。可以通过点击列表的每一列表头,可以对所以试卷对应相关属性进行排序,用户使用十分方便快捷。(1)查看:用户可以点击所要查看的试卷所在行的查看图片,就可以看到此试卷的所有内容。第 9 页 共 22 页(2)删除:主要实现对试卷的删除操作。通过试卷左端的复选框,实现单个试卷的删除或者批量的删除。(3)修改:主要实现对试卷的修改功能。通过点击试卷对名称链接进入到修改页面,进行修改操
34、作。4 设计流程4.1 数据库设计4.1.1 题库管理数据 ER 图及数据库表题库管理数据 ER 图如下图 4 题库管理模块的数据库 ER 图表 1 判断题目表(smart_judgement)列名 说明 数据类型 长度 非空限制judge_no 主键 uniqueidentifier 16 Not null第 10 页 共 22 页judge_desc 题目描述 Varchar 2500 Not nullinto_date 添加日期 datetime 8 Not nulldiff_degree 难度系数 float 50 Not nullremark 备注 Varchar 2500quest
35、ion_type 题目类型 Varchar 50 Not nullRef_judge_answer_no 答案外键 uniqueidentifier 16 Not nullref_source_no 试题来源外键 uniqueidentifier 16 Not nullknowledge_no 知识点外键 uniqueidentifier 16 Not null表 2 判读题答案表(smart_judge_answer)列名 说明 数据类型 长度 非空限制judge_answer_no 主键 uniqueidentifier 50 Not nulljudge_answer_desc 答案描述
36、Varchar 2500 Not nulljudge_answer_name 答案名称 Varchar 30 Not nullRemark 备注 Varchar 500 Not null表 3 单项选择题目(smart_single_choice)列名 说明 数据类型 长度 非空限制choice_no 主键 uniqueidentifier 50 Not nullchoice_desc 题目描述 Varchar 2500 Not nullchoice_count 答案数量 Int 4 Not nulloption_a A 选项描述 Varchar 500 Not nulloption_b B
37、选项描述 varchar 500 Not nulloption_c C 选项描述 Varchar 500 Not nulloption_d D 选项描述 Varchar 500 Not nulloption_e E 选项描述 Varchar 500 Not nulloption_f F 选项描述 Varchar 500 Not nulloption_g G 选项描述 Varchar 500 Not nulloption_h H 选项描述 Varchar 500 Not nullref_source_no 来源外键 uniqueidentifier 50 Not nullknowledge_no
38、 知识点外键 uniqueidentifier 50 Not nullref_single_answer_no 答案表外键 uniqueidentifier 1 Not nullremark 备注 Varchar 500knowledge_type 知识类型 Varchar 50 Not null表 4 单选题答案表(smart_judge_answer)列名 说明 数据类型 长度 非空限制Single_answer_no 主键 uniqueidentifier 50 Not null第 11 页 共 22 页Single_answer_desc 答案描述 Varchar 2500 Not n
39、ullSingle_answer_name 答案名称 Varchar 30 Not nullRemark 备注 Varchar 500 Not null表 5 多项选择题目(smart_multi_choice)列名 说明 数据类型 长度 非空限制choice_no 主键 uniqueidentifier 50 Not nullchoice_desc 题目描述 Varchar 2500 Not nullchoice_count 答案数量 Int 4 Not nulloption_a A 选项描述 Varchar 500 Not nulloption_b B 选项描述 varchar 500 N
40、ot nulloption_c C 选项描述 Varchar 500 Not nulloption_d D 选项描述 Varchar 500 Not nulloption_e E 选项描述 Varchar 500 Not nulloption_f F 选项描述 Varchar 500 Not nulloption_g G 选项描述 Varchar 500 Not nulloption_h H 选项描述 Varchar 500 Not nullref_source_no 来源外键 uniqueidentifier 50 Not nullknowledge_no 知识点外键 uniqueident
41、ifier 50 Not nullref_single_answer_no 答案表外键 uniqueidentifier 1 Not nullremark 备注 Varchar 500knowledge_type 知识类型 Varchar 50 Not null表 6 多选题答案表(smart_judge_answer)列名 说明 数据类型 长度 非空限制multi_answer_no 主键 uniqueidentifier 50 Not nullmulti_answer_desc 答案描述 Varchar 2500 Not nullmulti_answer_name 答案名称 Varchar
42、 30 Not nullRemark 备注 Varchar 500 Not null4.1.2 试卷管理数据 ER 图及数据库表试卷列表是用来存放新试卷的所有基础信息,然而试题的试题题目 id 就存在试卷空白表上,这样设计就是为了节省是数据空间,试卷列表与试卷空白表是一对一的关系,在生成试卷的对数据库操作的时候就是同时对两张的表进行第 12 页 共 22 页操作。试卷管理模块数据 ER 图如下:图 5 试卷管理模块数据 ER 图表 7 试卷列表(Smart_exam_paper_list)列名 说明 数据类型 长度 非空限制exam_paper_id 自增 id(主键) uniqueident
43、ifier 16 Not nullRef_Exam_grade_no 使用年级外键 Varchar 16 Not nullRef_Exam_subject_no 使用科目外键 Varchar 16 Not nullexam_paper_date 生成时间 varchar 10 Not nullRef_teacher_no 生成该试卷的老师 Varchar 20 Not nullsingle_choice_num 单选题数目 Int 4multi_choice_num 多选题数目 Int 4Judgement_num 判断题数目 Int 4Jiand_num 简答题数目 Int 4Jis_num
44、 计算题数目 Int 4第 13 页 共 22 页Yued_num 阅读理解题数目 Int 4Tiank_num 填空题数目 Int 4Chutfsh 出题方式 Varchar 20Exam_name_no 试卷名称 No Varchar 16 Not nullPaper_type 试卷类型 Varchar 10 Not nullSpan_sign 跨年纪标志 Int 4Span_set 各个年级知识点范围设定Float 8Ref_school_no 学校外键 Varchar 16 Not nullTotle_single_score 单选总分 Float 8Total_yued_score
45、阅读总分 Float 8Total_mul_score 多选总分 Float 8Total_jiand_score 简答总分 Float 8Total_tiank_score 天空总分 Float 8Total_judge_score 判断总分 Float 8exam_paper_name 试卷名称 Varchar 8 Not nullTotal_Score 试卷总分 Int 4 Not nullTotal_Num 试题总数 Int 4 Not nullcreateBy 出卷人名称 Varchar 4 Not null表 8 试卷试题表(Smart_exam_paper_question_li
46、st)列名 说明 数据类型 长度 非空限制exam_paper_question_no 自增 id(主键) decimal 16 Not nullRef_exam_paper_id 试卷表外键 uniqueidentifier 16 Not nullQuestion _type 试题类型 Varchar 10 Not nullQuestion_index 试题 id Varchar 3000 Not nullQuestion_score 试题的分数 float 4 Not nullRemark Varchar Varchar 500record_number 版本号 Int 4第 14 页 共
47、 22 页4.2 系统实现4.2.1 题库管理模块实现图 6 试题录入页面通过设定各个条件,选择整道试题的属性,试题内容的录入采用的是一个编辑器,可以对试题进行排版,保存的时候以 html 标签的形式保存,图片会放到相应的文件夹下。避免了将图片的格式转换成二进制流保存到数据库和显示时的格式转换的繁琐的步骤。减少了开发过程中难度。部分代码实现如下:/页面调用编辑器方法function eWebEditorPopUp(form, field, width, height) window.open(“eWebEditor/popup.htm?style=popup/Acition 的保存方法publ
48、ic ActionForward save(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) throws Exception /通过 form 得到页面所有的值FactoryTopicAddForm factoryform=(FactoryTopicAddForm) form;Map params=new HashMap();String sourceNo=(String)request.getParameter(“sourceNo“);/试题来源
49、noparams.put(“sourceNo“,sourceNo);/调用逻辑事务层的“ShowSource”方法SmartSource source = (SmartSource) this.call(new Carrier(params,BusinessConstants.FACTORY_TOPIC_BUSINESS,“ShowSource“);String number=factoryform.getSelect2();/选项if(number.equals(“单选“)SmartSingleChoice single= new SmartSingleChoice();single.setOptionA(factoryform.getOptiona();第 15 页 共 22 页String s = Desc.replaceAll(“/存储过程的名称 call SP_SearchQuestionBySource(?,?,?,?,?) /调用存储过程4.2.2 试卷管理模块实现用户进入试卷管理模块的界面,在页面就提供添加,删除,修改的相应功能。所以用户就可以选择相应的操作进行试卷的管理。界面如下:图 8 试卷列表页面第 17 页 共 22 页试卷基础信息设置页面的主要功能就先设置试