C#开发案例:在线考试系统及GridView控件使用

C#开发案例:在线考试系统及GridView控件使用
C#开发案例:在线考试系统及GridView控件使用

第11章在线考试系统(C# 3.5+Microsoft SQL Server 2000实现)482

通过阅读本系统设计,读者可以学到:

■验证不同身份的登录用户。

■随机抽取试题。

■如何实现考试计时功能

■如何实现试题无刷新

■如何实现系统自动评分

■合理地创建后台管理

11.1 开发背景483

11.2 系统分析483

11.2.1 需求分析483

11.2.2 系统功能描述483

为了保障整个系统的安全性,在线考试系统实现了分类验证的登录模块,通过此模块,可以对不同身份的登录用户进行验证,确保了不同身份的用户操作系统。在抽取试题上,系统使用随机抽取试题的方式,体现了考试的客观与公正。当考生答题完毕之后,提交试卷即可得知本次考试的得分,体现系统的高效性。在后台管理上,分后台管理员管理模块和试题管理模块。分别适应不同的用户,前者只有系统的高级管理员才能进入,对整个系统进行管理。而后者只允许教师登录,教师可以对自己任教的科目试题进行修改,并且可以查看所有参加过自己任教科目的学生成绩。

11.2.3 可行性分析483

根据《GB8567-2006计算机软件文档编制规范》中可行性分析的要求,指定可行性研究报表如下:

11.2.4 编写项目计划书484

11.3 系统设计486

11.3.1 系统目标486

本系统属于小型的在线考试系统,可以从数据库中随机抽取试题,并且可以对考生的答案评分。

●本系统采取人机交互的方式,界面美观友好,信息查询方便灵活,数据存储安全可靠。●实现从数据库中随机抽取试题。

●对用户输入的数据,进行严格的数据校验,尽可能地避免人为错误。

●实现对考试结果自动评分。

●实现教师和后台管理员对试题信息单独管理。

●系统应最大限度地实现易维护性和易操作性。

11.3.2 系统功能结构486

11.3.3 系统预览487

管理员权限

输入账号、密码后进入管理员管理界面如图1.5所示。

图1.5 管理员管理界面

(7)单击“科目信息管理”/“考试科目设置”菜单项,对考试科目信息进行添加操作,如图1.6所示。

图1.6 考试科目设置

(8)单击“考试结果管理”/“考试结果”菜单项,对考试结果进行查询及删除操作,如图1.7所示。

图1.7 考试结果

(9)单击“管理员信息维护”/“修改密码”菜单项,对管理员操作密码进行修改操作。

学生权限

学生登录后,只能进行考试答题操作,如图1.8所示。

图1.8 学生考试

教师权限

教师登录后,可对试题基本信息进行添加、修改、查询及删除操作。同时对学生考试成绩进行查询及删除操作。如果教师对现有的密码不满意,还以修改自己的密码,如图1.9所示。

图1.9 教师权限

11.3.4 业务流程图488

在线考试系统业务流程图如下:

11.3.5 程序运行环境489

本系统对其运行环境有一定的要求,具体如下:●系统开发平台:Microsoft Visual Studio2008

●系统开发语言:C#

●数据库管理系统软件:Microsoft SQL Server 2005 ●运行平台:Windows XP(SP2)以及以上版本

●运行环境:https://www.360docs.net/doc/b22737482.html, Framework SDK v3.5

●分辨率:最佳效果1024*768像素

11.3.6 数据库设计489

11.3.7 数据库概念设计489

即描绘各个数据表的实体E-T图

11.3.8 数据库逻辑结构设计490

11.3.9 文件夹组织结构492

每个网站都会有相应的文件夹组织结构,如网站中网页数目很多,可以将所有的网页及资源放在不同的文件夹中。如果网站中网页不是很多,可以将图片、公共类或者程序资源文件放在相应的文件夹中,而网页可以直接放在网站根目录下。本系统是按照前者组织文件夹结构排列的。

11.4 公共类设计493

11.5 登录模块设计495

11.5.1 登录模块概述495

不是所有人都可以参加在线考试系统,系统默认是不允许匿名登录的,只有使用管理员分配的账号和密码才能登录。

11.5.2 登录模块技术分析495

登录模块中,使用了验证码技术来防止用机器人软件反复自动登录。该技术是通过Random类实现的。

Random类:表示伪随机生成器,一种能够产生满足某些随机性统计要求的数字序列的设备,该类中最常用的是Random.Next方法。

Random.Next方法用于返回一个指定范围内的随机数。语法如下:

public virtual int Next (int minValue,int maxValue)

参数说明:minValue:返回随机数下界。maxValue:返回随机数上界。

返回值:一个大于或等于minValue且小于maxValue的32位带符号整数。

11.5.3 登录模块实现过程496

11.6 随机抽取试题模块设计497

11.6.1 随机抽取试题模块概述497

11.6.2 随机抽取试题模块技术分析498

11.6.3 随机抽取试题模块实现过程499

11.6.4 单元测试502

11.7 自动评分模块设计503

11.7.1 自动评分模块概述503

11.7.2 自动评分模块技术分析503

11.7.3 自动评分模块实现过程504

11.8 试题管理模块设计505

11.8.1 试题管理模块概述505

11.8.2 试题管理模块技术分析505

11.8.3 试题管理模块实现过程507

11.8.4 单元测试512

11.9 后台管理员模块设计513

11.9.1 后台管理员模块概述513

11.9.2 后台管理员模块技术分析514

11.9.3 后台管理员模块实现过程514

11.10 开发技巧与难点分析526

开发在线考试系统的随机抽取试题模块时,为了防止考生刷新考试页面后产生错误的考试结果,使用JavaScript脚本限制了鼠标右键、F5刷新键及BackSpace键,从而达到防止刷新的目的,使得考试页面更加安全、合理。关键代码如下:

在区域添加如下代码,当按某个键时激发keydown函数,并且屏蔽右键和选择功能。关键代码如下:

在线考试系统通过JavaScript脚本实现考试计时功能,规定考试在指定时间内交卷;否则,达到限定时间后,系统会强行提交试卷,并对其进行评分。关键代码如下:

11.11 GridView控件应用527

具体代码在ExamOnLine/teacher /TExaminationResult.aspx中。

GridView控件是https://www.360docs.net/doc/b22737482.html,的DataGrid控件的后继者。它是一个功能非常强大的通用控件,可以处理简单而常见的操作,如分页、排序、编辑或删除数据等。以尽可能少的数据实现双向数据绑定,该控件与新的数据源控件系列紧密结合,而且只要底层的数据源对象支持,它还可以直接处理数据源更新。它能定义多个主键字段、新的列类型以及样式和模板选项。

GridView支持大量属性,有如下几大类:行为、可视化设置、样式、状态和模板。

GridView 控件激发的事件:

GridView绑定

对列进行配置:如下代码把一个数据绑定的列添加到网格中:

绑定字段

BoundField类表示在一个数据绑定控件(诸如GridView 或DetailsView)中作为纯文本显示的一个字段。为了规定要显示的字段,把DataField属性设置为该字段的名称,要在头部或页脚部分显示一个标题,请分别设置HeaderText和FooterText属性;

按钮字段

按钮字段表示我们希望通过一个服务器端事件处理的任何操作,当该按钮被单击时,页面回发并激发一个RowCommand事件。

超链接字段

超链接列把用户指向一个不同的URL,该URL可以有选择地在一个内部框架中显示出来。如:

DataNavigateUrlFields="id" DataNavigateUrlFormatString="Flower.aspx?id={0}"

DataTextField="name" HeaderText="鲜花" />

当用户单击该按钮时,浏览器用Flower.aspx?id=XXX将鲜花id传出

CheckBox字段

CheckBoxField列是显示一个复选框的一个较简单的绑定列.

图像字段

I mageField列类型表示一个在数据绑定控件中作为图像显示的字段。

模板字段

有时候我们需要一些特殊格式的绑定字段,是定制列。这可以通过使用模板得到的结果。TemplateField列为该网格中的每一行提供一个个性化用户界面,这完全是由页面开发人员定义的,我们可以为名生成阶段定义模板,包括默认视图、原地编辑、标题和页脚。

一个模板化视图可以包含对我们正在创建的应用程序有意义的东西:服务器控件、文字和数据绑定表达式。

数据绑定表达式允许我们插入当前数据行中包含的值,然而,并非所有的模板都支持数据绑定表达式。

如下代码说明了如何为一个产品定义项目模板。该列显示在现行上,并包括产品的名称和一些有关产品包装的信息。

<%# Eval("productName") %>

available in<%# Eval("quantityperunit") %>

数据绑定语法

https://www.360docs.net/doc/b22737482.html,中,有如下两种数据绑定语法:

1、使用Eval方法

可计算数据绑定控件的模板中后期绑定数据表达式。Eval方法以数据字段的名称作为参数

Eval方法可诸数据绑定控件的模板中的后期绑定数据表达式。在运行时,Eval方法调用DataBinder对象的Eval方法,同时引用命名容器的当前数据项。命名容器通常是包含完整记录的数据绑定控件的最小组成部分,如GridView控件中的一行。

Eval方法以数据字段的名称作为参数,从事数据源的当前记录返回一个包含该字段值的字符串。字符串格式参数使用String类的Format方法定义的语法。

Eval是只读的方法论(定向数据绑定),绑定的内容为不会提交回服务器。比如用户名,并不想让用户做任何修改,可以使用:

<%# Eval("UserName").ToString.Trim() %>

Eval还有一个重载的方法,可以实现格式化。比如需要用户的注册时间,可以使用:

<%# Eval("RegTime","{0:dd/MM/yyyy}") %>

其中0代表对应的PublishDate字段,而dd/MM/yyyy指明了最终显示文本的格式,它可能会显示为17/07/2009.

2、使用Bind方法

Bind方法与Eval方法有一些相似之处,但也存在很大的差异。虽然可以像使用Eval方法一样使用Bind方法来检索数据绑定字段的值,但当数据可以被修改是地,还是要使用Bind 方法。

Bind方法通常与输入控件一起使用,例如由编辑模式中的GridView行所呈现的TextBox 控件。当数据绑定控件将这些输入控件作为自身呈现的一部分创建时,该方法便可提取输入值。

Bind方法支持读/写功能(双向数据绑定),该方法常常与输入控件(比如TextBox控件)一起使用,达到可更新数据的目的。比如图书的标题可以修改,可以设置为:

<%# Bind("Title") %>

GridView深入

1、高亮显示

当我们的鼠标移动到GridView的某一行时,该行加亮显示,

代码如下:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) //判断是否为数据行,即排除表头和尾

{

if (e.Row.RowType == DataControlRowType.DataRow)

{

e.Row.Attributes.Add("onmouseover",

"currentcolor=this.style.backgroundColor;this.style.backgroundColor='yellow',this.style.fontWeig ht='bold'");

e.Row.Attributes.Add("onmouseout",

"this.style.backgroundColor=currentcolor,this.style.fontWeight=''");

}

}

如果需要高亮显示的不是整行,而是某个单元格,也可以使用该方法,比如我们要高亮显示价格是"199.00"的单元格,

代码为:

if (((flower.Models.Product)e.Row.DataItem).Price.Trim() == "199.00")

{

e.Row.Cells[3].BackColor = System.Drawing.Color.Yellow;

}

2、删除提示

我们在做删除操作的时候,都会需要一个提示,当用户确认后才进行删除操作,对于这种情况,我们一般采用模板列进行处理。代码如下:

3、GridView结合复选框的全选效果

有时候,我们需要删除多条记录,为方便用户使用,我们不希望每条记录删除一次,而希望有一个复选框,可以一次删除多条记录,而不是一次次的点删除确认。这时,可以使用复选框来实现多选的效果。

首先,创建模板列,并在其中放置CheckBox控件,编写客户端脚本,代码如下:

另外,还需要在“全选”前面的复选框上添加Onclick="GetAllCheckBox(this)"事件,GridView代码如下:

全选

4、固定表头

固定表头,是在下拉表格的情况下,表头跟随下移,使得表头相对用户和浏览器而言是在固定位置,可以使用户随时看清楚字段对应的内容。创建浮动样式代码如下:

还需将GridView中HeaderSytle的CssClass值设为Freezing

5、显示隐藏某一列

有时候,结果中的列太多也是一个烦恼,为了适应不同用户的需求,可能需要用户自己设置是否显示某些行。

现在要隐藏ID,编写代码如下:

oncheckedchanged="cbID_CheckedChanged" />

事件代码为:

protected void cbID_CheckedChanged(object sender, EventArgs e)

{

GridView1.Columns[2].Visible = !GridView1.Columns[2].Visible;

Response.Write("ID列现在的显示隐藏状态是:"+GridView1.Columns[2].Visible.ToString());

}

6.GridView实现用“...”代替超长字符串:

解决方法:数据绑定后过滤每一行即可

for (int i = 0; i <= GridView1.Rows.Count - 1; i++)

{

DataRowView mydrv;

string gIntro;

if (GridView1.PageIndex == 0)

{

mydrv = myds.Tables["飞狐工作室"].DefaultView;//表名

gIntro = Convert.ToString(mydrv["家庭住址"]);//所要处理的字段

GridView1.Rows.Cells[3].Text = SubStr(gIntro, 2);

}

else

{

mydrv = myds.Tables["飞狐工作室"].DefaultView[i + (5 * GridView1.PageIndex)];

gIntro = Convert.ToString(mydrv["家庭住址"]);

GridView1.Rows.Cells[3].Text = SubStr(gIntro, 2);

}

}

调用的方法:

public string SubStr(string sString, int nLeng)

{

if (sString.Length <= nLeng)

{

return sString;

}

string sNewStr = sString.Substring(0, nLeng);

sNewStr = sNewStr + "...";

return sNewStr;

}

7.GridView显示隐藏某一列:

图2-点击显示的CheckBox后

解决方案:

public void bind()

{

string sqlstr = "select top 5 * from 飞狐工作室";

sqlcon = new SqlConnection(strCon);

SqlDataAdapter myda = new SqlDataAdapter(sqlstr, sqlcon);

DataSet myds = new DataSet();

sqlcon.Open();

myda.Fill(myds, "飞狐工作室");

GridView1.DataSource = myds;

GridView1.DataKeyNames = new string[] { "身份证号码" };

GridView1.DataBind();

sqlcon.Close();

GridView1.Columns[3].Visible = false;//一开始隐藏

CheckBox1.Checked = false;//如果不这样后面的代码会把他True

}

双击CheckBox1,在CheckedChanged方法里写上代码,最后代码如下:

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)

{

GridView1.Columns[3].Visible=! GridView1.Columns[3].Visible;

Response.Write("GridView1的第4列现在的显示隐藏状态是:"+GridView1.Columns[3].Visible.ToString());

}

注意:CheckBox1的AutoPostBack要True!

11.12 本章总结531

通过开发在线考试系统,总结出在线考试系统至少需要具备登录、随机抽取试题、答卷和评分4个部分,而其他一些功能或者模块都是间接地服务于这4个部分。当然,完善的在线考试系统,也要具备优良的后台管理模块,只有将后天管理模块设计完善,才能使整个系统变得更加灵活和容易维护。

在线考试系统设计方案

在线考试系统设计方案 一、概述 传统的考试方式组织一次考试至少要经过人工出卷、考生考试、人工阅卷、成绩统计和试卷分析五个步骤。随着考试规模的不断扩大,工作量将会越来越大而且容易出错。因此开发一套在线考试系统具有重要的现实意义: 1、在线考试突破了时空限制。在线考试系统突破了传统考试模式的时间、空间的限制,有利于组织大规模异地实时考试,可以满足任何授权的考生在规定的时间段内在任意时间和可用地点参加考试,大大提高了教学内容和考核方式的灵活性。 2、提高了工作效率。在线考试系统减轻了考试主管部门人员尤其是教师在命题、组卷、阅卷等方面繁重的工作量,提高了工作效率。 3、节省财政开支。在线考试真正实现了无纸化办公,节省了纸张、印刷等考核费用。 4、在线考试更能体现考核的客观公正性。在线考试采用试题库方式提供试卷来源,考前无任何成套试卷,考试时各考生随机抽卷,试卷不完全相同,避免了互相参看导致的不公平成绩。自动阅卷功能增加了考核的透明度,考生在交卷同时看到自己的成绩,降低了错误出现的概率和教师主观因素的干扰,更能体现考核的客观公正性。 二、“在线考试系统”环境要求 软件环境:开发语言采用JAVA,数据库服务器方面则有MySQL,其灵活性、安全性和易用性为数据库编程提供了良好的条件 三、系统设计方案 3.1系统设计方案描述 该考试系统是基于WEB技术系统开发的一种,采用B/S的三层结构模式,使用jsp动态网页技术开发。不受时间和地域的限制可以随机出题。管理员可以管理角色,并对系统模块、用户等进行处理;教师在题库添加试题,对用户的成绩进行管理。用户则通过选择不同类别的试卷,系统随机生成试卷并开始考试,查询成绩。 在系统设计和开发上,运用软件工程的思想,分析和设计了数据模型和功能模型;给出了主要功能的算法设计,包括题库组织、试卷生成、身份认证、考生答案存储、自动阅卷等。 3.2系统功能需求分析 提供一个基于B/S模式用户接口,能实现在线的用户认证、自动组卷、随机出题、时间限制、自动评卷、以及相关的考试题目的管理和考试的安排设置等功能

GridView使用总结

GridView控件用来在表中显示数据源的值。每列表示一个字段,而每行表示一条记录。GridView控件支持下面的功能: ?绑定至数据源控件,如SqlDataSource。 ?内置排序功能 ?内置更新与删除功能 ?内置分页功能 ?内置行选择功能 ?以编程方式访问GridView对象模型以动态设置属性、处理事件等。 ?多个键字段。 ?用于超链接列的多个数据字段。 ?可以通过主题和样式进行自定义外观。 GridView控件中的每一列由一个DataControlField对象表示。 默认情况下,AutoGenerateColumns属性被设置为true,表示为数据源中的每个字段自动创建绑定字段,自动生成的绑定列字段不会添加到Columns集合中。 通过将AutoGenerateColumns属性设置为false,然后创建自定义的Columns集合,您可以手动定义列字段,而不是让GridView控件自动生成列字段。除了绑定列字段外,您还可以显示按钮列字段、复选框列字段、命令字段、超链接列字段、图像字段或基于您自己的自定义模板的列字段。 下表列出了可以使用的不同列字段类型。

自定义用户界面 您可以通过设置GridView控件的不同部分的样式属性自定义该控件的外观。下表列出了不同的样式属性。 也可以显示或隐藏控件的不同部分。下表列出控制显示或隐藏哪些部分的属性。 事件

GridView控件提供多个您可以对其进行编程的事件。这使您可以在每次发生事件时都运行一个自定义例程。下表列出了GridView控件支持的事件。 事件说明 PageIndexChanged在单击某一页导航按钮时,但在GridView控件处理分页操作之后发生。此 事件通常用于以下情形:在用户定位到该控件中的另一页之后,您需要执行 某项任务。 从10个按钮里面随便选择一个的情况 PageIndexChanging在单击某一页导航按钮时,但在GridView控件处理分页操作之前发生。此 事件通常用于取消分页操作。 RowCancelingEdit在单击某一行的??取消”按钮时,但在GridView控件退出编辑模式之前发 生。此事件通常用于停止取消操作。 RowCommand当单击GridView控件中的按钮时发生。此事件通常用于在控件中单击按钮 时执行某项任务。 RowCreated当在GridView控件中创建新行时发生。此事件通常用于在创建行时修改行 的内容。 RowDataBound在GridView控件中将数据行绑定到数据时发生。此事件通常用于在行绑定 到数据时修改行的内容。 RowDeleted在单击某一行的“删除”按钮时,但在GridView控件从数据源中删除相应记 录之后发生。此事件通常用于检查删除操作的结果。 RowDeleting在单击某一行的“删除”按钮时,但在GridView控件从数据源中删除相应记 录之前发生。此事件通常用于取消删除操作。 RowEditing发生在单击某一行的“编辑”按钮以后,GridView控件进入编辑模式之前。 此事件通常用于取消编辑操作。 RowUpdated发生在单击某一行的“更新”按钮,并且GridView控件对该行进行更新之后。 此事件通常用于检查更新操作的结果。 RowUpdating发生在单击某一行的“更新”按钮以后,GridView控件对该行进行更新之前。 此事件通常用于取消更新操作。

在线学习考试系统设计方案

医院在线学习系统建设方案

一、项目概述 1.1 总体目标 设计一套集在线学习、在线考试、在线交流、学习信息管理、学习档案管理等功能的系统平台,使某某的广大医护职工、官兵战士能够利用业余时间在线学习充电,作为在职培训的有效补充。实现89医院在学习培训形式、容和管理方式的创新和突破。整合学习资源、提高学习效率、降低学习成本,最大限度的解决工学矛盾,满足广大职工、官兵差异化、个性化学习需求。 (1)依托“在线学习中心”平台,充分发挥各类优质培训资源优势,加快医院培训工作现代化、信息化的步伐,推动医院培训网络体系和管理机制的健全和完善,构建以实体培训为基础,网络培训为重要手段的职工终身学习体系。 (2)运用现代信息技术与传统教育方式相结合,建立新的培训模式,在管理、辅导、考核等方面不断变化的同时,进一步促进职工学习方法的创新,使广大职工、官兵真正成为终身学习的主体。 (3)帮助医院更新教育理念,树立与素质教育相符合的教育观、人才观和质量观,更新和拓展学科专业知识,改善知识结构,培养创新思维和改革意识,使广大职工、官兵在政治思想、道德修养、专业理论、学科知识、科研能力等方面都有较大幅度的提高,促进医护队伍整体素质明显提高。 二、系统优势及特点 功能强大、模块齐全、性能稳定,实现培训课程发布、在线学习、教

学交流、状态跟踪、用户管理、课程管理、考试考核、角色权限、统计分析等功能模块,涵盖教育培训的方方面面。 ●采用目前流行的.net编程语言,可以承载万人同时在线,多媒体课 件开发技术、Excel快速导入,全面的综合统计分析工具,让用户使用简单、管理方便、功能强大。 ●基于B/S方式,学员学习随时随地,不受地域,时间的限制,只要可 以访问网络,打开浏览器,就可以进行学习,不用安装客户端。 ●可管理的课程学习体系:功能最多:课件、练习、考试、反馈、答疑、 案例等几大功能,学习目标全:允许设定课时、毕业成绩、平时成绩等多个考核目标;跟踪最细:学员登录次数、学习课时、课件进度、成绩、排名等全面跟踪;互动性好:允许案例分析、在线答疑、调查反馈等。 ●优秀的在线考试引擎:优化的性能设计;安全性好,灵活组卷技术, 出卷策略功能最强;考试防舞弊技术,控制考试页面、打乱题目顺序。 ●功能强大的批量导入功能,可以上万题同时导入,同时支持图片、声 像等多媒体文件。 2.1 对培训管理者的价值 减轻培训管理者的工作负担 丰富教学手段,提高管理水平 提供培训的跟踪管理机制 扩大受众围,增加学习机会 可实现因人、因专业、因岗位而设置课程

GridView使用大全

GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一行时改变该行的背景色方法二 GridView实现删除时弹出确认对话框 GridView实现自动编号 GridView实现自定义时间货币等字符串格式 GridView实现用“...”代替超长字符串 GridView一般换行与强制换行 GridView显示隐藏某一列 GridView弹出新页面/弹出新窗口 GridView固定表头(不用javascript只用CSS,2行代码,很好用) GridView合并表头多重表头无错完美版(以合并3列3行举例)GridView突出显示某一单元格(例如金额低于多少,分数不及格等)GridView加入自动求和求平均值小计 GridView数据导入Excel/Excel数据读入GridView 在对GridView编辑的时候实现自动计算 实现类似winform的点击行选中功能 GridView在编辑的时候控制编辑框的列宽。 给Gridview加入Tooltip的功能 1.GridView无代码分页排序:

1.AllowSorting设为True,aspx代码中是AllowSorting="True"; 2.默认1页10条,如果要修改每页条数,修改PageSize即可,在aspx代码中是PageSize="12"。 3.默认的是单向排序的,右击GridView弹出“属性”,选择AllowSorting为True即可。 2.GridView选中,编辑,取消,删除: 效果图: 后台代码: 你可以使用sqlhelper,本文没用。代码如下: using System; using System.Data;

GridView介绍

CommandName 值 说明 “Cancel” 取消编辑操作并将GridView 控件返回为只读模式。引发RowCancelingEdit 事件。 “Delete” 删除当前记录。引发RowDeleting 和RowDeleted 事件。 “Edit” 将当前记录置于编辑模式。引发RowEditing 事件。 “Page” 执行分页操作。将按钮的CommandArgument 属性设置为“First”、“Last”、“Next”、“Prev”或页码,以指定要执行的分页操作类型。引发PageIndexChanging 和PageIndexChanged 事件。 “Select” 选择当前记录。引发SelectedIndexChanging 和SelectedIndexChanged 事件。 “Sort” 对GridView 控件进行排序。引发Sorting 和Sorted 事件。 “Update” 更新数据源中的当前记录。引发RowUpdating 和RowUpdated 事件。 再实现其中的事件即可。 也可以实现RowCommand事件,通过比对CommandName属性值实现方法,但是在其中无法获取cell[?]的值? GridView中如何控制ButtonField栏的状态? 2007-01-26 16:32 .......... ******************* protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowIndex > -1) { DataRowView rv = (DataRowView)e.Row.DataItem; if (rv["field1"].ToString() == "1") ((LinkButton)e.Row.Cells[0].Controls[0]).Enabled = false;

在线考试系统建设方案

考试系统建设 方 案 书 XXXXXX有限公司

前言 随着计算机信息化日新月异的发展,计算机网络发挥了越来越大的作用。如何更合理、高效地将计算机网络信息的高效性应用到我们教育教学学习考试上,一直也是我们持续关注、研发的主题和目标。为了巩固和加强学习的成果,需要对广大学员进行考核。形势的发展和现实的需求迫切需要各职能单位上一套成熟、稳定、易用的网上考试系统软件。 必要性: 传统的纸质考试需要人员集中,专门安排考场,往来时间的损耗、考试组织费用等等,成本非常高。传统的纸质考试出卷、排版、印刷、交卷、批改、成绩登记、统计查询等工作比较繁琐,耗时耗力,远远跟不上网上在线考试的自动化、高效化。 在线考试系统是目前市场占有率最高,应用最广泛的远程网络学习考试软件,它采用Web方式,同时适用于局域网和Internet,无需安装客户端,即可实现网上出题、考试并能够答卷保存、自动判分、成绩查询和分析等功能。该系统同时拥有最开放的题库管理系统和最灵活的组卷系统,提供资源的快速收集和高度共享。

第一章系统概述 1.1系统简介 XXX在线考试系统是针对各类院校而设计的新一代纯B/S架构的在线考试系统。它采用全Web架构的零安装和零维护方式,无需安装任何客户端软件,即可实现网上自测和模拟考试、作业练习、员工考核和测评、自动评分和阅卷、答卷和成绩管理、“班级模式”的管理和统一考试等功能。该系统还拥有独创的最灵活的试卷录入方式,既有采用独创的“所见即所得”技术的手工录入方式,又能够支持自动快速导入纯文本格式的试卷,同时还可以直接上传各种Word/Pdf文档型或图片型试卷并编辑答题卡以支持全自动评分和阅卷的在线考试。 1.2系统架构 XXX在线考试系统学生用户通过浏览器登录系统,参加考试、查看参考答案和查看考试成绩、成绩分析统计等;教师用户通过浏览

GridView控件自定义分页详解

GridView控件自定义分页详解 在这里我们将用一个隐藏字段来保存这个PageIndex,即当前页码.当点击上一页时,将它的值减一,知道为0,要注意的一点这里的第一页页码是0而不是1.下面看看代码,然后我们再分析分析! 1 2 3 4 6 7 9 10 11

12 13 首页 14 上一页 15 下一页 16 尾页 17
CS文件中的代码: 1 protected void PagerButton_Click(object sender, EventArgs e) 2 { 3 int pageIndx = Convert.ToInt32(CurrentPage.Value); 4 int totals = NewsManager.GetNews(0, pageSize).TotalRecords; 5 int pages = (totals % pageSize) == 0 ? (totals / pageSize) : (totals / pageSize + 1); 6 string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower(); 7 switch (arg) 8 { 9 case "prev": 10 if (pageIndx > 0) 11 { 12 pageIndx -= 1; 13 } 14 break; 15 case "next": 16 if (pageIndx < pages - 1)

在线考试系统中题库的设计与实现

在线考试系统中题库的设计与实现 摘要:如今,计算机网络以及信息技术的不断发展,社会对教育考试的需求日益增长,对教育考试的质量要求也日益提高。在传统的出题工作中,一份试卷的形成往往需要大量的人力物力,耗费大量的时间做着繁琐的工作。因此为方便在线考试的试卷管理而建立的题库也应运而生。 关键词:在线考试;JDBC技术;B/S模式;题库 网络的普及使得世界变得越来越小,信息的传递共享也变得更加的迅速与便捷;因而人们获取知识的途径也越来越多,传统的卷面考试方式已经不能满足人们的需求,在线考试就逐渐进入人们的网络生活;在进行网络考试的同时,网络在线考试的后台题库管理至关重要。建立一个完备的题库管理部分,需要通过利用数据库以及先进的开发平台,根据现有的数据关系,开发一个具有开放体系结构、便于管理、方便教师在线组卷、对试题进行合理的题库管理系统。 1 系统相关技术 随着计算机技术的发展,运用计算机数据库来进行后台数据整合以及分类处理的大型数据库越来越多,通过JDBC 技术建立与数据库后台的连接,实现Java程序对数据库的访问;JSP技术是编写WEB网页前台页面的主流技术;Tomcat

服务器成为了一个桥梁通过JSP页面将用户与服务器连接起来。而对于题库管理的核心――组卷算法,选取合理有效的组卷算法将有利于整个系统的高效运行。 1.JDBC技术 JDBC(Java Database Connectivity的简写),是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了相应查询和更新数据库中数据的方法。它是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,由一组用Java语言编写的类和接口组成。 2.B/S模式 B/S模式(Browser/Server,浏览器/服务器模式),它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构,在这种结构之下,WEB浏览器是最主要的用户工作界面,极少的一部分事务逻辑在前端(Browser)实现,主要的事务逻辑在服务器端(Server)实现,从而形成三层架构。对于B/S结构的软件来讲,由于其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不会出现数据不一致性的问题。 3.CSS样式 CSS是Cascading Style Sheets(“级联样式表单”或“层叠样式表单”)的英文缩写,这是一种用于表现HTML或XML 等文件样式的计算机语言,用于控制WEB页面的外观。它可

.NET三层架构与三层架构下GridView控件增删改操作详解

.NET三层架构与三层架构下GridView控件增删改操作详解(一) 所谓三层架构(3-tier application)就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚、低耦合”的思想。 1、表现层(UI):主要是指与用户交互的界面,用于显示数据和接受用户输入的数据,将用户输入的数据传递给业务逻辑层,一般不包含任何实际的业务处理,当业务逻辑层的数据发生变化时,表示层就会显示出更新的结果。表示层提供应用程序的用户界面,通常为Windows 应用程序或Web应用程序。 2、业务逻辑层(BLL):是表示层和数据访问层之间的桥梁,它代表应用程序的核心功能,负责处理数据层的数据,实现业务逻辑。业务逻辑层通常为类库。 3、数据访问层(DAL):主要实现对数据的保存和读取操作,将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库中。数据访问层可以访问关系数据库、文本文件或者XML文档,通常为类库。 三层架构对应的图如下图所示: 为了更好地让初学者轻松入门,这里仍然采用趣味性的方式聊一些常用技术点,致力于.NET 新手们的快速提高!知识都是普通的,关键是学习的思路。技术源于生活,技术原来可以这样学。抛砖引玉而已。

层次结构在现实社会里随处可见。记得有个笑话讲有个村长得意地向他老婆吹牛:“全中国只有四个人比我官大,乡长、县长、省长和国务院总理”。这个笑话也体现了真实社会中分层的现象。社会人群会分层,公司人员结构也会分层,楼房是分层的,甚至做包子的笼屉都是分层的。虽然分层的目的各有不同,但都是为解决某一问题而产生的。所以,分层架构其实是为了解决某一问题而产生的一种解决方案。 1、常用的三层架构设计 软件系统最常用的一般会讲到三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层等,有的还要细一些,通过分解业务细节,将不同的功能代码分散开来,更利于系统的设计和开发,同时为可能的变更提供了更小的单元,十分有利于系统的维护和扩展。 常见的三层架构基本包括如下几个部分,如图1所示。 图1 常见的三层架构 * 数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。 * 业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。 * 表示层Web:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。 日常开发的很多情况下为了复用一些共同的东西,会把一些各层都用的东西抽象出来。如我们将数据对象实体和方法分离,以便在多个层中传递,例如称为Model。一些共性的通用辅助类和工具方法,如数据校验、缓存处理、加解密处理等,为了让各个层之间复用,也单独分离出来,作为独立的模块使用,例如称为Common。

在线考试系统详细设计说明书

在线考试系统详细设计说明书

详细设计说明书 1引言 1.1编写目的 说明在线考试系统各部分的功能和结构,用于系统开发和便于公司技术人员以后的查询和维护工作以及用户使用。 1.2背景 随着网络技术的飞速发展,现在很多国外的大学和社会其它部门都已经开设了远程教育,经过计算机网络实现异地教育和培训。可是,远程教育软件的开发当前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。 远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在中国,虽然远程教育已经蓬勃地发展起来,可是当前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,而且其工作将是一件十分烦琐和非常容易出错的事情,能够说传统的考试方式已经不能适应现代考试的需要。随着计算机应

用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如当前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。 伴随着远程教育的蓬勃发展,作为教学当中不可分割的一部分的在线考试系统也得到了当今远程教育研究者的关注,考试是考察学生对所学习知识的接受和理解程度的重要手段,无纸化的考卷,考试的随时性,随地性,这些特点都是研究并开发网络考试系统主要的原因,网络考试系统远远超越了传统考试固定时间,固定地点的考试模式的限制,将给学生和老师带来极大的便利。随着Internet的相关技术的发展,特别是Web技术的出现,人们开始致力于研究和开发基于Internet考试系统,这也大大推动了远程教育的发展[2]。 如今世界上对于基于Internet的远程考试系统所进行的研究开发工作不是很长,可是基于web技术构建的在线考试系统已然成为发展的主流。数据库安全、共享、数据传输过程的安全性、访问控制技术、身份识别技术都是构建考试系统要考虑的问题。当前,一些远程教育机构已经开发出了在线考试系统,基本实现了基于Internet的B/S结构在线考试。经过Server端的后台试题库动态生成考卷和对于标准化的试题即时评定成绩。可是与传统

[GridView控件]事件详解

GridView是一个非常强大的控件,它支持分页,排序等等,我想每个人都应该用过这个控件,最近有个网友问了我一些问题,平时也没多大的注意,只要能满足自己的一些需求就没有深入的研究.通过了一段时间的研究发现功能强大的同时所带来的事件也是相当之多,在网上收集了一下,网上的资源还是很丰富的.以下事件原文地 址:https://www.360docs.net/doc/b22737482.html,/Content,2006,8,14,165.aspx. RowCommand 在GridView 控件中单击某个按钮时发生。此事件通常用于在该控件中单击某个按钮时执行某项任务。 PageIndexChanging 在单击页导航按钮时发生,但在GridView 控件执行分页操作之前。此事件通常用于取消分页操作。 PageIndexChanged 在单击页导航按钮时发生,但在GridView 控件执行分页操作之后。此事件通常用于在用户定位到该控件中不同的页之后需要执行某项任务时。 SelectedIndexChanging 在单击GridView 控件内某一行的Select 按钮(其CommandName 属性设置为“Select”的按钮)时发生,但在GridView 控件执行选择操作之前。此事件通常用于取消选择操作。 SelectedIndexChanged 在单击GridView 控件内某一行的Select 按钮时发生,但在GridView 控件执行选择操作之后。此事件通常用于在选择了该控件中的某行后执行某项任务。 Sorting 在单击某个用于对列进行排序的超链接时发生,但在GridView 控件执行排序操作之前。此事件通常用于取消排序操作或执行自定义的排序例程。

在线考试系统的设计与实现

南京理工大学泰州科技学院 计算机科学与技术系计算机科学与技术专业11(1)班级 课程名:数据库原理及应用课程设计课程设计说明书 姓名:任琰学号:1109030135指导老师:王云 设计地点:四号楼4301教室 起讫时间:2013.07.01—2013.07.05 完成报告书时间:2013年7月5日 计算机科学与技术系编印 2013年1月

课程设计要求 各专业学生应根据课程任教老师的要求,做出选题计划,并按下列要求完成课程设计任务。 一、学生应按照老师的要求完成规定的课程设计任务量。 二、课程设计报告书要求格式统一,字迹工整,语言简练,文字通顺,按课程设计格式要求书写。程序清单不够填写时统一用A4纸补充并粘贴。对不按格式要求书写或打印的报告书一律不收,也不得进行答辩和评分。 三、必须独立完成课程设计,不得相互抄袭。在答辩和批阅过程中发现源程序相同或有大面积抄袭现象,课程任教老师有权通知学生重做,不得给予评分,并通知相关系部做出处理。 四、学生课程设计结束后应提交的材料: (1)课程设计说明书(3000字以上); (2)包含完整的、正确的源程序代码(含电子文档); (3)答辨材料(介绍课程设计要点)。

参考文献情况 序号名称编著者出版社 1《数据库系统原理与设计实验教程》吴京慧清华大学出版社2《SQL SERVER2000数据库原理及应用》徐人凤北京高等教育出版社3《数据库系统概论》萨师煊高等教育出版社4《在线考试系统的设计与实现》崔小军襄樊职业技术学院报5《考试分析系统和题库的设计与实现》李大可四川师范大学出版社

课程设计考核情况 教师评价情况 指导老师评语: 指导老师:_____________(签名) 日期:年月日 学生答辩情况 答辩(组)评语: 主答辩老师:____________(签名) 答辩日期:年月日 综合成绩评定情况 综合评价等级:__________________ 注:共分五个等级(1.优秀2、良好3、中等4、及格5、不合格)

GridViewDetailsView等控件结合使用范例讲解

当我们要显示的数所量比较大时,用GridView时就会将页面拉的很长,这样用户单击编辑或者删除时就很不方便,这种情况有两种解决方案: 1.是用GridView控件只显示适当的一小部分数据,然后在最后加一个链接,链向修改页面; 效果图: 方法: 我们在GridView控件中添加模板列,在模板列中添加HyperLink控件,然后在GridView控件的RowDataBound事件里来获取这个HyperLink控件,对它的NavigateUrl属性进行赋值。 代码: 修改内容 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { //如果是绑定数据行 if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate) { //我的这个操作列在倒数第二列,所以为this.GridView1.Columns.Count - 2 //如果有多个控件,比如还有第二个HyperLink控件,可以Controls[1] //我的第0列为编号,所以这里通过这样传递参数:e.Row.Cells[0].Text ((HyperLink)e.Row.Cells[this.GridView1 .Columns.Count - 2].Controls[0]).NavigateUrl += e.Row.Cells[0].Text。 }

实验07 GridView控件的简单应用

实验07 GridView控件的简单应用 一、实验目的 (1)掌握VS2008中管理数据库的方法 (2)熟悉掌握GridView控件的应用 (3)了解页面的详细处理流程 二、实验内容 1.动态新闻的实现 2. 将表中字段绑定到GridView中的两种方法 3. GridView与Excel数据的导入和导出 动态新闻的实现,实现方法有两种,一种是使用GridView控件,一种是使用BulletedList 控件生成,具体实现方法如下: 与数据库连接,从新闻表中查询数据并绑定到相应控件可以由代码实现,也可以通过数据源控件SqlDataSource控件实现。 (1)GridView控件 ①通过数据源控件 添加GridView控件。 添加SqlDataSource控件,并配置数据源,智能标记的配置数据源,根据向导一步一步配置即可。配置时要把连接字符串写入Web.config文件,这样当连接字符串发生改变时只需要修改Web.config中的配置即可,不用一个一个修改数据源控件的连接。 GridView控件绑定数据源SqlDataSource控件,通过该控件智能标记的选择数据源选择。 编辑列。智能标记,单击“编辑列”命令,打开编辑列对话框,如下图所示: 在该对话框中删除不需要的列,添加一个ImageField列,并把该列转换为TemplateField (选定该列后单击上图确定按钮上方的超链接按钮即可),添加一个HyperLinkField列,并如上图设置相关属性(所有新闻都在newsshow.aspx页面中显示),修改添加时间字段属性

如下(按指定的格式显示)DataFormatString:{0:yyyy:MM:dd} 编辑模板。GridView控件智能标记,单击“编辑模板”命令,在编辑模板状态设置图片大小并设置ImageUrl属性。单击智能标记,执行“结束模板编辑”命令。 设置GridView控件的Font属性和ShowHeader属性为false。 在浏览器当中查看,效果如下图所示: 去掉上面超链接列中的下划线: //定义样式,可以在CSS中定义,也可以定义在页面 然后在编辑列中设置HyperLinkField的ControlStyle样式,把其中的cssclass属性写上text 就行了 (2)BulletedList控件 添加BulletedList控件并绑定数据源控件,其中显示数据字段和选择数据字段设置如下图所示。 设置相关属性如下:

在线考试系统建设方案1

建设方案 项目背景 中国检验认证集团(CCIC)是中国第一家从事商品检验鉴定和认证业务的独立第三方机构,在全球拥有约300家机构、200家合作实验室,员工逾16,000人,运营网络覆盖20余个国家和地区。中国检验认证集团广东有限公司是其下核心子公司。作为以“检验、鉴定、认证、测试”为主业的独立第三方检验认证机构,可以在“质量、安全、健康、环保”领域,为全球客户提供“一站式”综合解决方案。 中检咨询有限公司是中国检验认证集团广东公司全资子公司,主要为各类企业提供基于ISO9000、ISO14000、ISO2200、OHSMS、HACCP等体系内的培训及管理咨询、认证服务。随着业务的发展,电子商务、移动互联网应用普及,公司迫切需要一个统一的综合门户平台,将公司业务所涉及到的产品信息、营销推广、用户管理、培训课程、考试认证、数据统计等纳入其中,在全面提升企业品牌服务形象的同时为用户提供更好的交互式服务与体验,同时对业务纵深拓展提供全面的战略支撑。 需求分析 根据规划本平台主要服务对象分为两类: 一、针对中国检验认证内部,包括管理人员、销售人员、服务人员,能够提供全面完善的信息发布、推送,数据统计,权限审核,资源管理,课程、课件、题库的制作管理等方面的功能。 二是针对外部的客户,外部用户又分为企业用户和个人用户,平台能够为上述人员提供在线的用户注册、积分购买、充值,课程培训、考试、咨询、讨论、查询统计、 其中重点需求分析如下: 1.用户注册:平台能够提供用户在线注册功能,所有外部用户需注册方可浏览网站部分信息免费课程、课件、资料。注册信息包括用户名、联系方式、邮箱、(企业用户还需包括企业名称,地址,联系人职务等信息),个人用户

第三方控件(DevExpress)使用大全【个人开发过程中整理收集】

第三方控件使用大全 【张杰章开发过程中整理】 一、ComboBoxEdit 1、如何使其不可编辑 TextEditStyle 设置为:DisableTextEditor 2、如何设置鼠标为手形 Cursor 设置为:Hand 二、GridControl 1、如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2、如何新增一条记录 (1)、gridView.AddNewRow() (2)、实现gridView_InitNewRow事件 3、如何解决GridControl记录能获取而没有显示出来的问题 gridView.populateColumns(); 4、如何让行只能选择而不能编辑(或编辑某一单元格) (1)、View->OptionsBehavior->EditorShowMode 设置为:Click (2)、View->OptionsBehavior->Editable 设置为:false 5、如何禁用GridControl中单击列弹出右键菜单 设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false 6、如何隐藏GridControl的GroupPanel表头 设置Run Design->OptionsView->ShowGroupPanel 设置为:false 7、如何禁用GridControl中列头的过滤器 过滤器如下图所示: 设置Run Design->OptionsCustomization->AllowFilter 设置为:false 8、如何在查询得到0条记录时显示自定义的字符提示/显示 如图所示:

在GRIDVIEW中获取控件的编辑模板中的值

关于((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text.ToString() 和((Label)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString() 的区别 在GRIDVIEW设计器那里,编辑模板,发现它有五个template: ●ItemTemplate-----常态模板 ●AlternatingItemplate-----交互变换模板 ●EditItemplate---------编辑状态模板 ●HeaderTemplate------头文本模板 ●FooterTemplate-----脚文本模板 其中前三项是与rows[].cells[]中的controls有关的。因为ItemTemplate 、AlternatingItemplate、EditItemplate 这三个模板是放在同一个单元格内的,所以这三个模板的所有控件同属于一个controls 集。并且它们的索引的优先顺序就是1.ItemTemplat 2.AlternatingItemplate 3.EditItemplate。 一般情况下,在ItemTemplate有一个label控件,AlternatingItemplate 没有控件。在EditTemplate中有一个TextBox控件。于是Controls集内有两个控件:Label排行第一,索引为0,TextBox排第二,索引为1。 于是在获取编辑模板的值时用: ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text.ToString() 在使用boundfield字段时,内容的显示不是以label控件形式表示,而是直接非控件形式表示,boundfield字段只有在编辑状态下才使用TextBox控件。所以,它使用GridView1.Rows[e.RowIndex].Cells[1].Controls[0]来表示,编辑状

七组在线考试系统详细设计说明书

中北大学 课程设计说明书 详细设计说明书 学院:软件学院 专业:软件工程 题目: 在线考试系统 组长:张晶亮学号:0921040118 成员:任峻宏学号:0921040131 张超伟学号:0921040124 王建学号:0921040128 胡宁宁学号:0921040106 孔令龙学号:0921040129 指导教师:李华玲、李玉蓉、贾美丽 2013 年 1 月 15 日

1.设计任务概述 系统总体框图: 功能描述: (1)学生登录进行在线考试; (2)教师登录进行试卷的上传可修改以及批改试卷; (3)管理员登录进行管理; (4)用户注册以及登录; (5)能够及时显示成绩等; 2.分工情况

目录 1引言 (6) 1.1编写目的 (6) 1.2背景 (6) 1.3定义 (7) 1.4参考资料 (7) 2程序系统的结构 (8) 3用户注册模块设计说明 (8) 3.1程序描述 (8) 3.2功能 (8) 3.3性能 (9) 3.4输入项 (9) 3.5输出项 (9) 3.6流程逻辑 (9) 3.8接口 (10) 3.9限制条件 (10) 3.10测试计划 (10) 4用户登录模块设计说明 (10) 4.1程序描述 (10) 4.2功能 (10) 4.3性能 (10) 4.4输人项 (10) 4.5输出项 (10) 4.6算法 (10) 4.7 流程逻辑 (10) 4.8接口 (11)

5在线考试模块设计说明 (12) 5.1程序描述 (12) 5.2功能 (12) 5.3性能 (12) 5.4输人项 (12) 5.5输出项 (12) 5.6流程逻辑 (12) 5.7接口 (13) 5.8存储分配 (13) 5.9测试计划 (13) 6题库管理模块设计说明 (13) 6.1程序描述 (13) 6.2功能 (13) 6.3性能 (14) 6.4输人项 (14) 6.5输出项 (14) 6.7流程逻辑 (14) 6.8接口 (14) 6.9存储分配 (15) 6.10测试计划 (15) 7试卷管理模块设计说明 (15) 7.1程序描述 (15) 7.2功能 (15) 7.3性能 (16) 7.4输人项 (16) 7.5输出项 (16) 7.6流程逻辑 (16)

相关文档
最新文档