系统管理需求分析.docx
- 文档编号:26623175
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:48
- 大小:1.07MB
系统管理需求分析.docx
《系统管理需求分析.docx》由会员分享,可在线阅读,更多相关《系统管理需求分析.docx(48页珍藏版)》请在冰豆网上搜索。
系统管理需求分析
兰州城市学院本科毕业论文
在线考试系统—
管理员模块设计
学院名称:
信息工程学院
专业名称:
计算机科学与技术(网络)
学生姓名:
谢斌
指导教师:
文静讲师
二○一四年五月
摘要
本系统是一个基于Java面向对象程序语言的在线考试系统,用户角色由学生、教师和系统管理员组成。
本系统主要实现了自动组卷、学生在线考试、教师在线批阅和考试设置、试题维护、分数统计等功能。
在这个系统中主要设计了管理员模块,负责修改/查阅、分析成绩、用户信息维护等功能的实现。
本系统采用B/S模式设计。
系统所用到的技术有HTML、CSS、Javascript、JSP、Servlet等。
数据库选用SQLServer2005,Web服务器选用TomCat7.x。
前台设计主要在DreamWeaver上设计完成,后台开发主要在Myeclipse上完成。
关键词:
Java;在线考试;随机抽题;自动组卷
目录
摘要I
第1章绪论1
1.1问题的提出1
1.2系统开发目标1
1.3开发工具的选择1
1.4开发本系统的意义2
第2章系统分析3
2.1背景分析3
2.2可行性分析3
2.2.1技术可行性分析3
2.2.2经济可行性3
2.2.3方案可行性4
第3章系统设计5
3.1需求分析5
3.2总体设计6
3.2.1系统数据流图6
3.2.2系统的功能模块图7
3.2.3系统功能模块8
3.3数据库设计10
3.3.1数据字典10
3.3.2实体关系图13
3.3.3数据库的连接15
3.4详细设计17
3.4.1公共类设计17
3.4.2在线考试模块设计20
3.4.3成绩查询模块设计22
3.4.4查看/修改考生试卷模块设计22
3.4.5分数段统计模块设计25
3.4.6个人信息维护模块设计25
3.4.7试题维护模块设计29
3.4.8考试设置信息维护模块设计29
3.4.9用户管理模块设计30
第4章系统测试33
4.1系统运行环境33
4.2测试目的33
4.3各功能模块测试33
4.3.1查看/修改试卷测试34
4.3.2分数段统计测试34
4.3.3用户管理测试35
4.4系统压力测试36
4.5用户体验37
结论38
参考文献39
致谢40
第1章绪论
1.1问题的提出
计算机技术的发展及计算机的日益普及,很多国内外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训,从而为在线考试系统发展提供了坚实的基础。
如今计算机硬件技术的发展已经达到了相当高的水平。
但是,我国远程教育软件的开发目前还处于起步阶段,随着这项技术不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。
在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于在线考试与无纸化办公一样已成为大势所趋。
在线考试系统也越来越成为学校的好帮手,它的优势不但体现在人力上也体现在物力上,在线考试系统的采用自动评阅、计分、成绩存档功能将有效地避免资源的浪费,有利于环保,减少人员操作,节约成本,提高效率。
1.2系统开发目标
该系统是一个基于B/S模式的Web在线考试系统。
它能够从题库中随机抽取试题生成考试试卷,从而有效地提升考试效率与公平性,使考试不受时间和地点的限制。
使学生可以更加灵活的检测自己的不足,提高学习效率。
当考试完成后系统能自动地为客观题评分。
教师登陆时系统可以还原学生考试试卷,待教师对主观题评完分后系统可以计算出学生总分,并生成各分数段情况信息,供给老师参考,便于了解学生的考试情况。
同时充分利用计算机优势对数据进行有效的管理,达到减轻管理者和老师的工作量。
1.3开发工具的选择
本系统开发语言为JAVA,从各IDE的性能和价格考虑所使用的开发工具主要是Eclipse+MyEclipse,前台页面主要用DreamWeaver来设计。
由于本系统数据量和负载量都比较大,从经济和效率上考虑本系统选用SQLServer2005数据库。
Web服务器选Apache开源组织提供的TomCat,因为TomCat是一个免费的开源软件是SUN公司推荐的Web服务器。
系统自带的IE浏览器。
1.4开发本系统的意义
从电子文档、多媒体的应用,到利用Internet做尝试,网络已经渗入到教育体系的各个环节。
在线考试系统作为这场变革中必不可少的环节之一,受到越来越多的关注。
在线考试系统不仅和传统考试方式一样要权衡公平性,应该有方便、节约成本等特性。
从管理的角度看,在线考试系统可以帮助教师完成从题目设计,考试安排考试实施,考卷批改到分数统计总结的所有工作,系统实现了无纸化管理,提高了管理的效率。
从规范化管理上,在线考试系统很好的实现了考试和教育相分离,任课老师以不参与所任课程的考试,包括出题、监考、评卷、登分和质量分析。
强调严格按教学大纲教学,根据培养目标、教学目的、教学大纲,制定考核大纲,建立一套包括试题库、自动命题、阅卷、评分、考试分析、成绩管理等各种规章制度完备的考核管理系统。
不受空间限制,只要有考试客户端可以连接到考试应用服务器,任何考生在任何地方进行身份确认,都能完成考试.题目有一定的稳定性和随机性。
考试结果反馈的及时准确性.考试的结果在教师修改考完之后就可以知道,同时提供一个机会让考生知道自己哪里做错了,并给出反馈信息说明理由,考生的考试结果可以被保存下来,供教师进行长期的分析和统计,有益于教学水平的提高。
第2章系统分析
2.1背景分析
网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征。
随着Internet/Intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。
现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
相比传统的考试方式,在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,从该题库中抽取一定数量的考题生成考试试卷,从而有效地避免了考试作弊,相互抄袭的弊端;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给考生成绩,计算机阅卷给了考生最大的公平感。
2.2可行性分析
2.2.1技术可行性分析
系统开发将要用到JSP/Servlet、JavaBean、SQLServer数据库技术。
另外,硬件只需要一台pc机,装上软件Eclipse,DreamWeaver等开发工具即可,利用SQLserver作为后台的数据库,利用Tomcat作为Web服务器,所以在这方面来说是可行的。
已经掌握了开发考试系统方法和开发工具,并且在调查过程中,已经了解和熟悉了在线考试系统的业务流程。
综上所述本系统开发从技术上是可行的。
2.2.2经济可行性
从经济效益来分析,软件的开发成本不大,而其它的投入也只是电脑。
电脑的普及也带来了低成本投入。
由于系统运行的基础环境均已具备,无需重新开发建设,所以系统开发、运行所需的费用是比较低的。
而系统的效益很高可以提高管理效率实现计算机化、系统化、规范化操作,效率大于投入,可行性很高。
2.2.3方案可行性
根据系统的分析,本系统充分从适用性出发,全面为不同的使用用户考虑。
使系统的许多功能与规则都可根据用户的习惯进行定制,包括软件界面、操作方式、录入方式等。
本系统的设计充分从使用用户和教务教学任务考虑。
第3章系统设计
3.1需求分析
本考试系统用户主要分为三类:
学生,教师,管理员。
1.学生需求
学生登陆系统主要进行两类操作:
在线考试,成绩查询与个人信息管理.
(1)在线考试
系统能自动根据所选科目给考生选题,考题必须是随机分配的,以保证考试的公平性。
学生在考试过程中页面将提供考试时间倒计时功能,使考生随时了解考试剩余时间。
考试时间到时,系统将自动地将学生考试试卷提交,将提醒考生离开考场。
当考试试卷提交时,系统自动为选择题、判断题等客观题评分,主观题由教师评分。
(2)成绩查询与个人信息维护
学生可以登陆系统查询各科成绩,其中成绩信息包括每种题型的得分,如单选题,简答题等。
别外学生还可以查询自己的考卷,了解自己的考试情况。
除此之外,学生登陆系统可以查看和修改个人的基本信息,如修改密码等。
2.教师需求
教师登陆系统主要有三类操作:
查看和修改学生试卷,查看各分数段统计,个人信息的维护
(1)查看/修改学生试卷
系统会将学生试卷从数据库中读出供给老师查看和修改,系统已经对选择题和判断题评了分,所以这些信息对于教师是只读的。
而对于主观题,系统将参考答案读出供给老师参考,再将考生答案读出供给教师评分。
(2)查看分数统计
教师修改好试卷之后,系统将成绩汇总,生成各分数段统计信息,并提供给老师查看,以便教师能了解学生的学习情况。
(3)个人信息维护
教师登陆系统之后也可以对个人信息进行查看和修改。
3.管理员
系统管理员登陆系统后主要进行四类操作:
考题维护,考试信息的维护,用户维护和个人信息维护
(1)考题的维护
管理员可以往题中添加考题,修改错误试题和删除无用试题。
为了方便试题的维护,管理员也可以批量导入试题。
(2)考试信息的维护
考试信息的维护主要是对于考试设置信息进行维护,这些信息主要是考试总时间,试题数量,各试题分值的分布等。
(3)用户维护
系统管理员可以对用户信息(包括学生信息,教师信息等)进行增,删,改查操作。
为了方便用户(学生)的维护,管理员也可以批量导入学生信息。
(4)个人信息维护
管理员也可以对自己的基本信息的维护
3.2总体设计
3.2.1系统数据流图
根据分析系统可知数据流图如图3.1所示:
图3.1系统数据流图
3.2.2系统的功能模块图
根据图3.1所述需求,设计出系统功能模块如图3.2所示:
图3.2系统的功能模块图
3.2.3系统功能模块
1.在线考试
在线考试的流程如下:
首先系统按照随机算法为登录的考生随机选取一定的试题生成考试试卷,考生在系统生成好试卷后进行答题操作。
答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷。
考生在试卷提交后系统自动地为客观题进行评分,本系统的客观题主要是单选题,多选题和判断题。
其数据流图如3.3所示:
图3.3在线考试数据流图
2.成绩查询
考生根据用户编号查询考试成绩信息。
成绩信息包括单选题得分,多选题得分等详细信息。
页面提供相应科目试卷的链接,使得学生可以查询自己的考卷,了解自己的考试情况。
3.查看/修改考生试卷
系统首先将考生的试卷读出,再提醒老师对主观题评分,等老师对主观题进行评分后系统生成考生的成绩信息,其数据流图如图3.4所示:
图3.4修改学生试卷数据流图
4.分数段统计
当教师对考卷的主观题评定后,系统能自动生成分数段统计信息供给老师查看。
此功能有助于老师了解学生的学习情况,以便更好的教学。
5.试题维护
试题维护是后台管理员的重要功能,它包括对试题的添加,修改,删除操作。
为了使界面更友好,管理员在试题维护时系统会先将考试试题读出,再提供给管理员操作。
其数据流图如图3.5所示:
图3.5考题维护数据流图
6.考试设置信息维护
考试设置信息维护是管理员对考试设置信息维护,它包括对考试设置信息的添加,修改,删除。
这些考试信息包括考试时间,考题的数量和分值等。
其数据流图如图3.6所示:
图3.6考试设置信息维护数据流图
7.用户管理
用户管理是管理员对系统用户信息的管理。
这些用户包括学生和教师。
用户管理操作包括添加用户,更新用户和删除用户。
管理用户时,系统会先将用户信息读出供给管理员参考,再提供给管理员操作。
其数据流图如图3.7所示:
图3.7用户管理数据流图
8.个人信息维护
学生,教师,管理员都可以对个人信息进行维护。
维护操作包括对个人基本信息进行修改,修改密码等。
系统能提供极为友好的界面方便用户操作。
3.3数据库设计
3.3.1数据字典
通过对系统功能的分析可知,本系统主要包括如下的数据库信息:
用户表,该表保存了系统用户的基本信息,属性有用户编号、用户名称、用户类型、用户性别。
其中用户编号为主码,它是用户信息的唯一标识。
表结构如表3.1所示。
考生标记表,该表用于保存考生是否已经考试的标识信息,属性有用户编号、课程名称、标识信息。
其中用户编号和课课程名称共同作为主码。
表结构如表3.2所示。
考题表,该表用于保存考题的基本信息,属性有考题编号,课程名称,考题类型,题目级参考答案等。
其中考题编号为主码。
表结构如表3.3所示。
试卷设置表,该表用于记录相应课程的考试设置的相关信息,属性有课程名称,单选题、多选题、判断题、简答题、编程题数量和分值,考试时间等。
其中课程名称为主码。
表结构如表3.4所示。
试卷表,该表用于保存考生的试卷信息,属性有考生编号,课程名称,考题类型,考生答案和得分等。
其中考生编号和课程名称共同作为主码。
表结构如表3.5所示。
成绩表,该表用于保存考生的考试成绩信息,属性有考生编号,课程名称,各考题得分,总得分。
其中考生编号和课程名称共同作为主码。
表结构如表3.6所示。
系统表结构如下:
表3.1用户表(UserInfo)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Name
Varchar(50)
是
用户姓名
Utype
Int
是
用户类型
1为学生,2为教师,3为管理员
password
Varchar(10)
是
密码
Sex
Varchar
(2)
是
性别
表3.2用户标记表(userflag)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Course
Varchar(20)
否
课程名称
pk
Flag
Int
否
用户标记
0试卷未提交1试卷已提交
表3.3考题表(Question)
字段
类型
允许为空
说明
备注
Qid
Int
否
考题编号
pk自增长
qtype
Int
是
考题类型
1单选题2多选题3判断题4简答题5编程题
course
Varchar(20)
是
课程名称
Ques
Text
是
题目
keyA
Varchar(50)
是
选项A
keyB
Varchar(50)
是
选项B
keyC
Varchar(50)
是
选项C
keyD
Varchar(50)
是
选项D
answer
Text
是
参考答案
表3.4考试设置表(test_set)
字段
类型
允许为空
说明
备注
Course
Varchar(20)
否
科目
pk
Sinc
Int
否
单选题数
persin
Int
否
每个单选题的分值
mulc
Int
否
多选题数
permul
Int
否
每个多选题的分值
judge
Int
否
判断题数
perju
Int
否
每个判断题的分值
Jd
Int
否
简答题数
perjd
Int
否
每个简答题的分值
program
Int
否
编程题数
perpro
Int
否
每个编程题的分值
totaltime
Int
否
考试时间
表3.5试卷表(test)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Qid
Int
否
考题编号
pk题库中的题号
Course
Varchar(20)
否
课程名称
Qtype
Int
否
考题类型
1单选题2多选题3判断题4简答题5编程题
answer
Text
是
考生答案
Tnumber
Int
否
题目编号
试卷中的第几题
score
Float
是
得分
表3.6成绩表(record)
字段
类型
允许为空
说明
备注
Uid
Varchar(10)
否
用户编号
pk
Course
Varchar(20)
否
课程名称
pk
score
Float
否
总得分
single
Float
否
单选题得分
multiply
Float
否
多选题得分
judge
Float
否
判断题得分
Jd
Float
否
简答题得分
program
Float
否
编程题得分
3.3.2实体关系图
根据分析系统实体关系图如图3.8所示:
图3.8系统E-R图
系统各实体关系如下:
用户:
用户标记1:
N
考试设置:
用户标记1:
N
考题:
考试设置N:
1
考题:
试卷1:
N
用户:
试卷1:
N
试卷:
成绩N:
1
用户:
成绩1:
N
3.3.3数据库的连接
在本系统中我们使用JDBC连接,要进行数据库连接首先配置数据源。
按照3.3.1和3.3.2的设计,设计好数据库Myexam,再建一个名为Myexam的数据源。
系统连接数据库的流程图如图3.9所示:
图3.9系统连接数据库流程图
建立数据库连接和关闭数据库连接操作方法代码及说明如下,这些方法位于DBAccess类中,当作工具类来用
static{//静态代码块,在类被实例化时被调用,且只被调用一次
try{
lass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//注册驱动
}catch(ClassNotFoundExceptione){
thrownewExceptionInInitializerError(e);
}
}
//得到连接
publicConnectiongetConnection(){
try{
Stringurl="jdbc:
sqlserver:
//localhost:
1433;databaseName=ExamOnline";
//SQLServer2005配置时的用户名
Stringuser="sa";
//SQLServer2005配置时的密码
Stringpassword="123456";
//连接数据库
conn=DriverManager.getConnection(url,user,password);}catch(Exceptione){
e.printStackTrace();
out.print(e.toString());
}
returnconn;
}
//关闭数据库连接
publicvoidCloseDB(Connectionconn,Statementsm,ResultSetrs){
try{
if(rs!
=null){
rs.close();
}
}catch(Exceptione){
e.printStackTrace();
out.print("数据库关闭失败!
");
}finally{
try{
if(sm!
=null){
sm.close();
}
}catch(Exceptione){
e.printStackTrace();
out.print("数据库关闭失败!
");
}finally{
try{
if(conn!
=null){
conn.close();
}
}catch(Exceptione){
e.printStackTrace();
out.print("数据库关闭失败!
");
}
}
}
}
3.4详细设计
3.4.1公共类设计
1.Domain类设计
由于数据库使用的类系统模型,而Java数据为对象模型,使其模型不匹配。
为了方便关系模型和对象模型间的转换,建应Domain类,即数据库中每个表对应一个类,表中类属性对应表的各属性,再为各个属性设计一个读方法(get)和一个写方法(set)如用户类:
publicclassUser{
privateStringid="";
privateStringname="";
privateinttype=1;
privateStringpassword="";
privateStringsex="";
publicStringgetSex();
publicvoidsetSex(Stringsex);
publicStringgetPassword();
publicvoidsetPassword(Stringpassword);
publicStringgetId();
publicvoidsetId(Stringid);
publicStringgetName();
publicvoidsetName(Stringname);
publicintgetType();
publicvoidsetType(inttype);
}
表和类的对应关系如下:
用户表(UserInfo)——用户类(User)
用户标记表(userflag)——用户标记类(UserFlag)
考题表(Question)——考题类(Question)
试卷表(test)——试卷类(Test)
试卷设置表(test_set)——试卷设置类(Test)
成绩表(record)——成绩类(Record)
试卷考题类(TestQuestion)——试卷表和考题表联合查询视图
2.公具类设计
根据系统设计需求,设计如下工具类:
数据库连接工具类,主要提供连接数据操作等相关方法
数据库连接类:
publicclassDBAccess{
publicConnectiongetConnection()//并闭数据库连接
publicvoidCloseDB(Connectionconn,Statementsm,ResultSetrs)
}
用户操作相关类,主要提供对用户表操作的相关类
publicclassUserUtil{//根据用户编号得到用户信息
publicUsergetUser(StringUid)//验证登陆信息,根据用户名、密码和用户类型
public
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统管理 需求 分析