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

下载本文档

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

文档简介

-第2学期TOC\o"1-3"\h\u44861.总体目标 487341.1背景 4297431.1.1引言 477731.2要求 4314561.3目标 4244832.需求分析 5246152.1功效需求描述 5146282.1.1基础功效: 5106902.1.2业务功效: 59202.2用户需求描述 5224502.2.1学生用户需求描述 5185612.2.2任课老师用户需求描述 5145753.数据库设计 5165184.功效模块设计 7314314.1系统步骤 815055.关键功效具体实现 11287185.1请假功效实现 1189385.2审核功效实现 14144665.3权限修改功效 1897935.4导入功效 20270366.系统运行环境需求 21289816.1硬件环境: 21161546.2.软件环境: 21231167.测试结果和分析 2185187.1关键测试内容 21197357.2软件测试目标 22102597.3软件测试任务 2265957.4.1功效测试 2289517.4.2负载测试 22312297.4.3文档测试 22134937.5测试环境 23159067.6系统具体测试 23190238.课程设计总结 241.总体目标1.1背景1.1.1引言现在高校大部分全部还是采取学生写好请假条,然后到教导员那里申请请假方法进行请假,这种方法不仅麻烦而且比较费时。在信息化今天,能有效地借助网络才能提升办事效率。所以,请假管理系统能够处理这种请假方法所带来很多麻烦。1.2要求请假管理系统要达成以下功效:增删查改:学生信息管理(导入/查/改/删)、老师(含教导员和系领导)信息管理业务功效:学生填写请假事由、提交给教导员审批、按请假制度超出3天提交给系领导审批、打印请假条、学生查看历史请假统计、教导员可按不一样筛选条件查看请假统计。1.3目标请假管理系统基础目标是方便学生请假和校方批假工作,系统实现后,应做该到:方便学生:学生能够经过登录本系统填写请假原因向校方申请请假,不用经过手写请假条后找到导员请假。方便校方:学生在系统中申请请假后能够进入本系统进行审核,方便了校方很多请假方面工作。2.需求分析2.1功效需求描述2.1.1基础功效:学生信息管理(导入/查/改/删)、老师(含教导员和系领导)信息管理2.1.2业务功效:学生填写请假事由、提交给教导员审批、按请假制度超出3天提交给系领导审批、打印请假条、学生查看历史请假统计、教导员可按不一样筛选条件查看请假统计。2.2用户需求描述2.2.1学生用户需求描述学生对本系统关键需求是:学生填写请假理由进行请假、打印请假条、查看请假统计、修改密码。2.2.2任课老师用户需求描述校方对本系统关键需求是:学生信息管理(导入/查/改/删)、老师(含教导员和系领导)信息管理、对学生请假申请进行审核、打印、和查看请假统计。3.数据库设计请假管理系统包含到学生用户、老师用户和管理员。依据实际应用需要,最大程度提升系统性能,本系统包含到8张表,分别是管理员表、学生表、老师表、请假表、审核表、岗位表、管理员表、权限表。学生表(student):字段类型长度主键是否为空注释idint5010idstu_numvachar5000学号stu_namevachar5000学生姓名stu_sexvachar5000性别stu_classvachar5000班级leava_timesint5000请假次数stu_phonevachar5000联络电话stu_yuanxivachar5000所属院系root_typevachar5000权限类型(岗位名称)老师表(teacher):字段类型长度主键是否为空注释idint5010idtch_numvachar5000老师编号tch_namevachar5000老师姓名tch_sexvachar5000老师性别lavelvachar5000等级(教导员,领导)yuanxivachar5000所属院系tch_phonevachar5000联络电话root_typevacahr5000权限类型(岗位名称)请假表(leave):字段类型长度主键是否为空注释idint5010idleave_numvachar5000请假流水号leave_startvachar5000请假开始时间leave_endvachar5000请假结束时间leave_daysvachar5000请假天数leave_reasonvachar5000请假原因stu_numvachar5000请假学号stu_namevachar5000学生姓名审核表(audit):字段类型长度主键是否为空注释idint5010idleave_numvachar5000请假流水号audit_namevachar5000审核人audit_statusint5000审核状态audit_timevachar5000审核时间audit_posivachar5000审核岗位audit_notevachar15000批注岗位表(position):字段类型长度主键是否为空注释idint5010idposi_numvachar5000岗位编号posi_namevachar5000岗位名称管理员表(admin):字段类型长度主键是否为空注释idint5010idadmin_numvachar5000管理员编号admin_namevacahr5000管理员名字admin_phoneint1000联络电话权限表(root):字段类型长度主键是否为空注释idint5010idroot_typevachar5000权限类型(学生,教导员,领导)root_listvachar5000权限集合root_numvachar5000权限编号功效模块设计请假管理系统包含到学生用户、老师用户和管理员,关键功效模块为学生管理模块、老师管理模块、请假管理模块、角色管理模块。本系统功效模块图图:4-0图4-04.1系统步骤4.1.1登陆步骤:图4-1-1图4-1-14.1.2请假步骤:需要请假学生能够在系统中填写请假条进行请假申请,提交请假申请后,提交到教导员岗进行审核,假如请假时间小于或等于3天,教导员审核经过后生成请假统计,未经过,请假步骤结束,假如请假时间大于3天,若未审核未经过则请假步骤结束,若在教导员岗审核经过,则提交到院领导岗进行审核,审核经过后生成请假统计,未经过则请假步骤结束;图4-1-2图4-1-24.1.3权限设置步骤:系统管理员能够经过权限设置进行添加不一样登录角色并能够给予不一样权限;图4-1-3图4-1-34.1.4修改权限:系统管理员能够经过查询出系统不一样用户类型权限并能够进行多种权限添加或删除进行修改;图4-1-4图4-1-4关键功效具体实现5.1请假功效实现学生在需要请假时,进入系统根据要求填写好请假条内容确定后则提交请假申请交由教导员进行审核。图所表示:其部分代码以下:Action:/** *保留请假条信息 *@return */ publicStringaddLeave(){ System.out.println("请假表信息:"+leave); Stringusername=(String)getRequest().getSession().getAttribute("username"); StringrootType=(String)getRequest().getSession().getAttribute("rootType"); leaveService.doFirstAudi(leave,username,rootType); returnSUCCESS; }Struct.xml:<actionname="leave_*"class="com.qjglms.struts.action.LeaveAction"method="{1}"><resultname="success">${forwardpage}</result></action>LeaveServiceImpl:/** *填写请假表(第一岗) *@paramleave请假表对象 *@paramauditName审核人,请假学生 *@paramauditPosi审核岗位 *@paramauditStatus审核状态1-未审核,2-已审核,3-审核不经过 */ @Override publicvoiddoFirstAudi(Leaveleave,StringauditName,StringauditPosi){ System.out.println("保留请假表,生成第一岗统计"); //0-生成流水号 UUIDuuid=UUID.randomUUID(); leave.setLeaveNum(uuid.toString()); //保留请假表 leaveDAO.save(leave); //3-保留审核表 //1.申请登记(学生自己) //(1)办结本岗,流水号、审核人、岗位名称、状态=2(已审核) Auditaudit1=newAudit(); audit1.setLeaveNum(uuid.toString()); audit1.setAuditName(auditName); audit1.setAuditPosi(auditPosi); audit1.setStuName(auditName); audit1.setAuditStatus(2); auditDAO.save(audit1); //(2)初始化教导员岗位,流水号、岗位名称、状态=1(未审核) Auditaudit2=newAudit(); audit2.setLeaveNum(uuid.toString()); audit2.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其部分代码以下LeaveAction:/** *第二岗 *@return */ publicStringdoSecond(){ System.out.println("审核信息+"+leave); System.out.println("审核批注+"+leave.getAuditNote()); Stringusername=(String)getRequest().getSession().getAttribute("username"); StringrootType=(String)getRequest().getSession().getAttribute("rootType"); leaveService.doSecond(leave,username,rootType); returnnull; } /** *最终一岗 *@return */ publicStringdoEnd(){ System.out.println("院领导审核信息+"+leave); System.out.println("院领导审核批注+"+leave.getAuditNote()); Stringusername=(String)getRequest().getSession().getAttribute("username"); StringrootType=(String)getRequest().getSession().getAttribute("rootType"); leaveService.doEnd(leave,username,rootType); returnnull; }LeaveServiceImpl:/** *办结第二岗 *@paramleave请假表对象 *@paramauditNote审核批注 *@paramauditName审核人 *@paramauditPosi审核人 */ publicvoiddoSecond(Leaveleave,StringauditName,StringauditPosi){ //(1)办结本岗,流水号、审核人、岗位名称、状态=2(已审核) intdays=Integer.parseInt(leave.getLeaveDays()); Auditaudit1=newAudit(); audit1.setLeaveNum(leave.getLeaveNum()); audit1.setAuditName(auditName); audit1.setAuditPosi("教导员"); audit1.setAuditNote(leave.getAuditNote()); audit1.setAuditStatus(2); if(days<=3){//小于等于3天,成功标志设置为1 audit1.setAuditEnd(1); Leavelea=newLeave(); lea.setAuditName(auditName); lea.setAuditNote(leave.getAuditNote()); lea.setLeaveNum(leave.getLeaveNum()); leaveDAO.updateLeave(lea); }else{ audit1.setAuditEnd(0); } auditDAO.updateByLeaveNum(audit1); if(days>3){//大于3天,生成下一岗统计 Auditaudit2=newAudit(); audit2.setLeaveNum(leave.getLeaveNum()); audit2.setStuName(leave.getStuName()); audit2.setAuditPosi("院领导"); audit2.setAuditStatus(1); auditDAO.save(audit2); } } /** *办结最终一岗 *@paramleave请假表对象 *@paramauditNote审核批注 *@paramauditName审核人 *@paramauditPosi审核人 */ publicvoiddoEnd(Leaveleave,StringauditName,StringauditPosi){ //(1)办结本岗,流水号、审核人、岗位名称、状态=2(已审核) Auditaudit=newAudit(); audit.setLeaveNum(leave.getLeaveNum()); audit.setAuditName(auditName); audit.setAuditPosi("院领导"); audit.setAuditNote(leave.getAuditNote()); audit.setAuditStatus(2); audit.setAuditEnd(1); Leavelea=newLeave(); lea.setAuditName(auditName); lea.setAuditNote(leave.getAuditNote()); lea.setLeaveNum(leave.getLeaveNum()); leaveDAO.updateLeave(lea); auditDAO.updateByLeaveNum(audit); }5.3权限修改功效系统管理员能够经过查询出系统不一样用户类型权限并能够进行多种权限添加或删除进行修改;图:图5-3图5-3其部分代码以下RoleAction:publicStringupdateRole()throwsIOException{ System.out.println("更新权限列表:"+role.getRootList()); roleService.updateUser(role); setForwardpage(JSP_ROLE_LIST); tips="修改成功!"; returnSUCCESS; } /** *依据角色id查找权限列表返回前台设置单选框状态 *@return *@throwsIOException */ publicStringfindListByRootID()throwsIOException{ StringrootType=role.getRootType(); role=roleService.findListByRootID(rootType); System.out.println("返回数据json:"+role); return"json2";}RoleServiceImpl:/** *依据rootType获取权限对象 *@returnRole */ @Override publicRolefindListByRootID(StringrootType){ returnroleDao.findRootListByRoottype(rootType); }/** *更新角色权限 *@paramrole权限对象 */ @Override publicvoidupdateUser(Rolerole){ Rolerole_1=null; Listlist=roleDao.findByRootType(role.getRootType()); if(list.size()>0){ role_1=(Role)list.get(0); } role_1.setRootList(role.getRootList()); try{ roleDao.merge(role_1); }catch(Exceptione){ e.printStackTrace(); } }5.4导入功效学生、老师基础信息能够经过导入excel表格方法进行批量添加,其部分代码以下:JSP:<formaction="<%=path%>/teacher_importTchExcel.action"method="post"enctype="multipart/form-data"><a>老师信息导入</a><br>ServiceImpl:/** *导入老师信息表格 */ publicvoidimportTchExcel(Teacherteacher,Stringpwd){ Useruser=newUser(); user.setPassword(pwd); user.setUsername(teacher.getTchName()); user.setUserNum(teacher.getTchNum()); user.setRootType(teacher.getRootType()); userDAO.save(user); teacherDAO.save(teacher); }6.系统运行环境需求6.1硬件环境:内存:需要最少512MHZ硬盘:40G以上6.2.软件环境:操作系统:WindowsXP/WIndows7或Windows更高服务器版本数据库:Mysql5.5浏览器:IE8.0或更高版本、Chrome浏览器等主流浏览器7.测试结果和分析7.1关键测试内容此次测试关键针对此次开发请假管理信息系统进行系统测试关键包含功效测试、界面测试、负载测试文档测试。7.2软件测试目标软件质量是由多个方面来衡量在有限时间里有效把一个工作正确无误完成。符合应用标准要求不一样地域不一样国家用户使用习惯不一样项目工程中可维护性、可测试性等要求。质量就是软件达成了最开始用户所想要需求而代码优美或精巧技巧并不代表软件高质量。质量也代表着它符适用户需要。作为软件测试这个行业最关键一件事就是从用户需求出发从用户角度去看产品用户会怎么去使用这个产品使用过程中会碰到什么样问题。7.2软件测试目标第一是确定软件质量能正确完成任务其首先是确定软件做了你所期望事情其次是确定软件以正确方法来做了这个事件。第二是提供反馈信息比如提供给开发人员或程序经理反馈信息为风险评定所准备信息。7.3软件测试任务寻求Bug避免软件开发过程中缺点衡量软件品质关注用户需求。总目标是:确保软件质量7.4测试方法整个系统测试方法包含功效测试、负载测试、文档测试。7.4.1功效测试对需求规格说明书中描述全部功效经过配置Tomcat服务器让客服端进行功效测试。测试中需要考虑恶意测试和正常测试测试出系统多种功效死角。7.4.2负载测试负载测试关键测试系统在多用户在线登陆操作时候系统运行情况不出现系统故障。负载测试利用自动测试工具开展网络上有很多压力测试工具。7.4.3文档测试文档测试关键包含用户文档、需求文档、设计文档测试测试关键在文档内容正确性、正确性确保了文档正确性才能是有效文档正确性是正确表示出文档意思。采取走查方法进行文档测试。7.5测试环境7.5.1硬件环境内存:需要最少512MHZ7.5.2软件环境作系统:Windowsxp/Windows7服务器版本必装软件:Myeclipse9.0Mysql5.5Tomcat6.0.17.6系统具体测试在此,因为版面有限,不可能将系统每一个功效测试全部表现出来,下面是用户登录和学生添加请假单及审核功效进行测试。7.6.1用户登录测试:测试内容测试数据测试结果用户名密码输入有效数据adminadmin有效空数据空admin无效admin空无效空空无效7.6.2学生添加请假单测试:填写请假单页面:点击提交后数据库添加请假单成功:7.6.3审核功效测试:请假正常步骤:学生填写请假单,然后提交给班主任,假如3天以内请假单由班主任直接审批,3天以上请假单,由班主任提交给院长审批,审批经过任课老师能够查询,然后更新学生考勤未经过直接回退给学生,学生重新提交。提出假设测试假设学生提交3天

温馨提示

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

评论

0/150

提交评论