资源描述
概要设计说明书
1.引言
1.1.1需求分析
在中国,即使远程教育已经蓬勃地发展起来了,不过现在学校和社会上多种考试人全部采取传统考试方法。在此方法下,组织一次考试最少要经过5个步骤,即人工出题、考生考试、人工阅卷、 成绩评定和试卷分析。
显然,伴随考试类型不停增加和考试要求不停提髙,老师工作量将会越来越大,而且其工作将是十分繁琐和轻易犯错,能够说传统考试方法己经不能适应该代考试需要。伴随计算机应用迅猛发展,网络应用不停扩大,大家迫切要求利用这些技术来进行在线考试,以减轻老师工作负担及提升工作效率,和此同时也提升考试质量,从而使考试更趋于公正、客观,愈加激发学生 学习爱好。
1.1.2系统功效描述
为了保障整个系统安全性,在线考试系统实现了分类验证登录模块,经过此模块,能够对不一样身份登录用户进行验证,确保了不一样身份用户操作系统。在抽取试题上,系统使用随机抽取试题方法,表现了考试客观和公正。当考生答题完成以后.提交试卷即可得悉此次考试得分,表现系统时效性。在后台管理上,分后台管理员管理模快和试题管理模块,以适应不一样用户使用需 求,前存只有系统高级管理员才能进入,对整个系统进行管理,以后者只许可老师登录,能够对自己任教科目试题进行修改,而且能够查看全部参与过自己任教科目考试学生成绩。
1.2 背景
系统名称:在线考试系统
项目提出者:甘语楠
项目开发者:甘语楠
项目管理者:甘语楠
最终用户:学生、管理员
1.3 定义
1、OES:Online Examination System(在线考试系统)
1.4 参考资料
作者
书名
出版社
张海藩,牟永敏
《软件工程导论第六版》
清华大学出版社
杨玥,汤秋艳,梁爽
《Web程序设计:ASP.NET》
清华大学出版社
钱雪忠,王月海
《数据库原理及应用》
北京邮电大学出版社
林锐
《软件工程思想》
未出版
明日科技
《ASP.NET从入门到精通》
清华大学出版社
2.总体设计
2.1 需求要求
见需求规格说明书
2.2 运行环境
2.2.1 硬件环境
双核2.5Ghzinter CPU、1G内存、20G硬盘
2.2.2 软件环境
1、操作系统:windows 7
2、运行环境:Microsoft.NET Framework 4.0
3、数据库系统:Access数据据库
4、开发工具:Visual Studio
5、开发平台:ASP.NET
6、编程语言:C#
7、支撑软件:IIS(Internet 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-gl
H01
随机抽取试题模块
mark-cx
H03
自动评分模块
user-zc
H05
试题管理模块
notice-gl
H07
后台管理员模块
paper-gl
H09
2.7 模块描述
名称
用户登录
user-gl
H01
子系统名称
系 统
管 理
系 统
名 称
OES
接 口
说 明
输入
登录信息
输出
打开用户界面
功 能
说 明
依据用户输入不一样账号,而打开不一样用户界面
名称
随机抽取试题
question-gl
H02
子系统名称
系 统
管 理
系 统
名 称
OES
接 口
说 明
输入
选择考试信息
输出
不一样试卷
功 能
说 明
查询试题信息并输出
名称
自动评分
mark-cx
H03
子系统名称
前 台
功 能
系 统
名 称
OES
接 口
说 明
输入
试题结果
输出
成绩
功 能
说 明
依据考生提交试卷判定分数
运行环境说明
全部支持IE6.0及以上操作平台全部能够运行此程序
调用关系说明
调用模块
用户登录
被调用模块
无
名称
试题管理
pwd-xg
H04
子系统名称
前 台
功 能
系 统
名 称
OES
接 口
说 明
输入
新试题
输出
新试题
功 能
说 明
增加、修改、查询试题,目前只有管理员能进入该模块操作
名称
后台管理
user-zc
H05
子系统名称
前 台
功 能
系 统
名 称
OES
接 口
说 明
输入
登录信息
输出
管理界面
功 能
说 明
用于后台管理
2.8 人工处理过程
1、题库试题录入;
2、生成试题前,需要对试题数量、分值进行人工设置;
3、公告需要人工管理等。
3.接口设计
3.1 用户接口
1、基于B/S架构,用户经过浏览器对页面进行操作;
2、用户界面:采取常见网页图形界面设计,界面友好;
3、网站风格保持基础一致;
4、提供简单错误处理机制;
5、登录界面需要输入用户账号和密码,账号和密码正确时跳转到主页,不然提醒账号或密码错误。
3.2 外部接口
一台PC,支持Access数据库,支持IIS,支持Microsoft.NET Framework 3.5
3.3 内部接口
无
4.运行设计
4.1 运行模块组合
本系统由多个ASPX页面,经过页面跳转来实现各个模块之间不一样功效连接和组合。各模块之间相对独立,属于高内聚低耦合,可移植性好。各模块之间关键经过ASPX内置对象和动作指令标识实现模块之间合作和数据共享。
4.2 运行控制
能够不登陆进入网站主页,但只要登入后才能够使用到本系统关键功效。在登录页面输入用户账号和密码进入本系统,输入用户账号和密码是经过注册而存放在数据库中数据,为注册用户无法登录。根据用户权限不一样,许可其做权限内事情。
4.3 运行时间
因为系统直接从数据库中存取相关信息,页面产生速度可能不够理想,但基础处于可接收范围内。
5.数据库设计
5.1.1 数据表设计
在开发在线考试系统之前,分析了系统数据量,因为在线考试系统中试题及考生信息数据量会很大,所以选择Access数据库存放数据信息,数据库命名为Exame.mdb,在其中创建了6个数据表用于存放不一样信息,图5.1所表示
(图5.1)
开发在线考试系统时,为了灵活地维护系统,设计了后台管理员模块,经过后台管理员模块能够方便地对整个在线考试系统进行维护。这时,必需建立一个数据表用于存放全部管理员信息。管理员信息实体E-R图图5.1.2所表示。
当考生成功登录在线考试系统后,能够依据需要选择考试科目,考生不一样可能选择考试科目也会不一样,系统必需提供部分参与考试科目,供考生选择。这时,在数据库中应该建立一个存放全部参与考试科目标数据表。考试科目信息实体E-R图图5.1.3所表示。
(图5.1.2)
(图5.1.3)
考生选择考试科目,开始在线考试。在要求时间内必需完成考试,不然系统会自动提交试卷,而且将考生考试成绩保留在数据表中。这么,方便后期查询考生是否参与过考试,和查询历史考试得分。考试统计信息实休E-R图图5.1.4所表示。
在数据库中建立以一用于存放考生各项信息数据表。其中包含考生登录时账号(考生编号或考生学号)及密码。若某个考生参与了考试,系统会将考生答卷最终得分保留到此数据表中,方便老师或考生对考试历史统计进行查询。考生信息实体E-R图图5.1.5所表示。
图5.1.4
5.1.5
为了方便老师对考试试题及考生考试结果进行管理,在数据库中必需建立一个数据表用于存放全部老师信息,其中包含老师登录后台管理系统时需要账号及密码,和老师负责科日名称,老师信息实体E-R图图5.1.6所表示。
在线考试系统中考试试题是经过对数据库中存放全部试题随机抽取产生,所以必需在数据库中建立一个数据表用于存放全部试题信息,其中包含试题题目、试题4个备选答案、正确答案和所属科目。试题信息实体E-R图图5.1.7所表示。
图5.1.6
图5.1.7
5.1.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 BaseClass
{
public 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.Tables[Tname];
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 系统维护设计
开发中并没有专门维护模块,只是为了方便维护工作;对于系统功效方面维护,因为我们采取是模块化设计方法,每个模块(页面)之间相互独立性较高,这么对系统维护带来了很大方便,对于单独功效修干只需要修改一个页面就行了。对于功效添加,只要再添加页面选项内容即可。
展开阅读全文