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