1、在线考试系统的设计与开发毕业论文摘 要随着计算机技术的发展考试的方式也在不断的变化着从最初的人工印刷试卷到发考卷然后收卷然后改卷然后发布成绩整个流程相对的比较的复杂而且涉及的人员较多不容易协调到现在比较流行的是使用无纸化考试系统每回考试只要使用软盘等等存储介质带题库下来在计算机上安装一个考试客户端甚至有些就直接使用 windows 内置的浏览器就可以了就可以考试了采取这种方法不知不觉中就减少了考试时间降低了考试成本减少了老师的工作而且一般情况下该类考试系统都是使用随机组卷电脑随机抽卷的保证了公正性本论文就是以在线考试系统的开发为背景论述了在线考试系统发展的历史及现状全文共分为系统调查系统分析功
2、能设计数据库设计系统实现总结参考文献等本系统包括题库的维护维护考生的考试模块评分模块而且老师和学生可以分别使用不同的用户名进行登录具有不同的操作权限关键词在线考试 随机生成试卷 自动阅卷 公正 JSPABSTRACAlongwithcomputertechnologydevelopmenttestwayalsoinunceasingchangeFrominitialtesttheman-powerprintstheexaminationpapertosendstheexaminationpaperthenreceivesthevolumethenchangesthevolumethenissu
3、eresultentireflowrelativecomparisoncomplexmoreoverinvolvesthepersonnelaremanynoteasytocoordinateQuitepopularusesthepaperlesstestsystemtothepresentsolongaseachchapteroftestusesthefloppydiskandsoonstoragemediumbeltquestionbankstogetdowninstalledatestclientsideonthecomputer evensomedirectlytousethebrow
4、serwhichinwindowssettobepossible might takeatest Adopts thismethodunconsciousreducedthetesttimereducedthetestcostreducedteachersworkMoreoverintheordinarycircumstancesthiskindoftestsystemallistheusealongwiththeunitvolumethecomputerpullsoutthevolumestochasticallyhasguaranteedthefairnessThepresentpaper
5、isbytheonlinetestsystemthedevelopmentisabackgroundelaboratedtheonline testsystemdevelopmenthistoryandthepresentsituationThefulltextaltogetherdividesintothesysteminvestigationsystemanalysisfunctionaldesigndatabasedesignsystemrealizationsummariesreference and so onThisarticleelaboratedindetailthesyste
6、manalysisthesystemdesignmethodandthecontentThissystemincludingquestionbankmaintenancemaintenanceexamineestestmodulegradingmodulemoreoverteacherandthestudentmayusedifferentusertocarryonseparatelyregisterhavethedifferentoperationjurisdictionKeywords Computer test systemRandomly generated test paperAut
7、omatic markingJustice JSP目 录1 概述 111 选题背景 112 在线考试系统概述 113 系统开发环境 2131 JSP 简介 2132 系统开发的语言环境 32 系统规划与分析 321 需求分析 32 2 可行性分析 4221 经济上的可行性 4222 技术上的可行性 4223 操作上的可行性 423 系统业务流程分析 5231 管理员业务流程图 5232 学生业务流程分析 524 系统数据流程分析 5241 系统顶层流程图 5242 一级细化数据流程图 625 数据字典 7251 主要数据项描述 7252 主要数据结构描述 8253 主要数据流描述 8254 主
8、要数据存储描述 9255 主要处理逻辑描述 103 在线考试系统设计 1131 系统的平台设计 1132 系统功能结构设计 1133 代码设计 1534 系统数据库设计 16341 概念结构设计 16342 逻辑结构设计 1835 界面设计 21351 在线考试系统主界面 21352 考生界面 22353 管理员界面 2336 系统安全设计 24361 数据安全 24362 网络安全 254 在线考试系统实施 2541 数据库的实施 2542 程序实现 29421 学生登录注册主要代码 29422 在线留言主要代码 315 结束语 31参考文献 321 概述11 选题背景考试是教育中一个重要的
9、环节考试的目的一是为了检查学生的知识掌握情况二是为了提供教学分析的依据传统的考试由于涉及到诸多环节考试时间周期长效率低同时人工阅卷等主观因素也影响到考试的公正性再加上随着计算机网络技术的飞速发展现在很多国内外的大学和社会其他部门都已经开设了远程教育通过计算机网络实现异地教育和培训现在计算机硬件技术的发展已经达到了相当高的水平在教育领域的应用也越来越广泛在线考试系统也随之展现出越来越多的优越性将计算机技术应用于教育测量和评价的全过程中即计算机辅助测试Computer Assisted Test CAT 已成为国外计算机教育和教育技术领域内的一个研究热点它从评价内容评价方法和评价形式等多方面发展了
10、传统测评理论和实践并且使对信息技术能力的测评更加容易 20 世纪 60 年代美国首先将电脑用于教育测量如今已步入成熟应用阶段而在国内这方面的研究才刚刚起步在我国目前很多学校与社会上的各种考试依然采用传统的考试方式在此方式下组织一次考试至少要经过七个步骤即人工出题试卷硬刷考场安排考生考试人工阅卷成绩评估和试卷分析显然随着考试类型的不断增加以及考试要求的不断提高教室的工作量将会越来越大并且其工作将是一件十分繁琐和非常容易出错的事情可以说传统的考试方式已经不能适应现代考试的需要随着计算机应用的迅猛发展网络应用不断扩大如远程教育和虚拟大学的出现等等并且这些应用正逐步深入到千家万户人们迫切要求利用这些技
11、术来进行在线考试以减轻教室的工作负担及提高工作效率与此同时也提高了考试的质量从而使考试更趋于公正客观更加激发学生的学习兴趣开发本软件项目目的就是优化教学管理减轻管理员工作负担提高工作效率优化学生考试的流程增强参加考试学生的身份识别实施安全措施确保考试的公正性12 在线考试系统概述此在线考试系统由用户注册登陆模块考试模块系统管理模块和论坛模块等模块组成其中系统管理模块是进行题目的添加存储和删除是系统运行的基础查询子模块实现了对学生考试信息远程查询考试模块是客户端学生或管理员通过自己的姓名和学号以及密码登陆系统进入界面时由系统按照出题管理员预先设置好的试卷结构从题库中抽取适合的题目形成试卷学生可通
12、过论坛了解交流一些个与考试相关的信息系统选用的开发软件是 my eclipse 和 tomcat 后台数据库为 My SQL 本系统的开发采用结构化设计思想13 系统开发环境 该系统数据存储量小分析处理工作简单前台以 Java 为开发工具 使用JSP 开发技术以 Tomcat 作为 Web 服务器在短时间内建立系统应用原型对初始原型系统进行需求迭代不断修正和改进直到初可行的设计软件的界面和各个功能模块后台使用 SQL Server 2008 进行系统数据库的连接和管理实现基于Intranet 的数据输入和数据查询 Windows Server 服务器操作系统 SQL Server数据库 Tom
13、cat Web 服务器三者之间具有良好的可兼容性运行稳定三者的搭配使用能够保证系统长期稳定高效运行 系统的客户端在 Windows 平台下运行服务器端可在 Windows 平台或 UNIX 平台下运行可实现各操作点的信息共享相互之间的信息传递要做到准确快捷顺畅采用图形化的操作界面对重点业务实施全天候动态监管系统维护方便可靠有较高的安全性满足实时性先进性和经济性的要求131 JSP 简介JSP 全名为 java server page 其根本是一个简化的 Servlet 设计他实现了6Html 语法中的 java 扩张以 形式 JSP 与 Servlet 一样是在服务器端执行的通常返回给客户端的
14、就是一个 HTML 文本因此客户端只要有浏览器就能浏览Web 服务器在遇到访问 JSP 网页的请求时首先执行其中的程序段然后将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户端插入的 Java 程序段可以操作数据库重新定向网页等以实现建立动态网页所需要的功能JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 script lets 来封装产生动态网页的处理逻辑网页还能通过 tags 和 script lets 访问存在于服务端的资源的应用逻辑 JSP 将网页逻辑与网页设计的显示分离支持可重用的基于组件的设计使基于 Web 的应用程序的开发变得迅速和容易 JSP J
15、ava Server Pages 是一种动态页面技术它的主要目的是将表示逻辑从 Servlet 中分离出来13Java 是一种简单的面向对象的分布式的解释型的健壮安全的结构中立的可移植的性能优异多线程的动态语言 Java 平台由 Java 虚拟机 Java Virtual Machine 和 Java 应用编程接口 Application Programming Interface 简称 API构成 Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口可分为基本部分和扩展部分在硬件或操作系统平台上安装一个 Java 平台之后Java 应用程序就可运行现在 Java 平台已
16、经嵌入了几乎所有的操作系统这样Java 程序可以只编译一次就可以在各种系统中运行其固有的特性保证了它是一种高效安全灵活面向对象的现代程序设计语言从最普通的应用到大规模的商业开发 Java 推动了信息时代的飞速发展2 系统规划与分析21 需求分析通过调查要求系统具有以下功能 表 2-1 系统功能功能 具体描述 可使用此功能的系统角色 登录系统 用户输入用户名密码和权限学生或管理员通过系统认证可登录系统 学生管理员 在线考试 系统根据学生设定的考试科目题量和时间抽取试题学生作答完毕或到达考试结束时间后系统自动完成阅卷并反馈相关信息 学生 试题管理 添加更改删除查看试题 管理员 生成试卷 系统根据管
17、理员设定的考试科目题型和题量自动或手动生成一份试卷并配有对应该试卷的一份标准答案 管理员 申请激活试卷 根据特定的考试科目申请然后激活相应要进行考试的试卷 管理员 成绩查询 考试完毕管理员可以查询学生成绩 学生管理员 论坛 学生或管理员等可对考试相关信息进行留言反馈 学生管理员 系统管理 对系统进行整体维护与管理 管理员 2 2 可行性分析221 经济上的可行性目前基本上判卷还是完全采用纯人工方式完成进行报表制作对数据进行综合分析等因此耗用工时较多且效率低下而当采用计算机进行管理时不但可以为企业节省大量的人力物力而且效率要比手工高得多还可以让人力资源得到充分的利用由此可见开发此系统在经济上的是
18、完全可行的222 技术上的可行性从目前市场上数据库开发管理软件来看对于比较简单的中小型数据库微软公司的 Microsoft SQLServer2008 是实际应用中较为成功是一种解决方案它是数据库的优秀软件是面向对象的可视化编程同时它提高了多库操作命令和函数具有很强的数据处理能力包括数据存储分类汇总检索等同时应用 JSP 的技术开发管理信息系统可以得心应手事半功倍它为用户提供了 Windows 所一贯坚持的非常友好操作简单的用户界面完善而强大的数据操作功能通过 JSP 与 SQL 语句的结合对数据库进行更为复杂的操作结合本项目实际判卷水平和复杂程度相对来说还是可以分析清楚的经系统分析可以设计出
19、符合实际需求易于理解易于操作易于维护的数据库和操作系统对于 JSP 来说对数量较少的表和其间关系进行比较简单的操作正是其擅长的功能无论是查询统计都能顺利完成因此开发实施本系统从软件的角度看是可行的开发本系统所使用的软件对于计算机硬件有一定的要求 JSP 对计算机的内存外存主要是硬盘的容量都有要求这样才能是系统正常运行基本要求是设计环境为 WIN XPWIN 7 应用程序要求 8MB RAM 从目前市场上流行的硬件水平来看这种要求水平是完全可以达到的所以在硬件方面本系统也是可行的223 操作上的可行性在线考试系统以计算机为操作工具按照理论考试的流程把考试的理论试题保持在数据库中通过计算机可很方便
20、的查询使用所需要的数据而且这些操作全部有系统内部完成考生和系统管理员通过系统的特定界面输入相应的数据便可完成操作作为在线考试系统考生登录后可以进入考试界面不需要参加培训在规定时间内做完题目就可以提交提交后就可以查看成绩和正确答案23 系统业务流程分析231 管理员业务流程图对该系统业务流程进行分析之后得出管理员业务流程是这样的首先登陆对试题进行管理如查看增加删除修改试题等然后对学生成绩进行管理如添加修改删除查看成绩等详细的管理员业务流程如下图所示 图 2-1 管理员业务流程图232 学生业务流程分析对该系统业务流程进行分析后得出学生业务流程是这样的首先注册然后登陆开始答题之后还可以查看成绩或在
21、论坛上留言详细的学生业务流程如下图所示图 2-2 学生业务流程图24 系统数据流程分析241 系统顶层流程图顶层图是将系统高度抽象与概括而得到的是由一个处理功能所构成系统图中描述了系统总的处理功能及系统的外部环境向系统提供数据的外部实体和输入数据流的名称接受系统输出数据流的外部实体和输出数据流的名称图 2-3 顶层数据流程图242 一级细化数据流程图一级细化 DFD 是对顶层图中的处理功能的分解与细化是从整体到部分的细化划分的是子系统将顶层图的功能分解为几个主要功能后就得到一级细化的数据流程图细化的过程可以按照系统的业务功能进行划分也可以按照输入处理输出进行划分图 2-4 一级细化数据流程图2
22、5 数据字典数据字典是关于数据的信息集合也就是对数据流程图中包含所有元素定义的集合是关于数据库中数据的描述它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询以保证数据的一致性251 主要数据项描述数据项用来描述实体的某种属性系统中数据元素的个数很多为了便于以后的查询因此需要为每一个数据元素给出一个唯一的编号数据字典中数据项包括数据项的名称编号和简述数据项的长度数据项的取值范围具体如下1 学生用户名数据项描述表 2-2 学生用户名数据项的描述数据项编号 I01-01 数据项名称 学生用户名 简述 学生用来登录系统的用户名 类型及宽度 字符型 10 位 2 管理员编号数据项描述表
23、 2-3 管理员编号数据项的描述数据项编号 I01-02 数据项名称 管理员编号 简述 管理员用来登录系统的编号 类型及宽度 数字型 4 位3 学生密码数据项描述表 2-4 学生密码数据项的描述数据项编号 I01-03 数据项名称 学生密码 简述 学生用来登录系统的密码 类型及宽度 数字型 6 位 252 主要数据结构描述数据结构描述数据项之间的关系可由若干数据项数据结构或数据与数据结构组成数据元素在系统中的传送总是以满足某种应用的要求逻辑组合在一起一般情况下这种组合不必再分可直接引用1 试卷表数据结构描述表 2-5 试卷表数据结构的描述数据结构编号 S02-01 数据结构名称 试卷表 简述
24、各科试卷基本信息数据结构组成 试卷标题课程编号试卷包含题目数量判断题数量选择题数量试卷满分判断题分值选择题分值考试时间2 成绩表数据结构描述表 2-6 成绩表数据结构的描述数据结构编号 S02-02 数据结构名称 成绩表 简述 考生考试成绩 数据结构组成 考生编号试卷编号分数考试时间3 考试科目数据结构描述表 2-7 考试科目数据结构的描述数据结构编号 S02-03 数据结构名称 考试科目 简述 试卷科目信息 数据结构组成 课程编号课程名加入时间 253 主要数据流描述数据流由一个或一组固定的数据项组成可以是一个已定义的数据结构也可以由若干数据元素简单的数据结构和复杂的数据结构组成该指标是本系
25、统中的一个重要参数系统中主要的数据流见表 3-51 学生信息数据流描述表 2-8 学生信息数据流的描述数据流编号 D03-01 数据流名称 1 简 述 学生信息数据流来源 学生基本信息和访问权限 数据流去向 管理员将编码整理后的学生信息存入数据库 数据项组成 学生编号用户名密码访问权限2 试卷信息数据流描述表 2-9 试卷信息数据流的描述数据流编号 D03-02 数据流名称 2 简 述 试卷详细信息数据流来源 教师出题 数据流去向 为试卷提供题目 数据项组成 试卷编号题目类型题目编号分值 3 留言信息数据流描述表 2-10 留言信息数据流的描述数据流编号 D03-03 数据流名称 3 简 述
26、论坛留言数据流来源 学生留言 数据流去向 为管理员提供信息 数据项组成 学生编号留言标题留言内容留言日期 254 主要数据存储描述数据存储在数据字典中只描述数据的逻辑存储结构不涉及它的物理组织主要描述它所表示的数据结构和输入输出数据流下表对系统中主要的数据存储进行了描述1 留言信息数据存储描述表 2-11 留言信息数据存储的描述数据存储编号 P04-01 数据存储名称 留言信息 数据存储组成学生编号学生用户名留言内容留言时间管理员回复 关键字 学生编号留言内容 2 成绩单数据存储描述表 2-12 成绩单数据存储的描述数据存储编号 P04-02 数据存储名称 成绩单信息 数据存储组成准考证号课程
27、号成绩考试时间 关键字 准考证号成绩 255 主要处理逻辑描述 处理逻辑表示对数据的变换表示系统能做什么输入和输出则分别描述与处理逻辑相关的数据流或者相关的数据存储处理频率用于描述处理的次数下表选取本系统中两个典型的处理逻辑进行了描述具体如下1 用户处理逻辑描述表 2-13 用户处理逻辑的描述处理逻辑号 L05-01 处理逻辑名称 用户 简 述 验证用户身份 输入的数据流 登录信息 来源外部实体管理员学生 处理描述 根据资料的内容判断是否通过审核如果通过审核则该资料被标注为已通过没有通过审核就被标注为未通过 输出的数据流 已通过审核资料处理频率 按请求次数处理2 学生选择考试科目处理逻辑描述表
28、 2-14 学生选择考试科目处理逻辑的描述处理逻辑号 L05-02 处理逻辑名称 学生选择考试科目 简 述 学生从可选择的考试科目中选出要参加的考试科目 输入的数据流 供选择的考试科目 来源外部实体学生 处理描述 学生都可以从供选择的考试科目中选出自己要参加的考试选择时要保证所选的科目在考试时间内输出的数据流 所选考试科目的试卷 处理频率 按请求次数处理在线考试系统设计31 系统的平台设计平台设计一般分为硬件配置和软件配置建议配置如下表所示表 3-1 系统的平台设计的建议配置硬件配置 处理器 28GHz 的 CPU 拥有 800MHz 前端总线和 2MB 二级缓存内存 拥有 4 个 DIMM
29、槽支持具备 ECC 功能的 DDR 2 内存支持双路交叉存取技术标配 512 MB DDR2 ECC 内存可扩展至 8GB硬盘 采用 SCSI 采用高速稳定安全的 SCSI 接口硬盘 内置电源ATX 或是 SSI 作为电源机箱电源最好带有冗余电源 外置电源 后备时间达 7 分钟允许 130过载切换时间小于 10ms 的后备式不间断电源 UPS 软件配置 操作系统 Windows XP 或 Windows 7 数据库SQL Server 2008 Web 服务器 Tomcat 70 系统功能结构设计此系统的大致功能和性能要求在线考试系统由用户注册登陆模块考试模块系统管理模块和坛模块等模块组成其中
30、系统管理模块是进行题目的添加存储和删除是系统运行的基础查询子模块实现了对学生考试信息远程查询考试模块是客户端学生或管理员通过自己的姓名和学号以及密码登陆系统进入界面时由系统按照出题管理员预先设置好的试卷结构从题库中抽取适合的题目形成试卷学生可通过论坛了解交流一些个与考试相关的信息1 登录模块当考生登录到考试系统窗体时首先要求输入考生的学号和姓名并按下确认进行身份验证如果没有通过的原因返回原因可能为学号与姓名不相配或者是已经参加过考试或者是某种原因你已经处于考试状态管理员登陆成功后就可以对考生信息等内容进行管理2 注册模块当未注册考生参加考试时需要先注册注册后方可考试3 在线考试模块考生选择考试
31、科目后选择试题编号进入到答题界面界面会提示考生剩余时间与已利用时间答题完毕交卷时间未做完将强制交卷后系统自动核对答案并计算分数接着考生就可以查询成绩了4 题库管理模块题库管理包括判断题管理选择题管理管理员可以通过题库管理对各种类型的试题进行添加删除修改及查询5 成绩管理模块管理员登录后可以查看所有考生的成绩如果有考生作弊可以将其成绩记为 0 分6 用户信息管理模块主要对考生信息进行查询删除对错误的信息可以进行改正7 论坛模块考生进入后可以留言把遇到的问题反馈给管理员管理员进入后可以看到所有留言并可以回复图 3-1 学生功能结构图图 3-2 教师功能结构图图 3-3 管理员功能结构图系统功能结构
32、图是对系统功能的一个宏观分析是指为了实现目标系统所必须具有的各种功能或者说系统必须具备的完成某项工作的能力系统的功能结构直接取决于系统的组织结构同时也对系统的组织结构产生很大的影响下图为本系统的系统功能结构图它详细反应出了在线考试系统所具备的主要功能图 3-4 系统总体功能结构图33 代码设计代码是用来表示客观事物的一个或一组有序的符号通常由数字字母组成易于被计算机和人识别和处理在线考试系统为考生和管理员设计了代码用来唯一的标识一个实体或属性值便于排序分类统计每段数据代表与新闻的一些相关信息不用另花存储空间来存储这些冗余信息这样一方面可统一管理另一方面是为了方便数据输出在设计代码时要考虑到代码
33、设计的一些基本原则首先代码设计要保证每一个代码都有确定的代码实体做到一一对应而不能有歧义系统中不能出现相同的代码其次代码设计要合理设计出的代码应具有逻辑性直观性强便于掌握能准确一致地标识出对象的分类特征这时既要适应业务分类习惯又要考虑计算机处理效率再次代码要有可扩充性随着用户的增加代码长度日趋加长在编码中要考虑到这些后备需要最后代码设计应尽量简单方便计算机处理同时简单的代码既可以节约存储空间还能加快数据的处理速度按以上设计原则并结合在线考试系统的实际需要设计出了以下代码图 3-5 考试编号的代码模型34 系统数据库设计数据库设计是在选定的数据库管理系统基础上建立数据库的过程数据库设计时需要综合
34、各个子系统的数据需求分析各个数据之间的关系按照 DBMS 提供的功能和描述工具设计出规模适当正确反映数据关系数据冗余少存取效率高能满足各种查询要求的数据模型该设计过程包括概念结构设计逻辑结构设计和物理结构设计341 概念结构设计概念结构设计关心的是如何完整正确地反映客观实际情况不关心在数据库中如何实现这种数据模式能真实地反应用户要求的实际情况是一种容易被人们理解的直观的数据库结构模式同时也是一种相对稳定统一的数据模式一般情况下很少变动概念性数据在用户和设计者之间建立了桥梁是设计数据库结构的基础概念设计中自顶向下的实体分析方法即常用的实体联系模型简称 E-R 模型对具体数据进行抽象加工将实体集合
35、抽象成实体类型用实体间联系反映现实世界事物间的内在联系 E-R 模型是建立概念性数据模型的有力工具通过对在线考试内容和过程的分析本系统应设计的实体和属性如下试题 题目编号题型题目主干难度系数选项答案分值章节 试卷 试卷编号试卷标题课程编号可用状态 试卷详细信息试卷编号题目编号题目类型分值用户 用户名用户姓名密码权限 1 实体之间关系 E-R 图图 4-5 实体间关系 E-R 图2 试题实体 E-R 图图 4-6 试题实体属性 E-R 图3 用户实体 E-R 图图 4-7 用户实体 E-R 图4 成绩实体 E-R 图图 4-8 成绩单实体 E-R 图5 试卷实体 E-R 图图 4-9 试卷实体
36、E-R 图342 逻辑结构设计表 3-2 逻辑结构设计所含表序 号 名 称 作用描述 1 存储用户信息的 users 表 存储用户的基本信息 2 存储考生成绩的 score 表 存储考生成绩 3存储考试科目的 course 表 存储考试科目 4 存储试卷信息的 paper表 存储试卷信息 5 存储选择题的 option 存储选择题内容 6存储判断题的 judge 表 存储判断题内容 7 存储论坛信息的 bbs 表存储论坛信息 详细设计如下用户表表 3-3 users 表列名 数据类型 长度 是否为空 注释 userId Int No 用户编号自动编号主键 userName Varchar 16
37、 No 用户名userPwd Varchar 8 No 密码 userPower Varchar 10 No用户权限 管理员与考生 成绩表表 3-4 score 表列名 数据类型 长度 是否为空 注释 scoreId Int NoID 自动编号主键 userId Int No 考生编号 paperIdChar 5 No 试卷编号 score Int No 分数 examTimeDatatime No 考试时间 考试科目表表 3-5 course 表列名 数据类型 长度 是否为空 注释 courseId Varchar8 No 课程编号主键 CourseNameVarchar 24 No 课程名
38、joinTime Date time Yes 加入时间 试卷信息表表 3-6 paper 表列名 数据类型 长度 是否为空 注释 paperId Int NoID 自动编号主键 courseId Varchar 8 No 课程编号paperName Varchar 24 No 试卷标题 questionNum Int No试卷包含题目数量 judgeNum Int No 判断题的数量optionNum Int No 选择题的数量 totalMark Int No 试卷满分 judgeValueInt No 判断题分值 optionValue Int No 选择题分值 examTime Int
39、No 考试时间单位分 选择题表表 3-7 option 表列名 数据类型 长度 是否为空 注释 optionId Int No题目编号主键 courseId Varchar 8 No 课程编号paperId Int No 试卷编号 optionTitle Varchar 200No题干 optionA Varchar 50 No 选项 A optionBVarchar 50 No 选项 B optionC Varchar 50 No 选项 CoptionD Varchar 50 No 选项 A optionAns Varchar 50 No答案 判断题表表 3-8 judge 表列名 数据类型
40、 长度 是否为空 注释 judgeId Int No题目编号主键 courseId Varchar 8 No 课程编号paperId Int No 试卷编号 judgeTitleVarchar 200No 题干 judgeAns Varchar 50 No 答案 YESNO论坛信息表表 3-9 bbs 表列名 数据类型 长度 是否为空 注释 bbsId Int No 留言编号自动编号主键 userId Int No 用户编号 userNameVarchar 16 No 用户名 pIdInt Yes 父 ID rootId IntYes 根目录 ID bbsTitle Varchar 24 No
41、 帖子标题bbsCont Varchar 1000 Yes 帖子内容 bbsdate Date timeNo 发帖日期 35 界面设计351 在线考试系统主界面首页包括登录入口注册入口最新动态功能简介登陆为用户提供登陆考生登陆到考生界面管理员登录到管理员界面注册为未注册的用户提供注册最新动态该系统的一些最新动态功能简介简要的介绍下该系统的功能352 考生界面考生界面包括在线考试入口成绩查询入口论坛留言入口在线考试考生点击在线考试后通过选择课程及所属试卷的编号就可以进行考试成绩查询考生进入后输入考生编号就可以查询成绩了论坛留言考生进入留言即可353 管理员界面管理员界面包括考生信息管理入口题库管
42、理入口论坛管理入口成绩管理入口考生信息管理该页面实现对考生资料的查询添加删除及修改操作题库管理该页面实现对试卷的查询添加删除及修改操作论坛管理该页面管理员可以回复留言可以查看和删除留言成绩管理该页面实现对考生成绩的查询添加删除及修改操作36 系统安全设计系统安全是指计算机的硬件软件和数据受到保护数据不因偶然和恶意的原因而遭到破坏更改和显露系统连续正常运行系统安全设计的主要内容包括系统的数据安全即数据安全和数据库系统的安全它们是管理信息系统中最重要的安全内容网络和系统的运行安全361 数据安全数据安全主要从终端用户和系统管理员两个方面进行设计终端用户首先是权限模块的设置在网站首页有提示用户登录或
43、注册的模块只有当用户注册后才能进行在线考试成绩查询论坛留言操作注册成功后网站会提示用户转到首页重新用刚刚注册的用户名和密码进行登录防止数据的恶意窃取和丢失系统管理员主要给 DBMS 提供安全功能如触发器功能数据库加锁功能给重要的数据项加密如可对前台用户的注册基本信息进行数据加密防止黑客入侵恶意窃取保护用户个人隐私同时管理员只能管理其所在方面的数据保证了数据安全的独立性防治管理员数据造假侵害用户权益362 网络安全网络的安全措施主要有以下几种物理措施例如保护网络关键设备如交换机等采取防辐射防火以及安装不间断电源 UPS 等措施访问控制对用户访问网站的权限进行严格的认证和控制例如进行用户身份认证对
44、口令加密更新和鉴别设置用户访问目录和文件的权限等数据加密加密是保护数据安全的重要手段加密的作用是保障信息被人截取后不能读懂其含义而在系统设计过程中由于数据加密技术密钥管理数字签名认证技术等比较复杂系统只是属于试验论证阶段尚未投入使用故在数据加密方面只是控制了访问权限但管理员可通过安装防火墙对网络的隔离和限制访问等方法来控制网络的访问权限从而保护网站安全在线考试系统实施41 数据库的实施主要代码如下UserjavaDescriptionTODO 用户实体类Version 000Copyright Copyright c 黑龙江海康软件工程有限公司 版权所有Create by fcm 2011-1
45、2-5package comhighcomCTdaoimport javasqlpublic class baseDao private static Connection conn 定义连接对象private static Statement stmt 创建事物private static ResultSet rs 创建结果集对象public baseDao String mysqlDriver “commysqljdbcDriver“String mysqlURL “jdbc String mysqlUser “root“String mysqlPassword “root“try Cla
46、ssforName mysqlDriver 加载驱动Systemoutprintln “加载驱动成功“ catch Exception e Systemoutprintln “加载驱动失败“ eprintStackTrace try conn DriverManagergetConnection mysqlURLmysqlUsermysqlPassword stmt conncreateStatement if connisClosed Systemoutprintln “数据库连接正常“ catch SQLException ex Systemoutprintln “数据库连接失败“ exp
47、rintStackTrace 返回一个数据库连接public Connection getConnection 返回连接对象return thisconn执行查询 public ResultSet executeQuery String sql try Statement stat conncreateStatement ResultSetTYPE_SCROLL_INSENSITIVEResultSetCONCUR_READ_ONLY 创建事务rs statexecuteQuery sql 执行查询返回结果集catch SQLException e eprintStackTrace final
48、ly 关闭所有连接并将数据库设置成为自动提交close return rs执行更新 public int executeUpdate String sql int i 0DB 中受影响的行数判断 JDBC 连接是否被关闭若关闭则直接抛出一个 IllegalStateExceptiontry if connisClosed throw new IllegalStateException “ERRORTHE CONNECTION ISCLOSED“ catch SQLException e1 TODO Auto-generated catch blocke1printStackTrace if c
49、onn null 将自动提交设置为 falsetry connsetAutoCommit false 设置数据库自动提交属性为 falseDB 完整性保护Statement stat conncreateStatement 创建事物i statexecuteUpdate sql 执行更新返回 DB 中受影响的行数Systemoutprintln i“行受影响“ conncommit 提交对数据库的操作catch SQLException e try connrollback 回滚操作catch SQLException e1 TODO Auto-generated catch blocke1printStackTrace eprintStackTrace finally try connsetAutoCommit true if conn null connclose catch SQLException e eprintStackTrace return i释放资源param conn 数据库连接param pstmt PreparedStatement 对象param rs 结果集public void closeAll Connection conn PreparedSt