学生选课管理系统(DOC).doc
《学生选课管理系统(DOC).doc》由会员分享,可在线阅读,更多相关《学生选课管理系统(DOC).doc(21页珍藏版)》请在咨信网上搜索。
本科生毕业论文设计 学生选课管理系统 作者姓名:刘双增 指导教师:李铁楠 所在学院:数学与信息科学学院 专业(系):计算机科学与技术 班级(届):2011级 二〇一五年 四月十五 目 录 摘要 3 1.绪论 4 1.1课题背景 4 1.2课题目标 4 1.3 课题意义 4 2.关键技术介绍 5 2.1 Jsp技术 5 2.2 Java技术 5 2.3 SqlServer技术 5 2.4 Jdbc桥技术 5 2.5 JavaBean技术 5 3.可行性研究 6 3.1经济可行性分析 6 3.2 操作可行性分析 6 3.3 技术可行性分析 6 3.4 可行性综合分析 6 4.系统需求分析 6 4.1系统流程概述 6 5.1系统功能设计 7 5.2数据库设计 7 6.系统详细设计 8 6.1 身份验证模块 8 6.2 学生模块 10 6.3教师模块 13 6.4管理员模块 15 7.系统测试 17 7.1测试原则 17 7.2 测试实例 18 7.3 测试小结 18 8.总结 18 9.参考文献 20 学生选课管理系统 数学与信息科学学院 计算机科学与技术专业 指导教师:李铁楠 作 者:刘双增 摘要:现今随着计算机的不断普及,计算机应用技术的不断成熟,它的应用范围也越来越广泛,包括其在学校中学生选课的管理方面的应用,也越来越成熟与先进。学生选课管理系统能够极大的方便学校各个角色的人员在关于选课的操作,如学生选课、退科,教师录入、修改、查询成绩等,极大的提高了学校整体管理活动的工作效率。本文主要阐述学生选课管理系统的整个开发流程,同时对开发这个系统做一个比较好总结。 该学生选课管理系统利用的是java面向对象语言与jsp服务器脚本语言,后台数据库是用的 microsoft sql server 关系数据库。 关键词:Java,Jsp,SqlServer 1.绪论 1.1课题背景 在现今学校的规模越来越大,学生的数量越来越多的大背景下,学校中的学生的选课管理效率的高低也越来越受到人们的重视。如果学生选课、退课,教师的录入成绩、修改成绩,管理员的管理学生、教师信息都需要手工完成的话,将会花费很大的精力,而且准确率也不能得到有效的保证。在此我借本次毕业设计的机会,开发一个适用于大部分高校的学生选课管理系统,旨在提高学校对学生选课管理的效率,减少学校的负担。 1.2 课题目标 开发学生选课管理系统,就是利用计算机对学生选课进行管理,改善学校在实际管理时需要大量人力和无力的现状,现对该系统的开发制定如下的目标: (1)学生选课模块 学生登录到系统中,就能够查询下学期的开课信息,能够进行选课、退课、修改密码、修改个人信息等操作。 (2)教师教学模块 教师登录到系统中,能够对学生的成绩进行管理。 (3) 教务管理模块 管理员登陆导系统中,能够管理系统中各类信息。 1.3 课题意义 对于学生而言,该学生选课管理系统让其在计算机中进行选课,查询自己成绩;对于教师而言,该系统可以让其在计算机中录入,修改,查询学生的成绩;对于管理员而言,该系统可以让其对各类信息进行增删改查的管理。这些本身在现实生活中很繁杂的工作量到了计算机这里缺变得异常简单,很大程度上提高了这些工作的效率,因此对于学生、教师、教务管理人员各个角色开发出一套完整的学生选课管理系统是具有重大意义的。 2.关键技术介绍 本系统用JSP/JAVA开发语言,使用MySQL数据库,采用MVC框架模型在eclips开发平台上完成。下面详细介绍JSP、JAVA、MySQL、JDBC桥技术、JavaBean技术。 2.1 Jsp技术 Jsp技术是由Sun公司提倡与其它公司共同制定的一种动态网页技术标准。它在形式上的组成是在Html文档中嵌入Java语言。由java的“一次编译,到处执行”的特点可以知道Jsp也具有这样的特点。 Jsp是Servlet的扩展,与Servlet一样,Jsp是一种基于Java的服务端技术,其目的是简化建立和管理动态网站的工作。在Html文件中插入Java程序和Jsp标签就可以构成Jsp页面,其中Jsp页面是以“.jsp”作为扩展名。 Jsp技术具有简单快捷、动态内容的生成和显示相分离,组件重用、易于部署、升级和维护等特点。 2.2 Java技术 Java是由Sun公司在1995年提出的的Java程序设计语言和Java开发平台的总称。Java作为编程语言,语法简单明了,规则清晰严谨,初学者很容易上手。Java作为一个开发平台,它是由java虚拟机和java的api文档组成。让Java流传这么广,应用越来越广泛的一个重要原因是Java的应用程序具有“一次编译,到处运行”的特点。 Java从功能上来分可以分为:JavaSE、JavaEE、JavaME三个不同的应用方向。。 Java具有平台无关性、安全性、面向对象、健壮性、分布式、解释型、动态等特点 2.3 SqlServer技术 SqlServer是由微软公司推出的关系型数据库系统,拥有良好的伸缩性和其它软件集成度高的优点,而且还可以跨平台使用。 2.4 Jdbc桥技术 因为SqlServer数据库并不是用Java编程语言来开发的,但我们必须要用Java语言来链接数据库,因此我们可以用桥连接来实现链接数据库这个过程。 2.5 JavaBean技术 在软件开发过程中,经常用使用“组件“的概念,所谓组件就是可以重用的软件模块,JavaBean也是一种组件技术。传统上的JavaBean组件分为可视化和非可视化两种。可视化组件可以在运行结果中观察到,如Swing中的按钮、文本框等,通常也成为控件;而非可视化组件一般不可以观察到,通常用来处理一些复杂的业务,主要用在服务器端。而对于Jsp来说,只支持非可视化的JavaBean组件。非可视化的JavaBean又可以分为业务Bean和数据Bean两种,前者用于封装业务逻辑、数据库操作,后者可用来封装数据源。 3.可行性研究 3.1经济可行性分析 系统的开发除了要耗费一定的时间之外,另外需要的开发软件及工具平台都是不用花钱的,而且这个系统可以在未来的一段时间发挥稳定的作用,因此开发该系统在经济上是完全可行的。 3.2 操作可行性分析 随着计算机的普及,越来越多人对计算机有着不错的了解与认识,而且本系统拥有良好的用户界面,可以让使用者快速的操作方法,因此开发本系统在操作上是可行的。 3.3 技术可行性分析 该系统用到的技术都是在学校中学习过的,都是比较基础与普及的,因此,从技术可行性分析来看是可行的。 3.4 可行性综合分析 从前面的课题背景中可以知道,学生选课管理系统能够给学校的管理工作带来很大的便利,整体上看是可行的。 4.系统需求分析 因为对现实中学生在选课时的实际需求进行了调查统计,故该系统结合实际,给出了如下的解决方案。 4.1系统流程概述 管理员可以选择管理员的角色进入到本系统中,可以对系统中的各个信息进行全方面的管理。如学生信息,教师信息,用户信息。 教师可以选择教师角色进入到本系统中,可以对所授班级的各个学生的成绩进行管理(增删改查),并可以修改自己的个人信息。 学生可以选择学生角色进去到本系统中,可以根据下学期要开的课程来选课,可以查看本学期已经修完课程的成绩,并修改自己的个人信息。 5.系统总体设计 从上面的系统需求中大体知道了本系统的运行流程,下面将分析系统功能设计与数据库设计。 5.1 系统功能设计 该系统有3个部分:学生模块、教师模块、管理员模块。用户登录系统时,会先判断用户名与密码是否匹配,如果匹配会提示错误,如果匹配,则可以进去每个角色相对应的页面。 5.2 数据库设计 我为该系统设计了9张表,在这里列出主要的5张表分别为学生表、课程表、成绩表、教师表和用户表,如下所示: 表5-1 学生表 字段 字段名 类型 可否为空 主键 sNo 学号 varchar(15) 否 是 sName 姓名 varchar(15) sSex 性别 varchar(4) sAge 年龄 Int sDep 所在系 varchar(15) sClass 班级 varchar(15) 表5-2 课程表 字段 字段名 类型 可否为空 主键 cNo 课程编号 varchar(15) 否 是 cName 课程名称 varchar(15) 否 tName 授课老师 varchar(15) credit 学分 float 表5-3 成绩表 字段 字段名 类型 可否为空 主键 sNo 学号 varchar(15) 否 是 cNo 课程编号 varchar(15) 否 是 cType 成绩种类 varchar(15) 否 是 cScore 课程成绩 int 表5-4 教师表 字段 字段名 类型 可否为空 主键 tNo 教师编号 varchar(15) 否 是 tName 教师姓名 varchar(15) tSex 教师性别 varchar(4) tDep 所在系 varchar(16) 表5.5 用户表 字段 字段名 类型 可否为空 主键 id 用户id varchar(15) 否 是 name 用户名 varchar(15) 否 password 密码 varchar(15) 否 position 角色 varchar(15) 否 6.系统详细设计 6.1 身份验证模块 该界面可以验证用户名与密码是否匹配,并可以选择学生、教师、管理员三个角色进行登录。如果不匹配会提示错误,并重新登录,如果匹配,会根据角色的不同,进入不同的界面。 图6.1 系统登录界面 主要的代码实现(以判断学生角色为例): if(type.equals("stu")) { sql="select 学号 from 学生表 where 身份证号='"+psd+"'"; rs=db.executeQuery(sql); try { if(rs.next()) { s=rs.getString(1).trim();//删去后面多余的空格 if(s.equals(user)) { System.out.println(user+psd+type); System.out.println(s+"dd"); RequestDispatcher rd=req.getRequestDispatcher("./Student.jsp"); rd.forward(req,res); //rd.forward(req,res); } } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 6.2 学生模块 以学生角色进入系统后会进入学生主界面 图6.2 学生主界面 学生可以点击“选报课程”,进入可供选课的界面 图6.3 学生选课界面 实现选报课程的核心代码: public int addCourse() { SqlBean db=new SqlBean(); String sql ="insert into 课程表 values('"+cId+"','"+cNa+"','"+cMark+ "','"+cBook+"','"+bEditor+"','"+bPublic+"','"+ bEdition+"','"+bPrice+"')"; return db.executeUpdate(sql); } 学生点击“查询课表”可以显出自己已经所选择的所有课程 图6.4 学生课表界面 下面是实现查询课表的核心代码: public ResultSet getCourse(String cId) { SqlBean db=new SqlBean(); String sql="select * from 课程表 where 课号='"+cId+"'"; return db.executeQuery(sql); } 学生点击“修改信息”可以修改自己的个人信息 图6.5 学生修改个人信息界面 下面是实现修改学生信息的核心代码,就是对学生表进行修改的操作,sql语句用update操作语句。 public int update(String sId,String sPhone,String sHome,String password) throws UnsupportedEncodingException { UserOp use=new UserOp(); SqlBean db=new SqlBean(); sHome=new String(sHome.getBytes("ISO8859_1")); String sql="update 学生表 set 移动电话='"+sPhone+"',籍贯='"+sHome+"' where"+ " 学号='"+sId+"'"; return db.executeUpdate(sql)+use.updatePassword(sId, password); } 6.3教师模块 以教师角色进入教师主界面 图6.6教师主界面 教师点击“录入成绩”,进入录入成绩界面 图6.7教师录入成绩界面 下面是实现教师录入成绩的核心代码,就是在选课表中修改记录,达到录入的成绩的效果: public int putGrade(String stu_id,String course_id,int grade) { String sql="update 选课表 set 成绩="+grade+" where " + "学号='"+stu_id+"'"+" and 开课号='" +course_id+"'"; SqlBean db=new SqlBean(); int num=db.executeUpdate(sql); return num; } 教师点击“查询课表”、“修改信息”进入的界面与学生点击“查询课表”、“修改信息”进入的界面很类似,在此不再赘述。 6.4管理员模块 以管理员角色进入管理员主界面 图6.8 管理员主界面 管理员点击课程信息,进入课程信息管理界面 图6.9 课程信息管理界面 以实现删除课程为例给出核心代码: public int deleteCourse(String cId) { SqlBean db=new SqlBean(); String sql="delete from 课程表 where 课号='"+cId+"'"; return db.executeUpdate(sql); } 管理员点击“教师信息”,进入教师信息管理界面 图6.10 教师信息管理界面 以实现修改教师为例,给出核心代码: public int updateTeacher() { SqlBean db=new SqlBean(); String sql="update 教师表 set 身份证号='"+pId+"',姓名='"+tNa+ "',性别='"+tSex+"',移动电话='"+tPhone+"',籍贯='"+tHome+"',所在院系='"+tDep+ "',职称='"+tPo+"',负责人='"+tMa+"' where 工号='"+tId+"'"; System.out.println(tId+pId+ tNa+tSex+" "+tPhone+" "+tHome+" "+tDep+tPo+tMa); return db.executeUpdate(sql); } 管理员点击“学生信息”进入学生信息管理界面 图6.11学生信息管理界面 以实现增加学生为例,给出核心代码: public int addStudent()//增加学生 { SqlBean db=new SqlBean(); String sql="insert into 学生表 values ('"+sId+"','"+pId+ "','"+sNa+"','"+sSex+"','"+sPhone+"','"+sHome+"','"+ sMajor+"','"+sDep+"',"+totalMark+")"; return db.executeUpdate(sql); } 7.系统测试 7.1测试原则 具体的测试基本原则有如下几点: 第一,测试应当尽早的,不断的进行。 第二,在设计测试实例时需要考虑到输入的合法性,尤其是在特殊的情况下最好不要制造极端状态和意外状态。 第三,严格执行制定好的测试计划。这个测试计划应该具有指导性。 第四,安排测试的时间要尽量的宽松,最好不要寄希望于在很的短的一个时间能完成一个较高水平的测试。 第四,最好能保存好指定的测试计划、设计的测试用例、出现的错误统计和最终总结的分析报告,这样为以后的维护工作带来很大的便利。 7.2 测试实例 表7.1 测试实例表 测试用例 场景 测试用例 预期结果 实际结果 TC1 登录 进去系统登录界面,输入用户名与密码,选择学生身份登录系统 密码如果正确,成功登录。否则,会提示错误信息,点击确定,重新输入。 同预期 TC2 密码修改 在系统主页面,单击“密码修改”后输入新密码和确认密码 密码如果为空或者与旧密码相同,提示修改失败,否则提示成功 同预期 TC3 注销 点击页面右上方“注销”,在弹出的提示方框中选择“确定”或“取消” 如果选择“确定”则表示退出系统,如果选择“取消”则表示退出系统失败,继而返回原界面 同预期 7.3 测试小结 上面部分主要是测试了学生选课管理系统的可行性,并且介绍了对本系统的测试方式,描述了一些简单的测试实例。而且还将测试的最后实际结果与一开始预测的结果进行了对比。由上面的结果可以知道,整个系统的设计都比较符合要求,大体上符合一开始在需求中提出的各种要求。 8.总结 在本次毕业设计的整个过程中,让我收获最大的是:我对这几年所学的知识有了一个比较系统的认识和理解,从不同角度理解了它们。而且在面对各种各样的问题自己由一开始的着急抓脑到了后来的淡定思考,即自己面对问题的心态随着设计的不断进行而越来越冷静与理智。 系统从整体上实现了预期中的效果,方便了学生、教师、教务管理员的各个活动。但在过程中也遇到了很多问题,通过求助过同学与导师才得到比较好的解决方案。比如在写jsp界面调试时,发现从后台传到前台的汉字是乱码以及从前台读入到后台的汉字也是乱码等类似编码的问题,通过自己查找资料,和自己的验证,可以分别利用response.setCharacterEncoding(|”utf-8”)和request.setCharacterEnconding(“urtf-8”)来统一设定汉字的编码方式,从而解决了中文乱码的问题。还有其它比如在设计系统时遇到表结构的设计的困扰,初步完成系统时出现的各种bug等等问题,在周边同学与导师的帮助下也都得到了解决。 当然因为自身能力与时间的限制,系统的一些功能还存在一些不足,有待改进与完善。最后在整个过程中得到了指导老师和同学们的许多帮助,使我顺利的完成了这个系统,在这里,我表示衷心的感谢! 9.参考文献 [1]张磊,丁香乾.Java Wbe程序设计.电子工业出版社,2008 581-121. [2]李兴华.Java开发实战经典,2009 108-180. [3]李兴华.Java Web开发实战经典基础篇,2009 124-220. [4]Java学习路线图.Java经典编程300例,明日科技 2008 56-78. [5]侯天超 Web编程基础,2008 52-78. [6]范春晓.浅谈JSP动态网站开发技术[J].中国科技博览, 2011 58-92. Student course management system Abstract:Nowadays, with the popularization of computer, computer application technology continues to mature, the scope of its application is more and more widely, including its application in middle school students in course selection management, is becoming more and more mature andadvanced. Student course management system to facilitate the school each role great staff on thecourse of operation, such as the selection of students, teachers, retired, input, modify, query results, which greatly improves the work efficiency of the whole school management activities. This paper mainly discusses the student management system of the entire development process, at the same time, the development of this system to do a good summary. The student management system is the Java object oriented language and JSP server scriptlanguage, the background database is Microsoft SQL database using server. Key Words: Java, Jsp, SqlServer- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 选课 管理 系统 DOC
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文