毕业设计(论文)-基于JavaWeb技术的班级管理系统的设计与实现.doc_第1页
毕业设计(论文)-基于JavaWeb技术的班级管理系统的设计与实现.doc_第2页
毕业设计(论文)-基于JavaWeb技术的班级管理系统的设计与实现.doc_第3页
毕业设计(论文)-基于JavaWeb技术的班级管理系统的设计与实现.doc_第4页
毕业设计(论文)-基于JavaWeb技术的班级管理系统的设计与实现.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业设计题目 基于JavaWeb技术 的班级管理系统的设计与实现 姓名 琪学号 4院 系 系专业 信息与计算科学 学指导教师 2016年 12月 教务处制本科生毕业设计声明本人郑重声明:所呈交的毕业设计,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本设计的研究成果不包含任何他人创作的、已公开发表或没有公开发表的作品内容。对本设计所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本设计创作声明的法律责任由本人承担。 作者签名: 年 月 日 本人声明:该毕业设计是本人指导学生完成的研究成果,已经审阅过毕业设计的全部内容,保证题目、关键词、摘要部分中英文内容的一致性和准确性,并通过一定检测手段保证毕业设计未发现违背学术道德诚信的不端行为。 指导教师签名: 年 月 日内容摘要:本设计使用SSH框架,以MYSQL作为数据库,以JAVA语言编程,使用JSP动态页面开发技术设计了班级管理系统,用于统计学生的成绩、考勤、评优获奖等信息,解决了之前靠手工记录,容易出现错误及耗费时间的问题,操作方便,容易维护,大大提高了教师及学生的工作及学习效率. 关键词:SSH框架 MYSQL数据库 JAVA语言 JSP开发技术 Abstract:This design using SSH framework,MYSQL database,JAVA language,JSP dynamic page technology to design the class management system,The design statistics students grades,attendance,assessment,etc. solved by hand record,prone to errors and time-consuming problem,convenient operation,easy maintenance,greatly improving the teachers and students work and learning efficiency.Key words:SSH framework MYSQL database JAVA languageJSP development technology全套设计加扣3012250582 目 录1前言12开发工具、技术及框架12.1开发工具 12.2系统开发的思想技术框架13 系统需求分析33.1可行性分析 33.2总体功能需求分析33.3业务流程图和用例图54 系统详细设计与实现64.1系统和数据库的配置64.2概念模型设计74.3数据库逻辑模型74.4数据库表结构105系统功能实现115.1程序类图115.2系统功能实现的主要模块176 软件的测试186.1软件测试的目的及任务186.2测试数据197总结20参考文献21致谢221前言现在是信息时代,社会在进步和发展,信息化在我们的生活中日益突显出来1,学校也不例外,信息产业在学校规模中所占比例日趋增加.因此,应该如何使学校中人、财、物等资源发挥最大的效益,实现办公自动化,是学校一直以来追求的目标.现在学校都采用了信息化管理的方式来进行更有效的班级管理,利用计算机管理数据不同于人工处理数据信息,利用计算机可以记录更多的数据信息.本设计使用SSH框架,以MYSQL作为数据库,以JAVA语言编程,使用JSP动态页面开发技术设计了班级管理系统.本设计的优点在于操作方便,容易维护,大大提高了教师及学生的工作及学习效率,学校领导可以第一时间知道有关学校班级情况和各班班主任等信息.班主任可以更方便管理班级,查询学生信息等.还为班干部提供了一个很好的管理平台,能最大程度上减少管理的工作量,做到信息的科学统计、规范管理、和快速的查询.2开发工具、技术和框架2.1开发工具MyEclipse是在eclipse基础上加了插件的功能丰富的javaEE集成开发环境,应用支持十分广泛.可以支持java ,servlet ,jsp ,struts ,spring, Hibernate等.包括了完备的编码、调试、测试和发布功能. Tomcat由Apache、Sun 和其他一些公司及个人共同开发而成.Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能2.MySQL数据库,MySQL是一个目前最流行的关系型数据库管理系统3.它将数据保存在不同的表中并不是一个仓库中,大大提高了工作效率及灵活性.MySQL使用的是标准的SQL数据语言形式.由于其体积小速度快,所以大受欢迎.2.2 系统开发的思想技术和框架2.2.1JSP技术与MVC模式本系统采用jsp技术,基于MVC模式开发,使用SSH框架(struts2、spring、hibernate)来增加系统的开发速度.所谓的MVC模式是”Model-View-Controller”的缩写,是一种设计模式,中文翻译为”模式-视图-控制器”.程序就是用struts2和hibernate这两个框架来实现模型层和控制器这两层,jsp实现视图这一层.一般来说程序就是在数据库和页面之间起桥梁作用的,jsp页面请求先到action,再到dao,再回到action,回到jsp页面,action主要处理来自页面的请求,dao主要是和数据库的交互,struts2主要用在action,处理来自页面的请求,处理完请求后跳转回页面.Hibernate主要用在dao,包括对数据库的增、删、改、查的操作,spring控制程序的流程.2.2.2 SSH框架及其配置文件本系统主要采用SSH框架.SSH框架就是struts2,spring,hibernate的简称,运用3个框架的集成协作使用,可以有效的提高代码编写的效率,从而有效的降低程序开发的周期. struts的配置文件,该文件的作用主要起到来自JSP的请求的跳转分配的作用,主要用在action.spring配置文件,Spring 在本项目中主要用到了IOC的功能,就是把对象实例化,控制程序的流程. hibernate配置文件,主要用在DAO,包括对数据库的增删改查的操作.这是Hibernate的配置文件,在该文件中首先加载了数据库的连接信息.3系统需求分析3.1可行性分析现在是信息时代,社会在进步和发展,信息化在我们的生活中日益突显出来,学校也不例外,信息产业在学校规模中所占比例日趋增加.因此,应该如何使学校中人、财、物等资源发挥最大的效益,实现办公自动化,是学校一直以来追求的目标.3.2总体功能需求分析本系统分管理员、教师、班干部和学生4个角色,总功能图如图1:系统通知查询个人成绩查询个人考勤查询班费查询个人账户查询学生教师学生信息查询班干部管理成绩管理考勤管理班费管理通知管理个人账户管理教师管理班级管理学生查询用户管理系统管理员班干部图1系统功能需求分析3.2.1系统管理员的功能系统管理员的主要功能有教师管理、班级管理、学生查询、用户管理,如图2:图2系统管理员功能图3.2.2教师的功能 教师主要功能是学生信息查询、班干部管理、成绩管理、考勤管理、班费管理、通知管理。教师模块的功能图如图3:图3教师的功能图3.2.3班干部的功能班干部分班长,学习委员和生活委员。班长功能有学生信息查询、成绩管理、通知管理、通知查询、个人成绩查询、个人考勤查询、班费查询、个人账户查询;学习委员的主要功能有学生信息查询、考勤管理、成绩管理、通知查询、个人成绩查询、个人考勤查询、班费查询、个人账户查询;生活委员的主要功能有学生信息查询、班费管理、通知查询、个人成绩查询、个人考勤查询、班费查询、个人账户查询。班干部的功能图如图4:班干部图4班干部的功能图3.2.4学生的功能学生的主要功能是通知查询、个人成绩查询、个人考勤查询、班费查询、个人账户查询。学生的功能图如图5:图5学生的功能图3.3业务流程图和用例图 业务流程图,如图6:开始输入登录信息验证是否正确成功登录系统主界面各种操作结束图6用户登录流程图用例图,如图7:班级成绩考勤通知班费班干部管理员学生教师图7系统用例图4系统详细设计与实现4.1系统和数据库的配置 系统按通用的B/S(浏览器、服务器)模式进行设计,如图8:浏览器Web服务器数据库 图8B/S结构 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致4.4.2概念模型设计概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示.E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性.它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况.本系统E-R图如下:1管理管理n1班级nn管理班干部系统管理员1n管理管理成绩111nn管理管理管理1nnn查询考勤11nn管理查询通知教师nnn管理查询111查询班费11学生图9 E-R图4.3数据库逻辑模型班费表(主键、删除状态、费用名称、收入 支出、金额、备注、时间学期、班级)图10班费图班级表(主键、是否删除状态、班级名称、班主任)图11班级图成绩表(主键、是否删除状态、分数、课程名、评语、任课老师、学期、关联的学生)图12成绩图考勤表(主键、是否删除状态、考勤类型、备注、考勤日期、关联的学生)图13考勤图通知表(主键、是否删除状态、通知内容、添加时间、通知标题、关联的班级、关联的用户) 图14通知图用户表(主键、添加时间、是否删除状态、电话、家庭住址、密码、用户角色、姓名、用户名、关联的班级、性别、出生年月、任职)图15用户图4.4数据库表结构(1)班费表t_banfei,用在班费情况的记录.表1 班费表名称类型空备注idint(11)no主键banfeideleteint(11)no表示是否删除状态,0未删除,1删除fnamevarchar(255)yes费用名称leixingvarchar(255)yes收入 支出moneyvarchar(255)yes金额remarktextyes备注shijianvarchar(255)yes时间xueqivarchar(255)yes学期banjiidint(11)yes关联的班级,外键(2)班级表t_banji,用于统计班级信息.表2班级表名称类型空备注idint(11)no主键deletestatusint(11)no表示是否删除状态,0未删除,1删除mingchenvarchar(255)yes班级名称useridint(11)yes班主任,外键(3)成绩表t_chengji,用于对学生的成绩进行记录.表3 成绩表名称类型空备注idint(11)no主键chengjideleteint(11)no表示是否删除的状态,0未删除,1删除fenshuvarchar(255)yes分数knamevarchar(255)yes课程名pingyutextyes评语rklsvarchar(255)yes任课老师xueqivarchar(255)yes学期useridint(11)yes关联的学生,外键(4)考勤表t_kaoqin,用于记录学生的考勤情况.表4考勤表名称类型空备注idint(11)no主键kaoqindeleteint(11)no表示是否删除状态,0未删除,1删除leixingvarchar(255)yes考勤类型remarktextyes备注riqivarchar(255)yes考勤日期useridint(11)yes关联的学生,外键(5)通知表t_notice,用于通知功能.表5通知表名称类型空备注idint(11)no主键neirongtextyes通知内容noticedeleteint(11)no是否删除状态,0未删除,1删除shijianvarchar(255)yes添加时间tbiaotivarchar(255)yes通知标题banjiidint(11)yes关联的班级,外键useridint(11)yes关联的用户,外键(6)用户表t_user,用于记录用户的信息.表6用户表名称类型空备注idint(11)no主键createtimevarchar(255)yes添加时间deletestatusint(11)no表示是否删除状态,0表示未删除,1表示删除dianhuvarchar(255)yes电话dizhivarchar(255)yes家庭住址passwordvarchar(255)yes密码roleint(11)no1系统管理员2教师3班干部truenamevarchar(255)yes姓名usernamevarchar(255)yes用户名banjiidint(11)yes关联的班级,外键birthvarchar(255)yes出生年月sexvarchar(255)yes性别zhiwuvarchar(255)yes任职5系统功能实现5.1程序的类图5.1.1班费类图Banfei图16班费类图对应的程序代码:/班费Table(name=t_Banfei)public class Banfei private int id;private int banfeidelete;/表示是否删除的状态,0表示未删除,1表示删除JoinColumn(name=banjiid)private Banji banji;/关联的班级,外键private String xueqi;/学期private String fname;/费用名称private String leixing;/收入 支出private String money;/金额private String shijian;/时间Column(name=remark, columnDefinition=TEXT)private String remark;/备注5.1.2班级类图Banji图17班级类图对应的程序代码:/班级Table(name=t_Banji)public class Banji private int id;private int deletestatus;/表示是否删除的状态,0表示未删除,1表示删除private String mingchen;/班级名称JoinColumn(name=userid)private User user;/班主任,外键5.1.3成绩类图Chengji图18成绩类图对应的程序代码:/成绩Table(name=t_Chengji)public class Chengji private int id;private int chengjidelete;/表示是否删除的状态,0表示未删除,1表示删除JoinColumn(name=userid)private User user;/关联的学生外键private String kname;/课程名private String xueqi;/学期private String rkls;/任课老师private String fenshu;/分数Column(name=pingyu, columnDefinition=TEXT)private String pingyu;/评语5.1.4考勤类图Kaoqin图19考勤类图对应的代码:/考勤Table(name=t_Kaoqin)public class Kaoqin private int id;private int kaoqindelete;/表示是否删除的状态,0表示未删除,1表示删除JoinColumn(name=userid)private User user;/关联的学生,外键private String leixing;/考勤类型private String riqi;/考勤日期Column(name=remark, columnDefinition=TEXT)private String remark;/备注5.1.5通知类图Notice图20通知类图对应的代码:/通知Table(name=t_Notice)public class Notice private int id;private int noticedelete;/表示是否删除的状态,0表示未删除,1表示删除private String tbiaoti;/通知标题Column(name=neirong, columnDefinition=TEXT)private String neirong;/通知内容JoinColumn(name=banjiid)private Banji banji;/关联的班级,外键private String shijian;/添加时间JoinColumn(name=userid)private User user;/关联的用户,外键5.1.6用户类图User图21用户类图对应的代码:/用户Table(name=t_User)public class User private int id;private int deletestatus;/表示是否删除的状态,0表示未删除,1表示删除private String username;private String password;private String createtime;private int role;/1表示系统管理员,2表示教师,3表示学生,4表示班干部private String truename;/姓名private String dianhua;/电话private String dizhi;/家庭住址private String sex;/性别private String brith;/出生年月private String zhiwu;/任职JoinColumn(name=banjiid)private Banji banji;/关联的班级,外键5.2系统功能实现的主要模块5.2.1 系统登录页面图22系统登录首先从获取从页面输入的用户名、密码以及用角色,然后调用userDao.selectBean方法,从数据库里取出该条记录进行判断,如果该条记录存在,则说明用户登陆成功,同时把用户信息存在session里面方便调用,如果记录为空,则跳转到登陆页面,同时提醒用户错误信息.5.2.2 教师管理页面图23教室管理页面首先通过String username = request.getParameter(username);String truename = request.getParameter(truename);这句代码从页面获取查询的选项,然后通过if(username!=null &!.equals(username), if(truename!=null &!.equals(truename)这句条件语句分别判断下这个值是否为空,当不为空时则通过StingBuffer 来叠加组装查询的sql语句,最后当sql语句组装好了之后,通过userDao.selectBeanList方法来调用数据库的查询方法来查到符合条件的记录,在通过request.setAttribute方法把查询到的记录传到显示的页面.同时通过this.setUrl(user/userlist.jsp);方法指定传回到具体指定的是哪个JSP页面.通过这样实现对数据查询功能的实现,同时在该教师列表页面定义了对教师信息的增加,修改,删除等操作.5.2.3班级管理页面图24班级管理首先通过String mingchen = request.getParameter(mingchen);这句代码从页面获取查询的选项,然后通过if(mingchen!=null&!.equals(mingchen)这句条件语句分别判断下这个值是否为空,当不为空时则通过StingBuffer 来叠加组装查询的sql语句,最后当sql语句组装好了之后,通过banjiDao.selectBeanList方法来调用数据库的查询方法来查到符合条件的记录,在通过request.setAttribute方法把查询到的记录传到显示的页面.同时通过this.setUrl(banji/banjilist.jsp)方法指定传回到具体指定的是哪个JSP页面.通过这样实现对数据查询功能的实现,同时在该班级列表页面定义了对班级信息的增加,修改,删除等操作.6 软件的测试6.1软件测试的目的及任务6.1.1软件测试的目的软件测试的目的,第一,确保软件质量,即确保软件以正确的方式做了这个事件,还有是否是自己所期望的事情.第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息.第三是保证整个软件开发过程是高质量的,软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程.6.1.2软件测试的任务 (1)寻找Bug; (2)避免软件开发过程中的缺陷; (3)衡量软件的品质; (4)关注用户的需求.总的目标是:确保软件的质量5.6.2测试数据 (1)管理员登录测试表7管理员登录测试用例及结果用例编号TEST001原形描述管理员登录用例目的检测管理员登录的完善性前提条件管理员能否正常登录本系统参与人员管理员子用例编号输入操作步骤期望结果实测结果状态TEST001a用户名密码 角色 进入登录界面输入相关信息点击登录登录成功,出现管理员页面成功通过 (2)添加教师功能测试表8添

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论