




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本次毕业论文题目为无纸化在线考试系统,首先介绍了无纸化在线考试系统的现状,然后提出一个基于无纸化在线考试系统的数字信息化领域的架构,并对相关关键技术进行了讨论,最后说明了无纸化在线考试系统在数字信息化领域的应用前景。根据网络在线考试系统的特点,可以将其分为前台和后台两个部分进行设计。前台主要用于考生注册和登录系统、在线考试、查询成绩以及修改个人资料等;后台主要用于管理员(教师)对考生信息、课程信息、考题信息和考生成绩信息等进行管理。根据系统所需功能,决定采用开放性的SQLSERVER做后台数据库,选择功能强大的MyEclipse为开发工具,利用软件工程思想和方法,总体上用结构化生命周期法进行系统分析和设计,采用快速原型法来实现,系统本系统界面友好,与目前市场上的主流软件大体一致,而且操作更加简单,使用方式和微软各种软件(Windows、Office)基本相同,减少了用户学习、使用本系统的额外负担。本文通过系统概述、系统分析、系统设计、系统实施、开发总结五章,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结。该系统使用了功能强大的Java Web开发技术。系统操作方便,可维护性强。经过大量的测试,基本符合用户需求。关键字:无纸化在线考试jspsqlserverAbstractThe title of the graduation is online_exam system. First it introduces the actuality of this field. Next it puts forward to the frame that is applied on digital and information-based field and then it discusses the correlative technology which the topic used. And finally, it shows the vista of the system.According to the features of the online_exam system.The system is composed of two main modules, forestage and background. The first module achieves the goal of student registing, loginning and taking exams, together with inquiring and altering personal data. About the second, the administrator(teacher) managing the student data, subject data, questions data and result data. On the base of the function need, background database uses the opening_source Mysql and by way of MyEclipse to build. Making good use of the thought on software engineering, the system as a whole uses structural lifecycle method for systems analysis and designing. And it adopts antitypes way to implement the whole process. For users, the interfaces is friendly, operation is simple to learn, so it reduces the time spending on familiar with the system.Throughout the system, I use technology of Java Web which is formidable.In the forestage I use JSP together with Struts and hibernate frame that are at the base of the MVC. The system operation is convenient and the maintenance is easy. Keywords:online_examjspsqlserver目 录1前言11.1开发背景11.2国内外的研究现状11.3系统的设计目标22系统开发所采用的技术32.1JSP简介32.2B/S结构概述32.3系统技术概要42.3.1Struts及Hibernate框架简介42.3.2SQLSERVER简介53无纸化考试系统需求分析73.1需求分析73.1.1系统需求分析73.1.2功能分析103.2可行性分析113.2.1技术及开发方法可行性113.2.2管理可行性113.2.3经济可行性113.3总体设计113.3.1系统物理环境配置113.3.2功能结构设计123.4业务流程分析153.4.1业务流程图图例153.4.2系统业务流程分析154无纸化在线考试概要设计174.1功能模块的设计174.2数据库设计18无纸化在线考试系统的实现275.1系统首页实现275.2学生考试模块实现285.3后台教师管理模块实现285.4核心代码的实现296系统测试336.1系统测试概论336.2系统测试方法336.2.1系统入口测试要点336.2.2数据录入测试要点336.3系统测试效果33结论35谢辞36参考文献37附录381 前言1.1 开发背景现今,无纸化考试系统的研制是当今教育信息化建设的一项重要课题,目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以弥补传统手工考试的不足。基于Web的网络考试已成为大势所趋,与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求,它在教育现代化的进程中具有很重要的现实意义。传统考试要求老师印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要,于是产生了大量的在线考试系统。它应用JSP等网络软件开发工具进行研发,并充分利用了B/S结构的特点,其功能目标是实现将现有的纸张答题式考试向基于Internet的无纸化考试系统的转变,具有良好的开放性,允许系统管理员对试题库进行管理与开发,有效地保证了题库的时效性。通过Internet来实现网上考试,可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。利用JSP技术开发的基于WEB的多用户在线考试系统具有用户注册、多用户同时在线考试、考试时间控制、对客观题自动判卷、题库维护、考卷制定、用户管理、成绩管理等功能1.2 国内外的研究现状 随着计算机科学、网络技术的迅猛发展,在教育领域中,实现网上考试可以充分利用学校现有的计算机软、硬件资源和网络资源实现考试,对于客观题可由计算机来完成阅卷,大大减少了教师的阅卷的工作量。目前网上无纸化考试系统主要有两种基本模式:传统的C/S(客户机/服务器)模式和新型的B/S(浏览器/服务器)模式,所谓C/S模式,即数据库(比如试题库)内容存放在远程的服务器上,在客户端安装相应软件,C/S结构虽然在技术上比较成熟,但该结构的程序往往只局限在小型的局域网内部,不利于扩展。而且当用户量比较多的时候,每台客户机上面都需要安装相应的客户端程序使得维护工作变得很繁重。同时,由于应用程序直接安装在客户端,客户机与数据库频繁的交换数据使得系统的安全性受到威胁。而与传统的C/S模式相比较,B/S模式将应用逻辑与用户界面和数据访问相分离,是系统的维护变得简单(只需要改变网页,即可实现所有用户的同步更新),同时简化了客户端的功能,用户只需要浏览器即可使用此考试系统,更适宜在Internet上进行考试。在线考试系统,在很多科研和教育部门正在或已经成为必不可少的实施系统之一。其核心思想是可以允许考生不受时间和空间的限制,可以在任何时候和地点参加考试,并且大大节约了监考人员的工作量、提升了效率,同时保证了考试判卷的公平性。本文首先介绍了在线考试系统技术的现状,然后提出一个基于在线考试系统的数字信息化领域的架构,并对相关关键技术进行了讨论,最后说明了在线考试系统在数字信息化领域的应用前景。本课题的开发工具使用了MyEclipse作为开发工具,开发语言是Java,应用jsp(包括css、html等)技术,后台数据库采用了应用广泛、兼容性较好的SQLSERVER作为数据库。1.3 系统的设计目标在线考试系统分为学生在线考试模块和教师后台管理模块两个部分组成。本课题主要功能详解如下:学生在线考试模块:可以实现个人信息的修改、在线考试、成绩查询等功能。教师后台管理模块:可以实现学生信息的维护(修改学生账户个人信息、修改密码、增加或删除学生信息等)、教师信息的维护(教师账户的信息修改、修改密码、增加或删除等)、考试科目的管理、查看登陆信息等功能。通过Internet来实现网上考试,可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时间、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性2 系统开发所采用的技术2.1 JSP简介JSP 已发展了十几年了,几个方面都已经很成熟了,尤其是在B/S方面安全性上因为JSP用Java语言作服务器语言,Java最大优点之一就是安全,Java也把这种特点带到JSP上.。JSP同样是实现动态网页的一个利器。由于他的脚本语言是Java,所以继承了Java诸多优点。运行速度、运行开销、运行平台、扩展性、安全性、函数支持、厂商支持、对XML的支持等等,ASP都不是JSP的对手。以下几点说明了JSP技术的优势所在:1.一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。 2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。 4.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2 B/S结构概述相对于C/S结构,尽管C/S结构相对于更早的文件服务器来说,有了很大的进步,但与B/S相比,缺点和不足是很明显的。首先,B/S比C/S的维护工作量大大减少了。C/S结构的每一个客户端都必须安装和配置软件。假如一个企业共有50个客户站点使用一套C/S结构的软件,则当这套软件进行了哪怕很微小的改动后(比如增加某个功能),系统维护员都必须进行这样的维护;将服务器更新到最新版本;将客户端原有的软件卸载,再安装新的版本,然后进行设置,最为可怕的是客户端的维护工作必须不折不扣的进行50次。若其中有部分客户端是在另外一个地方,则系统维护员还必须跑到该地方再进行卸载、安装、设置的工作。若某个客户端,忘记进行这样的维护,则该客户端将会碰到版本不一致的问题而无法工作。而B/S结构,客户端不必安装及维护。如果我们将前面企业的C/S结构的软件换成B/S结构的,我们看看软件升级后,系统维护员如何维护:系统维护员只要将服务器的软件升级到最新版本就行了。其他客户端,只要重新登录系统,使用的就已经是最新版本的软件了。其次,B/S相对C/S能够降低总体拥有成本,C/S软件一般是采用两层结构的。而B/S软件采用的是三层结构。需求分析的基本任务:确定系统的目标和范围,调查用户的需求,分析系统必须做什么,编写需求规格说明书等其它相关文档,以及需求工程审查.同时还包括需求变更的控制、需求风险的控制、制定需求过程的基本计划等工作。需求分析包括两个活动:需求开发和需求管理。需求可分四类:业务需求是反映组织机构或客户对软件高层次的目标要求,这项需求是用户高层领导机构决定的,它确定了系统的目标规模和范围。用户需求是用户使用该软件要完成的任务。功能需求是软件开发人员必须实现的软件功能。非功能需求是产品必须具备的属性或品质 ,包括对用户的重要属性(有效性、效率、灵活性、完整性、互操作性、可靠性、健壮性、可用性)和开发者的质量属性(可维护性、可复用性、可测试性)。2.3 系统技术概要2.3.1 Struts及Hibernate框架简介Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。其最初萌芽于Craig McClanahan的构思,诞生至今也有若干年。现在,Struts是Apache软件基金会旗下Jakarta项目组的一部分,由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(Message Resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。Struts和JSF/Tapestry都属于表现层框架,这两种分属不同性质的框架,后者是一种事件驱动型的组件模型,而Struts只是单纯的MVC模式框架,老外总是急吼吼说事件驱动型就比MVC模式框架好,何以见得,我们下面进行详细分析比较一下。首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,这里使用了Command模式,每个继承Action的子类都必须实现一个方法Execute。在Struts中,实际是一个表单Form对应一个Action类(或Dispatch Action),换一句话说:在Struts中实际是一个表单只能对应一个事件,Struts这种事件方式称为Application Event,Application Event和Component Event相比是一种粗粒度的事件。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库9。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.3.2 SQLSERVER简介SQL Server 2000提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许您使用内置的存储过程以XML格式轻松存储和检索数据。您还可以使用XML更新程序容易地插入、更新和删除数据。通过Web轻松访问数据。有了SQL Server 2000,您可以使用HTTP来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过Web进行自然语言查询。强大而灵活的基于Web的分析。SQL Server 2000分析服务功能被扩展到了Internet。您可以通过Web浏览器来访问和控制多维数据。高度的可伸缩性和可靠性使用SQL Server 2000可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,SQL Server满足了苛刻的电子商务和企业应用程序要求。向上伸缩。SQL Server 2000利用了对称多处理器(SMP)系统。SQL Server Enterprise Edition最多可以使用32个处理器和64 GB RAM。向外扩展。向外扩展可以将数据库和数据负载分配给多台服务器。可用性。通过增强的故障转移群集、日志传送和新增的备份策略,SQL Server 2000达到了最大的可用性。最快的进入市场时间SQL Server 2000是Microsoft .NET Enterprise Server的数据管理与分析中枢。SQL Server 2000包括加速从概念到最后交付开发过程的工具。集成和可扩展的分析服务。有了SQL Server 2000,您可以建立带有集成工具的端到端分析解决方案,从数据创造价值。此外,还可以根据分析结果自动驱动商业过程以及从最复杂的计算灵活地检索自定义结果集。快速开发、调试和数据转换。SQL Server 2000带有交互式调节和调试查询、从任何数据源快速移动和转化数据、以及按Transact-SQL方式定义和使用函数等功能。您可以从任意Visual Studio工具以可视化方式设计和编写数据库应用程序。简化的管理和调节。使用SQL Server 2000,您可以很容易地在企业资源旁边集中管理数据库。可以在保持联机的同时轻松地在计算机间或实例间移动和复制数据库。3 无纸化考试系统需求分析3.1 需求分析3.1.1 系统需求分析系统分析方法是指把要解决的问题作为一个系统,对系统要素进行综合分析,找出解决问题的可行方案的咨询方法。兰德公司认为,系统分析是一种研究方略,它能在不确定的情况下,确定问题的本质和起因,明确咨询目标,找出各种可行方案,并通过一定标准对这些方案进行比较,帮助决策者在复杂的问题和环境中做出科学抉择。系统分析方法来源于系统科学。系统科学是20世纪40年代以后迅速发展起来的一个横跨各个学科的新的科学部门,它从系统的着眼点或角度去考察和研究整个客观世界,为人类认识和改造世界提供了科学的理论和方法。它的产生和发展标志着人类的科学思维由主要以“实物为中心”逐渐过渡到以“系统为中心”,是科学思维的一个划时代突破。系统分析是咨询研究的最基本的方法,我们可以把一个复杂的咨询项目看成为系统工程,通过系统目标分析、系统要素分析、系统环境分析、系统资源分析和系统管理分析,可以准确地诊断问题,深刻地揭示问题起因,有效地提出解决方案和满足客户的需求。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么?”这个问题。虽然在可行性研究阶段已经粗略了解了用户的需求,甚至还提出了一些可行的方案,但是,可行性研究的基本目的是用较小的成本在较短的时间内确定是否存在可行的解法,因此许多细节被忽略了。然而在最终的系统中却不能遗漏任何一个微小的细节,所以可行性研究并不能代替需求分析,它实际上并没有准确地回答“系统必须做什么?”这个问题。需求分析的任务还不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。可行性研究阶段产生的文档,特别是数据流图,是需求分析的出发点。数据流图中已经划分出系统必须完成的许多基本功能,在需求分析阶段系统分析员将仔细研究这些功能并进一步将它们具体化。在这个阶段结束时交出的文档中应该包括详细的数据流图,数据字典和一组简明的算法描述。需求分析的结果是系统开发的基础,关系到工程的成败和软件产品的质量。因此,必须用行之有效的方法对软件需求进行严格的审查验证3。下面简要叙述需求分析阶段的具体任务。1.确定对系统的综合要求 对系统的综合要求有下述四个方面:(1) 系统功能要求:应该划分出系统必须完成的所有功能。(2) 系统性能要求:例如,联机系统的响应时间(即对于从终端输入的一个“事务”,系统在多长时间之内可以做出响应),系统需要的存储容量以及后援存储,重新启动和安全性等方面的考虑都属于性能要求。(3) 运行要求:这类要求集中表现为对系统运行时所处环境的要求。例如支持系统运行的系统软件是什么,采用哪种数据库,需要什么样的外存储器和数据通信接口等4。(4) 将来可能提出的要求:应该明确地列出那些虽然不属于当前系统开发范畴,但是据分析将来很可能会提出来的要求。这样做的目的是在设计过程中对系统将来可能的扩充和修改预做准备,以便一旦需要时能比较容易地进行这种扩充和修改。2.分析系统的数据要求任何一个软件系统本质上都是信息处理系统,系统必须处理的信息和系统应该产生的信息在很大程度上决定了系统的面貌,对软件设计有深远影响,因此,必须分析系统的数据要求,这是软件需求分析的一个重要任务。分析系统的数据要求通常采用建立概念模型的方法。复杂的数据由许多基本的数据元素组成,数据结构表示数据元素之间的逻辑关系。利用数据字典可以全面准确地定义数据,但是数据字典的缺点是不够形象直观。为了提高可理解性,常常利用图形工具辅助描绘数据结构。常用的图形工具有层次方框图和Warnier图。软件系统经常使用各种长期保存的信息,这些信息通常以一定方式组织并存储在数据库或文件中,为减少数据冗余,避免出现插入异常或删除异常,简化修改数据的过程,通常需要把数据结构规范化。3.导出系统的逻辑模型综合上述两项分析的结果可以导出系统的详细的逻辑模型,通常用数据流图、数据字典和主要的处理算法描述这个逻辑模型。4.修正系统开发计划根据在分析过程中获得的对系统的更深入更具体的了解,可以比较准确地估计系统的成本和进度,修正以前制定的开发计划。5.开发原型系统在计算机硬件和许多其它工程产品的设计过程中经常使用样机。建造样机通常有两个主要目的:检验关键设计方案的正确性及系统是否真正满足用户的需要。对于软件系统的开发,使用“样机”(更正确的名称应该是原型系统)的主要目的是,使用户通过实践获得关于未来的系统将怎样为他们工作的更直接更具体的概念,从而可以更准确地提出和确定他们的要求。把建立原型系统作为一种可能采取的策略的主要理由如下:(1) 由于人类认识能力的局限,不能预先指定所有要求。(2) 在用户和系统分析员之间存在固有的通信鸿沟。(3) 用户需要一个“活的”系统模型,以便获得实践经验。(4) 在开发过程中重复和反复是必要的和不可避免的。(5) 目前有快速建立原型系统的工具可供选用。用户试用了原型系统以后能够指出系统的哪些特性是他们喜欢的,哪些是他们感到不能接受的,以及他们还需要哪些新的功能。根据经过实践检验的用户需求而开发出来的系统,更可能真正满足用户的需要。特别在所开发的系统是全新的,用户一点也没有使用类似系统的经验时,更应该认真考虑开发原型系统的必要和可能5。在软件开发中采用样机策略的主要困难是成本问题。对于一次设计后大批量生产的产品(例如,计算机硬件和绝大多数工业产品),设计和制造样机的费用可以分摊到每件产品上,因此每件产品的成本增加很少。软件,特别是应用软件,通常一次只开发出一件产品,采用样机策略则成本增加很多,因此过去很少采用这种策略。但是,由于正确地提出用户需求是软件开发工程成功的基础,近年来主张采用样机策略的人逐渐多起来了。此外,目前有一些较好的工具可供建立软件的原型系统用,这就为在软件开发中采用样机策略奠定了必要的物资基础。近年来不仅在验证软件需求时使用软件原型,原型法还逐渐发展成为开发软件的一种重要方法。需求分析的前提是准确、完整地获取用户需求。向问题领域的专家学习,进行用户需求查是需求分析的第一步。用户需求通常可以分为功能需求和性能需求两类。功能需求定义了系统应该做什么,系统要求输入什么信息,输出什么信息,以及如何将输入变换为输出。性能需求则定义了软件运行的状态特征,如系统运行效率,可靠性,安全性,可维护性等等。综合起来,应该获取用户需求的内容包括:1.物理环境。系统运行的设备地点、位置是集中式的还是分布式的,对环境的要求如何(如温度、湿度,电磁场干扰等)。2.系统界面。要求与其他系统进行数据交换的内容与格式,终端用户的类型与熟练程度,用户对界面的特定要求,用户操作的易接受性等。3.系统功能。系统应该完成的功能以及何时完成,对于系统运行速度、响应时间或者数据吞吐量的要求,系统运行的权限规定,系统可靠性要求,是否要求可移植,未来扩充或者升级的要求。4.数据要求。输入偷出数据的种类与格式,计算必须达到的精度,数据接收与发送的频率,数据存储的容量和可靠性,数据或者文件访问的控制权限,数据备份的要求。在获取需求过程中遇到的典型问题是:1.如何理解问题。大多数情况下,软件开发人员不是问题领域的行家。但是要准确、完整的获取需求必须对问题具有深入的理解与把握。许多问题即使是用户业务人员也可能没有自觉的认识。2.分析员与用户的通信问题。分析员对问题的理解必须从信息处理要求出发,而用户更多的考虑是本身的业务领域。与用户建立相互信任、有效的沟通是分析员的首要任务。3.用户需求的可变性。用户需求通常是不断变化的,而软件开发人员则希望将需求冻结在某一时刻。影响用户需求变化的因素可以是用户领域的业务扩充或者转移,市场竞争的要求,用户主管人员的变更等。现实情况是分析员只能接受需求不断变化的事实,应该千方百计地使其工作适应需求的变化。现实世界是复杂多变的。为了将现实世界中问题的求解映射为信息处理模型,对问题进行分解与抽象是普遍有效的基本法则6。分解是将复杂问题求解分解为若干相对简单问题求解的组合。我们可以将一个系统分解为若干个子系统,定义好各子系统之间的相互联系,对每个子系统分别求解。分解的目的是为了降低问题求解的复杂性。如子问题仍然较复杂,则可以进一步分解。抽象是认识问题的一般与特殊的关系。例如对于上面的考试系统我们可以考虑考试要求的不同试题类型,构造每种类型的典型试题,通过对典型试题的答题要求和阅卷判定方法分析,抽象出各类试题的不同答题模式和计算机阅卷策略与算法。问题分解与抽象定义了问题的层次结构,应该在问题求解中反映出这种层次结构。问题结构与问题求解结构的对应关系保证了问题定义的完整性、正确性和跟踪性3.1.2 功能分析需求分析的方法有很多.这里只强调原型化方法。原型化方法是十分重要的。原型就是软件的一个早期可运行的版本,它实现了目标系统的某些或全部功能。原型化方法就是尽可能快地建造一个粗糙的系统,这系统实现了目标系统的某些或全部功能,但是这个系统可能在可靠性,界面的友好性或其他方面上存在缺陷。建造这样一个系统的目的是为了考察某一方面的可行性,如算法的可行性,技术的可行性,或考察是否满足用户的需求等。如为了考察是否满足用户的要求,可以用某些软件工具快速的建造一个原型系统,这个系统只是一个界面,然后听取用户的意见,改进这个原型。以后的目标系统就在原型系统的基础上开发。原型主要有三种类型,探索型,实验型,进化型。探索型:目的是要弄清楚对目标系统的要求,确定所希望的特性,并探讨多种方案的可行性。实验型:用于大规模开发和实现前,考核方案是否合适,规格说明是否可靠。进化型:目的不在于改进规格说明,而是将系统建造得易于变化,在改进原型的过程中,逐步将原型进化成最终系统。在使用原型化方法是有两种不同的策略:废弃策略,追加策略。废弃策略:先建造一个功能简单而且质量要求不高的模型系统,针对这个系统反复进行修改,形成比较好的思想,据此设计出较完整,准确,一致,可靠的最终系统。系统构造完成后,原来的模型系统就被废弃不用。探索型和实验型属于这种策略。追加策略:先构造一个功能简单而且质量要求不高的模型系统,作为最终系统的核心,然后通过不断地扩充修改,逐步追加新要求,发展成为最终系统。进化型属于这种策略。3.2 可行性分析 3.2.1 技术及开发方法可行性本系统基于浏览器/服务器体系即人们常说的 B/S体系,系统安装维护简便。数据集中管理,便于分散用户使用,适应互连时代软件的发展趋势。开发技术主要包括JSP,Java,JavaBean,JDBC以及Web应用开发中常用的脚本语言JavaScript技术。Web服务器采用Tomcat,数据库采用开放式MySql数据库系统。由于本系统采用的是Java相关的技术具有“一处编译处处运行”的特性,所以系统能够跨平台使用,可运行于Linux/Unix和Windows系列等操作系统平台。3.2.2 管理可行性利用面向对象的机构化方法,面向对象方法以“对象为中心”,在分析、研究对象及其属性的过程中,根据其内在规律建立求解模型。基于这种方法建立的软件系统,不管外部环境或功能需求如何变化,而对象内在的规律不变,因而不会引起软件结构的整体变化,所以系统是稳定的,利用此方法可以充分达到系统管理可行性的目的。3.2.3 经济可行性定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本;另一方面,在线考试系统能够快速的进行考试和评分,体现出考试的客观与公正性。3.3 总体设计3.3.1 系统物理环境配置系统硬件平台的配置:1.CPU:Intel Core Duo CPU T24502.内存:1GB DDR。3.硬盘:120GB。4.基本的输入、输出设备。系统软件平台的配置:如果说硬件是一个系统的身体,那么软件则是一个系统的灵魂,一个系统设计的好坏,不仅要有正确的软件开发思想,也应该有良好的软件开发工具,投资规划与保险模块所采用的软件配置环境为:1.操作系统:Windows Vista Home Premium 2.数据库软件:SQLSERVER20003.系统开发软件:MyEclipse8.54.JSP服务器:Tomcat6.05.浏览器: IE7.0 分辨率:最佳效果1024768像素3.3.2 功能结构设计系统功能结构图如图3-1所示。图3-1系统功能结构图后台管理流程图如图3-2所示。图3-2后台管理流程图本系统总体上由两个模块组成:管理员模块和普通用户模块。下面就图3-2,给予分别描述。1. 考生信息模块概述:该模块主要包括考生登录,考生注册,修改个人资料等功能.考生首先要注册成为用户然后被授予一系列操作权限,登陆后还可修改个人资料。流程图如图3-3所示。 图3-3考生信息模块流程图2. 在线考试模块概述:学生首先阅读考试规程,在接受考试规程的情况下选择考题,选择考试后抽取考题,然后进入考试页面答题,系统会自动记录时间,考生提交卷子,交与后台管理员处理,最终考生可查询自己的考试成绩流程图如图3-4所示。图3-4在线考试模块流程图3. 考试题目管理模块概述:该模块主要包括查看考试题目列表,增加考试题目信息,修改题目信息和删除题目信息等功能。流程图如图3-5所示。3-5考试题目管理模块流程图3.4 业务流程分析3.4.1 业务流程图图例系统设计以前,要对系统需求进行归纳分析,查找出所有的业务主角,确定业务主角后,每个主角的相关活动及流程应清晰地制定出来,最终设计出逻辑视图、用户界面示意图。经过认真地调查研究、信息流程分析和数据收集,以及智能问答系统的业务特点,可以绘制业务流程图。业务流程图如图3-6所示。 判断过程 业务处理功能 描述信息传递过程 处理单位 文档数据图3-6业务流程图图例3.4.2 系统业务流程分析以下是对该系统业务流程的简单分析:用户首先登录系统,用户名与密码验证通过就能做相关操作。如果用户名不存在或密码不正确,就提示登陆失败,需要重新输入。以学生身份用户成功登陆之后,可选业务有三个,用户信息管理,在线考试,成绩查询。如果用户进行基本信息操作,则可以直接登录系统,维护自己的信息,如重新设置用户名、密码和联系方式等。以教师(管理员)身份用户成功登陆之后,可选择的项目有:学生管理、试题管理、成绩管理、登陆管理以及教师管理。学生管理中可以查询学生信息、增加或者修改、删除学生信息。试题管理中可以增加考试科目。登陆管理中可以查看用户登陆的时间、登陆身份以及登陆是否成功等信息。在教师管理中可以管理教师的信息。4 无纸化在线考试概要设计4.1 功能模块的设计1.登录模块:教师需要输入密码和名字登录系统,以便于管理。若密码和用户名输入不正确将登录失败。学生需要注册提交信息之后阅读考试规则考试。2.教师页面模块:登录模块后可以对学生信息进行管理,对其他的教师进行管理,可以修改、添加套题,对学生成绩也可以及时的查看。3.教师退出管理模块:安全退出。 如图为无纸化考试系统的功能图4-14-1无纸化考试系统功能图如图为学生考试过程功能图4-24-2学生考试过程功能图4.2 数据库设计1. 概念设计概念结构设计是将分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。概念结构的主要特点是:(1) 能真实、充分地反映现实世界。(2) 易于理解。(3) 易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4) 易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型共同基础,它比数据模型更独立于机器、抽象,更加稳定。为了把用户的数据要求清晰明确的表达出来,通常要建立一种面向问题的数据模型,按照用户的观点来对数据和信息建模。最常用的概念性数据模型就是E-R模型。问题实体属性图如图4-3所示。图 4-3 问题信息实体属性图考试记录信息实体属性图如图4-4所示。图 4-4考试记录实体属性图登陆日志信息实体属性图如图4-5所示。图 4-5登陆日志信息实体属性图选项信息实体属性图如图4-6所示。图 4-6选项信息实体属性图结果信息实体属性图如图4-7所示。图 4-7 结果信息实体属性图 学生信息实体属性图如图4-8所示。图 4-8 学生信息实体属性图科目信息实体属性图如图4-9所示。图 4-9科目信息实体属性图教师信息实体属性图如图4-10所示。图 4-10教师信息实体属性图2. 逻辑设计数据库逻辑设计分为三个阶段,分别是:用户要求、建立E-R 模型和数据库模式设计。数据库逻辑设计中的第一阶段收集和分析用户需求是按以下四步进行的:分析用户活动,确定系统范围,分析用户活动所涉及的数据和分析系统数据。逻辑设计第二阶段建立E-R 模型分两步,首先应进行局部E-R 模型设计,然后进行总体E-R 模型的设计。逻辑设计第三阶段在数据库模式设计阶段分两步进行,第一步初步设计:把ER 图转换为关系模型,第二步优化设计:对模式进行调整和改善。我们所要进行研究的是逻辑设计的第三步即将E-R图像关系模型转化。下面把实体及实体间关系转换成为关系模型。实体转换出的关系模式:学生信息表学生编号,真实姓名,用户名,性别,密码,地址,邮箱教师信息表教师编号,用户姓名,密码科目信息表科目编号,科目名称,说明,状态,创建时间,考试时间结果信息表结果编号,学生编号,科目编号,开始时间,结束时间,分数选项信息表选项编号,问题编号,内容登陆日志信息表登陆日志编号,Ip地址,登陆时间,用户名,是否为老师,是否登陆成功问题信息表问题编号,科目编号,问题类型,内容,正确选项,分数,创建日期考试记录信息表考试记录编号,问题编号,答案,答案编号3. 物理设计数据库物理设计包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。主要解决选择文件存储结构和确定文件存取方法的问题。在数据库中访问数据的路径主要表现为如何建立索引。如要直接定位到所要查找的记录,应采用索引方法存取方法(索引表)。顺序表只能从起点进去向后一个个访问记录。数据库的物理实现取决于特定的DBMS,在规划存储结构时主要应考虑存取时间和存储空间,这两者通常是互相矛盾的,要根据实际情况决定。在上面的实体以及实体之间关系模式的基础上,形成数据库中表以及各表之间关系。考试记录信息表如表4-1所示。表4-1 考试记录信息表字段名类型可否为空主键说明ExamrecordidFloat(12,2)否是考试记录编号ResultidFloat(12,2)是否结果编号questionidFloat(12,2)是否问题编号answerVarchar(20) 否否答案登陆日志信息表如表4-2所示。表4-2登陆日志信息表字段名类型可否为空主键说明loginlogidFloat(12,2)否是登陆日志编号usernameVarchar(20)是否用户名successFloat(12,2)是否是否成功isteacherFloat(12,2)是否是否为老师ipVarchar(20) 是否Ip地址logtimeDate是否登陆时间选项信息表如表4-3所示。表4-3项信息表字段名类型可否为空主键说明optionidFloat(12,2)否是选项编号questionidFloat(12,2)是否问题编号contentText是否内容问题信息表如表4-4所示。表4-4问题信息表字段名类型可否为空主键说明questionidFloat(12,2)否是问题编号subjectidFloat(12,2)是否科目编号contentText是否内容qtypeFloat(12,2)是否问题类型scoreFloat(12,2)是否分数rightanwserVarchar(20)是否正确答案sdateVarchar(20)是否创建时间结果信息表如表4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025家庭室内装修工程设计合同范本
- MATLAB在教学中的应用教案(2025-2026学年)
- 会务服务合同
- 2025:单位违法终止劳动合同 versus 劳动者自愿辞职代理词范例
- 人音版七年级音乐下册说课稿:2.2伴随着你
- 吉林省通化市七年级地理上册 1.1地球和地球仪说课稿3 (新版)新人教版
- 2025年融资租赁合同履行中出租人与承租人的权利与义务
- 第5课 荷花美说课稿-2025-2026学年小学美术赣美版三年级下册-赣美版
- 2025借款合同协议范本
- 难点详解人教版八年级上册物理《物态变化》专项测评试题(解析版)
- 财务风险防控与内控管理方案
- 牛肉酱制作培训课件
- 民族共同体课件
- 售电入门基础知识培训课件
- 2024年时事政治考试题库有答案
- 小儿镇静课件
- 光伏建筑投标文件范本
- 2025年药店员工培训考试试题(附答案)
- 民办学校招生方案及推广策略实操指南
- 2025 康复科康复指南解读查房课件
- 2025年初级注册安全工程师考试练习题及答案解析
评论
0/150
提交评论