ASP在线考试程序说明书
- 格式:doc
- 大小:657.00 KB
- 文档页数:14
附录A软件使用说明书本在线网络考试系统主要设计了一下系统功能模块。
1登录与导航模块登录模块分为用户注册与用户登录两大部分,已经有帐号的用户可以直接登录访问我们的网站,第一次访问我们站点的用户需要由注册系统来注册一个帐号。
2 在线考试模块在线考试模块是本系统中的一个重要部分,它由试卷生成,在线考试,自动评分等构成,3 管理模块管理模块也是本系统的另一个重要部分,主要有用户管理(考生管理)、题库管理、课程管理、成绩管理等功能。
下面简单介绍一下软件的使用方法。
1.主界面本系统主页如图1-1所示:图1-1系统首页2.登录注册模块2.1 登录、注册主要功能以及设计思路:进入系统前,提供一个身份验证界面,用户分为普通用户和管理员两类,如果没有注册,提醒用户先注册登录,同时为了保证系统安全性,防止非法用户登录,还可以在后台进行对用户控制,对于陌生的或信息不祥的用户不予以帐号申请。
登录界面如图2-1所示:图2-1登录界面2.2用户注册页面在图2-2页面,学生可以申请为本系统的用户。
学号、密码、姓名为必填内容。
学号将是用户登录的用户名。
图2-2用户注册页面3.管理员模块3.1管理员首页:管理员进入系统后,将看到图3-1所示的页面。
通过这个页面,可以看到管理员的权限:管理用户,管理题库、管理考试成绩和管理员管理等。
图3-1管理员首页通过图3-2页面,管理员可以对用户进行管理:添加用户、编辑用户、删除用户等。
图3-2用户管理页面3.3题库管理页面通过图3-3页面,管理员可以对试题进行管理:试题的添加,以及试题的上传。
图3-3题库管理页面通过图3-4页面。
管理员可以对考生的成绩进行管理图3-4成绩管理页面3.5管理员管理页面通过图3-5页面,管理员可以对所有的管理员进行管理:添加、编辑、删除管理员。
图3-5管理员管理页面4. 考生模块4.1考生模块首页考生进入系统后,将看到图4-1所示的页面。
通过这个页面,可以进行参加考试,考试成绩查看等图4-1考生模块首页4.2在线考试页面通过图4-2所示的页面,考生可以参加在线考试。
基于ASP的网上在线考试系统目录第一章引言 (1)第二章研究现状及设计目标 (1)2.1 相近研究课题的特点及优缺点分析 (1)2.2 现行研究存在的问题及解决办法 (1)第三章开发环境及工具 (2)3.1 环境: (2)3.2 开发工具的选用: (2)第四章系统流程与规划 (3)4.1 系统规划 (3)4.1.1 考试题库的规划 (3)4.1.2 密码和认证表单的设计 (3)4.1.3 设计教师选题系统 (3)4.1.4 检查考题的难易程度 (3)4.2 系统流程图 (3)4.3 库结构设计 (4)4.3.1 密码验证表MA (4)4.3.2 考生登记表KSXX (4)4.3.3 试卷表XUANZE (4)4.3.4 成绩表CJB (5)第五章系统的实现 (5)5.1 关键技术 (5)5.1.1 ASP技术 (5)5.1.2 ADO技术 (7)5.1.3 SQL Server数据库 (8)5.1.4 VBScript及JavaScript脚本语言 (9)5.2 实现方法 (10)5.2.1 数据库连接方式 (10)5.2.2 用IIS配置Web服务器 (11)5.3 界面设计 (12)5.3.1 登录界面。
(12)5.3.2 考试界面 (13)5.3.3 成绩汇总界面 (14)5.3.4 试卷管理界面 (14)5.3.5 试卷修改界面 (14)5.3.6 添加试题改界面 (15)5.4 程序流程及具体实现方法 (15)5.4.1 考试主页程序:shuoming.asp (16)5.4.2登录界面程序:dl.asp (16)5.4.3 考生身份认证程序:reg02.asp (16)5.4.4 考试试卷生成程序:chouti.asp (18)5.4.5 试卷批改与成绩入库程序:yuejuan.asp (19)5.4.6 查询成绩程序:cfen.asp (19)第六章系统运行效果 (19)6.1 系统测试及运行效果 (19)6.2 自我总体评价 (19)6.3 改进意见 (19)第七章结束语 (19)致谢 (19)基于ASP的网上在线考试系统[摘要]:本网上考试系统是应用Dreamveaver MX 2004网页制作软件和运用ASP技术开发出来的网上在线考试系统,真正实现了无纸化考试。
⽤ASP开发⼀个在线考试系统 本⽂所介绍的应⽤程序是以ASP编程的初学者为读者的。
虽然这个例⼦⾮常简单,但是它对于那些试图在线对他们的雇员、学⽣或客户进⾏考试的组织是⾮常有⽤的。
关于这个应⽤程序 我们的应⽤程序中的第⼀个界⾯包含在index.asp 中,由⼀个注册页组成,其中有两个输⼊域,⼀个是⽤户名,另⼀个是⼝令。
⾮会员要想参加考试的话必须要注册。
这⼀页是初始屏幕,为⽤户提供⽤户名和⼝令的输⼊框。
需要注意的是,这两个将要批准的会员域应该有客户机端的javascript 确认,以便不把它们作为空⽩域来传递。
if (ername.value == ""){alert("Please enter the \"User Name\"");ername.focus();return (false);}if (theForm.password.value == ""){alert("Please enter the \"Password\"");theForm.password.focus();return (false);} 创建这些域的HTML代码如下:< table border="0" cellpadding="0" >< tr >< td width="50%" >< font face="Verdana" size="2" >User Name : < /font >< /td >< td width="50%" >< font face="Verdana" size="2" >< input type=text name=usernamesize=20 maxlength=50 >< /font >< /td >< /tr >< tr >< td width="50%" >< font face="Verdana" size="2" >Password :< /font >< /td >< td width="50%" >< font face="Vedana" size=2 >< input type=password name=passwordsize=20 maxlength= 50 >< /font >< /td >< /tr >< tr >< td width="100%" colspan="2" align="center" >< font face="Verdana" size="2" >< br > < input type="submit" value="Submit" name="B3" >< input type="reset" value="Reset" name="B4" >< /font >< /td >< /tr >< /table > 要注意这个ASP页多多少少是⼀个HTML页⾯,作为ASP页的原因是要显⽰错误信息,例如“错误的⽤户名或⼝令或选择⼀个新⽤户名”,或者是需要显⽰的其它任何信息。
在线考试系统设计说明书1系统的需求规格说明书1.1对功能的规定根据客户的需求,该在线考试系统拟分为以下子模块等。
整个系统间各子模块的结构图如下所示:图 1 系统描述图序号功能模块名称模块子功能描述功能需求标识简要描述1 考生登陆登录Login 不同用户根据不同的权限登陆系统2 教师管理考试结果管理Info教师资料的增、删、改、查,对学生考试结果的查询、修改,也可对试题管理。
教师个人信息维护试题信息管理3 管理员管理学生信息管理Admin通过管理员专用登入页面可对,学生基本信息,教师基本信息,试题信息,管理员信息进行增删改查,并可以查看考试结果。
教师信息管理科目信息管理试题信息管理考试结果管理管理员信息管理1.1.2功能角色用例图在线考试系统是一个三层架构的系统。
在线考试系统的需求主要来源于三个不同的角色:管理员、教师和学生。
因此三者具有不同的功能。
图 2学生用例图图3 教师用例图教师可以对教师资料的增、删、改、查,对学生考试结果的查询、修改,也可对试题管理。
图 4 管理员用例图1.1.3 功能时序图该系统的功能时序图具体有3个:学生时序图,教师时序图,管理者时序图。
学生时序图图6 教师时序图图7 管理员时序图1.2数据管理能力要求考试系统避免不了需要存储试题库,而试题库中往往有上千条甚至上万条记录,拥有的表也会相对复杂,所以在对数据库进行操作的时候,需要数据库响应时间在人们能够接受的范围之内。
1.3故障处理要求系统对于用户错误输入的处理也应该相对友好,尽量做到以最大限度提升用户体验为前提。
偶尔会遇到个别考生考试意外中断的现象,如某台计算机意外断电等。
这就涉及到如何在最大程度上保护学生的考试现场问题。
我们的做法是,将考生的主观性试题、试卷以及结果,保存到服务器端硬盘上。
因为正式考试是集中在学校机房里面进行的,我们可以在安装机房的应用软件时进行设置。
例如:将系统的自动保存时间设置在合理的范围之内,最大程度的保存学生考试过程中试题的考试现场。
前言管鲍在线考试系统V7.0版是南京管鲍科技发展有限公司面向各企、事业单位和各大、中等院校及培训机构推出的网上考试软件,其主要包括在线交流平台、在线学习平台、在线练习平台、在线考试平台、模拟考试平台、每日一题、职业测评管理、题库信息管理、试卷组卷管理、阅卷批卷管理、在线监考管理、系统综合管理、手机短信(可选模块)、指纹验证(可选模块)等模块。
在功能上充分考虑到各行业中不同的考试需求特点,特别针对大中型企、事业单位作了更为周到的考虑,符合各机构培训学习、考试管理。
特别是在线学习、在线考试、模拟考试、每日一题模块、试卷管理等等模块,为各机构提供了一套比较科学、规范、实用、易于操作的网上学习和考试的管理方案,为机构的培训、学习、及考试考核业务拓展提供了一套优秀、科学的管理应用平台,使以前烦琐、杂乱的传统考试有了更科学的运转基础。
管鲍在线考试系统让考试变得更佳简单、轻松、自如!本《用户手册》是以V7.0版考试平台为基准,提供给用户的完全操作指导。
特别提示所有用户:启用系统前,请仔细阅读本用户手册,了解系统结构、模块及功能情况,在产品供应商的指导下进行操作。
对于用户在实际系统操作中所遇到,本《用户手册》中未有涉及的相关操作,请与南京管鲍科技发展有限公司取得联系,获得相应解决办法及操作指导。
技术支持:400-670-3060Email: URL:目录第一部分产品介绍 (5)一、概述 (5)第二部分系统平台和软件安装 (6)一、软件需求平台 (6)二、Windwos2003 Server 安装指南 (6)三、SQL SERVER 2005 安装指南 (7)四、考试系统安装指南 (8)五、考试系统简单操作流程 (12)第三部系统具体操作模块及使用介绍 (13)第一章系统登陆及主界面 (13)一、系统登陆及主界面 (13)第二章个人信息中心 (15)一、修改个人信息 (15)二、学习培训进度 (15)三、我的成绩学分 (15)四、我的职业测评 (17)五、求助信息列表 (17)第二章在线交流平台 (18)一、新闻公告中心 (18)二、在线交流论坛 (19)三、在线调查中心 (21)第三章学习培训中心 (24)一、学习任务中心 (24)二、电子教材中心 (25)三、电子课件中心 (26)第四章练习考试中心 (26)一、在线练习中心 (26)二、自我模拟考试 (28)三、在线考试中心 (28)四、汉字录入考核 (30)第五章学习培训管理 (31)一、电子教材管理 (31)二、电子课件管理 (32)三、定制学习任务 (33)四、学员学习进度 (33)第六章考试题库管理 (34)一、管理题库信息 (34)二、统计分析题库 (35)三、批量管理题库 (36)第七章试卷信息管理 (39)一、随机组卷管理 (39)二、人工组卷管理 (42)三、试卷信息管理 (42)四、试卷模板管理 (43)五、人员抽考模板 (44)第八章在线监考中心 (45)一、考试监考管理 (45)二、练习监控管理 (46)第九章人工批卷阅卷 (47)一、人工在线批卷 (47)第十章考试成绩管理 (48)一、考试成绩管理 (48)二、考试成绩分析 (49)三、考试成绩排行 (50)四、考试成绩档案 (50)五、考生学分管理 (50)六、每日一题管理 (50)第十一章职业测评管理 (51)一、管理测评题库 (51)二、批量管理题库 (52)三、测评试卷管理 (54)四、测评成绩管理 (54)第十二章打字考试管理 (55)一、管理测评题库 (55)二、打字考核标准 (55)三、打字参数设置 (55)四、打字成绩管理 (56)第十三章系统信息设置 (56)一、人员信息管理 (56)二、会员信息管理 (58)三、科目信息管理 (58)四、成绩档案管理 (59)五、系统综合设置 (59)六、系统菜单管理 (60)第十四章常用问题信息 (61)第一部分产品介绍一、概述管鲍在线考试系统是取代传统学习、考试的应用型软件,完全实现电脑自动化。
在线考试系统(OnlineExamSystem) ⽤户设计-|学⽣-|⽼师-|管理员学⽣结构设计-|个⼈信息管理-|修改个⼈信息-|修改登录密码-|选课中⼼-|显⽰所有⽼师所开课的信息可进⾏选课-|显⽰⾃⼰已选课程-|在线考试-|对已选⽼师开设的课程选择进⾏考试-|成绩查询-|查看⾃⼰考试成绩⽼师结构设计-|个⼈信息管理-|修改个⼈信息-|修改登录密码-|课程管理-|显⽰学校开设的课程(⽼师可选择添加课程)-|显⽰⽼师开设的课程-|考试管理-|显⽰⽼师⾃⼰开设的课程-|对课程添加试题(选择、填空、简答)-|查看所开设课程的考试信息(查看该课程学⽣考试情况)管理员结构设计**-|初始教师信息(写⼊⽼师编号,⽼师根据编号才能注册)-|初始课程信息(写⼊课程信息,⽼师可选择课程进⾏开设)数据库⽀撑:管理员表⽼师表学⽣表选择题表 XZe_yi存放正确答案,在前台进⾏调整选项,减少数据冗余。
XZe_Type:该选择题属于哪个科⽬,直接写课程ID。
XZe_Zl:是真题还是练习题。
XZe_Zj:题⽬章节。
填空题表这⾥TK_k1, 该题第⼀个空的答案,TK_k2 第⼆个空的答案,类推【这⾥TK_F字段,判断这⼏个答案是否可以乱序回答,例如,请说出四书是那四书,那么此时的答案可能是乱序的。
答辩时碰到导师问道这个问题//0.0,后加上的】简答题表课程表⽼师选课表学⽣选课表界⾯⽀撑:其他页⾯不在展⽰......总结点(⼤⽜勿喷):在本次实训中,对学过的进⾏了实践,个⼈感觉关键点:对整体考试系统的把握、数据库的分析与创建、在线考试页⾯的技术⽀撑。
再细⼀点,整个系统运⾏的流程,三个不同⾓⾊的功能。
数据库表的分析,尽量的“优”。
各个页⾯技术的实现细节。
整个系统不再赘述。
数据库要分析好【如果读者觉得本次数据库设计还有什么好的意见请留⾔博主,先谢谢】。
各页⾯技术的实现。
在线考试页⾯,设计细节:附加函数:1public Random a = new Random();//对试卷选项进⾏排序⽣成随机顺序2public int[] PaiXu() //随机排序,返回⼀个整形数组,长度为4,值为3 4 5 6,不确定值的顺序,⽤于选择题的选项排序3 {4int[] i = new int[4];56 i[0] = a.Next(3, 6);7switch (i[0])8 {9case3: i[1] = a.Next(4, 5); i[2] = 6; i[3] = 9 - i[1]; break;10case4: i[1] = a.Next(5, 6); i[2] = 3; i[3] = 11 - i[1]; break;11case5: i[1] = a.Next(3, 4); i[2] = 7 - i[1]; i[3] = 6; break;12case6: i[1] = a.Next(3, 4); i[2] = 5; i[3] = 7 - i[1]; break;13 }14return i;15 }16页⾯代码:1using System;2using System.Collections;3using System.Configuration;4using System.Data;5using System.Linq;6using System.Web;7using System.Web.Security;8using System.Web.UI;9using System.Web.UI.HtmlControls;10using System.Web.UI.WebControls;11using System.Web.UI.WebControls.WebParts;12using System.Xml.Linq;13using MySql.Data.MySqlClient;14using DB_;1516public partial class student3 : System.Web.UI.Page17 {18static int[] da = new int[6];//存放答案 xz19int daa = 0;//记录第⼏条 ,答案选项0123 xz20public static string[,] tkda = new string[10, 3];//存放答案 tk 最多⼗条填空,3⽤来标识关键字只有k1-k321public static string[,] jdda = new string[10, 6];//存放答案 jd 同填空题22 DB db = new DB();//创建对象23//------24//⽣成试卷选择5 50 填空5 25 简答题 2 2525//26int xzt = 5, tkt = 5, jdt = 2, xzf = 50, tkf = 25, jdf = 25;27int jdcj = 0, tkcj = 0, xzcj = 0;28static int tkkk = 0;//填空题记录有⼏个空填空29static string Kid = "", Tid = "";30protected void Page_Load(object sender, EventArgs e)31 {32try33 {3435if (!IsPostBack)36 {37if (Request["kid"] != null && Request["tid"] != null)38 {39 Kid = Request["kid"].ToString();40 Tid = Request["tid"].ToString();41 }42 XZZ();43 TKK();44 JDD();45 }46 }47catch48 { Response.Write("<script>alert('载⼊有误请重新登录!');window.location.href='Login.aspx';</script>"); }495051 }52protected void XZZ()53 {54// MySqlConnection con=null;55try56 {57int tm = 1;58string sqlstr = "SELECT * from XZe_ where XZe_Type='"+Kid+"' and XZe_TeaId='"+Tid+"' order by rand() limit "+xzt; 59// con = db.conntent();60 MySqlDataReader selectcom = db.Select1(sqlstr);//, con61while (selectcom.Read())62 {63 Label j1 = new Label();64 RadioButtonList i1 = new RadioButtonList();65//i1.ID = js.ToString();66 j1.Text = tm.ToString()+". "+selectcom.GetString("XZe_T");//题⽬67 tm++;//1. 2. 3.68int[] a1 = new int[4];//存放随机结果 a[0-3]=>3-669 RepeatDirection Horizontal = new RepeatDirection();//设置单选按钮组为横排70 i1.RepeatDirection = Horizontal;//设置单选按钮组为横排+7172 a1 = db.PaiXu();//使⽤排序得到随机的345673for (int j = 0; j < 4; j++)74 {75if (a1[j] == 3) { da[daa++] = j; }76 ListItem a22 = new ListItem();//建⽴列表组77 a22.Value = j.ToString();//⽤于取出value 值与答案⽐较78 a22.Text = selectcom.GetString(a1[j]);//将数据付给listItem 对象79 i1.Items.Add(a22);//添加数据到列表项80 }81 XZ.Controls.Add(j1);82 XZ.Controls.Add(i1);83 }84 }85catch(Exception e) { Response.Write("取数据有错误"); }86finally { }8788 }89protected void TKK()90 {91 tkkk = 0;92int a = 0;93string sqlstr ="SELECT * from tk_ where TK_Type='"+Kid+"' and TK_TeaId='"+Tid+"' order by rand() limit "+tkt;94 MySqlDataReader selectcom = db.Select1(sqlstr);95while (selectcom.Read())96 {97for (int j = 0, i = 3; i < 6; i++)//数据库中答案字段 3-698 {99 tkda[a, j++] = selectcom.GetString(i);100 }101 Label j1 = new Label();//存放题⽬102string abc = selectcom.GetString("TK_T");103string[] arr = abc.Split('_');//⽤ _ 来分割有⼏个空104 j1.Text = "<br />"+ (++a).ToString()+"."+selectcom.GetString("TK_T")+"<br />";//题⽬105 TK.Controls.Add(j1);//添加题⽬到⽹页中106for (int i = 0; i < arr.Length - 1; i++)107 {108 tkkk++;109 TextBox q = new TextBox();110 TK.Controls.Add(q);111//⽣成相应的填空112 }113 }114 }115protected void JDD()116 {117int j = 0;118string sqlstr = "SELECT * from jd_ where JD_Type='" + Kid + "' and JD_TeaId='" + Tid + "' order by rand() limit "+jdt;119 MySqlDataReader selectcom = db.Select1(sqlstr);//, con120while (selectcom.Read())121 {122123for (int a = 0, i = 3; i < 9; i++)124 {125 jdda[j, a++] = selectcom.GetString(i);//i⽤来取数,a⽤来写⼊数组,j⽤来表⽰第⼏条数据126 }127 Label j1 = new Label();//存放题⽬128 j1.Text = "<br />"+ (++j).ToString()+"."+selectcom.GetString("JD_T")+"<br />";//题⽬129 TextBox a1 = new TextBox();130 a1.TextMode = TextBoxMode.MultiLine;///设置⽂本框为多⾏输⼊131 a1.Rows = 4;//设置⽂本框的⾏数132 JD.Controls.Add(j1);//添加题⽬到⽹页中133 JD.Controls.Add(a1);//添加⽂本框134 }135 }136protected void LOOK_Click(object sender, EventArgs e)137 {138 XZCJ(); TKCJ(); JDCJ();139int zz = xzcj + tkcj + jdcj;140string cjj = "insert into xsks_ values('"+Session["id"]+"','" + Tid + "','" + Kid + "',CURDATE( ),'" + zz + "')";141if (db.ZSG(cjj)) { Response.Write("<script>alert('成绩提交成功!你的成绩是 "+zz.ToString()+"');window.location.href='students.aspx'</script>"); } 142else{ Response.Write("<script>alert('成绩提交失败!');</script>"); }143 }144protected void XZCJ()145 {146int j = xzt, i = 0;147try148 {149while (i < xzt)150 {151int xzx = Convert.ToInt32(Request.Form[j++].ToString());//*得到选择项152if (da[i++] == xzx)153 xzcj += (xzf / xzt);154 }155156 }157catch158 {159160 }161 }162protected void TKCJ()163 {164165int xx = xzt*2;166try167 {168for (int i = 0; i < tkt; i++)169 {170for (int j = 0; j < 3; j++)171 {172if (tkda[i, j] == "") continue;173if (tkda[i, j] == Request.Form[xx++].ToString())174 tkcj += (tkf / tkkk);175 }176 }177178 }179catch180 {181182 }183 }184protected void JDCJ()185 {186187int xx = 2*xzt+tkcj;188try189 {190for (int i = 0; i < tkt; i++)191 {192for (int j = 0; j < 6; j++)193 {194if (jdda[i, j] == "") continue;195if (Request.Form[xx].ToString().IndexOf(jdda[i, j]) + 1 >= 1) 196 { if (jdcj < (jdf / jdt))jdcj += 3; else break; }197 }198 xx++;199 }200201 }202catch(Exception e)203 { }204205 }206 }该项⽬已被学姐要⾛。
目录1 设计的目的和意义 (1)2 目标与总体方案 (1)3 设计方法 (1)4设计内容 (1)5设计创新与关键技术 (10)6 结论 (11)有关说明 (11)结束语 (11)参考文献 (12)在线考试系统1 设计的目的和意义网上教育以其全新的教学理念和教学手段为解决我国当前教育资源短缺的问题提供了一种高效的解决方案, 它势必成为我国未来教育发展的一个重要方向。
网上考试系统可以在这个领域大有作为。
与传统的考试方法相比,开展网上考试系统的开发不仅可以提高教学效率、实现教考分离,而且可以更大范围地使高校的教学资源得到共享。
利用校园网强大的服务功能,学生可以不受地域和时间的限制在任何一个用户终端上进行考试。
基于网上考试系统的这些特点,我选择了网上考试系统作为毕业设计题目,本次设计所开发网上考试系统,提供了开放式的考试环境,可以随时供学生检验自己对所学的基础课程知识的操作和使用能力。
2 目标与总体方案本次设计的网上考试系统的需求经过系统分析、系统设计、系统实施3个阶段,其中系统设计主要包括系统整体设计和详细设计两部分;系统实施主要包括网站前台设计,网站后台设计和网站发布3部分。
整个课题预期用10周的时间完成。
根据自己所选的课题,搜集相关资料,查阅相关书籍,对网络考试系统的可行性分析。
对于所开发的网上考试系统,进行系统分析,搭建网站的前台及后台设计构架。
系统的前台是利用Dreamweaver搭建,图象处理利用Photoshop;数据库使用ACCESS创建数据表及表间关系,创建数据库的连接。
对系统的模块功能的详细设计,前台的设计包括登录系统,学生注册,忘记密码的取回,在线考试包括课程选择、套题选择,准备考试,开始考试,考试结束,成绩查询。
采用开放、动态的系统框架,将传统的考试模式与先进的网络应用相结合。
操作简单方便、界面简洁美观。
具有实时性,被授权的考试用户不管身何处,只要通过网络浏览器,即可登陆网络考试系统。
系统提供考试时间倒计时功能,使考生随时了解考试剩余时间。
实现自动提交试卷的功能,当考试时间到,如果考生还未提交试卷,系统将自动交卷,保证考试严肃,公正地进行。
考生提交试卷后,系统可以同时给出考生的自测成绩,及每道题的正确答案,供学生参考。
系统还将给出每一部分的分数及总分数,使考生能更好的提高自己的能力。
3 设计方法硬件环境说明:本次设计在塔里木大学逸夫楼计算机组成原理实验室完成。
使用的机器配置为:CPU P42.66G;内存条 512M;硬盘:80G;显卡:GF-MX440 64M;主板:Intel915GV;显示器:17寸纯平;键盘:联想;鼠标:联想光电;光驱:48X。
软件环境说明:系统:Windows Server 2000;内存要求:基本内存64MB,建议使用64MB以上内存;硬盘:约40G;浏览器:IE5.0以上版本,功能强大,可执行Java,JavaScript,VBScript,支持多种Web协议;Web数据库:access,执行效率高;Web服务器IIS个人站点服务器,可以在自己的计算机上发布主页,并在网络上共享文档。
由于IIS支持ASP,因此可作为Web站点的开发和测试平台;开发工具:Dreamweaver MX 2004,是优秀的网页制作工具,可以方便快捷地创建可视网页,自动生成全部的HTML代码。
4设计内容首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。
考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。
在线考试于一般的单机考试是不同的。
鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。
在线考试基于环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。
另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。
考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。
考试完毕后,可以返回登录界面或继续考试。
此外,应该能够方便、快捷的对在线考试系统管理,此外,用户还应能进行远程注册。
详细设计是整个设计过程中,最重要的步骤之一。
下面就分如下几个部分对系统进行详细设计:(1)试题设计 (2)数据库中表的设计 (3)用户、管理员权限 (4)功能模块详细设计 (5)在线考试系统考试模块框图。
系统应该具备的基本功能:1、用户注册:用户可以进行注册,然后登录。
2、用户信息的修改:用户可以根据需要修改密码。
3、用户信息的管理:管理员可以增删改用户。
4、试卷模型设置:设置试题的每种题型的数量和分值以及考试的总时间。
5、试题库管理:对选择、判断、填空三种题型试题库的管理,使试题的增删、编辑更为简便。
6、试卷生成:可以指定试卷的各题型的数量,从试题库里随机抽取试题生成一份原始试卷。
7、在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。
8、计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。
9、成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。
除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强,能够满足100人以上同时及进行在线考试。
根据需求分析,在线考试系统的结构图如下:图4-1 在线考试系统结构图4.1试题设计鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统只做客观题部分。
一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;多选题是在供选答案中有多个选择;而判断题实质上就相当于有两个选项的单选题。
并且假设多选题一般情况下也是最多提供四个备选答案,标准答案至少有一个。
故各题型的样题设计如下:单选题:password的意思是: A、密码 B、经过 C、单词D、通路正确答案为A多选题:下面的表达式为真的有:A、1>2 B、7%5=2C、sin(30)=1/2D、Cint(7/5)=1正确答案为B、C、D4.2数据库中表的设计1.question表结构通常,每一类型的试题都应有一个表结构。
但考虑到目前系统存贮空间可以很大,也为了更加方便。
我们采用把全部试题集中在一起的方案来建立数据表,每道客观题均有四个备选答案项,每个试题均具有题型、所属科目等数据段表示其属性。
字段名一般是相应的英文单词。
这样,查询起来较方便,会节约时间,也不致于造成数据十分杂乱等。
详细设计如下表所示:各字段说明:(1)haveselect字段代表在随机选题时是否已经被某用户选过,类型为数字。
(2)ID是问题的id号,用来唯一标志该问题,把它设为主键,类型为自动编号。
(3)Question字段为问题内容,类型为文本。
(4)A字段代表选项A的内容(5)B字段代表选项B的内容(6)C字段代表选项C的内容(7)D字段代表选项D的内容(8)Answer字段表示答案选项(9)Type字段表示试题类型(10)subjectname字段代表试题所属科目名称各字段说明:(1)multiper字段代表在某考试科目的考试题中每个多选题的分值。
(2)singleper字段代表在某考试科目的考试题中每个单选题的分值。
(3)multinumber字段为某科的多选题题量。
(4)singlenumber字段为某科的多选题题量。
(5)subjectname字段代表科目名称。
(6)testtime字段代表某科的考试总时间。
(7)id字段代表科目的id号。
各字段说明:(1)studentname字段代表在某次考试记录中学生的名字。
(2)subjectname字段代表在某次考试纪录中考试科目名。
(3)score字段为某次考试纪录中考试分数。
(4)id字段为某次考试纪录的标志号。
(5)endtime字段代表考试的结束时间。
各字段说明:(1)studentname字段代表学生的名字。
(2)studentpassword字段代表密码。
(3)id字段为学生的标志号。
各字段说明:(1)name字段代表管理员的名字。
(2)password字段代表密码。
(3)id字段为管理员的标志号。
4.3 用户、管理员权限管理员:在此系统中可以由若干个管理员,即系统管理员。
他们具有一般用户所没有的权限,即具有管理用户、试题以及试卷等内容的权力。
它不需注册,在数据库有一个表来存放相关信息,可由以存在的管理员添加或删除管理员。
一般用户:主要是指学校的学生和企事业单位的培训对象等。
4.4 功能模块详细设计下面,对各个功能模块分别进行详细讨论,具体情况见系统源程序。
管理模块管理员可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。
同时,管理员也能对科目、用户、考试记录等数据进行管理。
1.试题管理(1) 试题录入首先,用户选择试题所属科目。
若菜单中没有该科目,则可以新增一个。
返回、刷新一次页面,即可看到新增的科目名称。
而且,在本系统中其它需要选择科目的地方也会自动更新。
其次,每道试题有类型、试题内容与选项和答案等栏目。
管理员输入完以后,即可看到预览效果。
如果输入不合法,或者该科题库中已有该试题编号和内容等,则系统给出相应的提示或警告,以待更正。
(2) 试题修改管理员还可以对试题进行修改。
不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。
如果用户执行了非法操作,则必须重新操作。
(3) 试题删除管理员可以删除不再需要的试题。
2.科目管理(1) 添加科目其基本信息有科目名称、题型、题量和考试总时间等,对于用户输入的不符合系统要求的数据,系统仍旧给出提示或警告。
(2) 科目删除管理员可以删除不再需要的科目。
3.用户管理管理员可以通过管理界面添加或删除用户。
4.管理管理员管理员可以通过管理界面添加新管理员或删除原有管理员。
5.考试记录管理系统中的管理员可以查询考试记录,也可以删除考试纪录。
在线考试模块进入在线考场是本系统最重要的部分之一。
因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。
考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。
为了实现动态随机不重复的抽取试题,需要在选题过程中每选出一题,就要在试题库中作相应的标志,以便下次不会重复取出此题。
试卷出来后要对试题库中的标志位复原。
这样就会使每个考生的试卷都不同。
考生的其答题信息通过单、复选按钮选择答案来反映。
考试结束采取自主交卷和到了规定的时间自动题示有机结合的方式办法予以实现。
用户注册模块该模块的功能是实现用户远程注册。
用户输入想要注册的用户名和密码,提交之后由系统判断该用户是否已经存在,如果存在,就给出相应信息,如果不存在,就把用户输入的用户名和密码写到数据库中,完成注册。