• 359.50 KB
  • 5页

在线考试系统的设计项目报告

  • 5页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'项目设计(报告)在线考试系统的设计班级:XXX学生姓名:XXX学号:XXX指导教师:XXX所属院(系):XXX报告提交日期:XXX 一、项目概述及功能介绍在学生考试模块中,首先要选择登录身份,然后验证登录用户是否正确。如果是考生登录则验证成功后进入考试系统进行答题或者查询分数。如果是管理员登录则登录成功后会进入考试管理界面,在此界面中可以对试题和考生进行管理,比如对考生用户的删除、查询、修改、添加;对试题的删除、查询、修改、添加等。传统的考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学需要。为了解决以上的问题,学生考试模块应有以下模块:1、随机抽取试题;2、设置试题的比例与分值;3、设置考试时间;4、在规定时间内自动提交试卷;5、自动评分;6、考生可以查询分数。二、项目模块划分1、考试登录验证模块;2、随即抽取试题模块;3、修改密码模块;4、考试系统主窗体模块;5、开始考试模块;6、考试系统管理员模块;7、修改、查询、删除用户模块;8、添加、修改(选择题、判断题、填空题)模块;9、考试设置模块;10、数据导出模块。 学生考试模块的业务流程如下图:登录是否登录是否是管理员是否登录查询分数开始考试修改密码删除试题修改试题添加试题考试设置成绩查询用户管理否否是是是否考试系统的数据库设采用SQLServer2000数据库作为后台数据库,为考试模块创建名为室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是否包含一行或多行。语法:publicoverrideboolHasRows{get;}属性值:如果SqlDataReader包含一行或多行,则为True;否则为Flase。随机抽取试题本模块中通过使用SQLServer中的newid函数实现随机抽取试题,此函数可以动态创建unipueidentifier类型的值,即随机数。Newid函数用于创建upipueidentifier类型的惟一值。语法:NEWID()自动评分 自动评分通过将考生答案与正确答案进行对比实现的,它的两种方法Substring和Equals.Substring方法可以从指定字符串中截取子串。语法:publicstringSubstring(intstartIndex,intlength)startIndex:子字符串的起始位置的索引。Length:子字符串中的字符数。Equals方法用于确定两个String对象是否具有相同的值。语法:publicboolEquals(stringvalue)五、对今后的学习有什么想法和规划通过本次项目练习,我觉得只要我们认真听讲、课后总结,遇到不会的问题找老师解答,就会很容易的学号这门课程。未来要是成为程序员,学好C#、掌握注C#的设计是必要的。'