学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)_第1页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)_第2页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)_第3页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)_第4页
学生请假管理系统需求分析设计文档(附待部分核心代码-ssh框架实现)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

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: <action name=

11、"leave_*" class ="com.qjglms.struts.action.LeaveAction” method="1" ><result name="success" >$forwardpage </ result ></ action >LeaveServiceImpl: /* 填写请假表(第一岗)* parameave请假表对象* paramauditName审核人,请假学生* paramauditPosi审核岗位* paramauditStatus 审核状态1 -

12、未审核,2 -已审核,3-审核不通*/Overridepublic void doFirstAudi(Leave leave,String auditName,StringauditPosi) System. out.println( "保存请假表,生成第一岗记录");/0- 生成流水号UUID uuid = UUID. randomUUID();leave.setLeaveNum(uuid.toString();/ 保存请假表leaveDAO.save(leave);/3- 保存审核表/1. 申请登记(学生自己)/ ( 1)办结本岗,流水号、审核人、岗位名称、状态=2(

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

14、udit2.setStuName(auditName);audit2.setAuditPosi( " 辅导员 ");audit2.setAuditStatus(1);auditDAO.save(audit2);5.2 审核功能的实现学生提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间 大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到 院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束;如图5-2-0和图5-2-1图 5-1-0图 5-2-1其部分代码如下Le

15、aveAction:第二岗* return*/public String doSecond()System. out .println("审核信息 +" +leave );System. out .println("审核批注 +" +leave .getAuditNote();String username = (String)getRequest().getSession().getAttribute("username");String rootType = (String)getRequest().getSession().ge

16、tAttribute("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().getSe

17、ssion().getAttribute("username");String rootType = (String)getRequest().getSession().getAttribute("rootType");leaveService .doEnd( leave , username, rootType);return null ;LeaveServiceImpl: /* 办结第二岗* paramleave请假表对象* paramauditNote 审核批注* paramauditName 审核人* paramauditPosi 审核人* /p

18、ublic void doSecond(Leave leave,String auditName, String auditPosi)/ (1)办结本岗,流水号、审核人、岗位名称、状态 =2(已审核) int days =Integer. parseInt (leave.getLeaveDays();Audit audit1 = newAudit();audit1.setLeaveNum(leave.getLeaveNum();audit1.setAuditName(auditName);audit1.setAuditPosi( "辅导员");audit1.setAudit

19、Note(leave.getAuditNote();audit1.setAuditStatus(2);if (days<=3) /小于等于3天,成功标志设置为1audit1.setAuditEnd(1);Leave lea = newLeave();lea.setAuditName(auditName);lea.setAuditNote(leave.getAuditNote();lea.setLeaveNum(leave.getLeaveNum();leaveDAOupdateLeave(lea);else audit1.setAuditEnd(0);auditDAO.updateByL

20、eaveNum(audit1);if (days>3) /大于3天,生成下一岗记录Audit audit2 = newAudit();audit2.setLeaveNum(leave.getLeaveNum();audit2.setStuName(leave.getStuName();audit2.setAuditPosi( " 院领导 " );audit2.setAuditStatus(1);auditDAO.save(audit2);/* 办结最后一岗* paramleave 请假表对象* paramauditNote 审核批注* paramauditName 审

21、核人* paramauditPosi 审核人* /public void doEnd(Leave leave,String auditName, String auditPosi)/ ( 1)办结本岗,流水号、审核人、岗位名称、状态=2( 已审核 )Audit audit = newAudit();audit.setLeaveNum(leave.getLeaveNum();audit.setAuditName(auditName);audit.setAuditPosi( " 院领导 ");audit.setAuditNote(leave.getAuditNote();aud

22、it.setAuditStatus(2);audit.setAuditEnd(1);Leave lea = 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* Bs

23、fAw: bj: MeifiaGB!attrr±二-KA九也m量出Eft图5-3其部分代码如下RoleAction: public String updateRole() throws IOExceptionSystem.out.println("更新的权限列表:"+role .getRootList();roleService .updateUser( role );setForwardpage( JSP_ROLE_LISTtips ="修改成功!"return SUCCESS/*根据角色id查找权限列表返回前台设置单选框的状态return

24、throws IOException*/public String findListByRootID() throws IOExceptionString rootType = role .getRootType();role = roleService .findListByRootID(rootType);System.out.println("返回数据 json:" +role );return ”json2"RoleServiceImpl :/更新角色权限 paramrole 权限对象*/Overridepublic void updateUser(Rol

25、e 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 * 根据rootType获取权限对象* return Role* /Overridepublic Role findListByRootID(String rootType) return roleDao .findRootListByRoottype

26、(rootType);/*roleDao .merge(role_1); catch (Exception e) e.printStackTrace();5.4导入功能学生、教师基本信息可以通过导入 excel表格的方式进行批量添加,具部分代码如下:JSP: <form action ="<%=path %>teacher_importTchExcel.action” method ="post" enctype ="multipart/form-data" ><a>教师信息导入 </ a><

27、;br >ServiceImpl: /*导入教师信息表格*/public void importTchExcel(Teacher teacher,String pwd)User user = newUser();user.setPassword(pwd);user.setUsername(teacher.getTchName();user.setUserNum(teacher.getTchNum();user.setRootType(teacher.getRootType();userDAOsave(user);teacherDAQsave(teacher);6 .系统的运行环境需求6.

28、1 硬件环境:1)内存:需要至少512MHz2)硬盘:40G以上6.2 .软件环境:1)操作系统:Windows XP/WIndows 7或Windows更高服务器版本2)数据库:Mysql5.53)浏览器:IE8.0或更高版本、Chrome浏览器等主流浏览器7 .测试结果与分析7.1 主要测试内容本次测试主要针对本次开发的请假管理信息系统进行系统测试主要包括功能测试、界面测试、负载测试 文档测试。7.2软件测试的目的 软件质量是 由几个方面来衡量的1)在有限的时间里有效的把一个工作正确无误完成。2)符合应用标准的要求不同地区不同国家的用户使用习惯不同项目工程中的可维护性、可测试性等要求。3)

29、质量就是软件达到了最开始客户所想要的需求而代码的优美或精巧的技巧并不代表软件的高质量。4)质量也代表着它符合客户的需要。作为软件测试这个行业最重要的一件事就 是从客户的需求出发从客户的角度去看产品客户会怎么去使用这个产品使用过程中会遇到什么样的问题。7.2 软件测试的目的第一是确认软件的质量能正确的完成任务其一方面是确认软件做了你所期望的事情另一方面是确认软件以正确的方式来做了这个事件。第二是提供反馈信息比如提供给开发人员或程序经理的反馈信息为风险评估所准备的信息。7.3 软件测试的任务1)寻找Bug2)避免软件开发过程中的缺陷3)衡量软件的品质4)关注用户的需求。总的目标是:确保软件的质量7

30、.4 测试方法整个系统测试方法包括功能测试、负载测试、文档测试。7.4.1 功能测试对需求规格说明书中描述的所有功能 通过配置Tomcat服务器让客服端进行 功能测试。测试中需要考虑恶意测试和正常的测试测试出系统的各种功能死角。7.4.2 负载测试负载测试主要测试系统在多用户在线登陆操作时候系统的运行情况不出现系统故障。负载测试利用自动测试工具开展网络上有很多压力测试工具。7.4.3 文档测试文档测试主要包括用户文档、需求文档、设计文档测试测试主要在文档内容的 正确性、准确性保证了文档的正确性才能是有效的文档 准确性是精确的表达 出文档的意思。采用走查的方式进行文档测试。7.5 测试环境7.5

31、.1 硬件环境1)内存:需要至少512MHz7.5.2 软件环境1) 作系统:Windows xp/Windows 7的服务器版本2) 必装软件:Myeclipse9.0 Mysql5.5 Tomcat 6.0.17.6 系统具体测试卜面是用在此,由于版面有限,不可能将系统的每一个功能的测试都表现出来, 户登录和学生添加请假单及审核功能进行测试。7.6.1 用户登录测试:测试内容测试数据测试结果用户名密码输入后效数据adminadmin后效空admin无效空数据admin空无效空空无效7.6.2 学生添加请假单测试:填写请假单页面:耳 *U.CS.2J 噌不1£ '2D16

32、K-3e 13.06 25'1mr -哂t:八r &臼七二三圆仁国园屈西小丁方京甫住Q同上工: 了 f 日立修点击提交后数据库添加请假单成功:id_fl 5i-ti而Mu4峥.恒电为zniis-m-Hi EA1DW工肃I12OQ2O3J股事三句奸工用图*6而LXHY&Uh幅已1二里一千工7.6.3 审核功能测试: 请假正常流程:学生填写请假单,然后提交给班主任,如果3天以内的请假单由班主任直接审批, 3天以上的请假单,由班主任提交给院长审批,审批通过的任课老师可以查询, 然后更新学生考勤 未通过直接回退给学生,学生重新提交。1)提出假设测试假设学生提交3天以上的请假单,如请假一周,不通过院长审批,直接由班主任 审批通过,完成请假流程。3天以上的请假班主任无权限审核必须传递给院 长 由院长审核通过。故假设无效。2)假设学生提交请假单不通过班主任和院长审批,直接通过,完成请

温馨提示

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

评论

0/150

提交评论