软件开发设计文档模板.doc
《软件开发设计文档模板.doc》由会员分享,可在线阅读,更多相关《软件开发设计文档模板.doc(14页珍藏版)》请在冰豆网上搜索。
在线考试系统项目.项目目标
软件开发设计文档
文档管理信息表
主题
在线考试系统
版本
1.0
内容
基于web的在线考试系统
关键字
MVC模式在线考试考生.题库管理
参考文档
JSP实用教程(第二版)清华大学出版社(耿祥义.张跃平编著)
创建时间
2016/7/4
最新发布日期
2016/7/6
目录
1引言………………………………………………………………………………………….……1
1.1设计背景 ………………………………………………………………………………...3
1.2编写目的…………………………………………………………………………….…..4
1.3系统概述…………………………………………………………………………….…..4
2 开发规划 4
2.1 开发人员 4
2.2 开发计划 4
2.3 开发环境和工具 5
3 开发设计 6
3.1需求概述...............................................................................................................................................6
3.2软件结构...............................................................................................................................................7
3.3 基本设计描述 9
3.3.1 系统总体逻辑结构图 8
3.3.2 系统部署结构图 9
3.4 主要界面描述 7
3.4.1 用户打开界面 7
3.4.2 答题界面 7
3.4.2 结果显示界面 7
3.5 模块列表 8
4 数据结构 9
5 模块设计 10
5.1 jsp编辑模块 10
5.1.1 javabean 10
5.1.2 servlet 10
5.1.3 jsp页面 10
6 接口设计 12
6.1 数据库与系统 12
6.1.1 用户数据库 12
6.1.2 试题数据库 12
5.2 MVC模式内部连接 13
1、引言
1.1设计背景
随着计算机网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设
了教学,通过计算机实现异地教育和培训。
如今,计算机硬件技术的发展已经达到了相
当高的水平。
但是,教学软件的开发目前还处于起步阶段,随着这项技术的不断深入发
展,就要求有更好、更完善的软件系统应用到教学当中去,这就给软件设计人员提出了
更高的设计要求。
教学包括很多环节,例如教学系统、答疑系统和考试系统等等。
其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。
在我国,虽然教学已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。
随着计算机应用的迅猛发展,应用不断扩大,如教学和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。
从而,在线考试系统设计成为当今教育的信息化趋势以及高校教育信息化系统建设
的方向,其目的是充分利用学校现有的计算机软、硬件和网络资源实现无纸化考试以避
免传统手工考试的不足。
其意义在于:
与传统考试模式相比,在线考试渗入了更多的技
术环节,对实现安全性的途径、方法也提出了更高的技术要求。
通过Internet来实现在线考试,是现代教育技术的一个具体实现,具有很重要的现实意义。
本系统设计的主要目的是实现课程的无纸化考试,从而为开展各种网络教学提供支持和帮助。
本系统设计以《软件程序设计》课程为例,主要是考虑其教学对象覆盖面
较广的特点,开展相关设计有一定的实用价值。
1.2编写目的
在本在线考试系统项目的需求分析阶段中,已经将系统用户对本系统的需求做了详细的分析,这些用户需求已经在分析讨论阶段中以及对各个在线考试系统的实际调研中获得。
并且在系统的需求分析的基础上,对软件系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在下文的设计报告中将对设计进行详细的说明。
在详细设计中,程序设计员可参考设计报告,在设计报告对在线考试系统所做的模块结构设计的基础上,对系统进行详细设计。
在的软件测试以及软件维护阶段也可参考此说明书,以便于了解设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
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软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。
后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。
由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。
因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。
而O'Reilly出版的介绍Tomcat的书籍(ISBN0-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是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,属于 Oracle 旗下公司。
MySQL最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,关系数据库管理系统)应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。
MySQL软件采用了双授权政策,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。
特性
1.使用C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。
2.支持 AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
3.为多种编程语言提供了 API。
这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和Tcl等。
4.支持多线程,充分利用CPU资源。
5.优化的 SQL查询算法,有效地提高查询速度。
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。
7.提供多语言支持,常见的编码如中文的 GB2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。
8.提供 TCP/IP、ODBC和 JDBC等多种数据库连接途径。
9.提供用于管理、检查、优化数据库操作的管理工具。
10.支持大型的数据库。
可以处理拥有上千万条记录的大型数据库。
11.支持多种存储引擎。
12.MySQL是开源的,所以你不需要支付额外的费用。
13.MySQL使用标准的 SQL数据语言形式。
14.MySQL对PHP有很好的支持,PHP是目前最流行的Web开发语言。
15.MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的MySQL系统。
16.在线DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性。
17.复制全局事务标识,可支持自我修复式集群。
18.复制无崩溃从机,可提高可用性。
19.复制多线程从机,可提高性能。
开发工具
Notebook我们采用最原始的记事本来编写我们的源代码。
3、程序设计
3.1需求概述
功能需求
系统需求
3.2软件结构
MVC模式示意图
请求处理数
请求jsp页