NET在线考试系统概要设计说明书.doc
概要设计说明书1.引言需求分析在我国,虽然远程教育已经蓬勃地开展起来了,但是目前学校与社会上的各种考试人都采用传统的考试方式。在此方式下,组织一次考试至少要经过5个步骤,即人工出题、考生考试、人工阅卷、 成绩评估与试卷分析。显然,随着考试类型的不断增加以及考试要求的不断提髙,教师的工作量将会越来越大,并且其工作将是十分繁琐与容易出错的,可以说传统的考试方式己经不能适应现代考试的需要。随着计算机应用的迅猛开展,网络应用不断扩大,人们迫切要求利用这些技术来进展在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高考试的质量,从而使考试更趋于公正、客观,更加激发学生 的学习兴趣。系统功能描述为了保障整个系统的平安性,在线考试系统实现了分类验证的登录模块,通过此模块,可以对不同身份的登录用户进展验证,确保了不同身份的用户操作系统。在抽取试题上,系统使用随机抽取试题的方式,表达了考试的客观与公正。当考生答题完毕之后.提交试卷即可得知本次考试的得分,表达系统的时效性。在后台管理上,分后台管理员管理模快与试题管理模块,以适应不同用户的使用需 求,前存只有系统的高级管理员才能进入,对整个系统进展管理,而后者只允许教师登录,可以对自己任教的科目试题进展修改,并且可以查看所有参加过自己任教科目考试的学生的成绩。1.2 背景系统名称:在线考试系统工程提出者:甘语楠工程开发者:甘语楠工程管理者:甘语楠最终用户:学生、管理员1.3 定义1、OES:Online Examination System在线考试系统1.4 参考资料作者书名出版社张海藩,牟永敏?软件工程导论第六版?清华大学出版社杨玥,汤秋艳,梁爽?Web程序设计:ASP?清华大学出版社钱雪忠,王月海?数据库原理及应用?北京邮电大学出版社林锐?软件工程思想?未出版明日科技?ASP从入门到精通?清华大学出版社2.总体设计2.1 需求规定见需求规格说明书2.2 运行环境 硬件环境双核2.5Ghz的inter CPU、1G内存、20G硬盘 软件环境1、操作系统:windows 72、运行环境:Microsoft Framework 3、数据库系统:Access数据据库4、开发工具:Visual Studio 20216、编程语言:C#7、支撑软件:IISInternet Information Server,互联网信息效劳2.3 根本设计概念与设计流程图2-1 在线考试系统业务流程图描述:1、系统管理员录入试题到题库中;2、系统管理员按下自动生成试卷按钮,系统自动生成试卷;3、用户登录到本系统,选择试卷进展考试;4、用户提交试卷答案;5、系统计算考试得分;6、管理员查看所有用户的成绩,用户查询自己的成绩。2.4 系统总体构造图2-2 在线考试系统前台功能构造图图2-3 在线考试系统后台功能构造图2.5 功能需求与程序的关系表2-1 功能需求与程序的关系用户登录抽取试题自动评分试题管理后台管理登录模块随机抽取试题模块自动评分模块试题管理模块后台管理员模块2.6 模块命名规那么各模块命名规那么如下:名称模块名称编号登录模块user-glH01随机抽取试题模块mark-cxH03自动评分模块user-zcH05试题管理模块notice-glH07后台管理员模块paper-glH092.7 模块描述名称用户登录user-glH01子系统名称系 统管 理系 统名 称OES接 口说 明输入登录信息输出翻开用户界面功 能说 明根据用户输入的不同账号,而翻开不同的用户界面名称随机抽取试题question-glH02子系统名称系 统管 理系 统名 称OES接 口说 明输入选择考试信息输出不同的试卷功 能说 明查询试题信息并输出名称自动评分mark-cxH03子系统名称前 台功 能系 统名 称OES接 口说 明输入试题结果输出成绩功 能说 明根据考生提交的试卷判断分数运行环境说明调用关系说明调用模块用户登录被调用模块无名称试题管理pwd-xgH04子系统名称前 台功 能系 统名 称OES接 口说 明输入新的试题输出新的试题功 能说 明增加、修改、查询试题,当前只有管理员能进入该模块操作名称后台管理user-zcH05子系统名称前 台功 能系 统名 称OES接 口说 明输入登录信息输出管理界面功 能说 明用于后台管理2.8 人工处理过程1、题库的试题录入;2、生成试题前,需要对试题的数量、分值进展人工设置;3、公告需要人工管理等。3.接口设计3.1 用户接口1、基于B/S架构,用户通过浏览器对页面进展操作;2、用户界面:采用常用网页的图形界面设计,界面友好;3、网站风格保持根本一致;4、提供简单的错误处理机制;5、登录界面需要输入用户账号与密码,账号与密码正确时跳转到主页,否那么提示账号或密码错误。3.2 外部接口3.3 内部接口无4.运行设计4.1 运行模块组合本系统由多个ASPX页面,通过页面跳转来实现各个模块之间不同功能的连接与组合。各模块之间相对独立,属于高内聚低耦合,可移植性好。各模块之间主要通过ASPX的内置对象以及动作指令标记实现模块之间的合作与数据共享。4.2 运行控制可以不登陆进入网站主页,但只要登入后才可以使用到本系统的主要功能。在登录页面输入用户账号与密码进入本系统,输入的用户账号与密码是通过注册而存放在数据库中的数据,为注册的用户无法登录。按照用户权限的不同,允许其做权限内的事情。4.3 运行时间由于系统直接从数据库中存取相关信息,页面产生速度可能不够理想,但根本处于可承受范围内。5.数据库设计51.1 数据表设计在开发在线考试系统之前,分析了系统的数据量,由于在线考试系统中试题及考生信息的数据量会很大,因此选择Access数据库存储数据信息,数据库命名为图5.1开发在线考试系统时,为了灵活地维护系统,设计了后台管理员模块,通过后台管理员模块可以方便地对整个在线考试系统进展维护。这时,必须建立一个数据表用于存储所有的管理员信息。管理员信息实体E-R图如图5.1.2所示。 当考生成功登录在线考试系统后,可以根据需要选择考试的科目,考生不同可能选择的考试科目也会不同,系统必须提供一些参加考试的科目,供考生选择。这时,在数据库中应该建立一个存储所有参加考试科目的数据表。考试科目信息实体E-R图如图5.1.3所示。考生选择考试科目,开场在线考试。在规定时间内必须完成考试,否那么系统会自动提交试卷,并且将考生的考试成绩保存在数据表中。这样,方便后期查询考生是否参加过考试,以及查询历史考试得分。考试记录信息实休E-R图如图5.1.4所示。在数据库中建立以一用于存储考生各项信息的数据表。其中包括考生登录时的账号考生编号或考生学号)及密码。假设某个考生参加了考试,系统会将考生答卷的最后得分保存到此数据表中,以便教师或考生对考试历史记录进展查询。考生信息实体E-R图如图5.1.5所示。为了方便教师对考试试题及考生考试结果进展管理,在数据库中必须建立一个数据表用于存储所有的教师信息,其中包括教师登录后台管理系统时需要的账号及密码,以及教师负责的科日名称,教师信息实体E-R图如下图。 在线考试系统中的考试试题是通过对数据库中存储的所有试题随机抽取产生的,所以必须在数据库中建立一个数据表用于存储所有试题信息,其中包括试题题目、试题的4个备选答案、正确答案以及所属的科目。试题信息实体E-R图如下图。图图51.1 数据库逻辑构造设计tb_Admin管理员信息表tb_Lesson考试科目信息表tb_score考试记录信息表tb_Student考生信息表tb_Teacher教师信息表tb_test试题信息表6.公共类设计 在开发工程中以类的形式来组织、封装一些常用的方法与事件,不仅可以提高代码的重用率.也大大方便了代码的管理。本系统中创立了一个公共类BaseClass,其中包含DBCon()方法、BindD()方法、OperateData()方法,CheckStudent()方法、CheckTeacher)方法与CheckAdmin)方法,分别用于连接数据库、绑定GridView控件、执行SQL语句、判断考生登录、判断教师登录与判断管理员登录。具体代码如下:public class BaseClasspublic BaseClass()/ TODO: 在此添加构造函数逻辑 public static OleDbConnection DBCon() return new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|Exame.mdb"); public static void BindDG(GridView dg, string id, string strSql, string Tname) OleDbConnection conn = DBCon(); OleDbDataAdapter sda = new OleDbDataAdapter(strSql, conn); DataSet ds = new DataSet(); sda.Fill(ds, Tname); dg.DataSource = ds.TablesTname; dg.DataKeyNames = new string id ; dg.DataBind(); public static void OperateData(string strsql) OleDbConnection conn = DBCon(); conn.Open(); OleDbCommand cmd = new OleDbCommand(strsql, conn); cmd.ExecuteNonQuery(); conn.Close(); /=如果是学生登录 = public static bool CheckStudent(string studentNum, string studentPwd) OleDbConnection conn = DBCon(); conn.Open(); OleDbCommand cmd = new OleDbCommand("select count(*) from tb_Student where StudentNum='" + studentNum + "' and StudentPwd='" + studentPwd + "'", conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i > 0) return true; else return false; conn.Close(); /=如果是教师登录= public static bool CheckTeacher(string teacherNum, string teacherPwd) OleDbConnection conn = DBCon(); conn.Open(); OleDbCommand cmd = new OleDbCommand("select count(*) from tb_Teacher where TeacherNum='" + teacherNum + "' and TeacherPwd='" + teacherPwd + "'", conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i > 0) return true; else return false; conn.Close(); /=如果是管理员登录= public static bool CheckAdmin(string adminNum, string adminPwd) OleDbConnection conn = DBCon(); conn.Open(); OleDbCommand cmd = new OleDbCommand("select count(*) from tb_Admin where AdminNum='" + adminNum + "' and adminPwd='" + adminPwd + "'", conn); int i = Convert.ToInt32(cmd.ExecuteScalar(); if (i > 0) return true; else return false; conn.Close();7.系统出错处理设计7.1 出错信息1、用户输入格式不正确;2、数据库连接错误。7.2 补救措施格式不正确:主要是用户输入不标准造成;主要是通过页面提示信息,提醒用户,然后再次操作。数据库连接错误:主要是数据库设置不正确造成的;技师提醒管理员。7.3 系统维护设计开发中并没有专门的维护模块,只是为了方便维护工作;对于系统功能方面的维护,由于我们采用的是模块化的设计方法,每个模块页面之间相互独立性较高,这样对系统的维护带来了很大的方便,对于单独功能的修干只需要修改一个页面就行了。对于功能的添加,只要再添加页面选项的内容即可。第 14 页