软件工程设计说明书
姓名:
学号:
班级:
指导教师:
完成日期:
设计要求
目录
一引言 (1)
1.1编写目的 (1)
1.2项目背景 (1)
二可行性分析 (3)
2.1 技术可行性 (3)
2.2 经济可行性 (3)
2.3社会可行性 (4)
2.4最终结论 (4)
三需求分析 (5)
3.1 项目的功能需求 (5)
3.2 项目的性能需求 (5)
四系统分析 (6)
4.1系统对象模型 (6)
4.2系统用例图 (6)
4.3系统数据流图 (7)
4.4 系统ER图 (7)
五系统设计 (8)
5.1主界面的设计 (8)
5.2数据库的初步设计 (8)
六总结 (10)
七参考文献 (11)
考试系统设计说明书
一引言
1.1编写目的
考试系统设计说明书的编写目的是为了改变一直以来人们使用传统人工纸质的方式来考试测评,这种考试测评方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于批改、查找、更新和维护考试试卷都带来了不少的困难。
而使用计算机对学生考试,具有手工考试所无法比拟的优点.例如:批改迅速、查找方便、可靠性高、保密性好、寿命长、成本低等。
这些优点能够极大地提高学生考试的效率,也是老师的科学化、正规化测评学生的重要途径,故设计此系统。
1.2项目背景
目前随着学校学生人数的不断增加,学校资源的有限性,加上计算机的迅速发展,人工试卷考试已经满足不了现在的需要,而且十分的难以保存资料浪费资源弊端十分多。
同时学校对学生考试系统的要求十分强烈,也有很多这方面的软件在市场中出现,广受学校老师的欢迎。
项目名称:考试系统;
项目提供者:学校老师;
设计者:
用户:学校考试测评老师;
项目实现者:
考试系统项目的开发软件是使用NetBeans开发工具,NetBeans是Sun公司使用Java语言开发的一个开源工具,主要包括IDE(集成开发环境)和Platform (平台)两个主要部分。
利用NetBeans集成开发环境可以开发标准的Java应用程序、Web程序、手机程序、C++程序等。
因为这个开发软件适合小中型的开发项目正好适合这个项目的开发,而且这个项目开的语言大部分使用java语言正
好适合我们的开发,选择NetBeans开发工具是很好的。
项目开发使用的数据库是sql server2005数据库,SQL Server 是一个关系数据库管理系统。
它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。
二可行性分析
2.1 技术可行性
考试系统大约一个月就可以完成,在这段时间内容可以把考试系统中的各个功能实现,主要的难点在系统前台和后台的连接,因为数据库中的数据繁多,加上系统有一点复杂,这个地方是项目的难点,但是应用现有的技术是完全可以解决的,只不过是花费的时间多一点。
我们团队队员的实力也是很强的,以前做过类似的项目,并且在专业学习方面都是非常突出的,完全有能力保质保量完成这个项目。
2.2 经济可行性
1、初期的投入
基建投资:
PC机2台:5000*2=10000元
打印机1台:1000元
其他一次性支出:
人员培训费用:2000元
经常性支出:
人工费用:(考试工作人员工资2000元/月)*2=4000/月
其他不可预知费用:10000元
共计:27000元,每年再支出16000元
2、效益
一次性收益:
无
经常性收益:
减少考试工作人员10个:(考试工作人员工资1800元/月)*10=18000元/月效率提高:30%以上,节约成本30000元/年
不可定量收益:
无
共计:246000元/每年
2.3社会可行性
1.法律方面的可行性
本项目不涉及在社会上或政治上引起侵权、破坏或其他责任问题。
设计本项目的一切活动都在国家法律允许范围以内。
系统开发和运行与国家的政策法规不存在任何冲突和抵触之处而且不存在盗版问题。
2.使用方面的可行性
考试系统针对学校学生考试进行开发的一个系统。
从学校的角度来看,纸质的考试不仅物质成本高,而且需要耗费大量的人力资源;此外,纸质的考试不够灵活,使得考试变得不够人性化,不能体现出学校考试的真实目的——促进学生提升自身的素质和能力,学生和老师都是受过高等教育的人对考试系统完全可以掌握,并且可以安全使用该系统。
2.4最终结论
经过从技术、经济和社会各个方面的深入研究,综合各方面的因素得出结论:考试系统项目可以在预期内完成可以开始着手组织设计开发。
三需求分析
3.1 项目的功能需求
要求能识别考生,自动随机抽取试题,考试时间到自动交卷,交卷时自动评分。
教师能根据教学内容生成或维护试题库,能了解学生学生的考试情况。
该考试系统只限单选题、多选题和判断题,它由二个子系统组成:
1、报名系统:(1)考生信息录入。
(2)准考证号生成。
(3)考生信息查询与维护。
2、考试系统:
考生只需输入准考证,与登录考生信息相符即可开始考试,否则拒绝登录,考试开始时将自动抽取试题,考试时间到自动交卷,交卷时自动评分。
3、数据管理:
将报名表中的考生信息导入登录表。
4、查询与统计:
①查询已考人员成绩及统计人数。
②查询零分人员及统计人数。
③查询未考人员及统计人数。
交卷后可查询本考试各题的用户答案与正确答案(注意不同用户的权限)3.2 项目的性能需求
该项目要求能识别考生,自动随机抽取试题,考试时间到自动交卷,交卷时自动评分。
教师能根据教学内容生成或维护试题库,能了解学生学生的考试情况。
可以使同学们同时在线考试,实时性比较好,对数据库的查询时相应时间要求尽量短,对于环境的适应性没有障碍。
同时数据的精确度要高,具备以扩展性和以维护性,在处理一些不可避免的错误是,应该能保护数据的完整性,且安全性要高。
四系统分析4.1系统对象模型
图4-1
4.2系统用例图Array
图4-2
4.3系统数据流图
图4-3 4.4 系统ER图
图4-4
五系统设计
5.1主界面的设计
考试登录界面
图5-1
管理员登录界面
图5-2
5.2数据库的初步设计
考试系统选择的是SQL Server数据库,这个数据库是一个关系型数据库。
本项目选择这个数据库的主要原因是:数据库能汇集各种信息以供查询、存储和检索。
自定义窗体收集信息。
数据表示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然,还提供了排序功能。
SQL Server2005也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络
用户共享数据库。
如上所述, Microsoft SQL Server2005 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
为了安全性和保障同时多人考试和随时存储数据,选择了SQL Server。
六总结
回顾该系统从选题,到调研、需求分析、设计、编码实现、测试等,论文的撰写,这系列连贯的过程,感想颇多,收获也很多。
大致的总结几点,如下:1.设计开发一个软件首先应该对所要编写的软件有一个大体的认识一个总的框架,有一定的思路。
对要实现的功能进行分析,并且理清其中的关系,把整个逻辑结构在脑海中实现出来。
其次就是要对在开发软件过程中用到得工具进行准备,做好设计前的准备工作。
2. 在开发一个系统时,前期的分析工作是个关键但是具体的实际操作也同样重要。
在编码的过程中要做到对代码功能的理解,每一块用什么样的代码实现什么功能应该很清楚。
在一个就是要做到认真编码,全神贯注注意每一个细节。
做到没有差错。
3.程序写好了,下一步就是调试工作这将关系到工作的成败,调试是一个很枯燥的过程对我们大家来说发现问题和解决问题的过程,对整个系统有改善的作用。
提高整个系统的整体性能。
要通过出现的问题去检查代码是否出现了错误,这样一点点的吧错误解决,达到完美的效果。
4. 在上述工作中我点体会,就是我们所学的知识相对于我们在工作中用到的是远远不足的看到了差距。
在你做的软件中要真正有你的东西,能够体现你的价值和能力,懂得充分利用网络资源,因为时间是非常有限的,所以到网络上去找答案是一个非常高效的途径,做到相互帮助同学之间进行问题的探讨增加了合作意识。
由于本人是初次开发系统,在知识、经验方面都存在着不足。
另外,在整个开发的过程中,时间也比较仓促。
因此,该系统必然会存在一些缺陷和不足。
谨请大家提出宝贵的意见。
七参考文献
[1]郭伟业 .《动态页面设计(JSP)》[M]. 北京:机械工业出版社.2008
[2]杨学全 .《SQL Server实例教程(第二版)》[M]. 北京:电子工业出版社.2007
[3]马世霞 .《java程序设计》[M].北京:机械工业出版社.2008
[4]张海藩 .《软件工程》[M].北京:清华大学出版社.2009。