在线题库系统论文.docx
《在线题库系统论文.docx》由会员分享,可在线阅读,更多相关《在线题库系统论文.docx(27页珍藏版)》请在冰豆网上搜索。
在线题库系统论文
在线题库系统
目录
摘要…………………………………………………………
第一章前言…………………………………………………………
第二章系统体系结构………………………………………………
第三章系统设计……………………………………………………
3.1系统设计原则……………………………………
3.2工作流程分析……………………………………………
3.3总体模块分析…………………………………………………
3.4关键问题分析………………………………………………
3.5系统数据库E-R图………………………………………………
3.6系统具体模块设计…………………………………………
3.7系统CI设计……………………………………………………
3.8系统采用的主要技术…………………………………………
第四章系统实现………………………………………………………
4.1系统实现原则…………………………………………………
4.2系统共用信息处理……………………………………………
4.3系统数据库连接………………………………………………
4.4系统登录模块部分………………………………………………
4.5系统管理模块部分………………………………………………
4.6题目管理模块…………………………………………………
4.7分页的实现……………………………………………………
4.8上载文件的实现………………………………………………
第五章系统测试及结果分析…………………………………………
5.1系统功能测试……………………………………………
5.2系统错误处理测试………………………………………
5.3系统安全性分析………………………………………………
5.4系统实用性分析…………………………………………
5.5结论…………………………………………………………
第六章展望……………………………………………………
参考文献………………………………………………………………
摘要
本文阐述了一个基于WEB的题库管理系统的体系结构和设计实现过程。
系统采用的三层体系结构,ASP-ACTIVE-ACCESS开发,即前端由ASP网页实现表现逻辑,中间使用ASP的组件实现系统内部复杂的业务逻辑,后端使用ACCESS数据库实现数据逻辑,并提出了在线题库管理系统解决方案,提出了题目分类的特殊原则。
采用了com.jspsmart.upload组件实现文件上传。
系统实现了题库的基本增加、修改、删除功能,实现了对于题库系统各科目的统计,分析;实现了对于题目的使用频率统计分析,实现了对于出题人员的工作量的统计分析。
系统在WindowsXP平台下开发。
关键字:
在线题库ASPACCESS数据库
第一章前言
目前,在国家有关项目的支持下,出现了一系列实用的题库系统,如高等教育基础学科系列题库、国家医学水平考试题库、基础教育系列题库等。
这些系统,有的由国家机关控制,有的作为商品出售,产生了巨大的经济与社会效益。
但随着这些系统的运行,问题也就随之出现,封闭运行,缺乏开放性是此类系统的致命弱点。
由于题库是一个精密的测量工具,其维护、管理、更新、数据统计与分析都是由专业人士来进行的,故基本上都是由某一重要的大机关封闭运行,这样,只局限于某些权威单位使用,不能得到广泛的普及,无法真正在教学过程中发挥其应有的作用。
另外,封闭运行无法得到广泛的使用和参与,对于题库的修订和校正缺乏数据基础,使得提高整个题库数据质量较为困难。
随着Internet的出现和广泛使用,WEB使得实现广泛的网络共享、集中的安全控制和友好的使用界面达到了完美的统一。
这为解决题库系统运行中存在的一些问题提供了新的解决方案。
一个基于WEB的通用题库系统,是将系统架设在一个WEB站点上运行,通过浏览器访问,它提供了传统单机题库系统所不能完成的某些功能。
传统题库都是分散运行的题库,一般无法保持一个专家群体,因此一般题库由任课教师自主修改,这样容易导致题库总体质量下降,而对于一个题库来讲,只有具备广泛的使用才真正具有它的价值,因此对于单机题库来讲,要想保持良好的题库质量,又要想让其得到广泛的使用,其难度是相当大的。
基于WEB的通用考试系统则可以完美的解决这一难题,它可以实现题库集中管理,共享使用。
从而不但可以拥有集中的专家群,可以及时更新题库,保证题库的质量,而且可以通过网络统一管理和控制试题库,从而是通用试题库得到最广泛的使用。
第二章系统体系结构
系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。
而系统内部复杂的业务逻辑主要通过ASP的组件(Component)实现,ASP组件在WWW服务器上运行,通过ASP返回到客户浏览器。
通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。
在服务器端,系统使用ADO中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。
本系统使用ASP技术作为表现手段系统业务逻辑由JavaBean组件完成,使用ADO驱动程序访问数据库。
由于系统测试需要成熟的数据库支持,因此系统采用ACCESS数据库作为数据库服务器。
第三章系统设计
3.1系统设计原则
本系统设计遵循结构化设计原则:
1.模块独立性、适度性原则
模块独立的概念是模块化、抽象、信息隐蔽和局部化概念的直接结果。
模块独立性是通过指定具有单一功能并且和其它模块没有过多联系的模块来实现的。
模块独立性是由内聚性和偶合性两个定性指标来度量的。
内聚性是度量一个模块功能强度的一个相对指标。
偶合性是用来度量模块之间的相互联系的程度。
模块过大时,模块的可理解性会迅速下降。
另外对过大的模块分解时,也不应降低模块的独立性。
因为当对一个大的模块分解时,可能会增加模块间的依赖。
2.系统结构深度、宽度、扇出、扇入适当原则
深度表示从根模块到最低层模块的层数;宽度表示控制的总分布;扇出数指由一模块直接控制的其它模块数;扇入数指有多少模块直接控制一个给定的模块。
图3-1软件结构图
好的系统结构通常顶层扇出比较大,中间扇出比较少,底层模块大扇入。
3.模块的作用范围保持在该模块的控制范围内
模块的作用范围是指受该模块内一个判定影响的所有模块的集合。
模块的控制范围是指这个模块本身以及所有直接或者间接从属于它的模块的集合。
4.系统模块的单入口,单出口原则
这一准则是要防止内容耦合性。
如果模块都是从顶部入口,从底部出口的话,这样系统更容易理解和维护。
如可以避免病态连接(病态连接关系是指从中间进入或者访问一个模块)等。
5.模块结果可预测原则
如果一个模块可以当作一个黑箱,即只要输入的数据相同就产生同样的输出,这个模块的功能就是可以预测的。
6.数据一致性原则
3.2工作流程分析
工作流程描述:
进入系统,首先需要登录,然后根据分配的权限,可以进行相应的操作。
1.系统管理员初始化系统
管理员需要对题库初始化参数进行设置:
设置课程--->添加知识点;添加题型;添加用户,此项包含用户权限分配。
2.填加试题
具有添加权限的教师可以进行如下操作:
选择添加题目所在课程—>选择添加题目所在知识点—>添加题目
3.审核试题
具有审核权限的教师可以进行如下操作:
选择课程—>选择知识点—>查看或者修改题目—>通过审核
4.浏览题目
有此权限或者更高权限的教师可以操作:
选择课程—>选择知识点—>查看题目内容
3.3总体模块分析
图3-3系统结构图
系统整体分分三大模块,登录模块,系统管理模块,题目管理模块。
系统登录模块主要完成整个系统登录,从而传递登录参数到系统管理或者题目管理模块。
系统管理模块主要完成整个系统的初始化以及对于系统内部操作用户的管理。
题目管理模块主要完成系统对于题目的管理。
3.4关键问题分析
1、题目分类
一般的题目分类是这样的,客观题型,主观题型或者分为选择、填空、判断、简答等。
在本系统中,按照数据量的大小,只将题目分为两类,一类是A型题目,一类是B型题目。
A型题目是小的数据量,它包含填空、选择、判断、简答等。
B型题目指一些大的综合题目,大都以文件的形式存在。
2、题目存储
根据题目分类,题目有两种存储方式,一是全部存入数据库服务器,一是将大数据类型以文件形式存入业务服务器。
前中方法有利于保证数据的完整性,而后一种方法有利于系统向不同数据库移植。
在本题库管理系统中,考虑到系统以后的通用性以及往其他数据库的移植,因此未将大数据类型的文件的数据以LOB类型存入数据库,而是将其以文件的形式存入业务服务器,在数据库服务器中只存相应业务服务器的文件路径。
因此系统题目根据题目分类将A型题目直接存入数据库,B型题目以文件形式存入业务服务器。
3、关于人机交互的问题
良好的人机界面设计是系统的一部分,因此也是本系统设计的一个重要部分。
另外多方面的信息提示也能提高系统的易理解性与易操作性,因此在系统中应加入人性化的标志以及一些数据的提示。
数据提示中包含了系统对于一些有用数据的统计,即:
对各科题目数量进行统计,对于各个知识点详细题目数量也进行统计,为了使出题人员能明确题库中题目数量,可以按照题目数量随时补充题目,另外,对于出题人员的出题数量也应进行统计,为了考察各个出题人员的工作量,也有利于管理员管理。
4、系统访问权限管理
系统访问权限设置是一个系统多权限系统的设计的关键。
本系统根据要求,对于用户权限划分为5个等级,系统管理人员
(1)、审核人员
(2)、出题人员(3)、阅卷人员(4)、普通受限用户(5)。
他们对于系统功能可操作关系如下图所描述:
图3-4系统操作权限图
5、实际考试与系统模拟复杂度权衡
系统中在实际考试时需要涉及一些表单信息的处理,如单选框,多选框,填空框等等,因此在出题过程中应该加以考虑,既要出题人员操作简单,又要系统设计简单,还要避免一些冲突,因此考虑到诸多方面,在本系统中定义了转义字符串。
具体定义如下:
[X]定义为单选框,[DX]定义为多选框,[T]定义为填空框,在出题过程中,可以按出题按钮进行出题,也可以直接输入这些转义字符串,在题目显示的时候,再将这些转义字符串转为分别定义的功能属性。
系统中既然对于一些字符串进行了定义,则对于出题时候题干中可能出现的此类字符串应当予以考虑,在出题的时候,应当注意这些特别申明了的字符串的使用,若非要在题干中出现,应这样处理,因为在系统中是经浏览器解释的,因此对于[X]这样处理,写为[ X],在这个串中, 解释为一个空格,显示为[X],不会将它解释为一个表单的功能属性,其他几个转义字符串处理方法相同。
6、数据一致性,完整性的保证
系统数据一致性,完整性是数据库稳定的关键。
在本系统中,只有保证了系统管理部分的数据完整性,才能进行题目管理部分的操作,因此系统数据的一致性,完整性是系统正常运行的关键。
在本系统中,对于数据一致性是这样保证的:
B型题目数=题目总数(数据库存)-A型题目数(数据库存);
待审题目数=题目总数(数据库存)-可用题目数(数据库存)-回收站题目数(数据库存);
添加题目,需要更新统计信息:
科目题目总数加1;题目类型加1;知识点题目总数加1;
删除题目,需要更新统计信息:
科目题目总数减1;题目类型减1;知识点题目总数减1。
3.5系统数据库E-R图
图3-5数据库E-R图
系统包含六个实体:
教师、课程、知识点、题型、文件。
实体间关系如图3-5所表示。
3.6具体模块设计
3.6.1登录模块设计
登录模块应该完成用户登录及用户权限验证,并保存登录信息及权限信息,它主要有一个功能处理页面,要实现检索数据库,按照不同身份跳转不同页面。
系统登录模块主要涉及到的数据库表tblSYS_USER,其设计如下:
序号名称编码类型宽度精度备注
表3-1数据库用户表tblSYS_USER
1编码IDC60教师编号
2科目UserNameC150
3题型UserPWDC150
4权限UserPowerN101:
系统管理员;2:
审核人员;3:
出题人员;4:
阅卷人员;5:
普通用户(默认)
5出题数SubjectNumN10默认值0
6标志DelSignC1N:
正常(默认);Y:
删除
7登录时间LastTimeC20默认值0000-00-00
3.6.2系统管理模块设计
系统管理模块包括用户管理,科目管理,知识点管理,题型管理。
用户管理包含出题人员、审核人员、判卷人员、受限用户的帐号分配,停用,删除,密码设置等功能。
科目管理包含课程的填加,删除,修改,另外统计该课程的知识点数量,题目数量等信息。
知识点管理包含对于各课程知识点的增加修改删除,以及对于各知识点包含的A类题目的统计信息。
题型管理包含对于题目类型的填加删除修改,题型管理是大多相对于A型而言,包括一般的题目类型,如选择、判断、简答等。
此部分需要设计的数据库表有科目表tblM_COURSE;题型表tblM_SUBJECTTYPE;知识点表tblM_POINT;
表3-2数据库科目表tblM_COURSE
序号名称编码类型宽度精度备注
1编号IDN50自动加1
2课程名CourseNameC40
3知识点数PointNumN100默认值0
4题目总数SubjectNumN100默认值0
5A型题目数SubjectANumN10默认值0
6可用题目数SubjectUseableNumN10默认值0
7删除题目数SubjectDelNumN4默认值0
8删除标志DelSignC1N:
正常(默认)
Y:
删除
表3-3数据库题型表tblM_SUBJECTTYPE
序号名称编码类型宽度精度备注
1编号IDN50自动加1
2题型SubjectTypeC40
3题目数SubjectNumN100默认值0
4删除标志DelSignC1N:
正常(默认)
Y:
删除
表3-4数据库知识点表tblM_POINT
序号名称编码类型宽度精度备注
1编号IDN50自动加1
2课程CourseN5关联课程表ID
3知识点PointC100
4题目总数SubjectNumN100默认值0
5A型题目数SubjectANumN100默认值0
6可用题目数SubjectUseableNumN10默认值0
7删除题目数SubjectDelNumN40默认值0
8删除标志DelSignC1N:
正常(默认)
Y:
删除
3.6.3题目管理模块设计
题目管理模块包含题目填加,审核,删除,修改。
题目的填加又分为A型题目的填加与B型题目的填加,A型题目的填加按照不同类型题目有几个常用的出题模板,不同的题目按照不同的出题模板增加题目,然后提交处理页面进行处理,B型题目的填加是按照文件的上传实现的,采用了一个组件jspsmartupload实现文件的上传。
此部分需要的数据库表为A型题目表tblM_SUBJECT_A;B型题目表tblM_SUBJECT_B,具体设计如下:
表3-5数据库A型题目表tblM_SUBJECT_A
序号名称编码类型宽度精度备注
1编码IDN100自动编号
2科目Course_idN50关联科目表中ID
3题型TypeN40关联题型表中字段ID
4内容ContentC3000
5附件SAffixC100
6知识点SPoint_idN100关联知识点表中字段ID
7分值SScoreN3
8答案SAnswerC2000
9难度等级SDifficultyN20:
简单;1:
难
10出题人SAddUserN6关联管理表中字段ID
11填加时间SAddTimeC20格式:
YYYY-MM-DD
12抽中率ProbabilityN60默认值0
13审核标志CheckSignN100:
未审核(默认值);1:
已审核
14审核人CheckuseridC6关联管理表中字段ID
表3-6数据库B型题目表tblM_SUBJECT_B
序号名称编码类型宽度精度备注
1编码IDN100自动编号
2科目Course_idN50关联科目表中ID
3内容ContentC100
4文件大小Content_sizeN9
5.答案文件SAnswer_saffixC100
6答案要点SAnswerC2000
7分值SScoreN3
8出题人SAddUserC6关联管理表中字段ID
9填加时间SAddTimeC20格式:
YYYY-MM-DD
10抽中率ProbabilityN40默认值0
11审核标志CheckSignN100:
未审核(默认值);1:
已审核
12审核人CheckuseridC6关联管理表中字段ID
3.7系统CI设计
所谓CI,是借用的广告术语。
(CI是英文corporateidentity的缩写),意思是通过视觉来统一企业的形象。
一个好的系统,和实体公司一样,也需要整体的形象包装和设计。
准确的,有创意的CI设计,对系统的宣传推广有事半功倍的效果。
因此CI形象设计是非常重要的。
3.7.1系统CI形象定位
本通用在线题库管理系统定位于北方软件学院内部,因此版面设计中以北方软件学院为主。
考虑到系统的实用性以及面向教学的特点,因此整个版面趋向于清淡于简练。
如图3-5所示:
系统配色方案设计,不同色彩产生的不同效果,主要大体表现为:
红色---激奋的色彩。
刺激效果,能使人产生冲动,愤怒,热情,活力的感觉。
绿色---介于冷暖两中色彩的中间,显得和睦,宁静,健康,安全的感觉。
它和金黄,淡白搭配,可以产生优雅,舒适的气氛。
橙色---也是一种激奋的色彩,具有轻快,欢欣,热烈,温馨,时尚的效果。
黄色---具有快乐,希望,智慧和轻快的个性,它的明度最高。
蓝色---是最具凉爽,清新,专业的色彩。
它和白色混合,能体现柔顺,淡雅,浪漫的气氛(象天空的色彩白色---具有洁白,明快,纯真,清洁的感受。
)
黑色---具有深沉,神秘,寂静,悲哀,压抑的感受。
灰色---具有中庸,平凡,温和,谦让,中立和高雅的感觉。
在本系统中,采用蓝色调,使整个系统看起来清新,专业,另外,再配有黄色部分导航作为提示,能够体现出轻松希望和智慧,对于主题部分,采用黑色字体,能够突出显示,使整个系统更体现的色彩和谐。
系统采用的色彩分别用十六进制数值表示为:
64A5DB,FCD94C,000000,FF6600。
64A5DB为整体色调,因此系统具体空白色块以及滚动条均为此颜色。
系统中根据不同需要表格采用1PX实线或者1PX虚线构成,表格边框颜色分别采用000000或者与系统整体色调融合的64A5DB。
系统中字体采用宋体,为了能清晰显示,并且宋体为较为通用字体。
导航条色彩值选用FCD94C,导航超连接字体采用色彩值336699,翻转字体色彩值采用000000,为了体现翻转以及强调各个连接功能。
其他部分超连接采用翻转字体,颜色值FF6600,为了体现更清晰,另外,也是因为橙色(FF6600)是一种激奋的色彩,具有轻快,欢欣,热烈,温馨,时尚的效果。
3.7.3系统链接结构设计
系统的链接结构是指页面之间相互链接的拓扑结构。
它建立在目录结构基础之上,但可以跨越目录。
具体来说:
每个页面都是一个固定点,链接则是在两个固定点之间的连线。
一个点可以和一个点连接,也可以和多个点连接。
更重要的是,这些点并不是分布在一个平面上,而是存在于一个立体的空间中。
一般基于网络系统的链接结构的目的在于:
用最少的链接,使得浏览最有效率。
因此在本系统中,采用了一个导航条基本连接所有功能。
一般的,建立基于网络的管理系统链接结构有两种基本方式:
一是树状链接结构(一对一)。
类似DOS的目录结构,首页链接指向一级页面,一级页面链接指向二级页面。
这样的结构优点是条理清晰,访问者明确知道自己在什么位置,不会"迷"路。
缺点是浏览效率低,一个栏目下的子页面到另一个栏目下的子页面,必须绕经首页。
二是星状链接结构(一对多)。
类似网络服务器的链接,每个页面相互之间都建立有链接。
这种链接结构的优点是浏览方便,随时可以到达某个页面。
缺点是链接太多,容易使浏览者迷路,搞不清自己在什么位置,看了多少内容。
在本系统的链接设计中,将两种连接方式结合使用,首页与管理页面采用树状链接结构,在管理以及题目浏览页面之间采用星状链接。
我们希望浏览者以及管理者可以随意到达他所需要操作的页面,又可以知道他处于整个系统的什么位置。
详细系统链接如图3-8:
图3-8系统链接结构图
3.8系统采用的主要技术
3.8.1ASP技术
JSP是由Sun微系统公司于1999年6月推出的一项技术,是基于AavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全和跨平台的动态网站。
ASP技术在多个方面加速了动态Web页面的开发。
它主要有如下几个方面的特点:
?
将内容的生成和显示进行分离
使用ASP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐号信息或者一本书的价格)。
生成内容的代码被封装在Servlet和ASP组件中,并且结合在脚本中,所有的脚本在服务器端运行。
ASP引擎解释ASP标识和脚本程序,生成所请求的内容(例如,通过访问ASP组件,使用ADO技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
?
强调组件的重用
绝大多数ASP页面依赖于可重用的,跨平台的组件(ASP或者EnterpriseASP组件)来执行应用程序所要求的更为复杂的处理。
开发人员能够共享和交换执行组件,或者使得这些组件为更多的使用者或者客户团体所使用。
此方法加速了总体开发进程。
?
采用标识简化页面开发
Web页面人开发员不都是熟悉脚本语言的编程人员。
JSP技术封装了许多功能:
访问和实例化ASP组件、设置和检索组件的属性、下载Applet以及执行用其他方法更难于编码和耗时的功能。
JSP技术可以通过开发定制的标识库进行扩展。
第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使的Web页面开发人员能够使用熟悉的工具和如同标识一样执行特定功能的组件来工作。
当与ASP2平台、J2EE和EnterpriseJavaBean(EJB)技术整合时,ASP页面将提供企业级的扩展性和性能,这对于在企业中部署基于Web的应用是必需