- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在线考试系统的设计项目报告
项目设计(报告)
在线考试系统的设计
班 级 : XXX
学 生 姓 名 : XXX 学号: XXX
指 导 教 师 : XXX
所属院(系): XXX
报告提交日期: XXX
一、项目概述及功能介绍
在学生考试模块中,首先要选择登录身份,然后验证登录用户是否正确。如果是考生登录则验证成功后进入考试系统进行答题或者查询分数。如果是管理员登录则登录成功后会进入考试管理界面,在此界面中可以对试题和考生进行管理,比如对考生用户的删除、查询、修改、添加;对试题的删除、查询、修改、添加等。
传统的考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学需要。为了解决以上的问题,学生考试模块应有以下模块:
1、随机抽取试题;
2、设置试题的比例与分值;
3、设置考试时间;
4、在规定时间内自动提交试卷;
5、自动评分;
6、考生可以查询分数。
二、项目模块划分
1、考试登录验证模块;
2、随即抽取试题模块;
3、修改密码模块;
4、考试系统主窗体模块;
5、开始考试模块;
6、考试系统管理员模块;
7、修改、查询、删除用户模块;
8、添加、修改(选择题、判断题、填空题)模块;
9、考试设置模块;
10、数据导出模块。
学生考试模块的业务流程如下图:
考试系统的数据库设
采用SQL Server2000数据库作为后台数据库,为考试模块创建名为室db_Exam的数据库,在该数据库中创建数据表用于存储考试系统得相关信息。
1、tb_ExamResult表:tb_ExamResult表用于存储考生考试结果,其中包括不同类型试题的考试分数以及考试总分。
2、tb_ExamSet表:tb_ExamSet表用于存储考试设置信息,其中包括选择题比例和分值、判断题比例和分值、填空题比例和分值以及考试时间。
3、tb_Test表:tb_Test表用于存储所有类型的考题,其中包括试题类型、题目、备选答案以及正确答案等信息。
4、tb_User表:tb_User表用于存储考生和管理员信息,其中包括登录用户类型、用户名、密码、以及是否参加过考试。
三、项目设计过程中遇到的问题及解决方法
1、打代码时总会出现一些细节上的小错误;
2、不识别SqlConnection对象
原因:没使用using指令集;
3、随机抽取试题的时候,出现没有任何数据进行读取
原因:试题分数与比例设置不当,试题比例相加要为100%。
四、在本项目设计过程中学到了以下几点
使用DataReader检查数据的步骤:
创建Command对象
调用ExecuteReader()创建DataRead对象
使用DataReader的Read()方法运行读取数据
读取某列的数据,(type) dataReader[]
关闭DataReader对象
获取试题数目
本模块中使用COUNT聚合函数获取指定数据表中试题的数目。COUNT聚合函数用于返回组中项目数量。
语法:COUNT({[ALL|DISTINCT]expression}|*)
ALL:对所有的值进行聚合函数运算。
DISTINCT:指定COUNT返回惟一非空值的数量。
Expression:一个表达式,其类型是除uniqueidentifer、text、image或ntext之外的任何类型。
验证用户名和密码
本模块主要通过SqlDataReade对象的HasRows属性判断登录用户是否正确,如果正确则返回True,否则返回False。
HasRows属性用于获取一个值,该值指示SqlDataReader是否包含一行或多行。
语法:public override bool HasRows{get;}
属性值:如果SqlDataReader包含一行或多行,则为True;否则为Flase。
随机抽取试题
本模块中通过使用SQL Server中的newid函数实现随机抽取试题,此函数可以动态创建unipueidentifier类型的值,即随机数。
Newid函数用于创建upipueidentifier类型的惟一值。
语法:NEWID()
自动评分
自动评分通过将考生答案与正确答案进行对比实现的,它的两种方法Substring和Equals.
Substring方法可以从指定字符串中截取子串。
语法:public string Substring(int startIndex,int length)
startIndex:子字符串的起始位置的索引。
Length:子字符串中的字符数。
Equals方法用于确定两
原创力文档


文档评论(0)