资源描述
软件专业毕业设计结题报告
软件专业毕业设计结题报告
张伟
班级:软件071班
2009-12-24
绵 阳 职 业 技 术 学 院
计 算 机 科 学 系
毕业设计结题报告
项目名称 在线考试系统
专业 软件工程 班 级 071班
项目组编号 001 项目组长 杨伟
设计时间 11月21日——12月26日
项目经理填写成员,毕业设计成绩由教师填写:
成员
吴小琴、杨伟、袁宁
个人成绩
项目组
总成绩
教师
签名
一.项目需求分析:
1、 现行业务系统描述
顾客登陆:顾客通过顾客名和密码进行登录。有三个页面:管理,教师,学生
管理.顾客信息管理:管理员可以增删顾客,权限管理,在此系统中只有一种管理员,即系统管理员。具备普通顾客所没有权限,即具备管理普通顾客功能。
管理员 进入在线考场是本系统最重要某些之一。由于一种系统如果涉及到现实话,就必要考虑得十分周到、完善。考生登录后,只要选取考试科目后来,就可以调出试卷进行在线考试。系统所选题是随机选出,这样就会使每个考生试卷都不同。考生其答题信息通过单选按钮选取答案来反映。考试结束采用自主交卷方式办法予以实现。
查看人员:是用GridView完毕。查看人员信息。
修改人员:管理员还可以对人员进行修改。对于对数据库数据修改,在此前asp页面中比较麻烦,要想修改一条记录,必要写很长代码。在中,几乎可以不写一行代码,就可以对数据库记录进行修改。
添加人员:管理员也许添加人员.对数据库进行添加记录.
教师试题库管理:可以增长、修改、删除试题。
学生在线考试:系统严格控制整个考试过程,实行时间监控与权限控制,考生需要在限定考试时间内交卷。
.计算机自动阅卷:本系统只考虑客观题,规定计算机能自动阅卷,然后立即显示出考生分数。
学生/教师成绩查阅:考生考完后来,可以对自己成绩进行查询,教师也可以对自己所教那科查询学生成绩并进行修改。
管理员:添加人员、维护人员、添加专业、添加班级、添加系别、修改密码
教师:添加题目、维护题目、查当作绩、修改密码
学生:考试开始、查看自己成绩、查看个人信息、修改个人信息修改密码
2、 现行系统存在重要问题分析
当前还不能实现选取题类型试题,界面不是很专业,色彩搭配不是很精确。
3、 解决方案
继续努力,多学习,但愿在下次中能完善所不能完善。
项目筹划:
1、 项目筹划起止时间
11月21日——12月26日
2、 项目任务分派:杨伟(管理界面)、袁宁(学生界面)、吴小琴(教师界面)
项目总体构造设计:
1、 系统分层架构设计
2、 数据库设计
类型划分:
l 主表:6个
l 辅助表:0个
标记符和商定
数据库表命名是用表名英文单词命名,命名严谨易懂,编程实现简朴明了!
编号
格式
描述
阐明
1
administrator
管理员基本信息表
管理员表
2
student
学生信息表
学生表
3
teacher
教师基本信息表
教师表
4
Course
课程基本信息表
课程表
5
Score
学生分数表
学生分数表
6
Test
试题信息表
试题表
数据库表设计阐明书
管理员表
administrator
字段名
字段代码
字段类型
容许为空
主键
外键
1
管理员编号
adminId
varchar(10)
N
True
2
管理员密码
adminpwd
varchar(10)
N
教师表
tacher
字段名
字段代码
字段类型
容许为空
主键
外键
1
教师编号
teacherId
varchar(10)
N
True
2
教师密码
teacherPwd
varchar(10)
N
3
教师姓名
teachername
varchar(10)
N
4
课程编号
courseId
varchar(20)
学生表
student
字段名
字段代码
字段类型
容许为空
主键
外键
1
学生编号
stuId
varchar(10)
N
True
2
学生密码
stuPwd
varchar(10)
N
3
学生姓名
stuname
varchar(10)
N
4
学生性别
stusex
Int(4)
5
考试状态
stuStatus
Int(4)
6
当前考试
stuCurrentCourse
varchar(20)
课程表
course
字段名
字段代码
字段类型
容许为空
主键
外键
1
课程编号
courseId
varchar(20)
N
True
2
课程名字
coursename
varchar(20)
N
3
与否容许考试
isTest
Bit(1)
N
试题表
test
字段名
字段代码
字段类型
容许为空
主键
外键
1
试题编号
testId
Uniqueident(16)
N
True
2
试题题干
testContent
Nvarchar(100)
N
3
选项1
testAns1
Varchar(50)
4
选项2
testAns2
Varchar(50)
5
选项3
testAns3
Varchar(50)
6
选项4
testAns4
Varchar(50)
7
对的答案
rightAns
Int(4)
8
与否发布
pub
Int(4)
9
考试科目
testCourse
Varchar(20)
10
分数
testScore
Int(4)
分数表
score
字段名
字段代码
字段类型
容许为空
主键
外键
1
分数编号
scoreId
Uniqueidentifier(16)
N
True
2
学生编号
stuId
varchar(15)
N
3
课程编号
courseId
Varchar(20)
N
4
分数
score
Int(4)
5
课程状态
courseStatus
Int(4)
3、 系统总体安全性、可靠性方案与办法
顾客登陆:顾客通过顾客名和密码进行登录。有三个页面:管理,教师,学生
管理.顾客信息管理:管理员可以增删顾客,权限管理,在此系统中只有一种管理员,即系统管理员。具备普通顾客所没有权限,即具备管理普通顾客功能。
管理员 进入在线考场是本系统最重要某些之一。由于一种系统如果涉及到现实话,就必要考虑得十分周到、完善。考生登录后,只要选取考试科目后来,就可以调出试卷进行在线考试。系统所选题是随机选出,这样就会使每个考生试卷都不同。考生其答题信息通过单选按钮选取答案来反映。考试结束采用自主交卷方式办法予以实现。
查看人员:是用GridView完毕。查看人员信息。
修改人员:管理员还可以对人员进行修改。对于对数据库数据修改,在此前asp页面中比较麻烦,要想修改一条记录,必要写很长代码。在中,几乎可以不写一行代码,就可以对数据库记录进行修改。
添加人员:管理员也许添加人员.对数据库进行添加记录.
教师试题库管理:可以增长、修改、删除试题。
学生在线考试:系统严格控制整个考试过程,实行时间监控与权限控制,考生需要在限定考试时间内交卷。
.计算机自动阅卷:本系统只考虑客观题,规定计算机能自动阅卷,然后立即显示出考生分数。
学生/教师成绩查阅:考生考完后来,可以对自己成绩进行查询,教师也可以对自己所教那科查询学生成绩并进行修改。
项目详细设计:
1、 模块设计:包括系统类图、各用例序列图以及模块设计描述
管理员活动图:
考试系统活动图:
题库活动图:
学生类图:
2、 界面设计:界面视图
登陆界面
学生登陆选取考试科目界面
考试界面
教师试题信息管理界面
管理员管理学生信息界面
教师信息管理界面
科目信息维护界面
3、 代码设计:代码规范以及核心模块代码描述
学生考试代码如下:
namespace TestOnline
{ public partial class userInfo :System.Web.UI.Page
{ protected System.Web.UI.WebControls.Label lbl_name;
protected void Page_Load(object sender,System.EventArgs e)
{ if(Session["stuId"]==null)
Response.Redirect("login.aspx");
else
{
if(!Page.IsPostBack)
{BindGrid();
string stuId=Convert.ToString(Session["stuId"]);
lbl_stuId.Text=stuId;
string stuName=(new projClass()).getUserName(stuId);
lbl_stuName.Text=stuName;
DataSet ds=new DataSet();
ds=(new projClass()).getCourses();
foreach(DataRow row in ds.Tables[0].Rows)
{
ddl_course.Items.Add(row["courseName"].ToString());
}
}
}
}
#region Web 窗体设计器生成代码
override protected void OnInit(EventArgs e)
{ InitializeComponent();
base.OnInit(e);
} private void InitializeComponent()
{
this.ImageButton3.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton3_Click);
this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
this.Ibtn_ok.Click += new System.Web.UI.ImageClickEventHandler(this.Ibtn_ok_Click);
}
#endregion
void BindGrid()
{ string stuId=Convert.ToString(Session["stuId"]);
DataSet ds=new DataSet();
ds=(new projClass()).getStuScore(stuId);
DataTable dt=ds.Tables["stuInfo"];
DataView dv=new DataView(dt);
DataGrid1.DataSource=dv;
int count=dv.Count;
if(count==0)
{
lbl_noResult.Visible=true;
DataGrid1.Visible=false;
}
DataGrid1.DataBind();
}
private void ImageButton1_Click(object sender,System.Web.UI.ImageClickEventArgs e)
{
string stuId=Convert.ToString(Session["stuId"]);
string courseName=ddl_course.SelectedItem.Text.Trim();
string courseId=(new projClass()).getCourseIdAsCourseName(courseName);
bool ifTest=(new projClass()).getIfTest(courseId);
if(ifTest)
{
int count=(new projClass()).ifCourseHasTest(stuId,courseId);
if(count==0)
{
Session["courseId"]=courseId;
Response.Redirect("ksjm.aspx?"+courseId+"&"+stuId);
}
else
Response.Write("<script>alert(\"该科目您已经考试过了,不能再次考试!\");</script>");
}else Response.Write("<script>alert(\"该科目当前不能考试!请联系管理员开通考试!\");</script>");
}
private void ImageButton3_Click(object sender,System.Web.UI.ImageClickEventArgs e)
{
Session["stuId"]=null;
Response.Redirect("login.aspx");
}
private void Ibtn_ok_Click(object sender,System.Web.UI.ImageClickEventArgs e)
{
string stuId=Convert.ToString(Session["stuId"]);
string stuPwd=tbx_oldPwd.Text;
string newPwd1=tbx_newPwd1.Text;
string newPwd2=tbx_newPwd2.Text;
if(newPwd1==""||newPwd2=="")
Response.Write("<script>alert(\"密码不能为空\");</script>");
else
{
int count=(new projClass()).getUser(stuId,stuPwd);
if(count==0)
{
Response.Write("<script>alert(\"密码错误!请重新输入\");</script>");
}
else
{
if(!newPwd1.Equals(newPwd2))
Response.Write("<script>alert(\"两次密码不一致!请重新输入!\");</script>");
else
{
int count1=(new projClass()).updateStuPwd(stuId,newPwd1);
if(count1==1)
Response.Write("<script>alert(\"密码修改成功!\");</script>");
else Response.Write("<script>alert(\"更新失败!\");</script>");
}
}
}
}
protected void DataGrid1_SelectedIndexChanged(object sender,System.EventArgs e)
{
}
}
}
项目总结:(项目组总结,不少于字)
1、 项目完毕状况
1、引言
编写目
编写此报告目是在于对咱们们们本次实训做一种完整性总结,认真归纳和分析咱们们们本次实训成功与局限性地方,争取在后来实训与学习中,能做得更好!此外,咱们们们这样也给实训教师和领导交一份满意答卷!
背景
a. 本项目名称:在线考试系统
b. 项目委托:绵阳职业技术学院 .NET
c. 交付软件名称、英文缩略词和版本号 :在线考试系统(TOL) 2.0
d. 软件产品开发者:吴小琴、杨伟、袁宁
e. 软件产品顾客:暂无
参照资料
文献名称
文献刊登者
刊登时间
《需求规格阐明书》
吴小琴、袁宁
.11.23
《界面设计》
杨伟
.12.15
《数据库设计》
吴小琴、袁宁
.12.2
2. 实际开发成果
软件产品描述
a. 版本标记:2.0
b. 软件模块清单
序号
子系统名称
模块名称
代码大小(行)
1
管理员管理
系统登录
160
2
信息修改
230
3
管理顾客
1780
4
教师管理
管理试题
980
5
系统登录
1206
6
学生
登陆考试
1200
7
信息管理
782
c. 文档清单
序号
文档名称
与否需提交给顾客
1
《需求规格阐明书》
是
2
《界面设计》
是
3
《数据库设计》
是
d. 当前已有缺陷
由于本次项目时间不是很充分,又在上班,界面设计上不是很美观,也不是很专业,功能上也不是很完善,在后来咱们们一定会更加努力做好。
重要功能和性能
在本次综合实训中,咱们们们做项目是:在线考试系统。重要达到功有:系统管理员登录后,能对教师和学生信息进行修改、增长、删除;教师登录后,能进行对学生考试成绩进行查看;对试题进行修改;学生登陆后,可以进行选取科目进行考试
在性能方面,咱们们们做界面大方、美观,在时间相应上能达到1s内。
但和开发目的相比,还欠缺了些,例如说:有些小功能还是没有实现,尚有些小缺陷!
进度
阶段
筹划工作日
实际工作日
对比
因素
开发筹划
2
2
准时完毕
需求分析
2
2
准时完毕
架构设计
6
6
准时完毕
编码
15
15
准时完毕
测试
3
3
准时完毕
3.开发工作评价
3.1 对项目开发过程评价
在需求和设计阶段,项目需求规格阐明书、设计文档等都准时提交了,总体设计都还不错,但在数据库设计中,由于参加人手局限性,导致分析有一点小缺陷;在编码时,总编码还比较顺利,但有些小连接还是有点失误!
3.2 对技术办法评价
在本次项目开发过程中,重要用到了如下软件:VS,SQLServer这些开发工具都是现当前流行工具,因此,对顾客使用也是比较以便!
3.3 对产品质量评价
在本次项目开发过程中,咱们们们以为本次质量只达到了中档质量,由于只实现了大某些简朴功能操作,某些小功能和需求还存在某些简朴缺陷!存在这些缺陷重要因素重要是:时间不充分,导致有一定压力,并且学识水平也不时很高,这导致了开发过程存在一定难度!
4. 试运营工作评价
在项目试运营中,大某些功能实现了,并达到没缺陷。但在某些小系统上存在某些小缺陷,和有些小系统并发进程存在某些小缺陷!
5. 技术积累总结
在本次项目开发过程中,咱们们学会了在需求和设计方面用到使用工具,以及在编码时,学会了如何添加类库,并引用它!同步,咱们们们也学会了编码语法规范!
6. 经验和教训
在本次项目开发过程中,咱们们只有一种月时间,虽然时间很短,但很充分。但在编码过程中,也遇到了不少麻烦,例如:有些代码很难想到,但通过咱们们向同窗请教,最后也完毕了,其中,由于在数据库方面设计存在某些小缺陷,这使咱们们们在开发过程中也遇到了困难!
最后,通过这次实训,咱们们也会更加努力,争取在软件行业有所作为!
2、 项目重点和难点分析
在整个项目中,重点问题重要是从试题库里抽取试题和学生交卷后分数显示。是依照试题ID号来获取试题信息,将抽取50道选取题所有显示在GridView中。学生交卷后,系统会依照学生答案和试题库中答案进行比较,然后对学生进行打分。
项目构成员填写表格
系
计算机科学系
专 业
软件工程
班 级
071班
学 号
0701731
姓 名
杨伟、吴小琴、袁宁
项目负责人
杨伟
项目名称
在线考试系统
任务描述
杨伟(管理界面)、袁宁(学生界面)、吴小琴(教师界面)
实行环节
构思——分析——数据库——界面——代码——测试——文档
任务创新点
没有
设计总结
在本次毕业设计中,咱们们运用理论知识与实际相结合,并认真阅读教师给毕业设计选题,但还是有诸多功能没有实现。例如:此系统试题只有选取题,没有完毕教师任务,判断题。在前期工作中,遇到了诸多问题,例如:不懂得从什么地方去做,也不懂得详细该怎么做。在看了诸多书后,这才下定决心做。前期构思,要把系统做得既实用又简朴是咱们们一开始思想。咱们们接下来就开始分析系统改如何进行下去,在这做了一种时间规划,如下表:
阶段
筹划工作日
实际工作日
对比
开发筹划
2
2
准时完毕
需求分析
2
2
准时完毕
架构设计
6
6
准时完毕
编码
15
15
准时完毕
测试
3
3
准时完毕
在数据库设计阶段遇到诸多问题,开始思考究竟应当做几种表格才干将系统数据概括完全,最后在咱们们仔细思考后,得出了6个表,分别是:管理员表、学生信息表、教师信息表、试题表、分数表、课程表。各个表数据如下:
管理员表
adminId adminPwd
吴小琴 123
学生信息表
stuId stuPwd stuName stuSex stuStatus stuCurrentCourse
0701731 123 吴小琴 1 0
教师信息表
teacherId teacherPwd teacherName courseId
cjg 123 陈建国 sjjg
dym 123 戴英明 javacxsj
lj 123 李焦 rjcs
wls 123 王教师 dxyy
yam 123 袁爱民 asp
zlm 123 赵丽梅 czxt
在界面设计阶段,在网上下载了某些关于本系统某些图片,在设计过程中对其进行了合理运用。在编码阶段,从简朴到复杂,开始编写某些简朴代码,然后不懂看看书或上网查查或向同窗请教。最后完毕了一种简朴在线考试系统,这次做得不够完善。下来咱们们还会继续努力改进,让在线考试系统很完善,可以考各种题。
项目进度报告
项目名称:在线考试系统 负责人:吴小琴
日期
成员姓名
任务描述
所属模块
完毕状况
态度
备注
(组长评语)
11月21日——12月26日
杨伟、吴小琴、袁宁
杨 伟
袁 宁
吴小琴
管理界面
学生界面
教师界面
大某些完毕
较好
较认真
答
辨
意
见
教
师
评
语
教师签名:
年 月 日
展开阅读全文