• 5.73 MB
  • 30页

在线考试系统项目报告.doc

  • 30页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'在线考试系统项目报告 目录第一章需求分析41.1概念分析41.1.1管理员需求分析41.1.2学生需求分析51.1.3教师需求分析51.2系统分析51.3功能分析71.3.1功能模块图设计71.4.1学生用例图设计71.4.2教师用例图设计8第二章系统设计82.1总体时序图设计82.2数据库设计92.2.1试卷类型表设计92.2.2试题表设计92.2.3试题内容表设计92.2.4试卷表设计102.2.5试卷详情表设计102.2.6试卷分值表设计102.2.7考生答卷表设计112.2.8考生答卷详情表设计112.3表见关系设计122.3.1试题122.3.2章节试题统计122.3.3试卷132.3.4试卷详细132.3.5试卷考题详细142.3.6考卷列表14第三章程序设计143.1在线考试系统后台程序实现153.1.1母版页设计153.1.2后台题库添加页面设计153.1.3后台题库管理页面设计163.1.4后台试卷生成173.1.5后台试卷详情查看页面173.1.6后台试卷管理页面183.2在线考试系统前台程序实现18 3.2.1试卷列表页面设计183.2.2前台考试页面设计19第四章编码设计194.1试卷详情的编码194.2题库管理的编码21第五章编码测试235.1页面测试235.2数据表测试23第六章部署维护246.1创建Windows安装程序包部署Web应用程序246.2Web.config配置29 第一章需求分析1.1概念分析本系统的用户可分为管理员、学生用户及教师用户三类。本系统共分为三个界面:一个界面用于管理员登录,主要负责进行基本资料。题库、试卷、成绩的管理以及查询等;另外一个界面用于登录普通用户,主要负责在线考试,查询以往考试成绩留言和在线交流等;还有一个界面用于教师登录,只要负责度题型、科目进行设置,对学生做错的题目进行分析。1.1.1管理员需求分析包括试卷管理,题库管理,成绩管理。(1)试卷管理:管理员可以从课程,各种题型的数量等方面对某份试卷进行修改和删除,添加新试卷等。(2)题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、选择题;对于每种类型的试题。教师可以设置题干、答案等属性。(3)成绩管理:管理员可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及个分数段得分人数等。 (4)学生管理:管理员可以对用户的资料进行查询、删除。1.1.2学生需求分析包括在线考试、查询以往考试成绩等。(1)在线考试:学生可以任选时间进行在线考试,考试结束后,系统会根据已有的标准答案进行在线考试,考生可以立刻知道考试成绩。(2)查询以往考试成绩:学生可以在线查询以前参加的每门课程的相关信息1.1.3教师需求分析包括试卷添加,题库添加等。(1)试卷添加:教师可以添加试卷,可以从课程,各种题型的数量等方面对某份试卷进行添加。(2)题库添加:教师可以对添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、选择题;对于每种类型的试题。教师可以设置题干、答案等属性。1.2系统分析1.2.1在管理端子系统中:(1)系统维护模块主要是针对管理员,学生,教师,班级等信息进行修改操作; (2)权限管理模块主要是对各使用者对系统的操作权限进行管理。例如学生只能查看个人信息,选择试卷,答卷,查看成绩等;教师只能出题,组卷,判卷,查看学生成绩等;管理员可以全面对系统进行操作及数据维护等。1.2.2在教师端子系统中:(1)出题模块主要是由教师根据题型不同向题库中输入题目以及答案,方便组卷。题目自动存入对应的数据库中。(2)组卷模块中可以由系统随机组卷,输入各题型的数量,分值,系统自动从题库中随机选择题目构成试卷;也可以由教师自主选择题目进行出题。(3)统计成绩模块中教师可以根据学生答卷情况对成绩进行统计,方便教师对学生答卷情况有直观了解,利于教学。(4)提交成绩模块由教师将学生综合成绩情况输入相关管理系统。1.2.3在学生端子系统中:(1)选择试卷模块由学生选择所要进行的考试试卷。(2)答卷模块显示学生所选试卷,供学生作答,选择判断直接对选项进行选择,主观题填写在相应的文本框中。(3)交卷模块会自动根据题库中的信息对学生的选择判断题进行判卷,减少了教师的工作量。 1.3功能分析1.3.1功能模块图设计1.4用例图设计1.4.1学生用例图设计 1.4.2教师用例图设计第二章系统设计2.1总体时序图设计 2.2数据库设计2.2.1试卷类型表设计2.2.2试题表设计2.2.3试题内容表设计 2.2.4试卷表设计2.2.5试卷详情表设计2.2.6试卷分值表设计 2.2.7考生答卷表设计2.2.8考生答卷详情表设计 2.3表见关系设计2.3.1试题2.3.2章节试题统计 2.3.3试卷2.3.4试卷详细 2.3.5试卷考题详细2.3.6考卷列表第三章程序设计 3.1在线考试系统后台程序实现3.1.1母版页设计3.1.2后台题库添加页面设计 3.1.3后台题库管理页面设计 3.1.4后台试卷生成3.1.5后台试卷详情查看页面 3.1.6后台试卷管理页面3.2在线考试系统前台程序实现3.2.1试卷列表页面设计 3.2.2前台考试页面设计第四章编码设计4.1试卷详情的编码publicpartialclassAdmin_OnlineExam_PaperDetail:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){InitPageData();}}privatevoidInitPageData(){intchoiceCount=0,blankCount=0,judgeCount=0;doublechoicePoint=0,blankPoint=0,judgePoint=0;Stringsql="";StringpaperID=Request.QueryString["paperID"];sql="select*fromUV_Exam_PaperQuestionDetailwherePaperID="+paperID;DataTabledtChoice=newDataTable();dtChoice.Columns.Add("chooseNo");dtChoice.Columns.Add("questionContent");dtChoice.Columns.Add("RightAnswer");dtChoice.Columns.Add("optionA");dtChoice.Columns.Add("optionB");dtChoice.Columns.Add("optionC");dtChoice.Columns.Add("optionD");DataTabledtBlank=newDataTable(); dtBlank.Columns.Add("questionContent");dtBlank.Columns.Add("blankNo");dtBlank.Columns.Add("RightAnswer");DataTabledtJudge=newDataTable();dtJudge.Columns.Add("questionContent");dtJudge.Columns.Add("judgeNo");dtJudge.Columns.Add("RightAnswer");StringsqlQuery=sql+"andQuestionTypeID=1";DataTabledtAll=CommonUtils.GetTableBySql(sqlQuery).Copy();for(inti=0;ialert("请先登录!")");Response.End();}else{if(!Page.IsPostBack){InitPageData();}}}privatevoidInitPageData(){stringsubjectID=this.ddlSubject.SelectedValue;stringchapterID=this.ddlChapter.SelectedValue;stringquestionTypeID=this.ddlQuestionType.SelectedValue;stringteacherID=Convert.ToString(Session[CommonUtils.Session_UserId]);;sql="select*fromUV_Select_TeacherSubjectRelationwhere1=1";sql+="andteacherID="+teacherID;CommonUtils.ECDropDownList(this.ddlSubject,sql,"subjectName","subjectID",true);sql="select*fromUT_Exam_QuestionType";CommonUtils.ECDropDownList(this.ddlQuestionType,sql,"questionTypeName","ID",true);if(!"0".Equals(subjectID)&&!"".Equals(subjectID)){sql="select*fromUT_Base_ChapterwheresubjectID="+subjectID;CommonUtils.ECDropDownList(this.ddlChapter,sql,"chapterName","ID",true); }StringoperFlag=Request.QueryString["operFlag"];if(operFlag==null)operFlag="add";if("add".Equals(operFlag)){InitPageData_Add();this.btnClose.Visible=false;this.btnConfirm.Visible=true;this.btnModify.Visible=false;}elseif("query".Equals(operFlag)){stringquestionID=Request.QueryString["ID"];InitPageData_NotAdd(questionID);this.btnClose.Visible=true;this.btnConfirm.Visible=false;this.btnModify.Visible=false;}elseif("modify".Equals(operFlag)){stringquestionID=Request.QueryString["ID"];InitPageData_NotAdd(questionID);this.btnClose.Visible=false;this.btnConfirm.Visible=false;this.btnModify.Visible=true;}}protectedvoidddlSubject_SelectedIndexChanged(objectsender,EventArgse){stringsubjectID=this.ddlSubject.SelectedValue;InitDDLChapter(subjectID);}privatevoidInitDDLChapter(stringsubjectID){if(!"0".Equals(subjectID)&&!"".Equals(subjectID)){sql="select*fromUT_Base_ChapterwheresubjectID="+subjectID;CommonUtils.ECDropDownList(this.ddlChapter,sql,"chapterName","ID",true);}}protectedvoidddlQuestionType_SelectedIndexChanged(objectsender,EventArgse){stringquestionTypeID=this.ddlQuestionType.SelectedValue;if(questionTypeID.Equals("1")){this.pnlSelect.Visible=true;this.pnlBlanck.Visible=false;this.pnlJudge.Visible=false;}if(questionTypeID.Equals("3")){this.pnlSelect.Visible=false;this.pnlBlanck.Visible=false;this.pnlJudge.Visible=true;}if(questionTypeID.Equals("2")){this.pnlSelect.Visible=false;this.pnlBlanck.Visible=true;this.pnlJudge.Visible=false;}}privatevoidInitPageData_Add(){this.txtBlankAnswer.Text="";this.txtBlankContent.Text="";this.txtJudgeContent.Text="";this.txtSelectA.Text="";this.txtSelectB.Text="";this.txtSelectC.Text="";this.txtSelectContent.Text="";this.txtSelectD.Text="";this.rdbRightAnswer.SelectedIndex=-1;this.rdlJudgeResult.SelectedIndex=-1; }第五章编码测试5.1页面测试测试用例阶段实际测试阶段页面操作判断方法期望输出实际输出备注打开页面1.开考到开考15分钟之前内允许考试2.查看UV_Exam_PaperQuestionDetail非考试时间弹出不允许考试页面考生信息、试卷信息、考题信息与数据库信息一致与期望值一致交卷查看UV_Exam_PageQuestionDetail计算成绩是否与交卷结果相同考试成绩与交卷结果一致与期望值一致5.2数据表测试测试用例阶段实际测试阶段字段名称描述判断方法期望输出实际输出备注ID主键,自动增长在数据库中查看自动增长与期望值一致PaperID试卷ID写入数据与考生考卷ID是否相等写入数据与考生试卷ID一致与期望值一致StudentID学生ID写入数据与考生ID是否相等写入数据与考生ID一致与期望值一致StartTime考试开始时间写入数据与开考时间是否相等写入数据与开考时间一致与期望值一致EndTime考试结束时间写入数据与终考时间是否相等1.开考试数据为空2.交卷时写入交卷时间与期望值一致Score考试成绩写入数据与试卷结构成绩是否相等1.开考是数据为空2.交卷时写答卷分值与期望值一致 测试用例阶段实际测试阶段字段名称描述判断方法期望输出实际输出备注ID主键,自动增长在数据库中查看自动增长与期望值一致StudentAnwerID答卷ID查看UT_Exam_StudentAnswer表的ID与UT_Exam_StudentAnswer表ID值一致与期望值一致QuestionID试题ID查看UV_Exam_PaperQuestionDetail视图进行比较与UV_Exam_PaperQuestionDetail视图中的QuestionID一致与期望值一致SelectContentID选项ID查看UV_Exam_PaperQuestionDetail视图进行比较与UV_Exam_PaperQuestionDetail视图中的SelectContentID一致与期望值一致Remark备注:记录填空题学生答题内容查看UV_Exam_PaperQuestionDetail视图进行比较试题答错,此项填入的数据和用户页面输入的答案一致试题答对,此项为空与期望值一致第六章部署维护6.1创建Windows安装程序包部署Web应用程序采用“发布站点预编译”功能发布网上选课系统站点到一个目标Web服务器的具体操作步骤如下。 1.在VS.NET2005中打开网上选课系统的预编译网站所在文件夹“D:SelectCourse”。2.鼠标右键单击解决方案文件,在弹出的快捷菜单中选择“生成解决方案”命令后,出现一个“另存文件夹为”的话框,选择“保存于”下拉列表框,选择目标文件夹为“D:SelectCourse”,在“文件名”文本框中输入“SelectCourse.sln”文件名,然后单击“保存”按钮。3.选择“文件”→“添加”→“新建项目”菜单命令,将打开“添加新项目”对画框。4.在“添加新项目”对话框的“项目类型”中选择“其他项目类型”,在“模板”列表中选择“Web安装项目”,在“名称”文件框中输入项目名称为“SelectCourseWebSetup”,在“位置”文本框中输入“Web安装项目”所需要输出的路径为:“C:Install”。单击“确定”按钮,系统将自动创建与安装程序有关的源文件。在“文件系统”标签页中选择标记为“Web应用程序文件夹”的文件夹。 5.在“解决方案资源管理器”中用鼠标右键单击项目名“SelectCourseWebSetup”6.在弹出的快捷菜单中选择“添加”→“项目输出”命令,弹出“添加项目输出组”对话框,单击“确定”按钮后,在资源管理器窗口中输出项目将显示“内容文件来自D:SelectCourse”信息。 7.在“解决方案资源管理器”中单击“SelectCourseWebSetup”Web安装项目,然后使用属性窗口设置以下属性。8.为“SelectCourseWebSetup”Web安装项目定义用户界面。 9.在如图所示的安装部分用鼠标右键单击“启动”节点,然后再弹出的快捷菜单中选择“添加对话框”命令。10.再如图所示的窗口中,选择“许可协议”,然后单击“确定按钮”。11.重复9,10两步,再图中,在“管理员安装”-“启动”节点的“欢迎使用”节点下面,选择“许可协议”节点,并进行同样的属性设置。12.生成“Windows”Web安装项目,在“解决方案资源管理器”中用鼠标右键单击“SelectCourseWebSetup”Web安装项目,在弹出的快捷菜单中选择“生成命令”。 6.2Web.config配置'