基于BS架构的通用考试系统毕业设计.docx
《基于BS架构的通用考试系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于BS架构的通用考试系统毕业设计.docx(40页珍藏版)》请在冰豆网上搜索。
基于BS架构的通用考试系统毕业设计
本科毕业论文
题目基于B/S架构的通用考试系统
本科生毕业论文(设计)诚信承诺书
本人承诺:
1.所呈交的毕业论文(设计)《
》,是在认真学习理解《安徽财经大学学位论文作假行为处理办法》和《管理科学与工程学院本科毕业论文(设计)工作管理办法》后,保质保量独立完成的,没有弄虚作假,没有抄袭别人的内容;
2.毕业论文(设计)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已注释说明来源;
3.毕业论文(设计)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;
4.本人已被告知并清楚:
学院对毕业论文(设计)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业论文(设计)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果;
5.若在省教育厅、学校、学院组织的毕业论文(设计)检查中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学院按有关规定给予的处理,并承担相应责任。
学生(签名):
年月日
指导老师(签名):
年月日
基于B/S架构的通用考试系统
摘要
随着社会信息化的发展,新的高校改革制度的实施,计算机化的高校考试系统已成为现代化高校教学必不可少的基础设施与技术支撑环境,数字化无纸化已是社会发展所需,也是高校教学活动的发展趋势。
本次毕业设计我选择的题目是基于B/S架构的通用考试系统,使用VisualStudio2012以及SqlServer2012进行开发,采用的技术有,ASP.NET4.5,ExtJs5.0。
为了满足数据库数据的安全性、高校工作的高效性、操作的安全性、查询的便捷性要求,本系统总体设计为供教师使用的考试管理界面以及供学生使用的考试界面,主要包括六大功能模块:
用户登录、课程管理、题库管理、考试管理、系统管理、参加考试。
关键词:
B/S;在线考试;.NET
GeneralExamSystembasedonB/Sarchitecture
Abstract
Withthedevelopmentofsocialinformation-based,thenewschoolreformsystemhasimplemented.Computerizationexamsystemformoderncollegehasbecomeessentialinfrastructureandsupportenvironment.Digitizationandnon-paperisrequiredbysocialdevelopment,soisinmodernschool.Forthegraduationdesign,myprojectisgeneralexamsystembasedonB/Sarchitecture,usingVisualStudio2012andSqlServer2012alonewithtechniqueslikeASP.NET4.5andExt5.0.
Tofulfillthesecurityofdata,highefficiencyofoperateandconvenienceofinquiry.Thesystemwasdevelopedintotowinterface,oneforteacherstomanageexamandoneforstudentstoattendexam.Thereweresixmainlymodule,userloginmodule,coursemaintenancemodule,questionmaintenancemodule,exammaintenancemodule,systemmaintenancemoduleandattendexammodule.
Keywords:
B/S;ExamOnline;.NET
引言
随着社会的发展,人类的生产、生活越来越离不开计算机技术,计算机在高校管理与教学活动中的作用越来越重要,信息化程度也成为了衡量一所高校办学水平的标准之一。
考试是判断高校教学质量中重要的一个环节,每学期高校在考试中投入的工作量也在教学工作中占了很大一部分,如果能将考试信息化、在线化,那无疑能给教职工减轻许多压力,使教职工有更多的精力投入到其他教学工作中,更好的完成教学任务。
对考试信息化、在线化的需求存在已久,因此在多年以前部分高校就陆续上线了数字化考试系统,由于上线时间早,这些系统多为C/S架构的系统,因而有以下特点:
安装部署麻烦、重用率低、安全性差。
在当时也很少有以学校为单位进行采购或研发通用的考试系统,多以院系甚至学科为单位各自采购自用的考试系统,这既造成了浪费,也不利于日后的升级维护。
随着技术的发展与进步,管理系统架构的主流已经变为B/S架构,考试系统相应的也应该与时俱进,通过建设B/S架构的通用考试系统进一步优化考试工作的效率,对于学校教职工以及学生来说都是一大解放。
1业务概述
高校教学中开展考试工作的流程,如图1.1,通过图可以看出,整个考试流程满足线性的过程,说明将考试工作信息化在线化数字化具有很高的可行性,实际上,有许多基于C/S架构的考试系统也是基于这样的一个流程进行设计的,在使用中也基本可以满足传统考试工作的需求。
图1.1考试流程图
2可行性研究
可行性研究的目的是研究现在要开发的软件在目前已有的技术层面能不能顺利开发,前期研究所定义的问题能不能够被妥善解决,以及系统上线投产后能不能为使用此系统的机构或单位带来利益或便利?
这就需要对此基于B/S架构的通用考试系统进行一次大概的系统分析和设计。
在对此于基于B/S架构的通用考试系统更加细致地定义问题后可以采用系统的多层数据流图来描述系统中的主要数据从输入到输出所经过的变换的逻辑过程,同时还可以利用数据字典来介绍开发设计过程中所使用到的各种数据。
2.1系统粗略分析
本系统主要的使用者分为教师与学生和管理员,教师负责对考试资料进行维护,包括课程维护,题库维护,考试维护。
学生则通过教师先前设置的考试信息参加考试并答题,最终生成考试成绩供教师查阅,已完成整个考试过程。
管理员则负责管理系统一些常用变量以及账号信息。
因此本系统需要有如下几个子系统:
课程维护系统,题库维护系统,考试维护系统,系统维护系统,参加考试系统。
课程维护子系统的主要功能是完成课程信息的录入,以及对课程信息的维护,比如修改与删除。
首先通过课程维护子系统在数据库中建立课程列表,提供给题库维护子系统将题目与课程相连接。
题库维护子系统的主要功能是完成题目的录入,以及对题目的维护。
利用课程维护子系统中创建的课程列表,对各个课程分别建立题库,题目分为单选题、多选题、判断题和填空题,建立完成题库后将题目信息提供给考试维护子系统建立考试。
考试维护子系统的主要功能是完成考试信息的建立,以及对考试信息的维护,每场考试需要关联唯一的一个课程,并添加数量不定的单选题、判断题、填空题、判断题以及考试时间等信息来完成考试信息的建立,考试建立成功后,学生可以通过参加考试子系统参加考试,同时,考试维护子系统还要给教师提供一个查阅考试结果的接口。
系统维护子系统是提供给管理员使用的系统,以方便管理员维护系统信息,维护用户信息,确保系统能够正常有效的运作。
参加考试系统提供给学生使用,通过本系统结合考试维护系统中创建的考试信息自动生成试卷供学生进行答题,并在答题结束后自动生成成绩存入数据库供后期查阅。
2.2系统数据流图和数据字典
系统的数据流图是在软件开发分析设计过程中的有效工具,也是信息交流的工具,更是系统逻辑的图形表示。
在重新分析了系统的构造和需要完成的功能后,得到了基于B/S架构的通用考试系统的基本系统模型,即系统的顶层数据流图和系统功能级数据流图。
图2.1顶层数据流图
图2.2系统的功能级数据流图
数据字典是系统所用到的数据信息的说明,对于此基于B/S架构的通用考试系统来说就是系统数据流图中所利用到的数据元素的描述的总和。
数据字典对于分析阶段来说是不可或缺的,同样也是开发此系统内部数据库的根据。
此基于B/S架构的通用考试系统的数据字典应主要包括对课程信息,题目信息,考试信息,用户信息这些较复杂的数据信息的定义。
2.3系统可行性
在可行性研究阶段需要探究之前所提出的对于问题的解法的可行性,下面就技术、经济、操作三个方面探究此患者监护系统的可行性。
(1)技术可行性
本系统的开发工具主要使用Microsoftvisualstudio2012来进行代码的编写,利用Microsoftsqlserver2012来进行数据库的维护,整体上使用Asp.NET4.5的MVC4.0框架,后台处理逻辑使用c#语言进行编写,前台显示层面利用了富客户端框架ExtJs5.1进行编写,通过使用这些高效率的开发工具以及框架技术,整个软件可以在一个月内完成开发。
(2)经济可行性
在经济可行性方面,本软件所需要的人工成本和软硬件成本以及日后的升级维护费用总计大概在三万元左右。
虽然对学校来说是一笔不小的开支,但是如果软件能够符合学校的需求,能够顺利完成工作,所节省的考试成本远远大于三万元,假使高校共有两万名学生,每名学生每学期均有两门以客观题为主的课程使用本系统进行考试,过去每张试卷印刷成本约为0.1元,则每学期可以节省4000元,每学年节省8000元,即便不考虑场地使用等成本,系统上线之后也仅需要四年即可收回成本,然而本系统的生命周期远远大于四年,所以本次开发的系统完全符合经济可行性的要求。
(3)操作可行性
操作可行性是指系统对于使用者来说是否容易操作。
由于此系统采用了先进的开发工具以及开发框架,因此不论是前台页面还是后台处理效率都得到了极高的优化,在前台页面上直观易懂,有基本电脑操作能力的人均可正常操作本系。
3需求分析
需求分析阶段是软件生命周期中软件定义的最后的工作,其最主要的工作目的就是思考为了解决之前定义的问题,当前开发的系统需要完成什么工作?
在需求分析阶段,软件开发人员需要编写出完整的关于系统需求的文字以及图示描述。
3.1系统综合要求
(1)总体需求
对于考试本身的特征,以及现有的在线考试系统的不足,本系统需要满足如下需求:
通用性,即本系统要能够满足多门学科共同使用,可以符合多个学科的考试需求,能够管理多个学科的题目、考试,能够让大量学生同时进行考试。
安全性,即系统中的题目应该保密,确保试卷的安全性,保证考试公平公正。
便利性,即系统的操作流程应简洁明了,不应过度复杂,让用户能够顺利的使用系统。
(2)功能需求
系统的总体需求,反映了系统功能上的需求, 高校考试系统具体的功能需求如下:
教师考试管理:
基于通用性的需求,首先要有课程管理,先建立起一个个不同的课程,然后是题目管理,创建题目并将题目与课程绑定起来,最后是考试管理,对不同的课程设定考试规则、选择题目组卷。
对于课程管理、题目管理、考试管理三大管理模块分别提供新增、删除、修改、查询的功能。
学生参加考试:
给学生用户提供一个考试界面,通过教师先前设定的考试信息,系统自动给学生生成试卷,并在考试完成后打分,由于本系统采用B\S架构,需要考虑到学生考试中途出现意外状况的场景(如网络异常、浏览器崩溃等),在服务端应该为每一个参加考试的学生建立会话,存储考试状态(题目、答题情况),使考生重新连接后能继续答题。
(3)性能需求
系统数据安全性:
通过系统中对不同用户设置不同的权限,从而保证系统的安全性;
系统响应速度:
系统速度控制在人员可忍受等待的时间内;
系统开放性:
采用B/S架构,利用ASP.NET开发,除了服务端必须部署在windowsserver上之外,客户浏览系统可以使用任何带有浏览器的操作系统;
系统可扩充性:
系统采用模块化设计,便于增加功能进行扩充;
界面友好性:
系统操作界面美观大方,易于操作。
(4)其他需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,高校教师管理系统还应该满足保密性和标准性的需求。
保密性
系统用户分为管理员(admin)、教师用户、学生用户三种类型。
三种用户权限各不相同,管理员负责维护系统信息以及用户信息,教师用户负责维护课程信息、题目信息、考试信息,学生用户只能参加考试。
标准性
系统在设计使用过程中所涉及到的计算机硬件和软件知识,都符合主流国际、国家和行业标准。
此外,使用的操作系统、开发工具,都必须符合通用标准。
最后,在规范的数据库操纵界面的同时进行良好的设计工作,制订软件工程规范,保证代码的可读性、可操作性和可移植性。
3.2系统数据需求
对于此次开发的基于B/S架构的通用考试系统,需要有如下几张表来完成数据的存储:
课程表,存储课程名称等信息;题目表,存储题目的类型,题干,选项,答案等信息,并且建立与课程表之间的连接,每到题目与唯一的一个课程进行连接;考试表,存储考试信息例如考试名称,考试起止时间,不同题型的数量以及不同题型的分值;考试题库关联信息表,建立考试与题库之间的关联;学生表,存储学生的基本信息,用做学生登陆时的校验;用户表,存储用户名密码以及用户权限等信息;分数表,存储学生考试的得分,提供给教师进行查阅。
以上几张表均是系统执行业务所需要的表,为了系统正常运行,还需要如下几张表:
系统资源表,存储系统不同页面的名称,地址;系统权限资源表,存储不同权限的用户能够访问哪些资源的信息;数据字典表,通过建立键值对来存储系统所需参数。
3.3数据字典
在之前的可行性研究阶段已经完成对系统的数据字典进行简化的分析设计,在现在的需求分析阶段则要对系统的数据流图进行完善,并通过对系统数据需求的分析结果得出该系统所对应的数据字典。
下面是以数据字典卡的形式给出数据流图中涉及到的各数据的定义。
名字:
课程信息
别名:
描述:
课程的基本信息,如课程名
定义:
课程信息=课程名+课程创建人+课程创建时间
位置:
储存在课程信息表中
名字:
题目信息
别名:
描述:
题目的基本信息,如题目类型,题干,正确答案
定义:
题目信息=题型+题干+正确答案+所属课程+创建人+创建时间
位置:
储存在题目信息表中
名字:
考试信息
别名:
描述:
考试的基本信息,如考试名称,考试时间,考试题型信息
定义:
考试信息=考试名称+考试起止时间+考试题型+各题型分值+所属课程
位置:
储存在考试信息表中
名字:
考试题库关联信息
别名:
描述:
将考试与题库建立索引,以便系统生成试卷
定义:
考试题库关联信息=考试+题目
位置:
储存在考试题库关联表中
名字:
学生信息
别名:
描述:
学生的各项基本信息,如学号姓名等信息
定义:
学生信息=学号+姓名
位置:
存储在学生信息表中
名字:
用户信息
别名:
描述:
用来存储各用户的信息,以备用户登录时检测是否是合法用户
定义:
用户信息=用户名+密码+权限
位置:
储存在用户表中
名字:
系统资源信息
别名:
描述:
系统页面的名称,地址等信息
定义:
系统资源信息=页面名称+页面地址+页面层级结构
位置:
存储在系统资源信息表中
名字:
系统权限资源信息
别名:
描述:
存储各个权限可以访问哪些系统资源
定义:
系统权限资源信息=权限+资源
位置:
存储在系统权限资源信息表中
4总体设计
总体设计的主要任务是粗略地描述,系统要如何实现?
在这一阶段需要提供多个实现此监护系统的具体实施方案,可以通过系统的数据流图来分析系统的结构。
在通过分析各种方案的系统流程图,数据流图,成本/效益分析,工程的规模后选择最合理的方案来实施。
确定开发方案之后,需要正确的定义系统由哪些子系统组成,各个子系统又由哪些模块构成。
同时需要根据需求分析的时候所确定的系统数据需求准确设计出合适可用的系统后台数据库来存储数据。
4.1软件结构
本系统分为两大部分,又细分为五个子系统,如图4.1
图4.1软件功能结构
系统需要实现的基本功能简介如下:
教师端
(1)、课程管理:
提供对课程的新增、删除、修改、查询功能,在添加题目之前需要先维护课程,题目需要与课程建立绑定关系。
(2)、题库管理:
提供对题目的新增、删除、修改、查询功能,在添加考试信息之前需要先维护题库,否则考试无法获取题目。
(3)、考试管理:
提供对考试信息的新增、删除、修改、查询功能。
(4)、系统管理:
对学生信息、系统信息进行管理维护。
学生端
(1)、参加考试:
通过获取教师先前设置的考试信息,系统自动生成试卷供学生考试,答卷完成后自动计算分数,显示给学生并归档存储至数据库中。
4.2数据库设计
将本系统中需要的信息抽象为下列系统所需要的数据表和数据结构:
表4.1课程信息表(ANP_COURSE)
列名
数据类型
是否主键
描述
默认值
GID
Varchar
是
唯一标识号
无
COURSE_NAME
Varchar
否
课程名称
无
FILLER1
Varchar
否
备注1
无
FILLER2
Varchar
否
备注2
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间
无
DELETE
Varchar
否
逻辑删除标识符
0
表4.2题目信息表(ANP_QUESTION)
列名
数据类型
是否主键
描述
默认值
GID
Varchar
是
唯一标识号
无
QUESTION_TYPE
Varchar
否
题目类型
无
PARAM1
Varchar
否
题目参数1
无
PARAM2
Varchar
否
题目参数2
无
PARAM3
Varchar
否
题目参数3
无
PARAM4
Varchar
否
题目参数4
无
PARAM5
Varchar
否
题目参数5
无
PARAM6
Varchar
否
题目参数6
无
COURSE_ID
Varchar
否
对应课程id
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间
无
DELETE
Varchar
否
逻辑删除标识符
0
表4.3考试信息表(ANP_EXAM)
列名
数据类型
是否主键
描述
默认值
GID
Varchar
是
唯一标识号
无
START_DT
Varchar
否
开始日期
无
END_DT
Varchar
否
结束日期
无
TYPE1_COUNT
Varchar
否
题型1题数
无
TYPE1_VALUE
Varchar
否
题型1每题分值
无
TYPE2_COUNT
Varchar
否
题型2题数
无
TYPE2_VALUE
Varchar
否
题型2每题分值
无
TYPE3_COUNT
Varchar
否
题型3题数
无
TYPE3_VALUE
Varchar
否
题型3每题分值
无
TYPE4_COUNT
Varchar
否
题型4题数
无
TYPE4_VALUE
Varchar
否
题型4每题分值
无
EXAM_NAME
Varchar
否
考试名称
无
EXAM_TIME
Varchar
否
考试时间
无
COURSE_ID
Varchar
否
对应课程id
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间
无
DELETE
Varchar
否
逻辑删除标识符
0
表4.4考试题目关联表(ANP_EXAM_QUESTION)
列名
数据类型
是否主键
描述
默认值
EXAM_ID
Varchar
是
考试编号
无
QUESTION_ID
Varchar
是
题目编号
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间
无
DELETE
Varchar
否
逻辑删除标识符
0
表4.5成绩表(ANP_SCORE)
列名
数据类型
是否主键
描述
默认值
GID
Varchar
是
唯一标识号
无
EXAM_ID
Varchar
否
考试编号
无
STU_ID
Varchar
否
学生学号
无
SCORE
Varchar
否
分数
无
PAPER_XML
Varchar
否
考生试卷备份
无
表4.6学生表(ANP_STUDENT)
列名
数据类型
是否主键
描述
默认值
GID
Varchar
是
唯一标识号
无
STU_ID
Varchar
否
学生学号
无
STU_NAME
Varchar
否
学生姓名
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间
无
DELETE
Varchar
否
逻辑删除标识符
0
表4.7数据字典表(SYS_DICT)
列名
数据类型
是否主键
描述
默认值
GROUP_ID
Varchar
是
字典组编号
无
GROUP_NAME
Varchar
否
字典组名
无
DICT_VALUE
Varchar
是
字典项值
无
DICT_DESCN
Varchar
否
字典项描述
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间
无
表4.8系统参数表(SYS_PARAMS)
列名
数据类型
是否主键
描述
默认值
PARAMGROUP_ID
Varchar
是
参数组编号
无
PARAM_ID
Varchar
是
参数编号
无
PARAM_VAL
Varchar
否
参数值
无
PARAM_NAME
Varchar
否
参数名
无
REMARK
Varchar
否
备注
无
表4.9用户表(SYS_USER)
列名
数据类型
是否主键
描述
默认值
GID
Varchar
是
唯一标识号
无
USER_NAME
Varchar
否
用户名
无
USER_PASSWORD
Varchar
否
用户密码
无
FILLER1
Varchar
否
备注1
无
FILLER2
Varchar
否
备注2
无
FILLER3
Varchar
否
备注3
无
USER_ROLE
Varchar
否
用户角色
无
CREATOR
Varchar
否
创建人
无
CREATE_TIME
Varchar
否
创建时间