1、 在线考试系统项目.项目目标1软件开发设计文档在线考试系统项目.项目目标2文档管理信息表主题 在线考试系统版本 1.0内容 基于 web的在线考试系统关键字 MVC模式 在线考试 考生.题库管理参考文档 JSP实用教程(第二版)清华大学出版社(耿祥义.张跃平编著)创建时间 2016/7/4最新发布日期 2016/7/6目 录1 引言.11.1 设计背景 .31.2 编写目的.41.3 系统概述.42 开发规划 .42.1 开发人员 .42.2 开发计划 .42.3 开发环境和工具 .53 开发设计 .63.1 需求概述 .63.2 软件结构 .73.3 基本设计描述 .93.3.1 系统总体逻
2、辑结构图 .83.3.2 系统部署结构图 .93.4 主要界面描述 .73.4.1 用户打开 界面 .73.4.2 答题 界面 .73.4.2 结果显示 界面 .73.5 模块列表 .84 数据结构 .95 模块设计 .10在线考试系统项目.项目目标35.1 JSP 编辑模块 .105.1.1 javabean.105.1.2 servlet.105.1.3 jsp 页面 .106 接口设计 .126.1 数据库与系统 .126.1.1 用户数据库 .126.1.2 试题数据库 .125.2 MVC 模式内部连接 .131、引言1.1 设计背景随着计算机网络技术的飞速发展,现在很多国外的大学和
3、社会其他部门都已经开设了教学,通过计算机实现异地教育和培训。如今,计算机硬件技术的发展已经达到了相当高的水平。但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了更高的设计要求。教学包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然教学已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加
4、及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。从而,在线考试系统设计成为当今教育的信息化趋势以及高校教育信息化系统建设的方向,其目的是充分利用学校现有的计算机软、硬件和网络
5、资源实现无纸化考试以避免传统手工考试的不足。其意义在于:与传统考试模式相比,在线考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过 Internet来实现在线考试,是现代教育技术的一个具体实现,具有很重要的现实意义。本系统设计的主要目的是实现课程的无纸化考试,从而为开展各种网络教学提供支持和帮助。本系统设计以软件程序设计课程为例,主要是考虑其教学对象覆盖面在线考试系统项目.项目目标4较广的特点,开展相关设计有一定的实用价值。1.2 编写目的 在本在线考试系统项目的需求分析阶段中,已经将系统用户对本系统的需求做了详细的分析,这些用户需求已经在分析讨论阶段中以及对各个在
6、线考试系统的实际调研中获得。并且在系统的需求分析的基础上,对软件系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。在下文的设计报告中将对设计进行详细的说明。在详细设计中,程序设计员可参考设计报告,在设计报告对在线考试系统所做的模块结构设计的基础上,对系统进行详细设计。在的软件测试以及软件维护阶段也可参考此说明书,以便于了解设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。1.3 系统概述我们小组本次选择基于 web 的线考试系统的开发。采用 MVC 模
7、式,小组成员经商量后分工完成各部分代码。模型(Model )用 Javabean 来实现。用于存放考生信息;视图(View)由多个 jsp 构成。控制器(Controller)为Servlet。通过数据库存储考生信息和题目信息。2、开发规划2.1 开发人员2.2 开发计划我们小组本次选择在线考试系统的开发。采用 MVC 模式,小组成员经商量后分工完成各部分代码。模型(Model)用 Javabean 来实现。用于存放考生信息;视图(View )由多个 jsp 构成。控制器(Controller)为 Servlet。通过数据库存储考生信息和题目信息。2016/7/4 确定开发课题2016/7/4
8、 开发过程分工,设计文档初步撰写2016/7/5 软件开发设计分析2016/7/5 相关设计文档内容补充2016/7/6 数据库填充2016/7/6 模式、视图、控制器部分架构设计2016/7/6 M/V/C 三部分编程实现2016/7/7 设计文档填充2016/7/7 各个部件链接调试2016/7/8 软件开发设计成果展示2.3 开发环境TomcatTomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。由于有了 Sun 在线考试系统项目.项目目标5
9、的参与和支持,最新的 Servlet 和 JSP 规范总是能在 Tomcat 中得到体现,Tomcat 5 支持最新的 Servlet 2.4 和 JSP 2.0 规范。因为 Tomcat 技术先进、性能稳定,而且免费,因而深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器。Tomcat 最初是由 Sun 的软件构架师詹姆斯邓肯 戴维森开发的。后来他帮助将其变为开源项目,并由 Sun 贡献给 Apache 软件基金会。由于大部分开源项目 OReilly 都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因
10、为他希望这种动物能够自己照顾自己,最终,他将其命名为 Tomcat(英语公猫或其他雄性猫科动物) 。而 OReilly 出版的介绍 Tomcat 的书籍(ISBN 0-596-00318-8)1的封面也被设计成了一个公猫的形象。而 Tomcat 的 Logo 兼吉祥物也被设计成了一只公猫。Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好 Apache 服务器,可利用它响应 HTML(标准通用标记语言 下的一个应用)
11、页面的访问请求。实际上Tomcat 部分是 Apache 服务器的扩展,但它是独立运行的,所以当你运行 tomcat 时,它实际上作为一个与 Apache 独立的进程单独运行的。当配置正确时,Apache 为 HTML 页面服务,而 Tomcat 实际上运行 JSP 页面和Servlet。Tomcat 和 IIS 等 Web 服务器一样,具有处理 HTML 页面的功能,它还是一个Servlet 和 JSP 容器,独立的 Servlet 容器是 Tomcat 的默认模式。MySQLMySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,属于 Oracle旗下公司。MySQL
12、最流行的 关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。特性1使用 C
13、和 C+编写,并使用了多种编译器进行测试,保证了源代码的可移植性。2支持 AIX、FreeBSD、HP-UX 、Linux 、 Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。3为多种编程语言提供了 API。这些编程语言包括C、C+、Python、Java 、Perl 、PHP、Eiffel、Ruby,.NET 和 Tcl 等。4支持多线程,充分利用 CPU 资源。在线考试系统项目.项目目标65优化的 SQL 查询算法,有效地提高查询速度。6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而
14、嵌入到其他的软件中。7提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。8提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。9提供用于管理、检查、优化数据库操作的管理工具。10支持大型的数据库。可以处理拥有上千万条记录的大型数据库。11支持多种存储引擎。12.MySQL 是开源的,所以你不需要支付额外的费用。13.MySQL 使用标准的 SQL 数据语言形式。14.MySQL 对 PHP 有很好的支持,PHP 是目前最流行的 Web 开发语言。15.MySQL 是可以定制的,采用了 GPL 协议,你可以修改
15、源码来开发自己的 MySQL 系统。16.在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性。17.复制全局事务标识,可支持自我修复式集群。18.复制无崩溃从机,可提高可用性。19.复制多线程从机,可提高性能。开发工具Note book 我们采用最原始的记事本来编写我们的源代码。3、程序设计3.1 需求概述功能需求系统需求在线考试系统项目.项目目标73.2 软件结构MVC 模式示意图请求处理数请求 jsp 页面显示数据读写存储数据视图:显示部分,由多个jsp 页面构成是依据模型数据创建的。控制器:数据处理部分,由多个servlet 构成。模型:负责在数据库中存取数据,由一个 Ja
16、vabean 构成。数据:MySQL 数据库MVC 模式图该系统中的 MVC 模式解析模型(Model):一个 Javabean。用于存放考生信息,如:考生姓名 Name、考号Number、密码 Password、考试成绩 Score;存放题目信息,如:题目 Question、题号、题目数量、选项、题目示意图;存放答案,如:用户给出的答案 answer、正确答案correctAnswer。视图(View):多个 jsp 构成。一个登陆界面、答题界面、成绩界面。其中答题界面提交答案后按下一题跳转至下一道题目。在线考试系统项目.项目目标8控制器(Controller):接收根据用户提供的答案,并与
17、正确答案进行比较,给出得分。数据库:建立一个数据库,两个表。存储考生用户信息及题目信息。软件系统模块结构3.3 基本设计描述3.3.1 系统总体逻辑结构图3.3.2 系统部署结构图登录 用户信息(账户、密码)数据库中用户信息是否存在答题 答案显示成绩 计算成绩数据库否是提交在线考试系统项目.项目目标9系统总体逻辑结构图用户答题 成绩数据库服务器Web 服务器内部客户机 内部客户机系统网络拓扑结构在线考试系统项目.项目目标103.4 主要界面描述3.4.1打开界面3.4.2答题界面3.4.3结果显示界面用户提交信息MVC 模式处理 数据库调用数据处理机制用户提交信息试题库 用户答题信息更新数据库数据管理