在线考试系统精品推荐毕业设计.docx
- 文档编号:24327560
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:40
- 大小:526.14KB
在线考试系统精品推荐毕业设计.docx
《在线考试系统精品推荐毕业设计.docx》由会员分享,可在线阅读,更多相关《在线考试系统精品推荐毕业设计.docx(40页珍藏版)》请在冰豆网上搜索。
在线考试系统精品推荐毕业设计
(此文档为word格式,下载后您可任意编辑修改!
)
中原工学院软件学院
三级实践课题设计任务书
姓名
孙豪杰
软件编码专业062班
题目
在线考试系统
设
计
任
务
开发在线考试系统,提供网上考试、网上出卷、网上阅卷、成绩查询等功能。
我做的模块如下:
1.学生信息管理
2.教师信息管理
3.试卷信息管理
4.科目信息管理
5.班级信息管理
开发工具:
C#、ASP.Net、SQLServer2000
时
间
进
度
SQL数据库,给系统建立模块,分配任务。
原主
始要
资参
料考
与文
献
[01]张琦.VisualC#.NET应用教程[M]:
清华大学出版社,北京交通大学出版社.2006.12
[02]刘烨C#编程及应用程序开发教程[M]:
清华大学出版社,北京交通大学出版社.2006.12
[03]刘勇.SQLServer2000基础教程[M]:
清华大学出版社.2005.2
[04]黄明.C#+SQLServer中小型信息系统开发实例[M]机械工业出版社.2007.4
指导教师签字:
年月日
在线考试系统
摘要
随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。
人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!
客观!
更加激发学生的学习兴趣。
在线考试系统是为了方面学生考试、老师阅卷、提高考试的公正性、公平。
本文主要包括系统的需求分析、概要设计、总体设计(部分)、详细设计
关键词:
需求分析;概要设计;总体
摘要2
第一章系统需求分析4
1.1功能需求4
1.2性能需求4
1.3可靠性和可用性4
1.4系统ER图5
1.5工具选择5
1.6实现环境6
第二章总体设计7
2.1系统模块7
2.1.1系统模块图7
2.1.2用例图8
2.1.3管理员功能模块9
2.1.4教师功能模块10
2.1.5学生功能模块10
2.2数据库设计10
第三章详细设计11
3.1数据表11
3.2具体模块设计15
3.2.1学生信息管理模块16
3.2.2教师信息管理模块20
3.2.3试卷信息管理22
3.2.4科目信息管理24
3.2.5班级信息管理模块26
第四章系统测试28
4.1所预见的问题28
4.2系统测试28
第五章结束语29
第一章系统需求分析
1.1功能需求
本系统要实现的是在线考试系统,在设计时应该有友好的用户界面,便用户的操作。
系统应具基本功能如下:
Ø科目管理
Ø章节管理
Ø题库管理(选择题,填空题,判断题,简答题,问答题)
Ø系部管理
Ø班级管理
Ø学生管理
Ø教师管理
Ø管理员信息管理
Ø手动组卷
Ø随机组卷(可以完全随机组卷,也可以按章节比重进行随机组卷)
Ø考试页面
Ø阅卷管理
Ø成绩查询
1.2性能需求
由于此系统为在线考试系统,响应速度一定要快,要在5秒以内,安全性要高,服务器的磁盘容量要大,主存容量要大,信息处理速率要高。
1.3可靠性和可用性
由此系统的性质决定,它的可靠性一定要高,尽量减少系统运行中错误的出现,要保持在一定量的范围内。
系统可用性也一定要高,尽量避免不可用几率的发生。
1.4系统ER图
图1.1系统ER图
1.5工具选择
数据库是数据管理的最新技术,是计算机科学的重要分支。
十年来,数据库管理系统已从专用的应用程序包发展成为通用系统软件。
由于数据库具有数据的结构化、可控冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点,较大的信息系统都是建立在数据库设计之上的。
由于用到的数据表格多,另外考虑到实际情况,如学生基本信息的变动,我们选用SQLServer作为数据库开发,而不用Access,主要是因为Access存放的记录,在实际运用中不适合此系统;而SQLServer是一种常用的关系数据库,能存放和读取大量的数据,管理众多并发的用户,故选用SQLServer数据库。
用C#语言进行编码。
C#编程语言是微软在.NET计划中重要的开发语言,它具有语法简单,功能强大,快速应用,语言自由,强大的Web服务器控件,支持跨平台,与XML相融合等。
因此选择C#编程语言。
1.6实现环境
本系统是以WindowsXP系统为操作平台,在.NET环境下编程实现。
第二章总体设计
2.1系统模块
本系统分为用户管理模块、科目管理模块、章节管理模块、班级管理模块、系部管理模块、题库管理模块、试卷生成管理模块、考试页面管理模块、阅卷管理模块、考试结果管理模块、考试查询模块十一个模块
2.1.1系统模块图
图2.1系统模块图
2.1.2用例图
学生用例图:
图2.2学生用例图
教师用例图:
图2.3教师用例图
管理员用例图:
图2.4管理员用例图
2.1.3管理员功能模块
此模块包括用户管理、科目管理、成绩查询、章节管理、试卷管理五个部分。
Ø用户管理:
此模块包括学生管理、教师管理、管理员管理
1.学生管理:
对学生信息进行添加、修改和删除。
2.教师管理:
对教师信息进行添加、修改和删除。
3.管理员管理:
只修改管理员密码。
Ø科目管理:
对科目信息进行添加、修改和删除。
Ø成绩查询:
对学生考试的结果进行查询。
Ø章节管理:
对各科的章节进行添加、修改和删除。
Ø试卷管理:
对试卷进行删除。
Ø班级管理:
对班级进行添加修改和删除。
Ø系部管理:
对院系进行添加、修改和删除
2.1.4教师功能模块
此模块包括题库管理、试卷生成、阅卷管理、信息修改四个部分
Ø题库管理:
此模块包括试题管理和试题查询。
1.试题管理:
对试题进行添加、修改、删除。
2.试题查询:
对试题进查询。
Ø试卷生成:
此模块包括手动组卷和随机组卷。
1.手动组卷:
手动选择题型、题数进行组卷。
2.随机组卷:
按固定的题型和分值进行组卷。
Ø阅卷管理:
对试卷进行批阅,客观题进行自动阅卷,主观题由教师进行阅卷
Ø信息修改:
只限教师对自己的密码进行修改。
2.1.5学生功能模块
此模块包括考试页面和个人信息修改两个部分。
Ø考试页面:
学生进行做题的页面。
Ø个人信息修改:
只限修改密码。
2.2数据库设计
综合以上分析,要实现上面的所有功能模块,数据库共要设计十七个表,它们分别是:
科目表、管理表、章节表、班级表、组卷表、系别表、试卷信息表、学生表、学生考试试卷表、考试结果表、学生答题试卷信息表、教师表、选择题表、填空题、判断题、简答题表、问答题表。
第三章详细设计
3.1数据表
表3.1科目表(academics)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
academicsid
nvarchar
15
N
Y
科目编号
2
admcname
nvarchar
30
N
N
科目名
3
classid
nvarchar
20
N
Y
班级编号
表3.2管理员表(admin)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
admin
nvarchar
20
N
Y
用户名
2
pwd
nvarchar
20
N
N
密码
表3.3章节表(chapter)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
chapterid
nvarchar
12
N
Y
章节编号
2
cptname
nvarchar
20
N
N
章节名称
3
academicsid
nvarchar
15
N
N
科目编号
表3.4班级表(class)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
classid
nvarchar
20
N
Y
班级编号
2
clsname
nvarchar
20
N
N
班级名
3
departid
nvarchar
10
N
Y
院系编号
表3.5组卷表(construct)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
examid
nvarchar
10
N
Y
试卷编号
2
topicid
nvarchar
10
N
Y
试题编号
3
topictype
nvarchar
10
N
Y
题型
表3.6系别表(depart)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
departid
nvarchar
10
N
Y
院系编号
2
dpname
nvarchar
20
N
N
院系名
表3.7试卷信息表(examinfo)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
examid
nvarchar
10
N
Y
试卷编号
2
academicsid
nvarchar
15
Y
N
科目编号
3
choicenum
int
4
Y
N
选择题数
4
choicescore
int
4
Y
N
选择题分值
5
fillnum
int
4
Y
N
填空题数
6
fillscore
int
4
Y
N
填空题分值
7
jugenum
int
4
Y
N
判断题数
8
jugescore
int
4
Y
N
判断题分值
9
simplenum
int
4
Y
N
简答题数
10
simplescore
int
4
Y
N
简答题分值
11
questionnum
int
4
Y
N
问答题数
12
questionscore
int
4
Y
N
问答题分值
13
examdate
int
4
Y
N
考试时间
表3.8学生信息表(student)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
studentid
nvarchar
20
N
Y
学号
2
pwd
nvarchar
20
Y
N
密码
3
name
nvarchar
10
Y
N
姓名
4
sex
nvarchar
5
Y
N
性别
5
classid
nvarchar
20
Y
N
班级编号
表3.9学生考试试卷表(student_exam)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
student
nvarchar
20
N
Y
学号
2
examid
nvarchar
10
N
Y
密码
表3.10考试结果表(student_exam_result)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
studentid
nvarchar
20
N
Y
学号
2
examid
nvarchar
10
Y
N
试卷编号
3
score
nvarchar
5
Y
N
分数
表3.11学生试卷信息表(student_exam_topoic)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
studentid
nvarchar
20
N
Y
学号
2
examid
nvarchar
10
N
Y
试卷编号
3
topicid
nvarchar
10
N
Y
试题编号
4
answer
nvarchar
400
Y
N
答案
5
topictype
nvarchar
10
N
Y
试题类型
表3.12教师表(teacher)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
teacherid
nvarchar
20
N
Y
教师编号
2
pwd
nvarchar
20
Y
N
密码
3
name
nvarchar
10
Y
N
姓名
4
sex
nvarchar
5
Y
N
性别
5
classid
nvarchar
20
N
Y
班级编号
6
academicsid
nvarchar
15
Y
N
科目编号
表3.13填空题表(topic_fill)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
topicid
nvarchar
10
N
Y
试题编号
2
topic
nvarchar
300
Y
N
题干
3
answer
nvarchar
50
Y
N
答案
4
ranswer
nvarchar
50
Y
N
正确答案
5
academicsid
nvarchar
15
Y
N
科目编号
6
chapterid
nvarchar
12
Y
N
章节编号
表3.14选择题表(topic_choice)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
topicid
nvarchar
10
N
Y
试题编号
2
topic
nvarchar
300
Y
N
题干
3
option_a
nvarchar
300
Y
N
选项A
4
option_b
nvarchar
300
Y
N
选项B
5
option_c
nvarchar
300
Y
N
选项C
6
option_d
nvarchar
300
Y
N
选项D
7
answer
nvarchar
4
Y
N
答案
8
academicsid
nvarchar
15
Y
N
科目编号
9
chapterid
nvarchar
12
Y
N
章节编号
表3.15判断题表(topic_juge)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
topicid
nvarchar
10
N
Y
试题编号
2
topic
nvarchar
300
Y
N
题干
3
answer
nvarchar
4
Y
N
答案
4
ranswer
nvarchar
4
Y
N
正确答案
5
academicsid
nvarchar
15
Y
N
科目编号
6
chapterid
nvarchar
12
Y
N
章节编号
表3.16问答题表(topic_question)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
topicid
nvarchar
10
N
Y
试题编号
2
topic
nvarchar
300
Y
N
题干
3
answer
nvarchar
400
Y
N
答案
4
academicsid
nvarchar
15
Y
N
科目编号
5
chapterid
nvarchar
12
Y
N
章节编号
表3.17简答题表(topic_simple)
序号
字段名
数据类型
数据长度
NULL
Primarykey
描述
1
topicid
nvarchar
10
N
Y
试题编号
2
topic
nvarchar
300
Y
N
题干
3
answer
nvarchar
300
Y
N
答案
4
academicsid
nvarchar
15
Y
N
科目编号
5
chapterid
nvarchar
12
Y
N
章节编号
3.2具体模块设计
系统功能模块介绍时,我们把整个系统分为管理员模块、教师模块、学生模块,其中管理员模块包括:
用户管理(学生信息管理、教师信息管理、管理员信息管理)、科目管理、章节管理、班级管理、系别管理、试卷管理、考试信息查询;教师模块包括:
个人信息修改、题库管理、试卷生成、阅卷管理;学生模块包括:
考试页面、个人信息修改。
我所做的模块是:
学生信息管理模块、教师信息管理模块、试卷管理模块、科目信息管理、班级管理模块五个模块。
3.2.1学生信息管理模块
图3.1学生信息管理界面
图3.2添加学生信息界面
设计思路:
管理对学生的信息进行管理,在查询条件中输入关键字,在后面的下拉菜单中选择以什么做关键字字段,点击查找按钮在下面的表格中显示出相应的信息;删除记录时要选择相应的记录,点击删除按钮删除记录;点击添加按钮,弹出添加学生记录窗口(如图3.2)添加学生记录。
实现代码(部分):
通过设计类的(ProjectClass())中的方法调用数据库中的存储过程对数据进行操作
protectedvoidPage_Load(objectsender,EventArgse)窗体加载时绑定数据
{
if(Session["adminId"]==null)
{
Response.Redirect("login.aspx");
}
else
{
if(!
this.IsPostBack)
{
GvDataBind();
}
}
}
privatevoidGvDataBind()绑定方法
{
DataSetds=newDataSet();
ds=(newProjectClass()).getStuInfo();
DataTabledt=ds.Tables["StuInfo"];
DataViewdv=newDataView(dt);
dv.RowFilter=""+this.DDlIndex.SelectedItem.Value.ToString()+"like'%"+this.TxtIndex.Text.Trim()+"%'";
this.GVStuInfo.DataSource=dv;
this.LbCount.Text=dv.Count.ToString();
if(dv.Count==0)
{
this.LbResult.Visible=true;
this.GVStuInfo.Visible=false;
}
else
{
this.LbResult.Visible=false;
this.GVStuInfo.Visible=true;
}
this.GVStuInfo.DataBind();
}
protectedvoidBtnselect_Click(objectsender,EventArgse)查看按钮代码
{
ViewState.Clear();
this.GVStuInfo.PageIndex=0;
this.GvDataBind();
}
protectedvoidGVStuInfo_RowUpdating(objectsender,GridViewUpdateEventArgse)更新数据代码
{
stringID=this.GVStuInfo.DataKeys[e.RowIndex].Values[0].ToString();
stringstrID=((HyperLink)this.GVStuInfo.Rows[e.RowIndex].FindControl("HLStuId")).Text;
stringstrName=((TextBox)this.GVStuInfo.Rows[e.RowIndex].FindControl("TxtName")).Text;
stringstrSex=((DropDownList)this.GVStuInfo.Rows[e.RowIndex].FindControl("DDLSex")).SelectedItem.Value;
stringstrPwd=((TextBox)this.GVStuInfo.Rows[e.RowIndex].FindControl("TxtPwd")).Text;
stringDLCla=((DropDownList)this.GVStuInfo.Rows[e.RowIndex].FindControl("DDlClassid")).SelectedItem.Value;
判断表单项是否有空并给出提示信息
if(strName==""||strSex==""||strPwd==""||DLCla=="")
{
Response.Write("
copyright@ 2008-2022 冰点文档网站版权所有
经营许可证编号:鄂ICP备2022015515号-1