在线请假系统 毕业论文.doc

上传人:小小飞 文档编号:3919040 上传时间:2019-10-10 格式:DOC 页数:43 大小:757.52KB
返回 下载 相关 举报
在线请假系统 毕业论文.doc_第1页
第1页 / 共43页
在线请假系统 毕业论文.doc_第2页
第2页 / 共43页
在线请假系统 毕业论文.doc_第3页
第3页 / 共43页
在线请假系统 毕业论文.doc_第4页
第4页 / 共43页
在线请假系统 毕业论文.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《在线请假系统 毕业论文.doc》由会员分享,可在线阅读,更多相关《在线请假系统 毕业论文.doc(43页珍藏版)》请在三一文库上搜索。

1、 目 录 摘 要 .1 前 言 .2 第一章 概述 .3 1.1 在线请假系统的任务与目标 3 1.2 本论文所作的工作 3 第二章 在线请假系统技术背景以及支撑环境 .4 2.1 MVC 4 2.2 STRUTS.5 2.2.1 Struts 概述5 2.2.2 利用 Struts 框架开发 MVC 系统 .6 2.3 HIBERNATE6 2.4 AJAX.7 2.5 JXL .8 2.6 在线请假系统的开发环境 9 2.7 在线请假系统的运行环境 9 2.7.1 在线请假系统的项目部署 9 2.7.2 在线请假系统的环境需求 .10 第三章 在线请假系统总体设计 11 3.1 在线请假系

2、统需求分析 .11 3.1.1 用户分析 .11 3.1.2 业务目标 .11 3.1.3 业务处理过程 .12 3.1.4 系统特点 .12 3.1.5 其他需求 .12 3.2 系统总体视图描述 .13 3.2.1 系统用例视图 .13 3.2.2 系统约束 .14 3.3 在线请假系统的系统架构.14 3.3.1 系统用例总图 .14 3.3.2 业务处理视图 .15 3.3.3 系统实现视图 .16 高等教育自学考试毕业设计(论文) 3.3.3.1 概述 .16 3.3.3.2 层次 .17 3.4 在线请假系统功能模块分析18 3.4.1 系统功能模块分析18 3.4.2 系统功能模

3、块设计18 第四章 在线请假系统数据库设计 21 4.1 数据库设计 .21 4.1.1 数据库信息 .21 4.4.2 查询与访问技术 .21 4.4.3 数据字典以及对应的持久化类 .21 4.2 数据库约束关系图 .26 4.3 持久层 .26 4.4 非数据库文件 .27 第五章 员工请假申请模块的设计与实现 28 5.1 模块功能分析 .28 5.2 员工请假申请用例视图 .28 5.3 模块的包类结构图 .29 5.4 用例关系图.31 5.4.1 顺序图 .31 5.4.2 协作图 .31 5.5 关键技术32 5.5.1 权限控制 .32 5.5.2 Ajax 日期校验.34

4、5.5.3 定义组织框架中“环”的问题 .36 5.5.4 利用同步令牌来防止刷新导致的重复提交 .36 第六章 总结与展望 38 6.1 课题总结 .38 6.2 课题存在的问题以及解决方案 .38 参考文献 40 致谢 41 高等教育自学考试毕业设计(论文) 1 摘摘 要要 随着信息技术的高速发展,信息技术在企业以及机关部门的使用越来越广泛,各种 基于 B/S 架构的管理软件的研究与开发也越来越受到人们的重视。本文基于 Struts 框架、 Hibernate,MVC,详尽阐述了在线请假系统(Leave Application System,LAS)的设计与 实现。本系统分为五大模块用户登

5、录、员工请假申请、请假批准模块、请假流程定 义与休假计划维护。文中描述了这些模块的主要设计思想和实现方法,并着重研究和讨 论了员工请假申请模块的设计以及系统中的一些关键技术。论文在最后还探讨了系统目 前存在的问题与不足,并对如何进一步改善系统进行了讨论。 关键词:在线请假系统,MVC,Struts,Hibernate,Ajax 作 者: XXX 指导老师: YYY 1 前前 言言 随着科学技术的进步,尤其是计算机网络的迅猛发展,人类步入信息时代,人们的 生活方式、思维方式、工作方式,以及教育方式也随之改变。同时网络技术的高速发展, 计算机的广泛运用,使得实际生活中的问题通过计算机加网络得到了有

6、效的解决。如, 管理部门通过计算机可以对大量复杂的工序通过计算机控制,使其极大的降低了错误出 现的概率,大幅度提高了工作的效率,从而获得经济效益。又如,每个公司都会遇到员 工请假情况,需要经过,填写申请请假的表格,递交给上级批复,有时找不到上级本人 递交申请,出现不能及时批复的情况。这样既给员工带来了不便,管理人员需要对请假 记录进行归档,方便日后查阅,日积月累,查阅档案也不方便。综上所述,对于员工请 假问题很有必要利用计算机来管理工作流程、存储请假文档,从而获得有效的管理。 本论文讲述了一个基于公司组织框架的在线请假系统(Leave Application System,LAS)的设计与实现

7、过程,包括系统功能设计、数据库设计以及请假申请模块的 详细设计与实现。 全文共分为六章。第一章简单阐述了 LAS 的开发背景,任务目标,以及本文的所做 的工作,第二章阐述了 LAS 相关的技术背景以及的支撑环境,第三章详细描述了 LAS 的 总体设计,包括需求分析等,第四章阐述了 LAS 的数据库设计以及其持久层设计,第五 章重点阐述了 LAS 中请假申请模块的设计与实现以及 LAS 中所运用到的关键技术,第六 章对课题进行了总结,并且对 LAS 存在的不足进行说明以及提出有效的解决方案。 2 第一章第一章 概述概述 1.1 在线请假系统的任务与目标 LAS 采用 Java 语言编写,结合 J

8、avascript、XML,基于 Struts 框架与 Hibernate,实现 了在线提交请假申请以及在线批复申请,并及时通知双方请假申请的审批情况,管理者 也能够根据具体情况来制定不同的请假批复流程,通过该系统的假期维护功能能够准确 的掌握公司员工的一定时期的请假情况。要求完成以下主要工作: 1)在线请假系统的设计与实现,包括系统的基本架构,系统需求分析,用户分析以 及功能模块分析,系统的各种约束条件,以及系统的 UML 建模过程。 2)在线请假系统数据库的设计,包括系统数据库中的表的设计,数据字典和对应的 Hibernate 持久化类,以及在日期维护模块中的非数据库文件,Excel 文件

9、。 3)在线提交请假申请模块的设计与实现,包括该模块的功能分析与用例设计,该模 块中的逻辑处理过程,该请模块还使用 Ajax 技术,让用户有更好的用户体验和更傻瓜式 的操作。 1.2 本论文所作的工作 本文阐述了在线请假系统的开发背景,围绕 MVC 架构、Struts、Hibernate 以及其它 技术背景进行了详细的阐述;同时详细阐述了整个系统的需求分析、功能分析、系统设 计以及数据库设计,重点突出在线请假系统中的请假申请模块,详细地阐述了该模块从 需求分析、系统设计、系统用例分析以及数据库设计的整个过程,借以达到展示整个系 统开发过程的目的;另外,本文还对在线请假系统中所运用的几个关键技术

10、进行了说明, 并对整个系统目前存在的问题与不足进行了探讨,为进一步完善该系统提出可行的解决 方案。 3 第二章第二章 在线请假系统技术背景以及支撑环境在线请假系统技术背景以及支撑环境 在线请假系统基于 Struts、Hibernate,软件开发平台采用了 MyEclipse 6.0,并使用了 Ajax,在本章中简单介绍相关的技术背景。 2.1 MVC MVC(Model-View-Controller,模型视图控制器模式) 用于表示一种软件架构模式。 它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。 MVC 最初是在 Smalltalk-80

11、 中被用来构建用户界面的。MVC 的目的是增加代码的重 用率,减少数据表达,数据描述和应用操作的耦合度。 同时也使得软件可维护性,可修 复性,可扩展性,灵活性以及封装性大大提高。通过把数据模式从各种可以被存取和控 制的数据中分离出来可以改善分布式系统的设计。MVC 设计模式由三部分组成。模型是 应用对象,没有用户界面。视图表示它在屏幕上的显示,代表流向用户的数据。控制器 定义用户界面对用户输入的响应方式,负责把用户的动作转成针对模型的操作。模型通 过更新视图的数据来反映数据的变化。三者关系如图 2-1: 图 2-1 MVC 的分工与协作 4 2.2 Struts 本节简要阐述了 Struts

12、基本原理以及利用 Struts 框架来构建一个 MVC 架构的系统。 2.2.1 Struts 概述 Struts 是 Apache 组织的一个项目,像其他的 Apache 组织的项目一样,它也是开放源 码项目。Struts 是一个比较好的 MVC 框架并提供了对开发 MVC 系统的底层支持,它采 用的主要技术是 Servlet,JSP 和 Custom Tag Library。 Struts 框架的基本构成由图 2-2 所示: 图 2-2 Struts 框架的基本构成 Struts 框架的处理流程清楚的体现了 MVC 系统的特点,简单的 Struts 组件结构如图 2-3 所示。Struts

13、 Controller ActionServlet 处理客户请求,利用配置的 ActionMapping 对象 把请求映射到 Action 处理器对象进行处理。Action 处理对象访问 ActionForm 中的数据, 处理和响应客户请求,它还调用后台的 Bean 组件,这些组件封装了具体的业务逻辑。 Action 处理器对象根据处理结果通知 Controller,Controller 进行下一步的处理。 5 图 2-3 Struts 框架的组件结构图 2.2.2 利用 Struts 框架开发 MVC 系统 由于 Struts 已经为我们提供了一个非常好的 MVC 框架,我们利用 Strut

14、s 开发 MVC 系统时可以大大加快开发的速度。 具体在使用 Struts 框架时,对应各个部分的开发工作主要包括: Model 部分:采用 JavaBean 和 EJB 组件,设计和实现系统的业务逻辑。根据不同的 请求从 Action 派生具体 Action 处理对象。完成“做什么“的任务来调用由 Bean 构成的业务 组件。创建由 ActionForm 的派生类实现对客户端表单数据的封装。 Controller 部分:Struts 为我们提供了核心控制部分的实现。我们只需要配置 ActionMapping 对象 View 部分:为了使用 Model 中的 ActionForm 对象,我们必

15、须用 Struts 提供的自定 义标记创建 HTML 表单。利用 Struts 提供的自定义标记库编写用户界面把应用逻辑和显 示逻辑分离。Struts 框架通过这些自定义标记建立了 View 和 Model 之间的联系。Struts 的 自定义标记还提供了很多定制页面的功能。 同时需要编辑两个配置文件:web.xml 和 struts-config.xml。通过它们配置 Struts 系统 中的各个模块之间的交互,把 Struts 框架中 MVC 的各个部分联系起来,实现一个真正的 MVC 系统。 2.3 Hibernate Hibernate 是一个纯 Java 的对象关系映射和持久性框架,

16、是连接 Java 应用程序和关 系数据库的中间件。它对 JDBC API 进行了封装,负责 Java 对象的持久化。在分层软件 6 架构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务 逻辑。它是一种 ORM 映射工具,能够建立面向对象的域模型和关系数据模型之间的映射。 使用 Hibernate 能够节约大量项目开发时间,因为整个 JDBC 层都由这个框架管理。 这意味着应用程序的数据访问层位于 Hibernate 之上,完全是从底层数据模型中抽象出来 的。如图 2-4 所示: 图 2-4 Hibernate 层次图 2.4 Ajax Ajax(Asynchronous

17、 JavaScript and XML)是使用客户端脚本与 Web 服务器交换数据 的 Web 应用开发方法。这样,Web 页面不用打断交互流程进行重新加裁,就可以动态地 更新。使用 Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的 Web 用户界面。 而传统的 Web 应用模型工作起来就像这样:大部分界面上的用户动作触发一个连接 到 Web 服务器的 HTTP 请求。服务器完成一些处理-接收数据,处理计算,再访问其它 的数据库系统,最后返回一个 HTML 页面到客户端。这是一个老套的模式,自采用超文 本作为 Web 使用以来,一直都这样用, 这样确限制了 Web 界面没

18、有桌面软件那么好用。 传统 Web 应用模型与 Ajax 模型的比较如图 2-5 所示: 7 图 2-5 传统 Web 应用模型(左)与 Ajax 模型的比较(右) 通过在用户和服务器之间引入一个 Ajax 引擎,可以消除 Web 的开始停止开始 停止这样的交互过程。不像加载一个页面一样,在会话的开始,浏览器加载了一个 Ajax 引擎-采用 JavaScript 编写并且通常在一个隐藏 frame 中。这个引擎负责绘制用户界面以 及与服务器端通讯。Ajax 引擎允许用异步的方式实现用户与程序的交互不用等待服 务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务 器完成后

19、再响应,不用再担误用户界面的交互。 2.5 JXL JXL(Java Excel API)是一个用来动态读写 Excel 文件的开源框架目,通过它 Java 开发 人员可以读取 Excel 文件的内容、创建新的 Excel 文件、更新已经存在的 Excel 文件。使 用该 API 非 Windows 操作系统也可以通过纯 Java 应用来处理 Excel 数据表。因为是使用 Java 编写的,所以能在 Web 应用中可以通过 JSP、Servlet 来调用 API 实现对 Excel 数据 表的访问。相对 POI,JXL 简单方便,对中文支持非常好,功能也比较强大。 现在发布的稳定版本是 V2

20、.0,提供以下功能: 从 Excel 95、97、2000 等格式的文件中读取数据; 读取 Excel 公式(可以读取 Excel 97 以后的公式) ; 生成 Excel 数据表(格式为 Excel 97) ; 8 支持字体、数字、日期的格式化; 支持单元格的阴影操作,以及颜色操作; 修改已经存在的数据表; 2.6 在线请假系统的开发环境 本系统采用 Struts1.1 框架构建。开发工具采用 Tomcat5.5 与 MyEclipse6.0 结合使用。 持久层采用 Hibernate3.0 框架,开发包为 JDK1.5,数据库使用 SQL Server 的桌面版 MSDE。 2.7 在线请

21、假系统的运行环境 2.7.1 在线请假系统的项目部署 Applicant PC Database Server Maintainer PC Approver PC Web Server Application Server 图 2-6 LAS 系统部署图 在线请假系统的部署如图 2-6 所示,具体描述如下: Applicant PC, Manager PC and Agency PC 这些计算机需要安装浏览器。 9 Web Server Web 服务器是在线请假系统的入口。所有的申请人员,审批人员和维护人员使用浏 览器访问 Web 服务器,以便登录系统进行申请、审批、维护等操作。 Applic

22、ation Server 应用程序服务器用于处理商务逻辑以及初始化系统数据和检索数据。 Database Server 数据库服务器主要用来对系统中涉及的数据进行存取操作。 2.7.2 在线请假系统的环境需求 本系统采用 MVC 三层架构,应用程序直接装在服务器上,由于在局域网内使用本系 统,安全性较高,运行与处理速度快。 1)通信要求通信要求 本系统被布署在公司内部的服务器中,供给公司内部人员使用,用户通过局域网连 接到 LAS。 2)2) 硬件需求硬件需求/ /配置配置 每个员工一台计算机,需要将这些计算机连接到同一个局域网中的交换机。 3)系统软件系统软件 计算机的操作系统为 Windo

23、ws 操作系统,其中需要安装 IE 6.0 以上版本的浏览器, 用户通过浏览器登录系统。 10 第三章第三章 在线请假系统总体设计在线请假系统总体设计 3.1 在线请假系统需求分析 3.1.1 用户分析 本系统的用户可以分为以下五类: 1)系统维护人员 负责系统维护,包括负责批量的导入用户,假期维护,可以对自己的个人资料进行 编辑和查询本人过往申请记录的批复情况,同时作为员工,系统维护人员也具有提交请 假申请的需要。 2)经理 作为公司的高层,负责批阅请假申请,可以对用户进行锁定的操作,可以查阅公司 所有员工的请假历史,并且将公司某段时期中的请假情况生成Excel报表;负责定义和 管理公司组织

24、框架和请假批复流程。 3)项目经理 具有批阅请假申请的权限,并且作为经理的下属,还有提交请假申请的需要,并可 以对自己的个人资料进行编辑和查询本人过往申请记录的批复情况。 4)组长 具有批阅请假申请的权限,并且作为经理以及项目经理的下属,还有提交请假申请 的需要,并可以对自己的个人资料进行编辑和查询本人过往申请记录的批复情况。 5)员工 员工可以提交未来某段时间的请假申请,并可以对自己的个人资料进行编辑和查询 本人过往申请记录的批复情况。 3.1.2 业务目标 在线请假系统,该系统为员工提供方便的请假渠道,有利于提高公司的管理效率。目标 是提供给项目经理和组员提供一个方便快捷的在线请假系统,

25、用于管理和优化员工的请假 申请和批复过程,能够简化方便组员休假申请以及项目管理人员各组员的休假计划,并备份 休假计划报告以备查阅。关键目标如表 3-1 关键目标所示, 11 表 3-1 关键目标 标题标题描述描述 问题:请假不方便,不能及时批假,管理不便 影响对象:员工,项目组长,项目经理 由问题带来的影响: 员工找不到上级递交申请,造成不便, 没有统一的记录,无法反映员 工的出勤状况,不利于考核 成功的解决方案: 开发公司内部网的在线请假系统,为员工提供便利的请假渠道 , 规 范请假流程, 记录请假数据,生成报表,方便管理人员管理 3.1.3 业务处理过程 1)用户登录:完成对用户登录的合法

26、性检查,并对用户权限进行控制; 2)员工请假申请:员工向上级提交申请,并发送 Email 通知相应的上级; 3)上级请假批准:由上级进行批复后 Email 通知员工批复结果; 4)请假流程定义:定义好请假流程中要批复的层次关系; 5)休假计划报告:导出 Excel 报表,对系统参数进行维护。 3.1.4 系统特点 LAS 具有如下特点: 1)管理人员可以自定义请假的流程,可对审批流程各环节适当增减,,不会影响整个系统 的运行; 2)系统及时以 Email 方式发送批复结果于请假申请的员工,以便员工可以及时获得批复信 息; 3)若休假时间未到,管理人员可以更改批复; 4)若请假申请的起始日期为过

27、期,申请人员可以对申请进行更改删除(仅限于假设性申 请) 。 3.1.5 其他需求 LAS 的其他需求,分别是: 处理量需求:系统日处理请假申请 50 人左右,最高不超过 300 人。 安全需求:如表 3-2 所示。 12 表 3-2 安全需求 存档需求: 每个组员的假期申请从提交申请开始一直会保留到其被批阅的时候,申请将分已经 通过和未通过批准的分开保存,未批准的申请将返回给组员,通过批准的申请将生成休假 计划并添加到组员休假计划中。 未通过批准的申请将在某阶段的整理中归档到备份文件中。 通过批准的申请会生成 Excel 报表,Excel 报表主要提供给项目经理和客户对项目组 成员的休假情况

28、以及计划有个详细的了解。 意外处理需求: LAS 可以忍受的由于维护的停工期不能超过一天。 LAS 记录使用文本和 Excel 报表存储,备份的持续时间一般为一天。 在停机维护或者意外事件.允许组员人工向项目经理提交请假申请,并在系统恢复使 用期间重新补录。 3.2 系统总体视图描述 3.2.1 系统用例视图 在线请假系统的用例视图如图 3-1 所示。 标题标题描述描述 用户登陆:根据 username ,password ,active(是否被锁定)判断用户是否有权登陆 用户权限和机制: 根据字段role_id 判断用户登陆后所拥有的权限。经理拥有最高权 限可对用户的active 状态进行更

29、改。 密码构成:长度在6 到 10 之间,采用MD5 加密算法加密存储的密码 13 Leave Application System ApproveApplication DefineApproveFlow Approver Applicant DeliverApplication Login Maintainer MaintainLeavePlan 图 3-1 系统用例视图 3.2.2 系统约束 1)如果申请人填写请假起始和结束日期相同时,系统会自动判断出为一天,会提供上下 午的选择,如果不选择,系统默认为一天假期; 2)可以假设性请假,如:从某天到某天,我将要请假。中途可以取消或者编辑请假

30、; 3)所有未到期的申请可以做增删改操作(仅限于假设性申请) ; 4)流程可分为:越级审批(高级越过低级或者低级越过高级)和逐级审批(低级审批后 高级才可审批) 。 3.3 在线请假系统的系统架构 3.3.1 系统用例总图 整个在线请假系统的用例总图如图 3-2 所示。 14 Login ManageUser ExportApplicationPlan ConfigSystemParameter CountercheckApplication QueryApplicationRecords Maintainer QueryApplicationRecords ApproveApplicatio

31、n CancelApproval Applicant FillAndDeliverApplication Approver DefineOrganizationFrame ModifyOrganizationFrame SpecifyBossBypass SendEmail User Logoff 图 3-2 系统用例图 3.3.2 业务处理视图 在线请假系统的业务处理视图如图 3-3 所示。 Use Struts-config.xml Action1 Action2 Action3 JavaBean Container ActionServlet Use JSP Tag libs Clien

32、t Brower request JSP Page build Response ActionFormBean FillData GetData 图 3-3 业务处理图 1)ActionServlet Controller: 15 它是整个流程的控制器,用于处理用户与服务器间的会话过程。用户发送请求到控 制器,控制器通过 ActionFormBean 对请求的数据进行验证,然后通过 Actions 接口送到 服务器去处理,控制器将从服务器返回的 Bussiness Data 填充到 FormBean 类中,生成 JSP 页面,显示给用户处理后的结果。 2)ActionFormBean Proc

33、essor: 用于将用户输入的表单数据保存在 ActionFormBean 中,并对其进行验证,验证通过 后,由控制器转发到后台处理,得到的结果再存放到 ActionFormBean 中,JSP 文件使用 Struts 标签读取修改后的 ActionFormBean 信息,重新设置 Html 表单. 将页面返回给用户。 3)JavaBean Container: 管理 JavaBean 组件,包括事务处理(查询、更新、增加操作)、安全组件、连接池等。 3.3.3 系统实现视图 3.3.3.1 概述概述 在线请假系统的包结构图如图 3-4 所示,每个包的功能在表 3-3 中做了说明。 com.l

34、as com.las.struts com.las.struts.dispatchAction com.las.struts.service com.las.struts.dao com.las.hibernatecom.las.filters 图 3-4 系统包结构图 表 3-3 包的功能说明 包名包名作用描述作用描述 com.las.struts此包存放LAS 所使用到的类和包 com.las.struts.dispatchAction此包存放LAS 所使用到业务逻辑处理的类 com.las.struts.service此包用于存放LAS 项目提供的服务接口 com.las.hiberna

35、te此包存放LAS 所涉及到的hibernate 配置文件以及持久化类 com.las.struts.dao此包用于存放LAS 项目通用数据库操作类 com.las.filters此包用于存放过滤显示页面字符格式的类 com.las.Struts.form此包存放页面中所使用的表单的FormBean 类 16 3.3.3.2 层次层次 com.las.struts.service countDaysvalidate SessionTag sendEmail queryListAll show ApplicationList distribute Approver queryUser impor

36、tOrExport Excel queryApproved OrPendingList com.las.struts.dispatchAction LoginAction UserInfo Action Application DeliverAction Parameter MaintainAction UserManageAction com.las.struts.dao DAO Application ApproveAction FlowManage Action log logServlet com.las.hibernate 图 3-5 系统包层次图 图 3-5 是系统包的层次图。其中

37、,com.las.struts.service 包为 com.las.struts.dispatchAction 包提供系统一些公共服务,而 com.las.struts.dispatchAction 又 通过 com.las.struts.dao 包与持久层进行交互。 17 3.4 在线请假系统功能模块分析 3.4.1 系统功能模块分析 LAS 主要提供给项目组管理其项目组组员的请假和假期规划管理,并能提供给客户 一个清晰的项目组组员的请假计划,以及组员提交其请假计划。 它共有如下模块: 模块一:用户登陆模块用户登录系统,用户管理; 模块二:员工请假申请员工填写并提交请假申请; 模块三:请假

38、批准模块项目经理批准或驳回员工的请假; 模块四:请假流程定义定义请假流程和设计工作流; 模块五:休假计划报告查阅审批情况、导出Excel报表以及系统参数维护。 3.4.2 系统功能模块设计 表 3-4 到表 3-8 是系统各子模块的功能描述。 1)用户登陆模块 表 3-4 用户登陆模块功能说明 功能说明功能说明描述描述 用例描述用例描述 本用例主要是实现一个用户登录与用户管理的功能,首先, 申请人员、审批人员和维护人员需要输入用户名和密码, 经系统合法性检查后,合法用户可进入请假申请,也可以 对用户自己的资料进行修改,如果是维护人员,可以对用 户进行管理。 InputUserNameAndPw

39、d 所有申请人员、审批人员和维护人员先输入用户名和密码, 系统检验通过后方可填写申请及对用户进行管理。 ManageUser 项目组成员进入系统后可以修改自己的个人信息和密码。 而维护人员可以对用户进行增删操作。 2)员工请假申请模块 表 3-5 员工请假申请模块功能说明 功能说明功能说明描述描述 用例描述用例描述 本用例主要是实现一个员工请假申请的功能,首先, 员工登录系统后,按照给出的格式填写好申请。然后 系统根据审批流程的定义产生该申请的审批层次关系, 将申请递交给审批人员,申请将被存入数据库,同时 会发出一封邮件通知审批人员进行审批。 18 FillAndDeliverApplicat

40、ion员工填写系统提供的申请表格。然后递交给系统。 SendEmailToApprover 申请保存后,系统自动发送一封 Email 通知审批人员 审批 3)请假批准模块 表 3-6 请假批准模块功能说明 功能说明功能说明描述描述 用例描述用例描述 本用例主要是实现一个项目经理对请假审批的功能,首 先,审批人员登录系统后,查阅请假申请记录。在对其 审批时,系统根据定义的审批流程控制审批顺序,如果 指定了逐级审批,则需由下级审批人员先审批后,上级 审批 人员才能审批;如果指定了越级审批,在下级审 批人员没有审批的情况下,他的上级审批人员可以跳过 下级审批人员,直接审批。将审批结果存入系统,如果

41、所有审批人员对某一申请都已审批,将会通过一封 Email 通知员工审批结果。另外,凡是日期未到,已经 批准的请假申请仍可取消批准。 QueryApplicationRecords 审批人员查看请假申请记录,包括所有未批准的及已经 批准但请假日期未到的。 ApproveApplication审批人员决定批准请假申请或驳回请假申请。 CancelApproval审批人员取消批准决定,前提是该申请未过期。 SendEmailToApplicant 审批完成并保存到数据库后,系统自动发送一封 Email 通知员工审批结果。 4)自定义审批流程模块 表 3-7 自定义审批流程模块功能说明 功能说明功能说

42、明描述描述 用例描述用例描述 本用例主要是实现一个项目经理自定义审批流程的功能, 首先,项目经理登录系统后,项目经理需先指定组织架 构图,后指定审批流程,如果指定了逐级审批,则需修 改审批人员的审批权限,则需先找到审批人员的用户 ID,将其审批权限为 Not Bypass;如果指定了越级审批, 则需修改审批人员的审批权限,需先找到相关的审批人 员的用户 ID,将其审批权限改为 Bypass。将更改的结果 存入数据库,然后系统会自动发出一封邮件通知审批人 员所具有的权限。 DefineOrganizationFrame指定项目组的组织架构图,以便产生申请的审批流程。 ModifyOrganiza

43、tionFrame在项目组人员变动时,修改项目组的组织架构图。 19 SpecifyBossBypass 指定每一层审批人员的 Bypass 权限以及设置天数权限, 以控制审批流程。 SendEmailToApprover 组织架构图的指定、修改以及流程指定完成并存入数据 库后,系统自动发出一封 Email 通知相关审批人员所具 有的权限。 5)休假计划维护模块 表 3-8 休假计划维护模块功能说明 功能说明功能说明描述描述 用例描述用例描述 本用例主要是实现一个查询假期的功能,首先,申请人 员、审批人员以及维护人员登录系统后,申请人员可以 查询申请记录并作确认,维护人员可以配置相关查询参 数

44、,同时为第一模块提供一个公共接口用来计算假期的 天数。审批人员可以查询审批记录,生成请假计划,并 可以导出成 Excel 格式的报表。 ConfigSystemParameter 配置一些系统参数,查询条件以及公共假期,并提供给 用户一个假期时间计算的接口等。 CountercheckApplication 申请人员可以检查自己的申请,如有错,可以在审批前 修改。 QueryApplicationRecords 查询用户请假或申请审批记录,生成请假计划,可以导 出成 Excel 格式等 Comment D1: 文中的表都需要在正 文中给出引用,如此处应在正文中说 明:表 4-3 用于保存用户基

45、本信息。 20 第四章第四章 在线请假系统数据库设计在线请假系统数据库设计 4.1 数据库设计 4.1.1 数据库信息 有关数据库的描述如表 4-1 所示,系统用到的数据库查询技术如表 4-2 所述。 表 4-1 数据库信息 标标题题描描述述 数数据据库库名名称称LAS_DB 文文件件名名称称LAS_DB_Data 记记录录数数量量100 条/月 文文件件增增长长率率每个月增长05MB 的空间。 用用途途用于存放所有关于在线请假系统需要存储的数据。 4.4.2 查询与访问技术 表 4-2 数据库查询与访问技术 标标题题描描述述 查查询询技技术术采用 HQL 语言进行数据的查询 访访问问技技术术

46、采用 SQL 引擎对MSDE 数据库的访问 4.4.3 数据字典以及对应的持久化类 1) 用户信息表(TB_UserInfo) 表 4-3 用户信息表 列名列名类型类型是否为空是否为空释义释义是是否否主主键键备注备注 user_idIntegerN用户编号Y自增(1000,1) login_nameVarchar(50)N登录名 first_nameVarchar(50)N用户的姓 last_nameVarchar(50)N用户的名 user_passwordVarchar(20)N用户登陆密码 activeVarchar(6)N用户活动状态 company_idIntegerN所在公司ID

47、department_idIntegerN所属部门ID emailVarchar(50)N用户邮件地址 role_idIntegerN用户角色级 21 表 4-4 用户信息表约束关系 约束约束 S/No名称名称类型类型列名列名 1.PK_TB_UserInfo_user_idPrimaryuser_id 2.IX_UserInfo_login_nameUniqueLogin_name 3.FK_TB_UserInfo_company_idForeign company_id References TB_CompanyInfo(company_id) 4. FK_TB_UserInfo_depa

48、rtment_id Foreign department_id References TB_DepartmentInfo (department_id) 5.FK_TB_UserInfo_role_idForeign role_id References TB_UserRole (role_id) 2) 用户角色表(TB_UserRole) 表 4-5 用户角色表 列名列名类型类型是否为空是否为空释义释义是是否否主主键键备注备注 role_idIntegerN用户角色级别Y role_nameVarchar(50)N用户角色名 表 4-6 用户角色表约束关系 约束约束 S/No名称名称类型类型

49、列名列名 1.PK_TB_UserRole_role_idPrimaryrole_id 3) 用户所属部门表(TB_DepartmentInfo) 表 4-7 用户所属部门表 列名列名类型类型是否为空是否为空释义释义是是否否主主键键备注备注 department_idIntegerN部门号Y department_nameVarchar(50)N部门名 表 4-8 用户所属部门表约束关系 约束约束 S/No名称名称类型类型列名列名 1.PK_TB_DepartmentInfo_department_idPrimarydepartment_id 4) 分公司信息表(TB_CompanyInfo) 表 4-9 分公司信息表 列名列名类型类型是否为空是否为空释义释义是是否否主主键键备注备注 company_idIntegerN所在公司号Y company_nameVarchar(100)N公司名 22 表 4-10 分公司信息表约束关系 约束约束 S/No名称名称类型类型列名列名 1.PK_TB_CompanyInfo_company_idPrimaryrole_id 5) 用户申请表(TB_ApplicationFilled) 表 4-11 用户申请表 列名列名类型类型 是否是否 为空为空 释义释义 是是否否 主主键

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

当前位置:首页 > 其他


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