收藏 分销(赏)

在线考试系统(软件工程完整版).doc

上传人:人****来 文档编号:4912857 上传时间:2024-10-19 格式:DOC 页数:46 大小:737.98KB
下载 相关 举报
在线考试系统(软件工程完整版).doc_第1页
第1页 / 共46页
在线考试系统(软件工程完整版).doc_第2页
第2页 / 共46页
在线考试系统(软件工程完整版).doc_第3页
第3页 / 共46页
在线考试系统(软件工程完整版).doc_第4页
第4页 / 共46页
在线考试系统(软件工程完整版).doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、 软件工程 项目设计 设计题目:在线考试系统 指导教师: 学生姓名: 学生学号: 年 月 日目录引言31.1引言31.2背景41.3定义4二系统的功能分析42.1需求分析42.2可行性分析4三主要任务531 目标53.2 具体功能633 条件限制73.4系统的开发环境7四在线系统的需求规定841 对功能的规定841.1 该系统的数据流分析84.1.2 系统的层次模块图94.2数据库设计104.2.1数据库概要说明104.2.2数据库概念设计104.2.3系统的总体流程图154.2.4数据字典164.3 对性能的规定174.3.2时间特性要求184.3.4灵活特性要求184.3.5输入输出要求1

2、84.3.6数据管理能力要求184.3.7故障管理能力要求194.3.8其他专门要求19五运行环境规定195.1设备195.2 接口195.3控制20六 .在线系统的实现206.1数据库的表设计206.2公共类的编写236.3模块实现236.3.1登录模块:236.3.2考生注册模块266.3.3考生在线考试模块286.3.4试题添加模块33七结束语46参考文献46引言1.1引言伴随着网络技术的飞速发展,现在很多国外的大学和社会其他各部门都已经开设了远程教育。通过计算机网络实现异地教育和培训。但是远程教育的软件开发还处于起步阶段,随着这项技术的不断深入。就要求有更好更完善的软件系统应用到远程教

3、育中去。同时给软件开发人员提出更高的设计要求。考试是教育中的一个重要环节。在我国虽然远程教育已经蓬勃发展起来。但是目前学校和社会上的各种考试大都采用传统的考试方法。在此方法下组织一次考试至少经过五个步骤,及人工出题、考生考试、人工阅卷。成绩评估和试卷分析。显然,随着考试类型的不断增加级考试要求的不断提高。教师的工作量会越来越大,并且其工作将是一件极其繁琐和非常容易出错的事情,因此传统的考试已不适用现代考试的需要。考试的目的是考察考生的知识掌握情况。传统的考试涉及组织命题、试卷印刷、考场安排、组织问卷等诸多环节,考试时间长,效率低,同时人工阅卷等主观原因也影响到考试的公正性。随着网络技术在教育领

4、域的运用的普及,应用现在信息技术架构的网络在线考试系统展现出了越来越多的优越性。网络在线考试相对传统的考试方法,具有可自动控制考试时间、系统自动评分、有效防止舞弊行为等的优点,减轻了教务人员的负担,提高了工作效率。随着科学技术的发展,利用信息技术对大量复杂的信息进行有效的管理成为一种普遍而实用的手段。一方面,这极大的减少了簿记和人力的开销,另一方面,现代计算机强大的计算能力和网络的普遍部署,大大简化了大量信息的处理和流动。考试是教育和深造的中的一个重要环节。传统的考试由于涉及到组织命题、试卷印刷、考场阅卷等诸多环节,考试时间长、效率低,同时人工阅卷等主观原因也影响正确性等。在线考试系统是评测考

5、生能力的一个重要组成部分,对阅卷老师的工作效率有很大的提高,降低对纸质试卷的要求,同时也体现了节约型社会的要求。该系统涉及了学生在线考试,学习成绩插询,以及很多相关信息的处理在线考试系统优于传统考试方式,具有自动控制考试时间,试题更新,减少了考务人员的工作负担,提高了工作效率,使考试更趋于合理和有效。1.2背景本系统的全称为网上考试系统。对于那些希望通过网络进行考试的用户来说,此系统为其提供了极大的便利,如考生注册、成绩查询等。1.3定义PC 计算机ASP:ASP是Active Server Pages 的缩写,中文名字是“动态服务器页面”,是一种创建动态、交互的Web服务器应用程序的重要技术

6、;模板页:通过建立模板规范整个网页格式和风格的功能;数据库:长期存储在计算机内的、有组织的、可共享的数据集合。二系统的功能分析2.1需求分析计算机技术没有应用到考试上时。组织一次考试至少要经过5步:人工出题,考生考试,人工阅卷,成绩评估和试卷分析,这是一项十分繁琐的和容易出错的工作,教师的工作量非常大。很明显,传统的考试方式已不能适应现代考试需要。如今,信息技术的迅猛发展,应用的不断拓展。教学和虚拟大学等相继出现,这些应用正逐步深入到千家万户,人们迫切需要利用这项技术进行在线考试,以减轻教师的工作量提高工作效率,同时提高考试质量,从而使考试更更趋于合理、客观,更激发学生学习兴趣。2.2可行性分

7、析1.经济可行性分析在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网站上自动的完成。只要形成一套成熟的题库就可以实现考试的自动化。这样教师的要做的工作只是精心设计题目、维护题库,而不是组织考试,从而极大的减轻了教师的负担,也减少了财政的支出,这表明其经济性是相当可观的。2.技术可行性分析现阶段,各大高校的局域网已经相当完备,正符合微软开发的SQLServer的开发环境。而且,VisualBasic与SQL数据库紧密结合,给应用程序的开发和使用提供了很好的软硬环境。在技术上实现了在线考试系统的开发是可行的。三主要任务31 目标在线考试本着经济、适用、便捷和高效的原则。为考试管理者和考

8、生提供了一个高效、快捷而又轻松的考试环境,满足教师工作轻松、学生考试方便的需求。具体目标实现如下:1. 系统设计:采用人机对话方式,界面友好,使用简便快捷,数据存储安全。2. 实现题库的维护:添加、删除、修改试题等功能,只有管理员才有这个权限。3. 用户的维护:用户的添加、删除、修改功能,其中管理员可以对用户的信息进行管理,考生可以修改自己的密码。4. 考试的管理:管理员可以对考试时间、考试试题类型比例进行设置。5. 分数查询:管理员可以对一个学生的成绩进行查询,并以列表的方式显示。考生可以对个人成绩进行查询,以弹出对话框的形式给出成绩。具体模块实现为:首先,因为考试是面向特定的某些对象的,所

9、以考试者进入系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。此外,应该能够方便、快捷的对在线考试系统管理。 登陆页面考试系统管理系统 图3.13.2 具体功能表3.1功能具体描述可使用此功能的系统角色登录系

10、统用户输入用户名、密码和级别(学生或教师),通过系统认证,可登录系统。学生、教师,管理员在线考试系统根据学生设定的考试科目、题量和时间,抽取试题。学生作答完毕或到达考试结束时间后,系统自动完成阅卷,并反馈相关信息。学生试题管理添加、更改、删除、查看试题。教师生成试卷系统根据教师设定的考试科目、题型和题量,自动或手动生成一份试卷,并配有对应该试卷的一份标准答案。教师申请、激活试卷根据特定的考试科目,申请,然后激活相应要进行考试的试卷。教师成绩查询考试完毕教师可以查询学生成绩学生,教师系统管理对系统进行整体维护与管理管理员33 条件限制该系统可以尽快开发,并且可运行至少运行5年,尽快的开发以便投入

11、使用。3.4系统的开发环境1、网站开发环境网站开发环境:Microsoft Visual Studio 2008/2005网站开发语言:ASP.NET C#网站后台数据库:SQL Server 2005运行平台:Windows71. 服务器端操作系统:Windows Server 2005Web 服务器:Internet信息服务(IIS)管理器数据库服务器:SQL Server 2005服务器运行环境:Mircosoft.NET Framework SDK v6.0A2. 客户端浏览器:Internet Explorer四在线系统的需求规定41 对功能的规定41.1 该系统的数据流分析学生登陆

12、系统后从试题库中选出一套试题,然后开始答题,答题完后提交给系统,由系统完成对试卷的批阅统计出成绩,学生可以登陆查询。管理员登陆系统后对系统进行维护更新。 图 4.1 数据流图图4.1.2 系统的层次模块图。该考试系统是基于网络技术的一种考试系统,管理员通过网络对题库进行维护,添加试题、修改试题、删除试题等操作;考生通过系统完成考试、分数查询等操作;系统自动组卷并且完成试卷的批阅、分数的统计等操作。整个系统的层次图如图3.2所示:在线考试系统删除成绩查看成绩修改成绩添加成绩查看试题删除试题添加试题修改试题学生管理教师管理管理员登陆模考生登录模块登录模块系统管理模块成绩管理模块题库管理模块用户管理

13、模块 图4.2层次模块图4.2数据库设计4.2.1数据库概要说明本网站采用SQL Server 2005数据库。名为db_Examinatiob.共有5张表。4.2.2数据库概念设计对网站进行需求分析划分出了数据库实体对象分别为考生信息、管理员信息、试题信息、试卷信息1、试题实体及属性图试题试题号选项A题目类型题目内容选项B选项C选项D正确答案分值只。图4.3试题实体属性图2、用户实体及属性图考生准考证号考生姓名密码访问权限图4.4用户实体属性图3、成绩实体及属性图成绩单准考证号课程号成绩考试时间 图4.5成绩单实体属性4、试卷实体及属性图试卷试卷编号试卷标题课程编号可用状态图4.6试卷实体属

14、性图5管理员实体及属性图管理员性别管理员编号管理员管理员密码注册时间图4.7 管理员实体及属性6、实体之间关系E-R图在在线考试系统模式中存在的的实体是考生,试题,试卷,管理员。他们的实体关系转化为一个关系模式。其中,“试题”与“试卷”之间是多对多的关系,“考生”与“试卷”之间是一对一的关系,每位考生对应唯一一份试卷。管理员与考生是一对多关系,管理员与成绩是一对多关系,考生与成绩是一对多关系,试题与成绩是一对一关系。试卷与试题是一对多关系。“答卷”是“考生”实体与“试卷”实体之间的联系,不能作为实体,“抽题”是“试题”实体与“试卷”实体之间的联系,因此也不能作为实体。每个实体建立一张表,分别是

15、“考生”表“试题”表,“试卷”表。 1 n管理人员 管理成绩1 n N 1 核对 查看 1 1考生 存储管理 1 1 判断 选择 选择N 1 n 1 n n试卷 抽 试题图4.8 实体间关系E-R图注解:由数据流图和E-R图,粗略得到以下关系模式(部分):试题(题目编号、题型、题目主干、难度系数、选项、答案、分值、章节)试卷(试卷编号、试卷标题、课程编号、可用状态)试卷详细信息(试卷编号、题目编号、题目类型、分值)用户(用户名、用户姓名、密码、权限)4.2.3系统的总体流程图选择考试试题同意考试规则成绩查询登陆查看考试成绩提交试卷考试考试准备考试在线考试对考生信息。考试信息。考试题目,管理员信

16、息以及专业信息进行添加,删除,和修改等管理注册管理员考生否否考生操作 图4.9系统总流程图4.2.4数据字典【1】Course(课程)表数据流来源:在线考试系统的科目表。数据流去向:检查是否符合科目表的要求数据项组成:ID(编号),Name(考试科目)。【2】Student(用户)表数据流来源:用户的基本信息和访问权限。 数据流去向:学校管理人员将编码整理后的学生信息存入数据库。数据项组成:StudentID(用户编号),StudentName(用户名),StudentPwd(密码),StudentPower(权限)。【3】FillBlankProblem(填空)表数据流来源: 填空题的内容及

17、格式。数据流去向:用于考生进行填空题考试。数据项组成:ID(编号),CourseID(课程编号),FrontTitle(空前内容),BackTitle(空后内容), Answer(正确答案)。【4】JudgeProblem(判断)表数据流来源:判断题的内容及格式。数据流去向:用于考生进行判断题考试。数据项组成:ID(编号),CourseID(课程编号),Title(题干),Answer(答案)。【5】MultiProblem(多选)表数据流来源:多项选择题的内容及格式。数据项组成:ID(编号),CourseID(课程号), Title(题干),AnswerA(选项A),AnswerB(选项B)

18、, AnswerC(选项C), AnswerD(选项D),Answer(答案)。【6】Paper(试卷)表数据流来源:试题表。数据流去向:供学生,教师选择、查询。数据项组成:PaperID(试卷编号),CourseID(课程编号),PaperName(试卷标题),PaperState(可用状态)。【7】PaperDetail(试卷详细信息)表数据流来源:由出题人出题获得。数据流去向:为试卷供试题。数据项组成:ID(编号),PaperID(试卷编号),Type(题目类型),TitleID(题目编号),Mark(分值)。【8】Score(成绩)表数据流来源:由出题人出题获得。数据流去向:为试卷供试

19、题。数据项组成:ID(编号),UserID(用户编号),PaperID(试卷编号),Score(成绩),ExamTime(考试时间)。【9】SingleProblem(单选)表数据流来源:由出题人出题获得。数据流去向:为试卷供试题。数据项组成:ID(编号),CourseID(课程号), Title(题干),AnswerA(选项A),AnswerB(选项B), AnswerC(选项C), AnswerD(选项D),Answer(答案)。4.3 对性能的规定4.3.1精度该软件在输入、输出时保留到小数点后两位,在传输过程中保存到小数点后3位。4.3.2时间特性要求【1】响应时间:小于0.1s【2】

20、更新处理时间:小于1s【3】数据的转换和传输时间:小于1s【4】 解题时间:小于1s4.3.4灵活特性要求【1】操作方式上的变化:不变【2】运行环境的变化:不变【3】同其他软件接口的变化:没有【4】精度和有效时限的变化:可调【5】计划的变化和改进:可改4.3.5输入输出要求输入数据类型有char型、int型、data型和datatime型数据。4.3.6数据管理能力要求本软件需要对收银情况的文卷、会员信息文卷、交易信息文卷、进货信息文卷等进行记录,以一年份估算,收银文卷大约需要1GB空间,会员信息大约需要100MB,交易文卷需要2GB空间,进货文卷需要200MB空间,其他大约共需要1GB空间即

21、可。4.3.7故障管理能力要求本软件性能良好,稳定性极高,不容易发生问题,即使软件崩溃,由于其是即时储存在主机上,文件亦不会丢失,会在其主机上找到,只需重新安装软件即可。若硬件问题,则及时更换硬件。以上故障不会造成文件缺失,只会一定程度上影响工程进度。4.3.8其他专门要求【1】安全性:在登陆后,有管理权限的设定【2】可维护性:可维护【3】可补充性:可补充【4】易读性:易读【5】可靠性:可靠【6】运行环境:可转换五运行环境规定5.1设备【1】处理器型号及内存容量台式机、笔记本电脑,基于windows系统。运行时占用内存:2MB;【2】外存容量:硬盘:500GB;,联机,以表的形式存储;【3】输

22、入输出:普通键盘输入 ,打印机输出,联机;5.2 接口无5.3控制管理员开启系统,教师出试卷,学生,登录后软件开始运行。六 .在线系统的实现6.1数据库的表设计1.tb_Admin(管理员表信息)作用:用于保存管理员的基本信息,具体如下图:2tb_lesson(考生课程信息)作用:用于保存指定专业所包含的课程信息,具体如下图:3. tb_question(考试试卷信息)作用:用于保存各套题中所包含的详细考试题目,具体如下图:4Tb_student(考生信息表)作用:用于保存考生的基本信,具体如下图:5.tb_sturesult(考生成绩信息表)作用:用于保存考生的考试成绩,具体如下图:6tb_

23、taoti(套题表)作用:用于保存课程所随意的套题信息,具体如下图:7.tb_profession(考生专业信息表)作用:用于保存考试所涉及到的专业信息,具体如下图:6.2公共类的编写公共类的编写可以减少代码重用到编写。有利于代码维护,在线考试系统中创建了一个公共类Dataconn,并在此基础上创建了6个类,分别是:Eccom:用于执行对数据库操作的SQL语句命令,如添加删除等。ecDropDownList:用于将数据绑定到下拉列表框中。Ecadabindinfostring:用于将数据绑定到表格控件中,并获取数据表的主键字段。Ecadabind:用于将数据库中数据绑定到表格控件中。ExceR

24、ead:用于读取数据库中的数据,返回一个SqlDataReader.Getcon:用来连接在线考试网的数据库,类型为SqlConnection6.3模块实现6.3.1登录模块:考生和管理员需要通过登录界面进入在线考试系统。考生在登录在线考试网之前,首先需要通过登录页面进行注册。为防止考生忘记密码,提供了找回密码的功能。运行效果将如下图所示:/用户注册protected void btnZhunce_Click(object senderm,EventArgs e)Page.Response.Redirect(zhuce.aspx);6.3.2考生注册模块点击在线登录系统的“注册”按钮,进入考生

25、注册页面,为防止注册的学生号重复可以单击检测后注册号进行检测。若无重复则添加该学生信息。单击“确定”按钮如果注册成功将会在页面显示“成功!”信息。运行效果将如下图所示:考生注册模块代码using System.Data.SqlClient:public partial class zhuce:System.Web.UI.Page Datacon dataconn=new Datacon(); protected void Page_Load(object sender,EventArgs e) if(!IsPostBack) /调用公共类中ecDropDownList方法 dataconn.e

26、cDropDownList(ddlProfession,select*from tb_Profession,Name,ID); label1.Visible=false; Label2.Visible=false; Label3.Visible=false; protected void Button2_Click(object sender,EventArgs e)txtStuID.Text=;txtStuName.Text=;txtStuPwd.Text=;txtStuFPwd.Text=;txtQuePwd.Text=;txtAnsPwd.Text=;txtStuID.Focus();p

27、rotected void Button3_Click(object sender,EventArgs e)Response.Redirect(Default.aspx);protected void Button1_ Click(object sender,EventArgs e)/调用公共类中的eccom,执行SQL语句命令dataconn.eccom(insert into tb_student+(ID.namespace,PWD,question,answer,Sex,profession)+values(+this.txtStuID.Text+,+this.txtStuPwd.Tex

28、t+,+this.txtQuePwd.Text+,+this.txtAnsPwd.Text+,+this.addl.Sex.Text+,+Convert.ToInt32(addProfession.SelectedValue)+); /如果添加成功,弹出添加成功对话框 Label1.Visible=true;protected void Button1_Click1(object sender,EventArges e)SqlDataReader read=dataconn.ExceRead(select*from tb_Student where ID=+this.txtStuID.Text

29、+);read.Read();if(read.HashRows)if(this.txtStuID.Text=readID.toString()Label2.Visible=true;read.Close();6.3.3考生在线考试模块该页面中考生首先阅读考试规则,在同意规则后,选择考试试题和套题代码为:using System.Data.SqlClient;public partial class QianUser_StartExamfra:System.Web.UI.Page Datacon dataconn=new Datacon(); static int int_row1=0;/单选题

30、号索引 static int int_row2=0;/多选题号索引 static int int_row1Point=0;/单选题分数 static int int_row2Point=0;/多选题分数 /*页面加载事件,从数据库提取题目*/ protected void Page_Load(object sender,EventArgs e) if(!IsPostBack) this.getCom(1); this.getCom(2); /*提交试卷*/ protected void btnSubmit_Click(object sender,EventArgs e) int_row1=0;

31、/单选题号索引 int_row2=0;/多选题号索引 int_row1Point=0;/单选题分数 int_row2Point=0;/多选题分数 /try / Label3.Visible=Label4.Visible=Lable7.Visible=Lable8.Visible=Label9.Visible=Label10.Visible=true; this.lblStuID.Text=SessionStuName.ToString(); this.lblSubject.Text=SessionSelLession.ToString(); this.lblQuestion.Text=Sess

32、ionSelTitle.ToString(); this.getCom(3); this.getCom(4); this.lblTotal.Text=Covert.ToString(int_rowPoint+int_row2Point); dataconn.eccom(insert into tb_StuResult +(stu_id,which_lesson.taoti,taotiname,res_single,res_more) +values(lblStuID.Text+,+lblSubject.Text+,+int_row1Point+,+int_row2Point+); this.g

33、etCom(5); Response.Write(alert(您确定要交卷吗?);location=StartExamfra.aspx:); /this.btnSubmit.Enabled=false; / /Response.Write(alert(您已经答应过该试卷);window.close(); / /*执行与数据库的关联操作*/ protected void getCom(int i) string ddl=Applicationd1.ToString(); string dd2=Applicationd2.ToString(); SqlConnection con=dataconn

34、.getcon(); switch(i) /从数据库中选择单选题 case 1; SqlDataAdapter myaddapter1=new SqlDataAdapter(select*+ from tb_Questions where que_type=单选题and que_lessonid=+ddl+and que_taoti=+dd2+order by id desc,con); DataSet myds1=new DateSet(); myaddapter1.Fill(mydsl); DataLis1.DataSource DataList.DataBind();/生成单选题题号 f

35、or(int tID1=1;tID1=DataList1.Item.Count;tID1+) Label lblSelect=(Label)DataList.ItemstID1+) Label lblSelect=(Label)DataList1.ItemstID1.FindControl(Label2); lblSelect.Text=tID1.ToString()+、; break; /从数据库中选择多选题 case 2: SqlDataAdapter myadapter2=new SqlDataAdapter(select* +from tb_Questions where que_ty

36、pe=多选题and que_lessonid= +ddl+and que_taotiid=+dd2+order by id desc,con); DataSet myds2=new DataSet(); myadapter2.Fill(myds2); DataList2.DataSource=myds2; DataList2.DataBind(); /生成多选题题号 for(int tID2=1;tID2=DataList2.Items.Count;tID2+) Label lblDselect=(Label)DataList2.ItemstID2-1.FindControl(Label24)

37、; lblDselect.Text=tID2.ToString()+、; break; /核对单选题 case 3: SqlDataAdapter myadapter3=new SqlDataAdapter(select id,que_answer +from tb_Question where que_type=单选题and que_lessonid= +ddl+and que_taotiid=+dd2+order by id desc,con); DataSet myds3=new DataSet(); myadapter3.Fill(myds3); DataRowrow1=myds3.Tables0.Select(); /计算机单选题成功 foreach(DataRow answer1 in row1)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服