ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:665.71KB ,
资源ID:4362766      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-4362766.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).doc

1、2014 - 2015学年 第 2 学期 1总体目标41.1背景41.1.1引言41.2要求41.3目标42.需求分析52.1功能需求描述52.1.1基本功能:52.1.2业务功能:52.2用户需求描述52.2.1学生用户需求描述52.2.2任课教师用户需求描述53.数据库设计54. 功能模块设计74.1系统流程85. 主要功能的具体实现115.1请假功能的实现115.2审核功能的实现145.3权限修改功能185.4导入功能206系统的运行环境需求216.1硬件环境:216.2.软件环境:217测试结果与分析217.1主要测试内容217.2软件测试的目的227.3软件测试的任务 227.4.1

2、功能测试227.4.2负载测试227.4.3文档测试227.5 测试环境237.6 系统具体测试238课程设计总结241总体目标1.1背景1.1.1引言目前高校大部分都还是采用学生写好请假条,然后到辅导员那里申请请假的方式进行请假,这种方式不仅麻烦而且比较费时。在信息化的今天,能有效地借助网络才能提高办事效率。因此,请假管理系统能够解决这种请假方式所带来的很多麻烦。1.2要求请假管理系统要达到以下功能:增删查改:学生信息管理(导入/查/改/删)、老师(含辅导员和系领导)信息管理业务功能:学生填写请假事由、提交给辅导员审批、按请假制度超过3天的提交给系领导审批、打印请假条、学生查看历史请假记录、

3、辅导员可按不同筛选条件查看请假记录。1.3目标请假管理系统的基本目标是方便学生请假和校方的批假工作,系统实现后,应做该到:方便学生:学生可以通过登录本系统填写请假原因向校方申请请假,不用通过手写请假条后找到导员请假。方便校方:学生在系统中申请请假后可以进入本系统进行审核,方便了校方很多请假方面的工作。2.需求分析2.1功能需求描述2.1.1基本功能:学生信息管理(导入/查/改/删)、老师(含辅导员和系领导)信息管理2.1.2业务功能:学生填写请假事由、提交给辅导员审批、按请假制度超过3天的提交给系领导审批、打印请假条、学生查看历史请假记录、辅导员可按不同筛选条件查看请假记录。2.2用户需求描述

4、2.2.1学生用户需求描述学生对本系统的主要需求是:学生填写请假理由进行请假、打印请假条、查看请假记录、修改密码。2.2.2任课教师用户需求描述校方对本系统的主要需求是:学生信息管理(导入/查/改/删)、老师(含辅导员和系领导)信息管理、对学生的请假申请进行审核、打印、和查看请假记录。3.数据库设计请假管理系统涉及到学生用户、教师用户和管理员。根据实际应用的需要,最大限度的提高系统的性能,本系统涉及到8张表,分别是管理员表、学生表、教师表、请假表、审核表、岗位表、管理员表、权限表。学生表(student):字段类型长度主键是否为空注释idint5010idstu_numvachar5000学号

5、stu_namevachar5000学生姓名stu_sexvachar5000性别stu_classvachar5000班级leava_timesint5000请假次数stu_phonevachar5000联系电话stu_yuanxivachar5000所属院系root_typevachar5000权限类型(岗位名称)教师表(teacher):字段类型长度主键是否为空注释idint 5010idtch_numvachar5000教师编号tch_namevachar5000教师姓名tch_sexvachar5000教师性别lavelvachar5000级别(辅导员,领导)yuanxivachar

6、5000所属院系tch_phonevachar5000联系电话root_typevacahr5000权限类型(岗位名称)请假表(leave):字段类型长度主键是否为空注释idint 5010idleave_numvachar5000请假流水号leave_startvachar5000请假开始时间leave_endvachar5000请假结束时间leave_daysvachar5000请假天数leave_reasonvachar5000请假原因stu_numvachar5000请假学号stu_namevachar5000学生姓名审核表(audit):字段类型长度主键是否为空注释idint5010

7、idleave_numvachar5000请假流水号audit_namevachar5000审核人audit_statusint5000审核状态audit_timevachar5000审核时间audit_posivachar5000审核岗位audit_notevachar15000批注岗位表(position):字段类型长度主键是否为空注释idint5010idposi_numvachar5000岗位编号posi_namevachar5000岗位名称管理员表(admin):字段类型长度主键是否为空注释idint 5010idadmin_numvachar5000管理员编号admin_namev

8、acahr5000管理员名字admin_phoneint1000联系电话权限表(root):字段类型长度主键是否为空注释idint5010idroot_typevachar5000权限类型(学生,辅导员,领导)root_listvachar5000权限集合root_numvachar5000权限编号4. 功能模块设计请假管理系统涉及到学生用户、教师用户和管理员,主要的功能模块为学生管理模块、教师管理模块、请假管理模块、角色管理模块。本系统的功能模块图如图:4-0图4-04.1系统流程4.1.1登陆流程:如图4-1-1图4-1-14.1.2请假流程:需要请假的学生可以在系统中填写请假条进行请假申

9、请,提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束;如图4-1-2图4-1-24.1.3权限设置流程:系统管理员可以通过权限设置进行添加不同的登录角色并可以赋予不同的权限;如图4-1-3图4-1-34.1.4修改权限:系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图4-1-4图4-1-45. 主要功能的具体实现5.1请假功能的实现学生在

10、需要请假时,进入系统按照要求填写好请假条的内容确认后则提交请假申请交由辅导员进行审核。如图所示:其部分代码如下:Action:/* * 保存请假条信息 * return */public String addLeave()System.out.println(请假表信息:+leave);String username = (String) getRequest().getSession().getAttribute(username);String rootType = (String) getRequest().getSession().getAttribute(rootType);leav

11、eService.doFirstAudi(leave, username, rootType);return SUCCESS;Struct.xml: $forwardpage LeaveServiceImpl:/* * 填写请假表(第一岗) * param leave 请假表对象 * param auditName 审核人,请假学生 * param auditPosi 审核岗位 * param auditStatus 审核状态 1-未审核, 2-已审核 , 3-审核不通过 */Overridepublic void doFirstAudi(Leave leave,String auditNam

12、e,String auditPosi) System.out.println(保存请假表,生成第一岗记录-);/0-生成流水号UUID uuid = UUID.randomUUID();leave.setLeaveNum(uuid.toString();/保存请假表leaveDAO.save(leave);/3-保存审核表/1.申请登记(学生自己)/(1)办结本岗,流水号、审核人、岗位名称、状态=2(已审核)Audit audit1 = new Audit();audit1.setLeaveNum(uuid.toString();audit1.setAuditName(auditName);a

13、udit1.setAuditPosi(auditPosi);audit1.setStuName(auditName);audit1.setAuditStatus(2);auditDAO.save(audit1);/(2)初始化辅导员岗位,流水号、岗位名称、状态=1(未审核)Audit audit2 = new Audit();audit2.setLeaveNum(uuid.toString();audit2.setStuName(auditName);audit2.setAuditPosi(辅导员);audit2.setAuditStatus(1);auditDAO.save(audit2);

14、5.2审核功能的实现学生提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束;如图5-2-0和图5-2-1图5-1-0图5-2-1其部分代码如下LeaveAction:/* * 第二岗 * return */public String doSecond()System.out.println(审核信息+leave);System.out.println(审核批注+leave.getAu

15、ditNote();String username = (String) getRequest().getSession().getAttribute(username);String rootType = (String) getRequest().getSession().getAttribute(rootType);leaveService.doSecond(leave, username, rootType);return null;/* * 最后一岗 * return */public String doEnd()System.out.println(院领导审核信息+leave);S

16、ystem.out.println(院领导审核批注+leave.getAuditNote();String username = (String) getRequest().getSession().getAttribute(username);String rootType = (String) getRequest().getSession().getAttribute(rootType);leaveService.doEnd(leave, username, rootType);return null;LeaveServiceImpl:/* * 办结第二岗 * param leave 请

17、假表对象 * param auditNote 审核批注 * param auditName 审核人 * param auditPosi 审核人 */public void doSecond(Leave leave,String auditName, String auditPosi)/(1)办结本岗,流水号、审核人、岗位名称、状态=2(已审核)int days =Integer.parseInt(leave.getLeaveDays();Audit audit1 = new Audit();audit1.setLeaveNum(leave.getLeaveNum();audit1.setAud

18、itName(auditName);audit1.setAuditPosi(辅导员);audit1.setAuditNote(leave.getAuditNote();audit1.setAuditStatus(2);if(days3)/大于3天,生成下一岗记录Audit audit2 = new Audit();audit2.setLeaveNum(leave.getLeaveNum();audit2.setStuName(leave.getStuName();audit2.setAuditPosi(院领导);audit2.setAuditStatus(1);auditDAO.save(au

19、dit2);/* * 办结最后一岗 * param leave 请假表对象 * param auditNote 审核批注 * param auditName 审核人 * param auditPosi 审核人 */public void doEnd(Leave leave,String auditName, String auditPosi)/(1)办结本岗,流水号、审核人、岗位名称、状态=2(已审核)Audit audit = new Audit();audit.setLeaveNum(leave.getLeaveNum();audit.setAuditName(auditName);aud

20、it.setAuditPosi(院领导);audit.setAuditNote(leave.getAuditNote();audit.setAuditStatus(2);audit.setAuditEnd(1);Leave lea = new Leave();lea.setAuditName(auditName);lea.setAuditNote(leave.getAuditNote();lea.setLeaveNum(leave.getLeaveNum();leaveDAO.updateLeave(lea);auditDAO.updateByLeaveNum(audit);5.3权限修改功能

21、系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图:图5-3图5-3其部分代码如下RoleAction:public String updateRole() throws IOExceptionSystem.out.println(更新的权限列表:+role.getRootList();roleService.updateUser(role);setForwardpage(JSP_ROLE_LIST);tips = 修改成功!;return SUCCESS;/* * 根据角色id查找权限列表返回前台设置单选框的状态 * return * throws

22、IOException */public String findListByRootID() throws IOExceptionString rootType = role.getRootType();role = roleService.findListByRootID(rootType);System.out.println(返回数据json:+role);return json2;RoleServiceImpl:/* * 根据rootType获取权限对象 * return Role */Overridepublic Role findListByRootID(String rootTy

23、pe) return roleDao.findRootListByRoottype(rootType);/* * 更新角色权限 * param role 权限对象 */Overridepublic void updateUser(Role role) Role role_1 = null;List list = roleDao.findByRootType(role.getRootType();if(list.size()0)role_1 = (Role) list.get(0);role_1.setRootList(role.getRootList();try roleDao.merge(r

24、ole_1); catch (Exception e) e.printStackTrace();5.4导入功能学生、教师基本信息可以通过导入excel表格的方式进行批量添加,其部分代码如下:JSP:form action=/teacher_importTchExcel.action method=post enctype=multipart/form-data教师信息导入 ServiceImpl:/* * 导入教师信息表格 */public void importTchExcel(Teacher teacher,String pwd)User user = new User();user.se

25、tPassword(pwd);user.setUsername(teacher.getTchName();user.setUserNum(teacher.getTchNum();user.setRootType(teacher.getRootType();userDAO.save(user);teacherDAO.save(teacher);6系统的运行环境需求6.1硬件环境:1) 内存:需要至少512MHZ2) 硬盘:40G以上6.2.软件环境:1) 操作系统:Windows XP/WIndows 7或Windows更高服务器版本2) 数据库:Mysql5.53) 浏览器:IE8.0或更高版

26、本、Chrome浏览器等主流浏览器7测试结果与分析7.1主要测试内容 本次测试主要针对本次开发的请假管理信息系统进行系统测试主要包括功能测试、界面测试、负载测试文档测试。 7.2软件测试的目的 软件质量是由几个方面来衡量的1) 在有限的时间里有效的把一个工作正确无误完成。2) 符合应用标准的要求不同地区不同国家的用户使用习惯不同项目工程中的可维护性、可测试性等要求。3) 质量就是软件达到了最开始客户所想要的需求而代码的优美或精巧的技巧并不代表软件的高质量。4) 质量也代表着它符合客户的需要。作为软件测试这个行业最重要的一件事就是从客户的需求出发从客户的角度去看产品客户会怎么去使用这个产品使用过

27、程中会遇到什么样的问题。 7.2软件测试的目的第一是确认软件的质量能正确的完成任务其一方面是确认软件做了你所期望的事情另一方面是确认软件以正确的方式来做了这个事件。 第二是提供反馈信息比如提供给开发人员或程序经理的反馈信息为风险评估所准备的信息。 7.3软件测试的任务 1) 寻找Bug 2) 避免软件开发过程中的缺陷 3) 衡量软件的品质 4) 关注用户的需求。 总的目标是:确保软件的质量 7.4测试方法 整个系统测试方法包括功能测试、负载测试、文档测试。 7.4.1功能测试 对需求规格说明书中描述的所有功能通过配置Tomcat服务器让客服端进行功能测试。测试中需要考虑恶意测试和正常的测试测试

28、出系统的各种功能死角。 7.4.2负载测试 负载测试主要测试系统在多用户在线登陆操作时候系统的运行情况不出现系统故障。负载测试利用自动测试工具开展网络上有很多压力测试工具。 7.4.3文档测试 文档测试主要包括用户文档、需求文档、设计文档测试测试主要在文档内容的正确性、准确性保证了文档的正确性才能是有效的文档准确性是精确的表达出文档的意思。采用走查的方式进行文档测试。 7.5 测试环境 7.5.1硬件环境 1) 内存:需要至少512MHZ 7.5.2软件环境 1) 作系统:Windows xp/Windows 7的服务器版本 2) 必装软件:Myeclipse9.0 Mysql5.5 Tomc

29、at 6.0.1 7.6 系统具体测试 在此,由于版面有限,不可能将系统的每一个功能的测试都表现出来,下面是用户登录和学生添加请假单及审核功能进行测试。7.6.1用户登录测试:测试内容测试数据测试结果用户名密码输入有效数据adminadmin有效空数据空admin无效admin空无效空空无效7.6.2学生添加请假单测试:填写请假单页面:点击提交后数据库添加请假单成功:7.6.3审核功能测试:请假正常流程:学生填写请假单,然后提交给班主任,如果3天以内的请假单由班主任直接审批,3天以上的请假单,由班主任提交给院长审批,审批通过的任课老师可以查询,然后更新学生考勤未通过直接回退给学生,学生重新提交

30、。 1) 提出假设测试 假设学生提交3天以上的请假单,如请假一周,不通过院长审批,直接由班主任审批通过,完成请假流程。3天以上的请假班主任无权限审核必须传递给院长由院长审核通过。故假设无效。 2) 假设学生提交请假单不通过班主任和院长审批,直接通过,完成请假流程。没有通过班主任或者院长审批的请假单,是无效请假单,在任课老师页面无法显示,任课老师也不知道学生在校情况。故假设无效。8课程设计总结 本次设计的系统分为前台和后台两个大模块,采用Spring+Struts2+Hirbernate构架开发,系统的视图层与控制层主要通过Struts2的标签库和Action相关类设计实现;Hirbernate

31、用于持久层的实现,包括数据库访问层和对象模型的设计,提高了系统的安全性、可维护性、重用性和可扩展性。由于在做这个课程设计题目之前对于Struts2框架和hirbernate框架不怎么了解,平时上课没怎么用心,所以在整个系统的实现过程中遇到了很大的麻烦。并且,在设计请假管理系统时,需要对功能需求考虑完善。要求运用SSH技术对系统做好整体构架,这对我们小组来说是一个不小的难题。随着设计程度的不断深入,又遇到了一些早期没有想到的问题。特别是一些细节问题。为了解决这些问题,有时还要对几个模块进行大幅度的修改。在设计中,还需要进行细致的测试工作,以发现程序的错误和功能上的不足。由于时间和个人技术关系,本

32、系统还有一些不足和值得改进的地方比如说请假审核功能的细化,需要根据请假时间的长短,审核需要不同等级权限用户逐级进行,这样系统的灵活性就会有明显的提高。 通过这次课程设计,提高了我们小组在系统整体设计上的能力,增长了分析、解决问题的经验,对一些知识有了更深一步的掌握。可以说,这次课程设计既锻炼了我们动脑分析问题的能力,又锻炼了我们动手解决实际问题的能力,这将对我们以后的学习起到不可估量的作用。通过课程设计这次磨砺,我们的能力也提高了。所以它对于我们来说有着十分重要的意义。我们会运用从中得到的宝贵经验来指导我们今后的学习和工作,不断的实践,不断地学习,让自己变得更加充实自己,更适合于软件行业发展的需要。参考文献1郑阿奇JavaEE项目开发教程M.北京:电子工业出版社,2.12.262贾素玲,王强,jsp应用开发技术.北京:清华大学出版社3simoj.Structs 2 核心工作流程与原理.2012.07.13http:/ 4常建功,王向华.J2EE核心技术与企业应用:Ajax,JSP,Struts2, Sring,HibernarteM.北京:电子出版社,2012.22.235周爱武,汪海威,肖云,数据库课程设计M.机械工业出版社,2012.16第 22 页 共 24 页

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。