1、软件专业毕业设计结题报告毕业设计在线考试系统设计者:杨伟、袁宁、吴小琴 班级:软件071班 2009-12-24绵 阳 职 业 技 术 学 院计 算 机 科 学 系毕业设计结题报告项目名称 在线考试系统 专业 软件工程 班 级 071班 项目组编号 001 项目组长 杨伟 设计时间 2009年11月21日2009年12月26日 项目经理填写成员,毕业设计成绩由教师填写:成员吴小琴、杨伟、袁宁个人成绩项目组总成绩教师签名一项目需求分析: 1、 现行业务系统描述用户登陆:用户通过用户名和密码进行登录。有三个页面:管理,教师,学生管理.用户信息的管理:管理员可以增删用户,权限管理, 在此系统中只有一
2、个管理员,即系统管理员。具有一般用户所没有的权限,即具有管理一般用户的功能。管理员 进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。系统所选的题是随机选出的,这样就会使每个考生的试卷都不同。考生的其答题信息通过单选按钮选择答案来反映。考试结束采取自主交卷的方式办法予以实现。查看人员: 是用GridView完成的。查看人员的信息。修改人员:管理员还可以对人员进行修改。对于对数据库数据的修改,在以前的asp页面中比较麻烦,要想修改一条记录,必须写很长的代码。在中,几乎可以不写一行代码,就
3、可以对数据库记录进行修改。 添加人员:管理员可能添加人员.对数据库进行添加记录. 教师试题库管理:可以增加、修改、删除试题。学生在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 .计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。学生/教师成绩查阅:考生考完以后,可以对自己的成绩进行查询,教师也可以对自己所教的那科查询学生成绩并进行修改。管理员:添加人员、 维护人员、添加专业、添加班级、 添加系别、修改密码教师:添加题目、维护题目、查看成绩、修改密码学生:考试开始、查看自己成绩、查看个人信息、修改个人信息修改密码2
4、、 现行系统存在的主要问题分析现在还不能实现选择题类型的试题,界面不是很专业,色彩搭配不是很准确。3、 解决方案继续努力,多学习,希望在下次中能完善所不能完善的。项目计划: 1、 项目计划起止时间2009年11月21日2009年12月26日2、 项目任务分配:杨伟(管理界面)、袁宁(学生界面)、吴小琴(教师界面)项目总体结构设计:1、 系统分层架构设计2、 数据库设计类型划分: 主表:6个 辅助表:0个标识符和约定数据库表的命名是用表名的英文单词命名的,命名严谨易懂,编程实现简单明了!编号格式描述说明1administrator管理员基本信息表管理员表2student学生信息表学生表3teac
5、her教师基本信息表教师表4Course课程基本信息表课程表5Score学生分数表学生分数表6Test试题信息表试题表数据库表设计说明书管理员表administrator字段名字段代码字段类型允许为空主键外键1管理员编号adminIdvarchar(10)NTrue2管理员密码adminpwdvarchar(10)N教师表tacher字段名字段代码字段类型允许为空主键外键1教师编号teacherIdvarchar(10)NTrue2教师密码teacherPwdvarchar(10)N3教师姓名teachernamevarchar(10)N4课程编号courseIdvarchar(20)学生表s
6、tudent字段名字段代码字段类型允许为空主键外键1学生编号stuIdvarchar(10)NTrue2学生密码stuPwdvarchar(10)N3学生姓名stunamevarchar(10)N4学生性别stusexInt(4)5考试状态stuStatusInt(4)6当前考试stuCurrentCoursevarchar(20)课程表course字段名字段代码字段类型允许为空主键外键1课程编号courseIdvarchar(20)NTrue2课程名字coursenamevarchar(20)N3是否允许考试isTestBit(1)N试题表test字段名字段代码字段类型允许为空主键外键1试题
7、编号testIdUniqueident(16)NTrue2试题题干testContentNvarchar(100)N3选项1testAns1Varchar(50)4选项2testAns2Varchar(50)5选项3testAns3Varchar(50)6选项4testAns4Varchar(50)7正确答案rightAnsInt(4)8是否发布pubInt(4)9考试科目testCourseVarchar(20)10分数testScoreInt(4)分数表score字段名字段代码字段类型允许为空主键外键1分数编号scoreIdUniqueidentifier(16)NTrue2学生编号stu
8、Idvarchar(15)N3课程编号courseIdVarchar(20)N4分数scoreInt(4)5课程状态courseStatusInt(4)3、 系统总体安全性、可靠性方案与措施用户登陆:用户通过用户名和密码进行登录。有三个页面:管理,教师,学生管理.用户信息的管理:管理员可以增删用户,权限管理, 在此系统中只有一个管理员,即系统管理员。具有一般用户所没有的权限,即具有管理一般用户的功能。管理员 进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。系统所选的题是随机选出的,这
9、样就会使每个考生的试卷都不同。考生的其答题信息通过单选按钮选择答案来反映。考试结束采取自主交卷的方式办法予以实现。查看人员: 是用GridView完成的。查看人员的信息。修改人员:管理员还可以对人员进行修改。对于对数据库数据的修改,在以前的asp页面中比较麻烦,要想修改一条记录,必须写很长的代码。在中,几乎可以不写一行代码,就可以对数据库记录进行修改。 添加人员:管理员可能添加人员.对数据库进行添加记录. 教师试题库管理:可以增加、修改、删除试题。学生在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 .计算机自动阅卷:本系统只考虑客观题,要求计算
10、机能自动阅卷,然后马上显示出考生分数。学生/教师成绩查阅:考生考完以后,可以对自己的成绩进行查询,教师也可以对自己所教的那科查询学生成绩并进行修改。项目详细设计: 1、 模块设计:包含系统类图、各用例的序列图以及模块设计描述 管理员活动图:考试系统活动图:题库活动图:学生类图:2、 界面设计:界面视图登陆界面学生登陆选择考试科目界面考试界面 教师试题信息管理界面管理员管理学生信息界面教师信息管理界面科目信息维护界面3、 代码设计:代码规范以及核心模块代码描述学生考试代码如下:namespace TestOnline public partial class userInfo : System.
11、Web.UI.Page protected System.Web.UI.WebControls.Label lbl_name; protected void Page_Load(object sender, System.EventArgs e) if(SessionstuId=null) Response.Redirect(login.aspx); else if(!Page.IsPostBack) BindGrid(); string stuId=Convert.ToString(SessionstuId); lbl_stuId.Text=stuId; string stuName=(ne
12、w projClass().getUserName(stuId); lbl_stuName.Text=stuName; DataSet ds=new DataSet(); ds=(new projClass().getCourses(); foreach(DataRow row in ds.Tables0.Rows) ddl_course.Items.Add(rowcourseName.ToString(); #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) InitializeComponent(); bas
13、e.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(t
14、his.Ibtn_ok_Click); #endregion void BindGrid() string stuId=Convert.ToString(SessionstuId); DataSet ds=new DataSet(); ds=(new projClass().getStuScore(stuId); DataTable dt=ds.TablesstuInfo; DataView dv=new DataView(dt); DataGrid1.DataSource=dv; int count=dv.Count; if(count=0) lbl_noResult.Visible=tru
15、e; DataGrid1.Visible=false; DataGrid1.DataBind(); private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e) string stuId=Convert.ToString(SessionstuId); string courseName=ddl_course.SelectedItem.Text.Trim(); string courseId=(new projClass().getCourseIdAsCourseName(courseNam
16、e); bool ifTest=(new projClass().getIfTest(courseId); if(ifTest) int count=(new projClass().ifCourseHasTest(stuId,courseId); if(count=0) SessioncourseId=courseId; Response.Redirect(ksjm.aspx?+courseId+&+stuId); else Response.Write(alert(该科目您已经考试过了,不能再次考试!);); else Response.Write(alert(该科目目前不能考试!请联系管
17、理员开通考试!);); private void ImageButton3_Click(object sender, System.Web.UI.ImageClickEventArgs e) SessionstuId=null; Response.Redirect(login.aspx); private void Ibtn_ok_Click(object sender, System.Web.UI.ImageClickEventArgs e) string stuId=Convert.ToString(SessionstuId); string stuPwd=tbx_oldPwd.Text;
18、 string newPwd1=tbx_newPwd1.Text; string newPwd2=tbx_newPwd2.Text; if(newPwd1=|newPwd2=) Response.Write(alert(密码不能为空);); else int count=(new projClass().getUser(stuId,stuPwd); if(count=0) Response.Write(alert(密码错误!请重新输入);); else if(!newPwd1.Equals(newPwd2) Response.Write(alert(两次密码不一致!请重新输入!);); els
19、e int count1=(new projClass().updateStuPwd(stuId,newPwd1); if(count1=1) Response.Write(alert(密码修改成功!);); else Response.Write(alert(更新失败!);); protected void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) 项目总结:(项目组总结,不少于2000字)1、 项目完成情况1、引言 编写目的编写此报告的目的是在于对我们们们此次的实训做一个完整性的总结,认真归纳和分析我
20、们们们此次实训的成功与不足的地方,争取在以后的实训与学习中,能做得更好!此外,我们们们这样也给实训老师和领导交一份满意的答卷! 背景a. 本项目的名称:在线考试系统b. 项目委托:绵阳职业技术学院 .NETc. 交付软件的名称、英文缩略词和版本号 :在线考试系统(TOL) 2.0d. 软件产品开发者:吴小琴、杨伟、袁宁e. 软件产品用户:暂无 参考资料文件名称文件发表者发表时间需求规格说明书吴小琴、袁宁2009.11.23界面设计杨伟2009.12.15数据库设计吴小琴、袁宁2009.12.22. 实际开发结果 软件产品描述a. 版本标识:2.0b. 软件模块清单序号子系统名称模块名称代码大小
21、(行)1管理员管理系统登录1602信息修改2303管理用户17804教师管理管理试题9805系统登录12066学生登陆考试12007信息管理782c. 文档清单序号文档名称是否需提交给用户1需求规格说明书是2界面设计是3数据库设计是d 目前已有的缺陷由于此次项目时间不是很充分,又在上班,界面设计上不是很美观,也不是很专业,功能上也不是很完善,在以后我们们一定会更加努力做好的。 主要功能和性能在此次的综合实训中,我们们们做的项目是:在线考试系统。主要达到的功有:系统管理员登录后,能对教师和学生的信息进行修改、增加、删除;教师登录后,能进行对学生的考试成绩进行查看;对试题进行修改;学生登陆后,可以
22、进行选择科目进行考试在性能方面,我们们们做的界面大方、美观,在时间相应上能达到1s内。但和开发目标相比,还欠缺了些,比如说:有些小功能还是没有实现,还有些小的缺陷! 进度阶段计划工作日实际工作日对比原因开发计划22按时完成需求分析22按时完成架构设计66按时完成编码1515按时完成测试33按时完成3开发工作评价3.1 对项目开发过程的评价在需求和设计阶段,项目的需求规格说明书、设计文档等都按时提交了,总体设计都还不错,但在数据库设计中,由于参与人手不足,导致分析有一点小缺陷;在编码时,总的编码还比较顺利,但有些小的连接还是有点失误! 3.2 对技术方法的评价在此次的项目开发过程中,主要用到了以
23、下的软件:VS,SQLServer这些开发工具都是现目前流行的工具,所以,对用户使用也是比较方便的!3.3 对产品质量的评价在此次的项目开发过程中,我们们们认为此次的质量只达到了中等质量,因为只实现了大部分的简单功能操作,一些小的功能和需求还存在一些简单的缺陷!存在这些缺陷的主要原因主要是:时间不充足,导致有一定的压力,并且学识水平也不时很高,这导致了开发过程存在一定的难度!4. 试运行工作评价在项目试运行中,大部分功能实现了,并达到没缺陷。但在一些小的系统上存在一些小的缺陷,和有些小系统的并发进程存在一些小缺陷!5. 技术积累总结在此次的项目开发过程中,我们们学会了在需求和设计方面用到的使用
24、工具,以及在编码时,学会了怎样添加类库,并引用它!同时,我们们们也学会了编码的语法规范!6. 经验和教训在此次的项目开发过程中,我们们只有一个月的时间,虽然时间很短,但很充足。但在编码过程中,也遇到了不少的麻烦,比如:有些代码很难想到,但经过我们们向同学请教,最后也完成了,其中,由于在数据库方面的设计存在一些小的缺陷,这使我们们们在开发过程中也遇到了困难!最后,经过这次的实训,我们们也会更加的努力,争取在软件行业有所作为!2、 项目重点和难点分析在整个项目中,重点问题主要是从试题库里抽取试题和学生交卷后的分数显示。是根据试题的ID号来获取试题的信息的,将抽取的50道选择题全部显示在GridVi
25、ew中。学生交卷后,系统会根据学生的答案和试题库中的答案进行比较,然后对学生进行打分。项目组成员填写表格系计算机科学系专 业软件工程班 级071班学 号0701731姓 名杨伟、吴小琴、袁宁项目负责人杨伟项目名称在线考试系统任务描述杨伟(管理界面)、袁宁(学生界面)、吴小琴(教师界面)实施步骤构思分析数据库界面代码测试文档任务创新点没有设计总结在此次毕业设计中,我们们运用理论知识与实际相结合,并认真阅读老师给的毕业设计选题,但还是有很多功能没有实现。例如:此系统试题只有选择题,没有完成老师的任务,判断题。在前期工作中,遇到了很多问题,例如:不知道从什么地方去做,也不知道具体该怎么做。在看了很多
26、书后,这才下定决心做。前期的构思,要把系统做得既实用又简单是我们们一开始的思想。我们们接下来就开始分析系统改怎样进行下去,在这做了一个时间的规划,如下表:阶段计划工作日实际工作日对比开发计划22按时完成需求分析22按时完成架构设计66按时完成编码1515按时完成测试33按时完成在数据库设计阶段遇到很多的问题,开始思考到底应该做几个表格才能将系统的数据概括完全,最后在我们们仔细的思考后,得出了6个表,分别是:管理员表、学生信息表、教师信息表、试题表、分数表、课程表。各个表的数据如下:管理员表adminId adminPwd吴小琴 123学生信息表stuId stuPwd stuName stuSex stuStatus stuCurrentCourse0701731 123 吴小琴 1 0 教师信息表teacherId teacherPwd teacherName courseIdcjg
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1