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

上传人:时光煮雨 文档编号:11687117 上传时间:2021-08-30 格式:DOCX 页数:25 大小:413.47KB
返回 下载 相关 举报
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx_第1页
第1页 / 共25页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx_第2页
第2页 / 共25页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx_第3页
第3页 / 共25页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx_第4页
第4页 / 共25页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx》由会员分享,可在线阅读,更多相关《学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现).docx(25页珍藏版)》请在三一文库上搜索。

1、2014 - 2015学年 第2学期1 .总体目标01.1 背景01.1.1 引言01.2 要求01.3 目标02 .需求分析12.1 功能需求描述12.1.1 基本功能:12.1.2 业务功能:12.2 用户需求描述12.2.1 学生用户需求描述 12.2.2 任课教师用户需求描述 13 .数据库设计14 .功能模块设计34.1 系统流程45 .主要功能的具体实现 75.1 请假功能的实现75.2 审核功能的实现105.3 权限修改功能145.4 导入功能166 .系统的运行环境需求 176.1 硬件环境:176.2 .软件环境:177 .测试结果与分析 177.1 主要测试内容177.2

2、软件测试的目的187.3 软件测试的任务 181.1.1 功能测试181.1.2 负载测试181.1.3 文档测试187.5 测试环境197.6 系统具体测试198.课程设计总结201 总体目标1.1 背景1.1.1 引言目前高校大部分都还是采用学生写好请假条, 然后到辅导员那里申请请假的方式进行请假, 这种方式不仅麻烦而且比较费时。 在信息化的今天, 能有效地借助网络才能提高办事效率。 因此, 请假管理系统能够解决这种请假方式所带来的很多麻烦。1.2 要求请假管理系统要达到以下功能:增删查改:学生信息管理(导入 / 查/ 改/ 删)、老师(含辅导员和系领导 )信息管理业务功能:学生填写请假事

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

4、制度超过3 天的提交给系领导审批、 打印请假条、 学生查看历史请假记录、 辅导员可按不同筛选条件查看请假记录。2.2 用户需求描述2.2.1 学生用户需求描述学生对本系统的主要需求是:学生填写请假理由进行请假、打印请假条、查看请假记录、修改密码。2.2.2 任课教师用户需求描述校方对本系统的主要需求是:学生信息管理(导入/查/ 改/删)、老师(含辅导员和系领导) 信息管理、 对学生的请假申请进行审核、 打印、 和查看请假记录。3 .数据库设计请假管理系统涉及到学生用户、教师用户和管理员。根据实际应用的需要,最大限度的提高系统的性能,本系统涉及到 8 张表,分别是管理员表、学生表、教师表、请假表

5、、审核表、岗位表、管理员表、权限表。学生表(student):教师表(teacher):字段类型长度idint50tch_numvachar50tch_namevachar50tch_sexvachar50lavelvachar50yuanxivachar50tch_phonevachar50root_typevacahr50主键是否为空注释10id00教师编号00教师姓名00教师性别00级别(辅导 员,领导)00所属院系00联系电话00权限类型(岗 位名称)请假表(leave):字段类型长度idint50leave_numvachar50leave_startvachar50leave_en

6、dvachar50leave_daysvachar50leave_reasonvachar50stu_numvachar50stu_namevachar50主键是否为空注释10id00请假流水号00请假开始时 间00请假结束时 间00请假天数00请假原因00请假学号00学生姓名审核表(audit):字段长度主键是否为空注释idint5010idleave_numvachar5000请假流水号audit_namevachar5000审核人audit_statusint5000审核状态audit_timevachar5000审核时间audit_posivachar5000审核岗位audit_not

7、evachar15000批注岗位表(position):字段长度主键是否为空注释idint5010idposi_numvachar5000岗位编号posi_namevachar5000岗位名称管理员表(admin):字段长度主键是否为空注释idint5010idadmin_numvachar5000管理员编号admin_namevacahr5000管理员名字admin_phoneint1000联系电话权限表(root)字段长度主键是否为 空注释idint5010idroot_typevachar5000权限类型(学生,辅导员,领 导)root_listvachar5000权限集合root_nu

8、mvachar5000权限编号4 .功能模块设计请假管理系统涉及到学生用户、教师用户和管理员,主要的功能模块为学生 管理模块、教师管理模块、请假管理模块、角色管理模块。本系统的功能模块图 如图:4-0请假管理系统学生管理增删改查学生信息图4-04.1系统流程4.1.1登陆流程:如图4-1-1登录成功,进入系 统图 4-1-14.1.2请假流程:需要请假的学生可以在系统中填写请假条进行请假申请,提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于 3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到

9、院领导岗进行4-1-24.1.3 权限设置流程:系统管理员可以通过权限设置进行添加不同的登录角色并可以赋予不同的权限;如图4-1-3开始图 4-1-34.1.4 修改权限:系统管理员可以通过查询出系统不同用户类型的权限并可以进 行各种权限的添加或者删除进行修改;如图 4-1-4图 4-1-45.主要功能的具体实现5.1 请假功能的实现学生在需要请假时,进入系统按照要求填写好请假条的内容确认后则提交请 假申请交由辅导员进行审核。如图所示:Bl交其部分代码如下:Action:* 保存请假条信息* return* /public String addLeave()System. out .print

10、ln(请假表信息:+leave);String username = (String)getRequest().getSession().getAttribute(username);String rootType = (String)getRequest().getSession().getAttribute(rootType);leaveService .doFirstAudi( leave , username, rootType);return SUCCESSStruct.xml: $forwardpage LeaveServiceImpl: /* 填写请假表(第一岗)* parame

11、ave请假表对象* paramauditName审核人,请假学生* paramauditPosi审核岗位* paramauditStatus 审核状态1 -未审核,2 -已审核,3-审核不通*/Overridepublic void doFirstAudi(Leave leave,String auditName,StringauditPosi) System. out.println( 保存请假表,生成第一岗记录);/0- 生成流水号UUID uuid = UUID. randomUUID();leave.setLeaveNum(uuid.toString();/ 保存请假表leaveDAO

12、.save(leave);/3- 保存审核表/1. 申请登记(学生自己)/ ( 1)办结本岗,流水号、审核人、岗位名称、状态=2( 已审核 )Audit audit1 = newAudit();audit1.setLeaveNum(uuid.toString();audit1.setAuditName(auditName);audit1.setAuditPosi(auditPosi);audit1.setStuName(auditName);audit1.setAuditStatus(2);auditDAO.save(audit1);/ ( 2)初始化辅导员岗位,流水号、岗位名称、状态=1(未

13、审核 )Audit audit2 = newAudit();audit2.setLeaveNum(uuid.toString();audit2.setStuName(auditName);audit2.setAuditPosi( 辅导员 );audit2.setAuditStatus(1);auditDAO.save(audit2);5.2 审核功能的实现学生提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间 大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到 院领导岗进行审核,审核通过后生成

14、请假记录,未通过则请假流程结束;如图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 .getAuditNote();String username = (String)getRequest().getSession().getAttribute(username);String rootType = (String)getRequest(

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

16、e(username);String rootType = (String)getRequest().getSession().getAttribute(rootType);leaveService .doEnd( leave , username, rootType);return null ;LeaveServiceImpl: /* 办结第二岗* paramleave请假表对象* paramauditNote 审核批注* paramauditName 审核人* paramauditPosi 审核人* /public void doSecond(Leave leave,String audi

17、tName, String auditPosi)/ (1)办结本岗,流水号、审核人、岗位名称、状态 =2(已审核) int days =Integer. parseInt (leave.getLeaveDays();Audit audit1 = newAudit();audit1.setLeaveNum(leave.getLeaveNum();audit1.setAuditName(auditName);audit1.setAuditPosi( 辅导员);audit1.setAuditNote(leave.getAuditNote();audit1.setAuditStatus(2);if (

18、days3) /大于3天,生成下一岗记录Audit audit2 = newAudit();audit2.setLeaveNum(leave.getLeaveNum();audit2.setStuName(leave.getStuName();audit2.setAuditPosi( 院领导 );audit2.setAuditStatus(1);auditDAO.save(audit2);/* 办结最后一岗* paramleave 请假表对象* paramauditNote 审核批注* paramauditName 审核人* paramauditPosi 审核人* /public void d

19、oEnd(Leave leave,String auditName, String auditPosi)/ ( 1)办结本岗,流水号、审核人、岗位名称、状态=2( 已审核 )Audit audit = newAudit();audit.setLeaveNum(leave.getLeaveNum();audit.setAuditName(auditName);audit.setAuditPosi( 院领导 );audit.setAuditNote(leave.getAuditNote();audit.setAuditStatus(2);audit.setAuditEnd(1);Leave lea

20、 = newLeave();lea.setAuditName(auditName);lea.setAuditNote(leave.getAuditNote();lea.setLeaveNum(leave.getLeaveNum();leaveDAO.updateLeave(lea);auditDAO.updateByLeaveNum(audit);5.3权限修改功能系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图:图 5-3事士求主I?K聿T* BsfAw: bj: MeifiaGB!attrr二-KA九也m量出Eft图5-3其部分代码如下RoleA

21、ction: public String updateRole() throws IOExceptionSystem.out.println(更新的权限列表:+role .getRootList();roleService .updateUser( role );setForwardpage( JSP_ROLE_LISTtips =修改成功!;return SUCCESS/*根据角色id查找权限列表返回前台设置单选框的状态return throws IOException*/public String findListByRootID() throws IOExceptionString ro

22、otType = role .getRootType();role = roleService .findListByRootID(rootType);System.out.println(返回数据 json: +role );return ”json2;RoleServiceImpl :/更新角色权限 paramrole 权限对象*/Overridepublic void updateUser(Role role) Role role_1 = null ;List list = roleDao .findByRootType(role.getRootType();if (list.size(

23、)0)role_1 = (Role) list.get(0);role_1.setRootList(role.getRootList();try * 根据rootType获取权限对象* return Role* /Overridepublic Role findListByRootID(String rootType) return roleDao .findRootListByRoottype(rootType);/*roleDao .merge(role_1); catch (Exception e) e.printStackTrace();5.4导入功能学生、教师基本信息可以通过导入 e

24、xcel表格的方式进行批量添加,具部分代码如下:JSP: form action =teacher_importTchExcel.action” method =post enctype =multipart/form-data 教师信息导入 ServiceImpl: /*导入教师信息表格*/public void importTchExcel(Teacher teacher,String pwd)User user = newUser();user.setPassword(pwd);user.setUsername(teacher.getTchName();user.setUserNum(t

25、eacher.getTchNum();user.setRootType(teacher.getRootType();userDAOsave(user);teacherDAQsave(teacher);6 .系统的运行环境需求6.1 硬件环境:1)内存:需要至少512MHz2)硬盘:40G以上6.2 .软件环境:1)操作系统:Windows XP/WIndows 7或Windows更高服务器版本2)数据库:Mysql5.53)浏览器:IE8.0或更高版本、Chrome浏览器等主流浏览器7 .测试结果与分析7.1 主要测试内容本次测试主要针对本次开发的请假管理信息系统进行系统测试主要包括功能测试、

26、界面测试、负载测试 文档测试。7.2软件测试的目的 软件质量是 由几个方面来衡量的1)在有限的时间里有效的把一个工作正确无误完成。2)符合应用标准的要求不同地区不同国家的用户使用习惯不同项目工程中的可维护性、可测试性等要求。3)质量就是软件达到了最开始客户所想要的需求而代码的优美或精巧的技巧并不代表软件的高质量。4)质量也代表着它符合客户的需要。作为软件测试这个行业最重要的一件事就 是从客户的需求出发从客户的角度去看产品客户会怎么去使用这个产品使用过程中会遇到什么样的问题。7.2 软件测试的目的第一是确认软件的质量能正确的完成任务其一方面是确认软件做了你所期望的事情另一方面是确认软件以正确的方

27、式来做了这个事件。第二是提供反馈信息比如提供给开发人员或程序经理的反馈信息为风险评估所准备的信息。7.3 软件测试的任务1)寻找Bug2)避免软件开发过程中的缺陷3)衡量软件的品质4)关注用户的需求。总的目标是:确保软件的质量7.4 测试方法整个系统测试方法包括功能测试、负载测试、文档测试。7.4.1 功能测试对需求规格说明书中描述的所有功能 通过配置Tomcat服务器让客服端进行 功能测试。测试中需要考虑恶意测试和正常的测试测试出系统的各种功能死角。7.4.2 负载测试负载测试主要测试系统在多用户在线登陆操作时候系统的运行情况不出现系统故障。负载测试利用自动测试工具开展网络上有很多压力测试工

28、具。7.4.3 文档测试文档测试主要包括用户文档、需求文档、设计文档测试测试主要在文档内容的 正确性、准确性保证了文档的正确性才能是有效的文档 准确性是精确的表达 出文档的意思。采用走查的方式进行文档测试。7.5 测试环境7.5.1 硬件环境1)内存:需要至少512MHz7.5.2 软件环境1) 作系统:Windows xp/Windows 7的服务器版本2) 必装软件:Myeclipse9.0 Mysql5.5 Tomcat 6.0.17.6 系统具体测试卜面是用在此,由于版面有限,不可能将系统的每一个功能的测试都表现出来, 户登录和学生添加请假单及审核功能进行测试。7.6.1 用户登录测试

29、:测试内容测试数据测试结果用户名密码输入后效数据adminadmin后效空admin无效空数据admin空无效空空无效7.6.2 学生添加请假单测试:填写请假单页面:耳 *U.CS.2J 噌不1 2D16 K-3e 13.06 251mr -哂t:八r &臼七二三圆仁国园屈西小丁方京甫住Q同上工: 了 f 日立修点击提交后数据库添加请假单成功:id_fl 5i-ti而Mu4峥.恒电为zniis-m-Hi EA1DW工肃I12OQ2O3J股事三句奸工用图*6而LXHY&Uh幅已1二里一千工7.6.3 审核功能测试: 请假正常流程:学生填写请假单,然后提交给班主任,如果3天以内的请假单由班主任直接

30、审批, 3天以上的请假单,由班主任提交给院长审批,审批通过的任课老师可以查询, 然后更新学生考勤 未通过直接回退给学生,学生重新提交。1)提出假设测试假设学生提交3天以上的请假单,如请假一周,不通过院长审批,直接由班主任 审批通过,完成请假流程。3天以上的请假班主任无权限审核必须传递给院 长 由院长审核通过。故假设无效。2)假设学生提交请假单不通过班主任和院长审批,直接通过,完成请假流程。没有通过班主任或者院长 审批的请假单,是无效请假单,在任课老师页面无法显示,任课老师也不知道学 生在校情况。故假设无效。8 .课程设计总结本次设计的系统分为前台和后台两个大模块,采用 Spring+Strut

31、s2+Hirbernate构架开发,系统的视图层与控制层主要通过Struts2的标签库和Action相关类设计实现;Hirbernate用于持久层的实现, 包括数据库访问层和对象模型的设计, 提高了系统的安全性、可维护性、重用性 和可扩展性。由于在做这个课程设计题目之前对于Struts2 框架和hirbernate框架不怎么了解,平时上课没怎么用心,所以在整个系统的实现过程中遇到了很 大的麻烦。并且,在设计请假管理系统时,需要对功能需求考虑完善。要求运用 SSH术术对系统做好整体构架,这对我们小组来说是一个不小的难题。随着设计 程度的不断深入,又遇到了一些早期没有想到的问题。 特别是一些细节问

32、题。为 了解决这些问题,有时还要对几个模块进行大幅度的修改。在设计中,还需要进行细致的测试工作, 以发现程序的错误和功能上的不足。 由于时间和个人技术关系, 本系统还有一些不足和值得改进的地方比如说请假审核功能的细化, 需要根据请假时间的长短, 审核需要不同等级权限用户逐级进行, 这样系统的灵活性就会有明显的提高。 通过这次课程设计, 提高了我们小组在系统整体设计上的能力,增长了分析、解决问题的经验,对一些知识有了更深一步的掌握。可以说,这次课程设计既锻炼了我们动脑分析问题的能力 , 又锻炼了我们动手解决实际问题的能力 , 这将对我们以后的学习起到不可估量的作用。 通过课程设计这次磨砺,我们的

33、能力也提高了。 所以它对于我们来说有着十分重要的意义。 我们会运用从中得到的宝贵经验来指导我们今后的学习和工作, 不断的实践, 不断地学习, 让自己变得更加充实自己,更适合于软件行业发展的需要。?参考文献1郑阿奇JavaEE项目开发教程M.北京:电子工业出版社,2.12.262 贾素玲,王强, jsp 应用开发技术. 北京 : 清华大学出版社3simoj.Structs 2 核心工作流程与原理.2012.07.134fdb887b010140ef.html4 常 建 功 , 王 向 华 .J2EE 核 心 技 术 与 企 业 应 用 :Ajax,JSP,Struts2,Sring,HibernarteM. 北京 : 电子出版社, 2012.22.235 周爱武,汪海威,肖云,数据库课程设计 M. 机械工业出版社, 2012.16

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1