网络考试系统设计及实现.docx
《网络考试系统设计及实现.docx》由会员分享,可在线阅读,更多相关《网络考试系统设计及实现.docx(25页珍藏版)》请在冰点文库上搜索。
网络考试系统设计及实现
网络考试系统设计及实现
课程设计报告
课程设计名称:
网站建设技术
系别:
三系
学生姓名:
张坤
班级:
08计算机2班
学号:
080303241
成绩:
指导教师:
王海燕
开课时间:
2010-2011学年二学期
网络考试系统设计与实现
一、功能描述
1.需求分析
要设计一个性能良好的网络考试系统,明确用户的应用环境对系统的要求是首要的和基本的。
本系统从用户需求角度进行了分析:
本系统的用户可分为管理人员和学生两种。
管理人员通过输入用户名和密码登陆后,跳转到目的地页面,该页面提供考务中心和网站管理的选择,用户可以进行维护和管理,如管理人员能够发布考试的相关新闻和考试信息,安排考点,考试科目和考试场次,对在网上报名的同学进行信息审核。
若是已注册过的学生,则可以通过用户名和密码进行登陆,并给予学生个人信息的维护、网上报名、成绩的查询等权限。
若是没有注册过的学生,则提供注册的功能。
2.基本功能
此网络考务系统分为网站门户、考务中心、网站管理三大模块。
网站门户包括考试新闻、网上报名、成绩查询、个人信息四个子功能;考务中心包括考点管理、场次管理、报名管理、成绩管理四个功能;网站系统管理包括系统管理、日志管理、信息发布三个字功能,其中系统管理包括用户管理、权限管理、密码修改三个功能。
以下是每个子功能的功能简述。
A.考务中心管理的各个子功能的简述:
(1)考点管理:
考点管理页面显示当前能安排用于考试的考点列表,可根据用户自定义添加删除修改,搜索功能可按照考点名称和考点编号快速找到符合要求的考点。
(2)场次管理:
场次管理页面显示所有考试的考试时间、报名时间、场次状态和考试内容等。
并且可对其进行增加、删除和修改操作。
(3)报名管理:
对已报名的学生进行身份审核。
(4)成绩管理:
给对应场次的学生分配成绩并公布成绩,说明:
本系统为便于教学,给每个学生随机分配成绩,并在随机分配之后修改场次状态。
B.网站系统管理中的各个子功能的简述:
(1)用户管理:
对使用网站系统管理的用户进行身份信息、清除密码操作。
(2)权限管理:
对使用网站系统的用户进行功能权限上的管理。
(3)密码修改:
用户可修改自己的用户密码。
(4)日志管理:
对整个考试系统进行日志维护。
(5)信息发布:
对网站日常的考试信息进行对外发布管理。
C.网站门户的各个子功能的简述:
(1)考试新闻:
对网站发布的新闻进行浏览。
(2)网上报名:
学生用户能在满足报名条件(当前时间介于报名开始结束时间之间、当前场次的状态为待报名)情况下进行场次选择,考点选择等具体报名操作,报名成功后可在已报名的选择内容中查看个人报名情况以及该场次的相关信息。
(3)成绩查询:
查询报考场次中成绩已经公布的那些场次的成绩情况。
(4)个人信息:
该内容包括编辑个人信息,修改密码,上传照片等相关功能。
3.功能图
下图是网络考务管理系统的功能模块图。
4.系统流程分析
学生和管理人员登录系统,学生能查询有关考试新闻或考试通知,通过网上报名参加相关考试,查询自己考试成绩,查看自己的报名信息;考务人员能够发布考试的相关新闻和考试信息,安排考点,考试科目和考试场次,对在网上报名的同学进行信息审核,通过者才可以参加考试,考务人员还可以添加新的考务人员,并对其进行信息、密码和权限的管理。
网站访问时先进入的是“考试门户”,单击门户上的“登录”,则跳转到登录界面,根据输入的用户名、密码来确定访问的页面。
当管理人员输入用户名、密码,单击“登录“按钮,则跳转到一个目的地选择页面——考务中心和网站管理。
以下是各个网站页面的主要操作。
A.考务中心管理中各个子功能的具体操作
a.考点管理的主要操作:
1.查询考点:
可根据名称和编号来查找符合要求的考点。
2.添加编辑删除考点:
对考点进行增加、修改、删除操作。
b.场次管理的主要操作:
1.添加编辑删除场次:
对场次进行增加、修改、删除操作。
2.场次对应考点管理:
对未添加考点安排的场次添加对应考点。
3.场次开始报名:
把选中场次的场次状态从“待开考”改为“待报名”,该状态下考生便可以从门户相关页面(网上报名)进行报名操作。
c.报名管理的主要操作:
1.审核报名学生:
对某一场次的报名学生进行身份审核(根据学号点击查看学生详细信息),审核结果为“通过”与“不通过”两种。
通过的学生报名状态改为“已核准”,不通过的则说明未通过的原因,确定后学生的报名状态改为“未通过”。
2.报名场次查询:
对可报名场次的考试内容或场次状态进行筛选。
d.成绩管理的主要操作:
1.考试内容筛选:
根据考试内容列出对应的场次。
2.分配成绩:
给选中当前场次的学生分配成绩。
成绩可以手工输入,也可随机给出。
随机给出成绩后该学生的报名状态自动改为“阅卷完成”,并且场次状态改成“已阅卷”。
3.公布成绩:
对状态为“已阅卷”的场次可进行公布成绩的操作,并且公布成绩后该场次的所有学生的报名状态由“阅卷完成”改为“成绩发布”。
B.网站管理各个子功能的具体操作
a.用户管理的主要操作:
1.添加、删除、修改用户:
对使用网站系统的用户进行身份信息的增加、修改、删除操作。
2.查询用户:
根据用户姓名、用户状态、所属机构对使用网站系统的用户进行身份检索。
3.还原密码:
用户忘记密码可通过“清密”按钮来重置用户密码,用户密码默认为用户名。
b.权限管理的主要操作:
1.用户查询:
根据用户编号检索用户。
2.修改权限:
对选中的用户进行权限的分配和修改操作。
c.密码修改的主要操作:
1.修改密码:
修改用户自身的密码。
d.日志管理的主要操作:
1.查询系统日志:
根据用户名、事件发生起始结束时间、发生原因进行组合查询。
2.删除日志:
对时间过久的日志记录可进行删除操作。
e.信息发布的主要操作:
1.查询信息:
对已发布的信息,根据标题、作者、发表时间进行组合查询。
2.添加删除编辑信息:
对信息进行增加、修改、删除操作。
若有账号的学生可输入用户名和密码登录,可进行浏览考试新闻或查询考试信息安排,通过网上报名参加相关考试,查询自己考试成绩,查看自己的报名信息;管理人员能够发布考试的相关新闻和考试信息,安排考点,考试科目和考试场次,对在网上报名的同学进行信息审核,通过者才可以参加考试,管理人员还可以添加新的管理人员,并对其进行信息、密码和权限的管理。
若没有账号的学生可以在登录界面上点击“考生注册”,通过填写完一些信息后注册成功后,就能浏览网站上的信息。
5.性能分析
(1)硬件的要求:
系统内存应当为1GB以上,建议2GB;系统的硬盘可用空间为10GB以上。
(2)软件的要求:
VisualStudio2008、SQLServer2005、Web浏览器(InternetExplorer6.0)。
(3)硬件环境:
操作系统为WindowsXPProfessional(中文版)+SP2或以上。
二、设计思路
网站访问时先进入的是“网站门户”,点击门户上的“登录”,则转到登录界面,根据输入的用户名、密码来确定访问的页面。
之后,普通考生登录,还是转到“网站门户”,只是在门户上显示考生的基本信息(使用自定义控件);考务中心的人员登录,则具有访问“考务中心”(权限使用TreeView来动态生成权限菜单)和“系统管理(使用SiteMap来实现菜单)”两块的权限。
在系统的页面外观设计与布局可以使用三种技术:
CSS、主题、和模板页。
CSS和主题主要用于美化页面的外观,而模板页是用于统一页面布局的技术。
相同的页面可以用模板页进行统一的设计和管理。
在整个编码过程中,使用的知识点应当以教材里提到的内容为主;另外,需要注意编码规范的使用,控件及变量命名需要特别注意;第三,界面尽快一致美观。
三、具体实现
1.数据库设计及实现
1.1约定
所有的命名都以英文的形式出现。
数据库的表名和字段名严格按照SQL编码规范文档形成。
系统设计只给出各个功能模块的详细描述,不包含实现的算法及类图设计。
1.2数据库表结构设计
该系统包含12张基本表,表结构如下所示。
其中g_表示该表有全局表,各个子系统均可以使用。
1.2.1用户基本信息表(g_UserInfo)
字段名
列名
类型
约束
空否
默认
备注
员工id
UserID
int
否
自动增长
员工编号
EmployeeNo
varchar(32)
pk
否
用户代码,唯一标识用户,登录时使用,不能修改
姓名
EmployeeName
varchar(32)
否
性别
EmployeeSex
int
否
1
0女1男2未输
联系电话
PhoneNo
varchar(16)
否
电子邮件
EmailAddress
varchar(128)
是
所在机构编号
UnitID
Varchar(4)
否
参照g_UnitInfo表中的UnitID字段
密码
Password
varchar(128)
否
登录密码
用户状态
Status
int
否
1
1表示启用,0表示禁用
管理员标识
AdminFlag
int
否
0
0为非管理员1为管理员;只有标识为1的方可进入“网站系统管理”
备注
Remark
varchar(64)
是
1.2.2用户权限表(g_Role_Controls)
字段名
列名
类型
约束
空否
默认
备注
控制号
RecID
Int
否
自动增长
功能编号
ModuleID
Int
pk
否
唯一标识功能
员工ID
UserID
Int
pk
否
参照g_UserInfo表中的UserID字段。
备注
Remark
varvhar(64)
是
1.2.3功能模块表(g_System_Modules)
字段名
列名
类型
约束
空否
默认
备注
控制号
RecID
Int
否
自动增长
功能编号
ModuleID
Int
P
否
用于建立功能树
功能代码
ModuleCode
varchar(16)
否
父功能编号
功能名称
ModuleName
varchar(32)
否
功能URL
FunctionLinkUrl
varchar(128)
是
功能模块的链接URL地址。
链接目标
UrlTarget
varchar(32)
是
URL地址打开的目标窗口(方便在框架的情况下,打开到指定的框架名上)。
备注
Remark
varchar(64)
是
1.2.4系统日志表(g_Log)
字段名
列名
类型
约束
空否
默认
备注
唯一ID
Log_ID
Int
Pk
否
自增长
用户ID
User_ID
Varchar(50)
否
产生系统日志的登录人员的ID,引用g_UserInfo表中的UserID,为了方便显示,也可以保存用户姓名
日志明细
EventContent
Varchar(1000)
否
日志时间
EventTime
Varchar(50)
否
产生日志的时间
产生原因
Reason
Varvhar(5000)
是
什么原因导致该日志
1.2.5考点单位表(g_UnitInfo)
字段名
列名
类型
约束
空否
默认
备注
考点编号
UnitID
Varchar(4)
Pk
否
四位数字组成的编号
机构名称
UnitName
Varchar(50)
否
地址
Address
Varchar(200)
否
负责人
Person
Varchar(50)
否
联系电话
Phone
Varchar(50)
否
Email地址
Email
Varchar(50)
是
备注
Comment
Varchar(500)
是
1.2.6场次信息表(Lab_SceneInfo)
字段名
列名
类型
约束
空否
默认
备注
场次编号
SceneID
Varchar(8)
Pk
否
八位数字组成
考试日期
ExamDate
DateTime
否
计划开始时间
PlanBeginTime
Varchar(30)
否
考试历时
TotalMinutes
int
是
考试计划需要多少分钟
报名开始日期
BeginDate
Datetime
是
报名结束日期
EndDate
Datetime
是
场次状态
SceneFlag
int
否
0
0待开考,1待报名,2已阅卷
考试内容
Content
Varchar(200)
是
场次考试内容描述。
1.2.7考点场次信息表(Lab_SceneUnit)
字段名
列名
类型
约束
空否
默认
备注
场次编号
SceneID
Varchar(15)
Pk
否
考点编号
UnitID
Varchar(4)
Pk
否
引用表g_UnitInfo
备注
Remark
Varchar(256)
是
1.2.8考生信息表(g_StuInfo)
字段名
列名
类型
约束
空否
默认
备注
考生档案编号
ExamID
Varchar(20)
Pk
否
年月日+6位序号,自动计算产生。
比如:
20090706000001,表明是2009-7-6第一个报名的考生
考生姓名
StuName
Varchar(20)
否
性别
StuSex
Varchar
(2)
否
证件号码
StuCardID
Varchar(18)
否
登录昵称
LogName
Varchar(24)
否
唯一约束
登录密码
Password
Varchar(200)
否
考生查成绩、报名等登录时使用,缺省为证件号码的前四位,MD5加密。
也可以在考生注册时输入,在考生“个人信息”功能处可以修改。
联系电话
Phone
Varchar(50)
是
出生日期
Birthday
DateTime
是
专业
Major
Varchar(50)
是
工作单位
Company
Varchar(200)
是
学历
Degree
Varchar(50)
是
政治面貌
Trad
Varchar(50)
是
电子邮件
Email
Varchar(50)
是
1.2.9考生照片信息表(g_StuPhoto)
字段名
列名
类型
约束
空否
默认
备注
考生档案编号
ExamID
Varchar(20)
Pk
否
引用g_StuInfo中的ExamID
考生照片
Photo
image
否
1.2.10报名及考试信息表(Lab_ExamStatus)
字段名
列名
类型
约束
空否
默认
备注
考生档案编号
ExamID
Varchar(20)
Pk
否
引用g_StuInfo中的ExamID
场次编号
SceneID
Varchar(15)
PK
否
引用Lab_SceneInfo中的SceneID
考场编号
UnitID
Varchar(4)
PK
否
引用g_UnitInfo中的UnitID,机构单位编号
分数
Score
Float
是
考试的原始分数
当前状态
CurStatus
Int
否
0
0预报名,1核准,2阅卷完成,3成绩发布,9取消(在核准时确定是否报名成功)
核准人
ApprovedMan
varchar(32)
是
引用g_UserInfo的EmployeeNo
核准日期
ApprovedDate
Datetime
是
备注
Memo
Varchar(200)
是
1.2.11新闻信息表(Lab_News)
字段名
列名
类型
约束
空否
默认
备注
新闻编号
NewsID
Int
Pk
否
自增长
新闻标题
NewsTitle
nvarchar(400)
否
新闻内容
NewsContent
nvarchar(MAX)
否
新闻作者
NewsWriter
varchar(32)
否
引用g_UserInfo的EmployeeNo
新闻发表时间
IssueDate
Datetime
否
新闻修改时间
FixDate
Datetime
是
1.2.12系统字典表(g_Dic)
字段名
列名
类型
约束
空否
默认
备注
字典类型
ItemType
Varchar(50)
pk
否
字典项值
ItemValue
Varchar(20)
pk
否
字典项名称
ItemName
nvarchar(200)
否
备注
Remark
nvarchar(1024)
是
使用状态
UsedStatus
tinyint
否
1
1表示启用,0表示禁用
字典类型
ManType
tinyint
否
1
1表示系统字典0表示用户字典
1.3视图的创建
为了方便用户对一些信息的查询而创建视图。
例如为了查询学生的考试时间安排情况,可以建立视图vw_ExamStatus(场次编号,考试日期,考试内容,考点名称,考试成绩)。
2.主要功能代码
A.登录页面Login.aspx.cs代码
protectedvoidRedirectPath(stringuserRole,stringlogininName,stringpassword)
{
if(userRole.Equals("考务人员"))
{stringuserInfo=logininName;
if(logininName=="")
{
LabResult.Text="账号或者密码不能为空!