收藏 分享(赏)

学生选课管理系统(DOC).doc

上传人:精品资料 文档编号:10793076 上传时间:2020-01-09 格式:DOC 页数:21 大小:1.89MB
下载 相关 举报
学生选课管理系统(DOC).doc_第1页
第1页 / 共21页
学生选课管理系统(DOC).doc_第2页
第2页 / 共21页
学生选课管理系统(DOC).doc_第3页
第3页 / 共21页
学生选课管理系统(DOC).doc_第4页
第4页 / 共21页
学生选课管理系统(DOC).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、本科生毕业论文设计学生选课管理系统作者姓名:刘双增指导教师:李铁楠所在学院:数学与信息科学学院专业(系):计算机科学与技术班级(届):2011 级二一五年 四月十五目 录摘要 31.绪论 41.1 课题背景 41.2 课题目标 41.3 课题意义 .42.关键技术介绍 52.1 Jsp 技 术 .52.2 Java 技 术 .52.3 SqlServer 技 术 52.4 Jdbc 桥 技 术 52.5 JavaBean 技 术 53.可行性研究 63.1 经济可行性分析 63.2 操作可行性分析 .63.3 技术可行性分析 .63.4 可行性综合分析 .64.系统需求分析 64.1 系统流程

2、概述 65.1 系统功能设计 75.2 数据库设计 76.系统详细设计 86.1 身份验证模块 .86.2 学生模块 .106.3 教师模块 136.4 管理员模块 157.系统测试 177.1 测试原则 177.2 测试实例 .187.3 测试小结 .188.总结 189.参考文献 20学生选课管理系统数学与信息科学学院 计算机科学与技术专业指导教师:李铁楠作 者:刘双增摘要:现今随着计算机的不断普及,计算机应用技术的不断成熟,它的应用范围也越来越广泛,包括其在学校中学生选课的管理方面的应用,也越来越成熟与先进。学生选课管理系统能够极大的方便学校各个角色的人员在关于选课的操作,如学生选课、退

3、科,教师录入、修改、查询成绩等,极大的提高了学校整体管理活动的工作效率。本文主要阐述学生选课管理系统的整个开发流程,同时对开发这个系统做一个比较好总结。该学生选课管理系统利用的是 java 面向对象语言与 jsp 服务器脚本语言,后台数据库是用的 microsoft sql server 关系数据库。关键词:Java,Jsp,SqlServer1.绪论1.1 课题背景在现今学校的规模越来越大,学生的数量越来越多的大背景下,学校中的学生的选课管理效率的高低也越来越受到人们的重视。如果学生选课、退课,教师的录入成绩、修改成绩,管理员的管理学生、教师信息都需要手工完成的话,将会花费很大的精力,而且准

4、确率也不能得到有效的保证。在此我借本次毕业设计的机会,开发一个适用于大部分高校的学生选课管理系统,旨在提高学校对学生选课管理的效率,减少学校的负担。1.2 课题目标 开发学生选课管理系统,就是利用计算机对学生选课进行管理,改善学校在实际管理时需要大量人力和无力的现状,现对该系统的开发制定如下的目标: (1)学生选课模块学生登录到系统中,就能够查询下学期的开课信息,能够进行选课、退课、修改密码、修改个人信息等操作。 (2)教师教学模块教师登录到系统中,能够对学生的成绩进行管理。(3) 教务管理模块管理员登陆导系统中,能够管理系统中各类信息。1.3 课题意义对于学生而言,该学生选课管理系统让其在计

5、算机中进行选课,查询自己成绩;对于教师而言,该系统可以让其在计算机中录入,修改,查询学生的成绩;对于管理员而言,该系统可以让其对各类信息进行增删改查的管理。这些本身在现实生活中很繁杂的工作量到了计算机这里缺变得异常简单,很大程度上提高了这些工作的效率,因此对于学生、教师、教务管理人员各个角色开发出一套完整的学生选课管理系统是具有重大意义的。2.关键技术介绍本系统用 JSP/JAVA 开发语言,使用 MySQL 数据库,采用 MVC 框架模型在 eclips 开发平台上完成。下面详细介绍 JSP、JAVA、MySQL、JDBC 桥技术、JavaBean 技术。2.1 Jsp 技 术Jsp 技 术

6、 是 由 Sun 公 司 提 倡 与 其 它 公 司 共 同 制 定 的 一 种 动 态 网 页 技 术 标 准 。 它 在 形 式上 的 组 成 是 在 Html 文 档 中 嵌 入 Java 语 言 。 由 java 的 “一 次 编 译 , 到 处 执 行 ”的 特 点 可 以知 道 Jsp 也 具 有 这 样 的 特 点 。Jsp 是 Servlet 的 扩 展 , 与 Servlet 一 样 , Jsp 是 一 种 基 于 Java 的 服 务 端 技 术 , 其目 的 是 简 化 建 立 和 管 理 动 态 网 站 的 工 作 。 在 Html 文 件 中 插 入 Java 程 序

7、 和 Jsp 标 签 就 可 以构 成 Jsp 页 面 , 其 中 Jsp 页 面 是 以 “.jsp”作 为 扩 展 名 。Jsp 技 术 具 有 简 单 快 捷 、 动 态 内 容 的 生 成 和 显 示 相 分 离 , 组 件 重 用 、 易 于 部 署 、 升级 和 维 护 等 特 点 。2.2 Java 技 术Java 是 由 Sun 公 司 在 1995 年 提 出 的 的 Java 程 序 设 计 语 言 和 Java 开 发 平 台 的 总 称 。Java 作 为 编 程 语 言 , 语 法 简 单 明 了 , 规 则 清 晰 严 谨 , 初 学 者 很 容 易 上 手 。 J

8、ava 作 为 一 个 开发 平 台 , 它 是 由 java 虚 拟 机 和 java 的 api 文 档 组 成 。 让 Java 流 传 这 么 广 , 应 用 越 来 越 广泛 的 一 个 重 要 原 因 是 Java 的 应 用 程 序 具 有 “一 次 编 译 , 到 处 运 行 ”的 特 点 。 Java 从 功 能上 来 分 可 以 分 为 : JavaSE、 JavaEE、 JavaME 三 个 不 同 的 应 用 方 向 。 。Java 具 有 平 台 无 关 性 、 安 全 性 、 面 向 对 象 、 健 壮 性 、 分 布 式 、 解 释 型 、 动 态 等 特 点2.

9、3 SqlServer 技 术SqlServer 是 由 微 软 公 司 推 出 的 关 系 型 数 据 库 系 统 , 拥 有 良 好 的 伸 缩 性 和 其 它 软 件 集成 度 高 的 优 点 , 而 且 还 可 以 跨 平 台 使 用 。2.4 Jdbc 桥 技 术因 为 SqlServer 数 据 库 并 不 是 用 Java 编 程 语 言 来 开 发 的 , 但 我 们 必 须 要 用 Java 语 言 来链 接 数 据 库 , 因 此 我 们 可 以 用 桥 连 接 来 实 现 链 接 数 据 库 这 个 过 程 。2.5 JavaBean 技 术在 软 件 开 发 过 程 中

10、 , 经 常 用 使 用 “组 件 “的 概 念 , 所 谓 组 件 就 是 可 以 重 用 的 软 件 模 块 ,JavaBean 也 是 一 种 组 件 技 术 。 传 统 上 的 JavaBean 组 件 分 为 可 视 化 和 非 可 视 化 两 种 。 可 视化 组 件 可 以 在 运 行 结 果 中 观 察 到 , 如 Swing 中 的 按 钮 、 文 本 框 等 , 通 常 也 成 为 控 件 ; 而 非可 视 化 组 件 一 般 不 可 以 观 察 到 , 通 常 用 来 处 理 一 些 复 杂 的 业 务 , 主 要 用 在 服 务 器 端 。 而 对于 Jsp 来 说 ,

11、 只 支 持 非 可 视 化 的 JavaBean 组 件 。 非 可 视 化 的 JavaBean 又 可 以 分 为 业 务Bean 和 数 据 Bean 两 种 , 前 者 用 于 封 装 业 务 逻 辑 、 数 据 库 操 作 , 后 者 可 用 来 封 装 数 据 源 。3.可行性研究3.1 经济可行性分析系统的开发除了要耗费一定的时间之外,另外需要的开发软件及工具平台都是不用花钱的,而且这个系统可以在未来的一段时间发挥稳定的作用,因此开发该系统在经济上是完全可行的。3.2 操作可行性分析随着计算机的普及,越来越多人对计算机有着不错的了解与认识,而且本系统拥有良好的用户界面,可以让使

12、用者快速的操作方法,因此开发本系统在操作上是可行的。3.3 技术可行性分析该系统用到的技术都是在学校中学习过的,都是比较基础与普及的,因此,从技术可行性分析来看是可行的。3.4 可行性综合分析从前面的课题背景中可以知道,学生选课管理系统能够给学校的管理工作带来很大的便利,整体上看是可行的。4.系统需求分析因为对现实中学生在选课时的实际需求进行了调查统计,故该系统结合实际,给出了如下的解决方案。4.1 系统流程概述管理员可以选择管理员的角色进入到本系统中,可以对系统中的各个信息进行全方面的管理。如学生信息,教师信息,用户信息。教师可以选择教师角色进入到本系统中,可以对所授班级的各个学生的成绩进行

13、管理(增删改查),并可以修改自己的个人信息。学生可以选择学生角色进去到本系统中,可以根据下学期要开的课程来选课,可以查看本学期已经修完课程的成绩,并修改自己的个人信息。 5.系统总体设计从上面的系统需求中大体知道了本系统的运行流程,下面将分析系统功能设计与数据库设计。 5.1 系统功能设计该系统有 3 个部分:学生模块、教师模块、管理员模块。用户登录系统时,会先判断用户名与密码是否匹配,如果匹配会提示错误,如果匹配,则可以进去每个角色相对应的页面。5.2 数据库设计我为该系统设计了 9 张表,在这里列出主要的 5 张表分别为学生表、课程表、成绩表、教师表和用户表,如下所示:表 5-1 学生表字

14、段 字段名 类型 可否为空 主键sNo 学号 varchar(15) 否 是sName 姓名 varchar(15)sSex 性别 varchar(4)sAge 年龄 IntsDep 所在系 varchar(15)sClass 班级 varchar(15)表 5-2 课程表字段 字段名 类型 可否为空 主键cNo 课程编号 varchar(15) 否 是cName 课程名称 varchar(15) 否tName 授课老师 varchar(15)credit 学分 float表 5-3 成绩表字段 字段名 类型 可否为空 主键sNo 学号 varchar(15) 否 是cNo 课程编号 varc

15、har(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 身份

16、验证模块该界面可以验证用户名与密码是否匹配,并可以选择学生、教师、管理员三个角色进行登录。如果不匹配会提示错误,并重新登录,如果匹配,会根据角色的不同,进入不同的界面。图 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+t

17、ype);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 blocke.printStackTrace();6.2 学生模块以学生角色进入系统后会进入学生主界面图 6.2 学生主界面学生可以点击“选报课程”,进入可供选课的界面图 6.3 学生选课界面实现选报课程的核心代码:publi

18、c 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 S

19、qlBean();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 UnsupportedEncodingExceptionUserOp use=new UserOp

20、();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 教师录入成绩界面下面是实现教师录入成绩的核心代码,就是在选课表中

21、修改记录,达到录入的成绩的效果: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 管理员模块以管

22、理员角色进入管理员主界面图 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=n

23、ew 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 学生信息管理界面以

24、实现增加学生为例,给出核心代码: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 测试原则具体的测试基本原则有如下几点:第一,测试应当尽早的,不断的进行。第二,在设计测试实例时需要考虑到输入的合法性,尤其是在特殊的

25、情况下最好不要制造极端状态和意外状态。第三,严格执行制定好的测试计划。这个测试计划应该具有指导性。第四,安排测试的时间要尽量的宽松,最好不要寄希望于在很的短的一个时间能完成一个较高水平的测试。第四,最好能保存好指定的测试计划、设计的测试用例、出现的错误统计和最终总结的分析报告,这样为以后的维护工作带来很大的便利。7.2 测试实例表 7.1 测试实例表测试用例场景 测试用例 预期结果 实际结果TC1 登录进去系统登录界面,输入用户名与密码,选择学生身份登录系统密码如果正确,成功登录。否则,会提示错误信息,点击确定,重新输入。同预期TC2 密码修改在系统主页面,单击“密码修改”后输入新密码和确认密

26、码密码如果为空或者与旧密码相同,提示修改失败,否则提示成功同预期TC3 注销点击页面右上方“注销”,在弹出的提示方框中选择“确定”或“取消”如果选择“确定”则表示退出系统,如果选择“取消”则表示退出系统失败,继而返回原界面同预期7.3 测试小结上面部分主要是测试了学生选课管理系统的可行性,并且介绍了对本系统的测试方式,描述了一些简单的测试实例。而且还将测试的最后实际结果与一开始预测的结果进行了对比。由上面的结果可以知道,整个系统的设计都比较符合要求,大体上符合一开始在需求中提出的各种要求。8.总结在本次毕业设计的整个过程中,让我收获最大的是:我对这几年所学的知识有了一个比较系统的认识和理解,从

27、不同角度理解了它们。而且在面对各种各样的问题自己由一开始的着急抓脑到了后来的淡定思考,即自己面对问题的心态随着设计的不断进行而越来越冷静与理智。系统从整体上实现了预期中的效果,方便了学生、教师、教务管理员的各个活动。但在过程中也遇到了很多问题,通过求助过同学与导师才得到比较好的解决方案。比如在写 jsp 界面调试时,发现从后台传到前台的汉字是乱码以及从前台读入到后台的汉字也是乱码等类似编码的问题,通过自己查找资料,和自己的验证,可以分别利用response.setCharacterEncoding(|”utf-8”)和request.setCharacterEnconding(“urtf-8”

28、)来统一设定汉字的编码方式,从而解决了中文乱码的问题。还有其它比如在设计系统时遇到表结构的设计的困扰,初步完成系统时出现的各种 bug 等等问题,在周边同学与导师的帮助下也都得到了解决。当然因为自身能力与时间的限制,系统的一些功能还存在一些不足,有待改进与完善。最后在整个过程中得到了指导老师和同学们的许多帮助,使我顺利的完成了这个系统,在这里,我表示衷心的感谢! 9.参考文献1张磊,丁香乾.Java Wbe 程序设计.电子工业出版社,2008 581-121.2李兴华.Java 开发实战经典,2009 108-180.3李兴华.Java Web 开发实战经典基础篇,2009 124-220.4

29、Java 学习路线图.Java 经典编程 300 例,明日科技 2008 56-78.5侯天超 Web 编程基础,2008 52-78.6范春晓.浅谈 JSP 动态网站开发技术J.中国科技博览, 2011 58-92.Student course management systemAbstract:Nowadays, with the popularization of computer, computer application technology continues to mature, the scope of its application is more and more wide

30、ly, 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

31、, 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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报