学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)精编版_第1页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)精编版_第2页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)精编版_第3页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)精编版_第4页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

1、2014 - 2015 学年第 2学期1总体目标 .11.1背景 .11.1.1 引言 .11.2 要求 .11.3 目标 .12.需求分析 .22.1功能需求描述 .22.1.1 基本功能: .22.1.2 业务功能: .22.2用户需求描述 .22.2.1 学生用户需求描述 .22.2.2 任课教师用户需求描述. 23.数据库设计 .24.功能模块设计 .44.1系统流程 .55.主要功能的具体实现 .85.1请假功能的实现 .85.2审核功能的实现 .115.3权限修改功能 .155.4导入功能 .176系统的运行环境需求 .186.1硬件环境: .186.2.软件环境: .187测试结

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

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

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

5、表、请假表、审核表、岗位表、管理员表、权限表。学生表 (student):字段类型长度主键是否为空注释idint5010idstu_numvachar5000学号stu_namevachar5000学生姓名stu_sexvachar5000性别stu_classvachar5000班级leava_timesint5000请假次数stu_phonevachar5000联系电话stu_yuanxivachar5000所属院系root_typevachar5000权限类型(岗位名称)教师表 (teacher):字段类型长度主键是否为空注释idint5010idtch_numvachar5000教师编

6、号tch_namevachar5000教师姓名tch_sexvachar5000教师性别lavelvachar5000级别(辅导员,领导)yuanxivachar5000所属院系tch_phonevachar5000联系电话root_typevacahr5000权限类型(岗位名称)请假表 (leave):字段类型长度主键是否为空注释idint5010idleave_numvachar5000请假流水号leave_startvachar5000请假开始时间leave_endvachar5000请假结束时间leave_daysvachar5000请假天数leave_reasonvachar5000

7、请假原因stu_numvachar5000请假学号stu_namevachar5000学生姓名审核表 (audit):3字段类型长度主键是否为空注释idint5010idleave_numvachar5000请假流水号audit_namevachar5000审核人audit_statusint5000审核状态audit_timevachar5000审核时间audit_posivachar5000审核岗位audit_notevachar15000批注岗位表 (position):字段类型长度主键是否为空注释idint5010idposi_numvachar5000岗位编号posi_namevac

8、har5000岗位名称管理员表 (admin):字段类型长度主键是否为空注释idint5010idadmin_numvachar5000管理员编号admin_namevacahr5000管理员名字admin_phoneint1000联系电话权限表( root):字段类型长度主键是否为注释空idint5010idroot_typevachar5000权限类型 (学生, 辅导员, 领导)root_listvachar5000权限集合root_numvachar5000权限编号4.功能模块设计请假管理系统涉及到学生用户、教师用户和管理员,主要的功能模块为学生管理模块、教师管理模块、请假管理模块、角色

9、管理模块。本系统的功能模块图如图: 4-04请假管理系统学请角教生假色师管管管管理理理理增填辅院打查创修修增删写导领印看删建改改改请员导请请改角权密查假审审假假查色限码学条核核条记教生录师信信息息图 4-04.1 系统流程登陆流程:如图4-1-1开始用户登录N判别身份并验证帐号密码Y登录成功,进入系统图 4-1-1请假流程:需要请假的学生可以在系统中填写请假条进行请假申请,提交5请假申请后, 提交到辅导员岗进行审核,如果请假时间小于或等于3 天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于3 天,若未审核未通过则请假流程结束,若在辅导员岗审核通过, 则提交到院领导岗进行

10、审核,审核通过后生成请假记录,未通过则请假流程结束;如图4-1-2开始学生用户填写请假信息生成辅导员岗未审核记录辅导员进行审核请假时间 >3天NY审核通过审核通过并生成下一岗未审核记录Y院领导进行审核N审核通过YNNY结束图 4-1-2权限设置流程: 系统管理员可以通过权限设置进行添加不同的登录角色并6可以赋予不同的权限;如图4-1-3开始系统管理员进入系统权限设置页面输入所要系统角色名称和编号选择所要赋予的权限保存结束图 4-1-3修改权限:系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图4-1-47开始系统管理员进入系统选择相应的用户类型查

11、询其相应的权限对其权限的添加或者删除保存结束图 4-1-45.主要功能的具体实现5.1 请假功能的实现学生在需要请假时, 进入系统按照要求填写好请假条的内容确认后则提交请假申请交由辅导员进行审核。如图所示:8其部分代码如下:Action:/*保存请假条信息*return*/publicString addLeave()System. out .println(" 请假表信息: " +leave );String username = (String)getRequest().getSession().getAttribute("username" );S

12、tring rootType = (String)getRequest().getSession().getAttribute("rootType" );leaveService .doFirstAudi( leave , username, rootType); return SUCCESS;Struct.xml:method="1" >"success">$forwardpage </ result ><result name=</ action >LeaveServiceImpl:/*

13、填写请假表 ( 第一岗 )* paramleave 请假表对象* paramauditName 审核人 , 请假学生*paramauditPosi审核岗位*paramauditStatus审核状态1 - 未审核, 2 - 已审核, 3 - 审核不通过*/9Overridepublicvoid doFirstAudi(Leave leave,String auditName,StringauditPosi) System. out .println(" 保存请假表,生成第一岗记录 -");/0- 生成流水号UUID uuid = UUID.randomUUID();leave

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

15、.save(audit1);/ ( 2)初始化辅导员岗位,流水号、岗位名称、状态 =1( 未审核 )Audit audit2 =new Audit();audit2.setLeaveNum(uuid.toString();audit2.setStuName(auditName);audit2.setAuditPosi("辅导员 ");audit2.setAuditStatus(1);auditDAO.save(audit2);105.2 审核功能的实现学生提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3 天,辅导员审核通过后生成请假记录,未通过,请假流程结束

16、,如果请假时间大于 3 天,若未审核未通过则请假流程结束, 若在辅导员岗审核通过, 则提交到院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束;如图 5-2-0 和图 5-2-1图 5-1-0图 5-2-1其部分代码如下LeaveAction:/*11* 第二岗* return*/publicString doSecond()System. out .println(" 审核信息 +" +leave );System. out .println(" 审核批注 +" +leave .getAuditNote();String username

17、= (String)getRequest().getSession().getAttribute("username" );String rootType = (String)getRequest().getSession().getAttribute("rootType" );leaveService .doSecond( leave , username, rootType);returnnull ;/*最后一岗*return*/publicString doEnd()System. out .println(" 院领导审核信息 +&quo

18、t; +leave );System. out .println(" 院领导审核批注 +" +leave .getAuditNote();String username = (String)getRequest().getSession().getAttribute("username" );String rootType = (String)getRequest().getSession().getAttribute("rootType" );leaveService .doEnd( leave , username, rootTy

19、pe);returnnull ;LeaveServiceImpl:/*12* 办结第二岗* paramleave 请假表对象* paramauditNote 审核批注* paramauditName 审核人* paramauditPosi 审核人*/public void doSecond(Leave leave,String auditName, String auditPosi)/ ( 1)办结本岗,流水号、审核人、岗位名称、状态 =2( 已审核 ) int days =Integer. parseInt (leave.getLeaveDays();Audit audit1 =new Au

20、dit();audit1.setLeaveNum(leave.getLeaveNum();audit1.setAuditName(auditName);audit1.setAuditPosi("辅导员 ");audit1.setAuditNote(leave.getAuditNote();audit1.setAuditStatus(2);if (days<=3) / 小于等于 3 天,成功标志设置为1audit1.setAuditEnd(1);Leave lea =new Leave();lea.setAuditName(auditName);lea.setAudit

21、Note(leave.getAuditNote();lea.setLeaveNum(leave.getLeaveNum();leaveDAO.updateLeave(lea); else audit1.setAuditEnd(0);auditDAO.updateByLeaveNum(audit1);if (days>3) / 大于 3 天,生成下一岗记录Audit audit2 =new Audit();13audit2.setLeaveNum(leave.getLeaveNum();audit2.setStuName(leave.getStuName();audit2.setAudit

22、Posi("院领导");audit2.setAuditStatus(1);auditDAO.save(audit2);/* 办结最后一岗* paramleave 请假表对象* paramauditNote 审核批注* paramauditName 审核人* paramauditPosi 审核人*/publicvoid doEnd(Leave leave,String auditName, String auditPosi)/ ( 1)办结本岗,流水号、审核人、岗位名称、状态 =2( 已审核 )Audit audit =new Audit();audit.setLeaveNu

23、m(leave.getLeaveNum();audit.setAuditName(auditName);audit.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();l

24、eaveDAO.updateLeave(lea);14auditDAO.updateByLeaveNum(audit);5.3 权限修改功能系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图:图5-3图 5-3其部分代码如下RoleAction:publicString updateRole()throws IOExceptionSystem. out .println(" 更新的权限列表: " +role .getRootList();roleService.updateUser( role );setForwardpage( J

25、SP_ROLE_LIST);tips= " 修改成功! " ;returnSUCCESS;/* 根据角色 id 查找权限列表返回前台设置单选框的状态* return* throws IOException15*/publicString findListByRootID()throws IOExceptionString rootType =role .getRootType();role= roleService.findListByRootID(rootType);System. out .println(" 返回数据 json:" +role );

26、return"json2" ;RoleServiceImpl:/* 根据 rootType 获取权限对象* return Role*/OverridepublicRole findListByRootID(String rootType) returnroleDao .findRootListByRoottype(rootType);/* 更新角色权限* paramrole 权限对象*/Overridepublicvoid updateUser(Role role) Role role_1 =null ;List list =roleDao .findByRootType(

27、role.getRootType();if (list.size()>0)role_1 = (Role) list.get(0);role_1.setRootList(role.getRootList();try16roleDao .merge(role_1); catch (Exception e) e.printStackTrace();5.4 导入功能学生、教师基本信息可以通过导入excel 表格的方式进行批量添加,其部分代码如下:JSP:<formaction=" <%=path%>/teacher_importTchExcel.action"

28、;method ="post"enctype ="multipart/form-data"><a>教师信息导入</ a><br >ServiceImpl:/* 导入教师信息表格*/publicvoid importTchExcel(Teacher teacher,String pwd)User user =new User();user.setPassword(pwd);user.setUsername(teacher.getTchName();user.setUserNum(teacher.getTchNum(

29、);user.setRootType(teacher.getRootType();userDAO.save(user);teacherDAO.save(teacher);176系统的运行环境需求6.1 硬件环境:1) 内存:需要至少 512MHZ2) 硬盘: 40G以上6.2. 软件环境:1) 操作系统: Windows XP/WIndows 7 或 Windows更高服务器版本2) 数据库: Mysql5.53) 浏览器: IE8.0 或更高版本、 Chrome浏览器等主流浏览器7测试结果与分析7.1 主要测试内容7.2软件测试的目的软件质量是1) 在有限的时间里有效的把一个工作正确无误完成

30、。2)中的可维护性、可测试性等要求。3)巧并不代表软件的高质量。4) 质量也代表着它符合客户的需要。 作为软件测试这个行业最重要的一件事就品使用过程中会遇到什么样的问题。187.2 软件测试的目的第二是提供信息。7.3 软件测试的任务1) 寻找 Bug2)3)4) 关注用户的需求。总的目标是:确保软件的质量7.4 测试方法整个系统测试方法包括功能测试、负载测试、文档测试。功能测试Tomcat角。文档测试出文档的意思。采用走查的方式进行文档测试。197.5 测试环境硬件环境1) 内存:需要至少1) 作系统 :Windows xp/Windows 7 的服务器版本2) 必装软件7.6系统具体测试在

31、此,由于版面有限, 不可能将系统的每一个功能的测试都表现出来,下面是用户登录和学生添加请假单及审核功能进行测试。用户登录测试:测试内容测试数据测试结果用户名密码输入有效数据adminadmin有效空admin无效空数据admin空无效空空无效学生添加请假单测试:填写请假单页面:20点击提交后数据库添加请假单成功:审核功能测试:请假正常流程:学生填写请假单,然后提交给班主任,如果 3 天以内的请假单由班主任直接审批,3 天以上的请假单,由班主任提交给院长审批,审批通过的任课老师可以查询,1)假设学生提交 3 天以上的请假单, 如请假一周, 不通过院长审批, 直接由班主任审批通过,完成请假流程。 32)不通过班主任和院长审批, 直接通过,完成请假流程。 没有通过班主任或者院长审批的请假单, 是无

温馨提示

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

评论

0/150

提交评论