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

上传人:沈*** 文档编号:90335923 上传时间:2022-05-14 格式:DOC 页数:18 大小:124.50KB
收藏 版权申诉 举报 下载
学生请假管理系统需求分析设计文档[附待部分核心代码-ssh框架实现]_第1页
第1页 / 共18页
学生请假管理系统需求分析设计文档[附待部分核心代码-ssh框架实现]_第2页
第2页 / 共18页
学生请假管理系统需求分析设计文档[附待部分核心代码-ssh框架实现]_第3页
第3页 / 共18页
资源描述:

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

1、. 2014 - 2015学年 第 2 学期 1.总体目标4 1.1背景4 1.1.1引言4 1.2要求4 1.3目标4 2.需求分析5 2.1功能需求描述5 2.1.1基本功能:5 2.1.2业务功能:5 2.2用户需求描述5 2.2.1学生用户需求描述5 2.2.2任课教师用户需求描述5 3.数据库设计5 4. 功能模块设计7 4.1系统流程8 5. 主要功能的具体实现11 5.1请假功能的实现11 5.2审核功能的实现14 5.3权限修改功能18 5.4导入功能20 6.系统的运行环境需求21 6.1硬件环境:21 6.2.软件环境:

2、21 7.测试结果与分析21 7.1主要测试内容21 7.2软件测试的目的22 7.3软件测试的任务 22 7.4.1功能测试22 负载测试22 7.4.3文档测试22 7.5 测试环境23 7.6 系统具体测试23 8.课程设计总结24 17 / 18 . 1.总体目标 1.1背景 1.1.1引言 目前高校大部分都还是采用学生写好请假条,然后到辅导员那里申请请假的方式进行请假,这种方式不仅麻烦而且比较费时。在信息化的今天,能有效地借助网络才能提高办事效率。因此,请假管理系统能够解决这种请假方式所带来的很多麻烦。 1.2要求 请假管理系统要达到以下功

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

4、〔导入/查/改/删、老师<含辅导员和系领导>信息管理 2.1.2业务功能: 学生填写请假事由、提交给辅导员审批、按请假制度超过3天的提交给系领导审批、打印请假条、学生查看历史请假记录、辅导员可按不同筛选条件查看请假记录。 2.2用户需求描述 2.2.1学生用户需求描述 学生对本系统的主要需求是:学生填写请假理由进行请假、打印请假条、查看请假记录、修改密码。 2.2.2任课教师用户需求描述 校方对本系统的主要需求是:学生信息管理〔导入/查/改/删、老师<含辅导员和系领导>信息管理、对学生的请假申请进行审核、打印、和查看请假记录。 3.数据库设计 请假管理系统涉及到学生用户、教师

5、用户和管理员。根据实际应用的需要,最大限度的提高系统的性能,本系统涉及到8张表,分别是管理员表、学生表、教师表、请假表、审核表、岗位表、管理员表、权限表。 学生表: id int 50 1 0 id stu_num vachar 50 0 0 学号 stu_name vachar 50 0 0 学生姓名 stu_sex vachar 50 0 0 性别 stu_class vachar 50 0 0 班级 leava_times int 50 0 0 请假次数 stu_phon

6、e vachar 50 0 0 stu_yuanxi vachar 50 0 0 所属院系 root_type vachar 50 0 0 权限类型〔岗位名称 教师表: id int 50 1 0 id tch_num vachar 50 0 0 教师编号 tch_name vachar 50 0 0 教师姓名 tch_sex vachar 50 0 0 教师性别 lavel vachar 50 0 0 级别〔辅导员,领导 yuanxi vachar

7、 50 0 0 所属院系 tch_phone vachar 50 0 0 root_type vacahr 50 0 0 权限类型〔岗位名称 请假表: id int 50 1 0 id leave_num vachar 50 0 0 请假流水号 leave_start vachar 50 0 0 请假开始时间 leave_end vachar 50 0 0 请假结束时间 leave_days vachar 50 0 0 请假天数 leave_reason

8、vachar 50 0 0 请假原因 stu_num vachar 50 0 0 请假学号 stu_name vachar 50 0 0 学生姓名 审核表: id int 50 1 0 id leave_num vachar 50 0 0 请假流水号 audit_name vachar 50 0 0 审核人 audit_status int 50 0 0 审核状态 audit_time vachar 50 0 0 审核时间 audit_posi vachar

9、 50 0 0 审核岗位 audit_note vachar 150 0 0 批注 岗位表: id int 50 1 0 id posi_num vachar 50 0 0 岗位编号 posi_name vachar 50 0 0 岗位名称 管理员表: id int 50 1 0 id admin_num vachar 50 0 0 管理员编号 admin_name vacahr 50 0 0 管理员名字 admin

10、_phone int 10 0 0 权限表〔root: id int 50 1 0 id root_type vachar 50 0 0 权限类型〔学生,辅导员,领导 root_list vachar 50 0 0 权限集合 root_num vachar 50 0 0 权限编号 4. 功能模块设计 请假管理系统涉及到学生用户、教师用户和管理员,主要的功能模块为学生管理模块、教师管理模块、请假管理模块、角色管理模块。本系统的功能模块图如图:4-0 图4-0 4.1系统流程 4.1.1登陆流程:如图4

11、-1-1 图4-1-1 4.1.2请假流程:需要请假的学生可以在系统中填写请假条进行请假申请,提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束;如图4-1-2 图4-1-2 4.1.3权限设置流程:系统管理员可以通过权限设置进行添加不同的登录角色并可以赋予不同的权限;如图4-1-3 图4-1-3 4.1.4修改权限:系统管理员可以通过查询出系统不同用户类型的权限并可以进

12、行各种权限的添加或者删除进行修改;如图4-1-4 图4-1-4 5. 主要功能的具体实现 5.1请假功能的实现 学生在需要请假时,进入系统按照要求填写好请假条的内容确认后则提交请假申请交由辅导员进行审核。如图所示: 其部分代码如下: Action: /** * 保存请假条信息 * @return */ public String addLeave<>{ System.out.println<"请假表信息:"+leave>; String username = getRequest<>.getSession<>.getAttribu

13、te<"username">; String rootType = getRequest<>.getSession<>.getAttribute<"rootType">; leaveService.doFirstAudi; returnSUCCESS; } Struct.xml: ${forwardpag

14、e} LeaveServiceImpl: /** * 填写请假表<第一岗> * @param leave 请假表对象 * @param auditName 审核人,请假学生 * @param auditPosi 审核岗位 * @param auditStatus 审核状态 1-未审核, 2-已审核 , 3-审核不通过 */ @Override publicvoid doFirstAudi { System.ou

15、t.println<"保存请假表,生成第一岗记录----------">; //0-生成流水号 UUID uuid = UUID.randomUUID<>; leave.setLeaveNum>; //保存请假表 leaveDAO.save; //3-保存审核表 //1.申请登记〔学生自己 //〔1办结本岗,流水号、审核人、岗位名称、状态=2<已审核> Audit audit1 = new Audit<>; audit1.setLeaveNum>; audit1.setAud

16、itName; audit1.setAuditPosi; audit1.setStuName; audit1.setAuditStatus<2>; auditDAO.save; //〔2初始化辅导员岗位,流水号、岗位名称、状态=1<未审核> Audit audit2 = new Audit<>; audit2.setLeaveNum>; audit2.setStuName; audit2.setAuditPosi<

17、"辅导员">; audit2.setAuditStatus<1>; auditDAO.save; } 5.2审核功能的实现 学生提交请假申请后,提交到辅导员岗进行审核,如果请假时间小于或等于3天,辅导员审核通过后生成请假记录,未通过,请假流程结束,如果请假时间大于3天,若未审核未通过则请假流程结束,若在辅导员岗审核通过,则提交到院领导岗进行审核,审核通过后生成请假记录,未通过则请假流程结束; 如图5-2-0和图5-2-1 图5-1-0 图5-2-1 其部分代码如下 LeaveAction: /** * 第二岗 * @return *

18、/ public String doSecond<>{ System.out.println<"审核信息+"+leave>; System.out.println<"审核批注+"+leave.getAuditNote<>>; String username = getRequest<>.getSession<>.getAttribute<"username">; String rootType = getRequest<>.getSession<>.getAttribute<"rootType">; leaveService.do

19、Second; returnnull; } /** * 最后一岗 * @return */ public String doEnd<>{ System.out.println<"院领导审核信息+"+leave>; System.out.println<"院领导审核批注+"+leave.getAuditNote<>>; String username = getRequest<>.getSession<>.getAttribute<"username">; String r

20、ootType = getRequest<>.getSession<>.getAttribute<"rootType">; leaveService.doEnd; returnnull; } LeaveServiceImpl: /** * 办结第二岗 * @param leave 请假表对象 * @param auditNote 审核批注 * @param auditName 审核人 * @param auditPosi 审核人 */ publicvoiddoSecond<

21、Leave leave,String auditName, String auditPosi>{ //〔1办结本岗,流水号、审核人、岗位名称、状态=2<已审核> int days =Integer.parseInt>; Audit audit1 = new Audit<>; audit1.setLeaveNum>; audit1.setAuditName; audit1.setAuditPosi<"辅导员">; audit1.setAud

22、itNote>; audit1.setAuditStatus<2>; if{//小于等于3天,成功标志设置为1 audit1.setAuditEnd<1>; Leave lea = new Leave<>; lea.setAuditName; lea.setAuditNote>; lea.setLeaveNum>; leaveDAO.updateLeave<

23、lea>; }else{ audit1.setAuditEnd<0>; } auditDAO.updateByLeaveNum; if3>{//大于3天,生成下一岗记录 Audit audit2 = new Audit<>; audit2.setLeaveNum>; audit2.setStuName>; audit2.setAuditPosi<"院领导">; audit2.setAuditSt

24、atus<1>; auditDAO.save; } } /** * 办结最后一岗 * @param leave 请假表对象 * @param auditNote 审核批注 * @param auditName 审核人 * @param auditPosi 审核人 */ publicvoid doEnd{ //〔1办结本岗,流水号、审核人、岗位名称、状态=2<已审核> Audit audit = new Audit<>

25、; audit.setLeaveNum>; audit.setAuditName; audit.setAuditPosi<"院领导">; audit.setAuditNote>; audit.setAuditStatus<2>; audit.setAuditEnd<1>; Leave lea = new Leave<>; lea.setAuditName; lea.setAudi

26、tNote>; lea.setLeaveNum>; leaveDAO.updateLeave; auditDAO.updateByLeaveNum; } 5.3权限修改功能 系统管理员可以通过查询出系统不同用户类型的权限并可以进行各种权限的添加或者删除进行修改;如图:图5-3 图5-3 其部分代码如下 RoleAction: public String updateRole<> throws IOException{ System.out.printl

27、n<"更新的权限列表:"+role.getRootList<>>; roleService.updateUser; setForwardpage; tips = "修改成功!"; returnSUCCESS; } /** * 根据角色id查找权限列表返回前台设置单选框的状态 * @return * @throws IOException */ public String findListByRootID<> throws IOException{ String rootType = role.get

28、RootType<>; role = roleService.findListByRootID; System.out.println<"返回数据json:"+role>; return"json2"; } RoleServiceImpl: /** * 根据rootType获取权限对象 * @return Role */ @Override public Role findListByRootID { returnroleDao.findRootListByRoottype;

29、} /** * 更新角色权限 * @param role 权限对象 */ @Override publicvoid updateUser { Role role_1 = null; List list = roleDao.findByRootType>; if>0>{ role_1 = list.get<0>; } role_1.setRootList>; try { roleDao.merge

30、le_1>; } catch { e.printStackTrace<>; } } 5.4导入功能 学生、教师基本信息可以通过导入excel表格的方式进行批量添加,其部分代码如下: JSP: /teacher_importTchExcel.action"method="post"enctype="multipart/form-data"> 教师信息导入
ServiceImpl: /** * 导入教师信息表格 */ publicvoid impor

31、tTchExcel{ User user = new User<>; user.setPassword; user.setUsername>; user.setUserNum>; user.setRootType>; userDAO.save; teacherDAO.save; } 6.系统的运行环境需求 6.1硬件环境: 1) 内

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

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

34、免软件开发过程中的缺陷 3) 衡量软件的品质 4) 关注用户的需求。 总的目标是:确保软件的质量 7.4测试方法 整个系统测试方法包括功能测试、负载测试、文档测试。 7.4.1功能测试 对需求规格说明书中描述的所有功能通过配置Tomcat服务器让客服端进行功能测试。测试中需要考虑恶意测试和正常的测试测试出系统的各种功能死角。 负载测试 负载测试主要测试系统在多用户在线登陆操作时候系统的运行情况不出现系统故障。负载测试利用自动测试工具开展网络上有很多压力测试工具。 7.4.3文档测试 文档测试主要包括用户文档、需求文档、设计文档测试测试主要在文档

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

36、admin admin 有效 空数据 空 admin 无效 admin 空 无效 空 空 无效 7.6.2学生添加请假单测试: 填写请假单页面: 点击提交后数据库添加请假单成功: 7.6.3审核功能测试: 请假正常流程: 学生填写请假单,然后提交给班主任,如果3天以内的请假单由班主任直接审批,3天以上的请假单,由班主任提交给院长审批,审批通过的任课老师可以查询,然后更新学生考勤未通过直接回退给学生,学生重新提交。 1) 提出假设测试 假设学生提交3天以上的请假单,如请假一周,不通过院长审批,直接由班主任审批通过,完成请假流程。3天以上的请假班主任

37、无权限审核必须传递给院长由院长审核通过。故假设无效。 2) 假设学生提交请假单 不通过班主任和院长审批,直接通过,完成请假流程。没有通过班主任或者院长审批的请假单,是无效请假单,在任课老师页面无法显示,任课老师也不知道学生在校情况。故假设无效。 8.课程设计总结 本次设计的系统分为前台和后台两个大模块,采用Spring+Struts2+Hirbernate构架开发,系统的视图层与控制层主要通过Struts2的标签库和Action相关类设计实现;Hirbernate用于持久层的实现,包括数据库访问层和对象模型的设计,提高了系统的安全性、可维护性、重用性和可扩展性。由于在做这个

38、课程设计题目之前对于Struts2框架和hirbernate框架不怎么了解,平时上课没怎么用心,所以在整个系统的实现过程中遇到了很大的麻烦。并且,在设计请假管理系统时,需要对功能需求考虑完善。要求运用SSH技术对系统做好整体构架,这对我们小组来说是一个不小的难题。随着设计程度的不断深入,又遇到了一些早期没有想到的问题。特别是一些细节问题。为了解决这些问题,有时还要对几个模块进行大幅度的修改。在设计中,还需要进行细致的测试工作,以发现程序的错误和功能上的不足。由于时间和个人技术关系,本系统还有一些不足和值得改进的地方比如说请假审核功能的细化,需要根据请假时间的长短,审核需要不同等级权限用户逐级进

39、行,这样系统的灵活性就会有明显的提高。 通过这次课程设计,提高了我们小组在系统整体设计上的能力,增长了分析、解决问题的经验,对一些知识有了更深一步的掌握。可以说,这次课程设计既锻炼了我们动脑分析问题的能力,又锻炼了我们动手解决实际问题的能力,这将对我们以后的学习起到不可估量的作用。通过课程设计这次磨砺,我们的能力也提高了。所以它对于我们来说有着十分重要的意义。我们会运用从中得到的宝贵经验来指导我们今后的学习和工作,不断的实践,不断地学习,让自己变得更加充实自己,更适合于软件行业发展的需要。 ه 参考文献 [2]贾素玲,王强,jsp应用开发技术.北京:清华大学出版社 4fdb887b010140ef.html  [5]周爱武,汪海威,肖云,数据库课程设计[M].机械工业出版社,2012.16

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!