论文良好等级范文-在线请假系统.docx

上传人:小飞机 文档编号:1928112 上传时间:2022-12-26 格式:DOCX 页数:43 大小:436.01KB
返回 下载 相关 举报
论文良好等级范文-在线请假系统.docx_第1页
第1页 / 共43页
论文良好等级范文-在线请假系统.docx_第2页
第2页 / 共43页
论文良好等级范文-在线请假系统.docx_第3页
第3页 / 共43页
论文良好等级范文-在线请假系统.docx_第4页
第4页 / 共43页
论文良好等级范文-在线请假系统.docx_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《论文良好等级范文-在线请假系统.docx》由会员分享,可在线阅读,更多相关《论文良好等级范文-在线请假系统.docx(43页珍藏版)》请在三一办公上搜索。

1、高等教育自学考试毕业设计(论文)目 录摘 要1前 言2第一章 概述31.1 在线请假系统的任务与目标31.2 本论文所作的工作3第二章 在线请假系统技术背景以及支撑环境42.1 MVC42.2 Struts52.2.1 Struts概述52.2.2 利用Struts框架开发MVC系统62.3 Hibernate62.4 Ajax72.5 JXL82.6 在线请假系统的开发环境92.7 在线请假系统的运行环境92.7.1 在线请假系统的项目部署92.7.2 在线请假系统的环境需求10第三章 在线请假系统总体设计113.1 在线请假系统需求分析113.1.1 用户分析113.1.2 业务目标113

2、.1.3 业务处理过程123.1.4 系统特点123.1.5 其他需求123.2 系统总体视图描述133.2.1 系统用例视图133.2.2 系统约束143.3 在线请假系统的系统架构143.3.1 系统用例总图143.3.2 业务处理视图153.3.3 系统实现视图163.3.3.1 概述163.3.3.2 层次173.4在线请假系统功能模块分析183.4.1系统功能模块分析183.4.2系统功能模块设计18第四章 在线请假系统数据库设计214.1 数据库设计214.1.1 数据库信息214.4.2 查询与访问技术214.4.3 数据字典以及对应的持久化类214.2 数据库约束关系图264.

3、3 持久层264.4 非数据库文件27第五章 员工请假申请模块的设计与实现285.1 模块功能分析285.2 员工请假申请用例视图285.3 模块的包类结构图295.4 用例关系图315.4.1 顺序图315.4.2 协作图315.5关键技术325.5.1 权限控制325.5.2 Ajax日期校验345.5.3 定义组织框架中“环”的问题365.5.4 利用同步令牌来防止刷新导致的重复提交36第六章 总结与展望386.1 课题总结386.2 课题存在的问题以及解决方案38参考文献40致谢41摘 要随着信息技术的高速发展,信息技术在企业以及机关部门的使用越来越广泛,各种基于B/S架构的管理软件的

4、研究与开发也越来越受到人们的重视。本文基于Struts框架、Hibernate,MVC,详尽阐述了在线请假系统(Leave Application System,LAS)的设计与实现。本系统分为五大模块用户登录、员工请假申请、请假批准模块、请假流程定义与休假计划维护。文中描述了这些模块的主要设计思想和实现方法,并着重研究和讨论了员工请假申请模块的设计以及系统中的一些关键技术。论文在最后还探讨了系统目前存在的问题与不足,并对如何进一步改善系统进行了讨论。关键词:在线请假系统,MVC,Struts,Hibernate,Ajax作 者: XXX指导老师: YYY1前 言随着科学技术的进步,尤其是计算

5、机网络的迅猛发展,人类步入信息时代,人们的生活方式、思维方式、工作方式,以及教育方式也随之改变。同时网络技术的高速发展,计算机的广泛运用,使得实际生活中的问题通过计算机加网络得到了有效的解决。如,管理部门通过计算机可以对大量复杂的工序通过计算机控制,使其极大的降低了错误出现的概率,大幅度提高了工作的效率,从而获得经济效益。又如,每个公司都会遇到员工请假情况,需要经过,填写申请请假的表格,递交给上级批复,有时找不到上级本人递交申请,出现不能及时批复的情况。这样既给员工带来了不便,管理人员需要对请假记录进行归档,方便日后查阅,日积月累,查阅档案也不方便。综上所述,对于员工请假问题很有必要利用计算机

6、来管理工作流程、存储请假文档,从而获得有效的管理。本论文讲述了一个基于公司组织框架的在线请假系统(Leave Application System,LAS)的设计与实现过程,包括系统功能设计、数据库设计以及请假申请模块的详细设计与实现。全文共分为六章。第一章简单阐述了LAS的开发背景,任务目标,以及本文的所做的工作,第二章阐述了LAS相关的技术背景以及的支撑环境,第三章详细描述了LAS的总体设计,包括需求分析等,第四章阐述了LAS的数据库设计以及其持久层设计,第五章重点阐述了LAS中请假申请模块的设计与实现以及LAS中所运用到的关键技术,第六章对课题进行了总结,并且对LAS存在的不足进行说明以

7、及提出有效的解决方案。高等教育自学考试毕业论文(设计)第一章 概述1.1 在线请假系统的任务与目标LAS采用Java语言编写,结合Javascript、XML,基于Struts框架与Hibernate,实现了在线提交请假申请以及在线批复申请,并及时通知双方请假申请的审批情况,管理者也能够根据具体情况来制定不同的请假批复流程,通过该系统的假期维护功能能够准确的掌握公司员工的一定时期的请假情况。要求完成以下主要工作:1)在线请假系统的设计与实现,包括系统的基本架构,系统需求分析,用户分析以及功能模块分析,系统的各种约束条件,以及系统的UML建模过程。2)在线请假系统数据库的设计,包括系统数据库中的

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

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

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

11、架来构建一个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 Controller ActionServlet处理客户请求,利用配置的ActionMapping对

12、象把请求映射到Action处理器对象进行处理。Action处理对象访问ActionForm中的数据,处理和响应客户请求,它还调用后台的Bean组件,这些组件封装了具体的业务逻辑。Action处理器对象根据处理结果通知Controller,Controller进行下一步的处理。图2-3 Struts框架的组件结构图2.2.2 利用Struts框架开发MVC系统由于Struts已经为我们提供了一个非常好的MVC框架,我们利用Struts开发MVC系统时可以大大加快开发的速度。 具体在使用Struts框架时,对应各个部分的开发工作主要包括:Model部分:采用JavaBean和EJB组件,设计和实现

13、系统的业务逻辑。根据不同的请求从Action派生具体Action处理对象。完成做什么的任务来调用由Bean构成的业务组件。创建由ActionForm 的派生类实现对客户端表单数据的封装。 Controller部分:Struts为我们提供了核心控制部分的实现。我们只需要配置ActionMapping对象 View部分:为了使用Model中的ActionForm 对象,我们必须用Struts提供的自定义标记创建HTML 表单。利用Struts提供的自定义标记库编写用户界面把应用逻辑和显示逻辑分离。Struts框架通过这些自定义标记建立了View和Model之间的联系。Struts的自定义标记还提供

14、了很多定制页面的功能。 同时需要编辑两个配置文件:web.xml和struts-config.xml。通过它们配置Struts系统中的各个模块之间的交互,把Struts框架中MVC的各个部分联系起来,实现一个真正的MVC系统。2.3 HibernateHibernate 是一个纯 Java 的对象关系映射和持久性框架,是连接Java应用程序和关系数据库的中间件。它对JDBC API进行了封装,负责Java对象的持久化。在分层软件架构中它位于持久化层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑。它是一种ORM映射工具,能够建立面向对象的域模型和关系数据模型之间的映射。使用 Hib

15、ernate 能够节约大量项目开发时间,因为整个 JDBC 层都由这个框架管理。这意味着应用程序的数据访问层位于 Hibernate 之上,完全是从底层数据模型中抽象出来的。如图2-4所示: 图2-4 Hibernate层次图2.4 AjaxAjax(Asynchronous JavaScript and XML)是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。而传统的Web应用模型工作起来就像这样:大部分界面上的用户动作触发一个

16、连接到Web服务器的HTTP请求。服务器完成一些处理-接收数据,处理计算,再访问其它的数据库系统,最后返回一个HTML页面到客户端。这是一个老套的模式,自采用超文本作为Web使用以来,一直都这样用, 这样确限制了Web界面没有桌面软件那么好用。传统Web应用模型与Ajax模型的比较如图2-5所示:图2-5 传统Web应用模型(左)与Ajax模型的比较(右)通过在用户和服务器之间引入一个Ajax引擎,可以消除Web的开始停止开始停止这样的交互过程。不像加载一个页面一样,在会话的开始,浏览器加载了一个Ajax引擎-采用JavaScript编写并且通常在一个隐藏frame中。这个引擎负责绘制用户界面

17、以及与服务器端通讯。Ajax引擎允许用异步的方式实现用户与程序的交互不用等待服务器的通讯。所以用户再不不用打开一个空白窗口,看到等待光标不断的转,等待服务器完成后再响应,不用再担误用户界面的交互。2.5 JXLJXL(Java Excel API)是一个用来动态读写Excel文件的开源框架目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以能在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问

18、。相对POI,JXL简单方便,对中文支持非常好,功能也比较强大。现在发布的稳定版本是V2.0,提供以下功能:从Excel 95、97、2000等格式的文件中读取数据; 读取Excel公式(可以读取Excel 97以后的公式); 生成Excel数据表(格式为Excel 97); 支持字体、数字、日期的格式化; 支持单元格的阴影操作,以及颜色操作; 修改已经存在的数据表; 2.6 在线请假系统的开发环境本系统采用Struts1.1框架构建。开发工具采用Tomcat5.5与MyEclipse6.0结合使用。持久层采用Hibernate3.0框架,开发包为JDK1.5,数据库使用SQL Server的

19、桌面版MSDE。2.7 在线请假系统的运行环境2.7.1 在线请假系统的项目部署图2-6 LAS系统部署图在线请假系统的部署如图2-6所示,具体描述如下:Applicant PC, Manager PC and Agency PC这些计算机需要安装浏览器。Web Server Web服务器是在线请假系统的入口。所有的申请人员,审批人员和维护人员使用浏览器访问Web服务器,以便登录系统进行申请、审批、维护等操作。Application Server应用程序服务器用于处理商务逻辑以及初始化系统数据和检索数据。Database Server数据库服务器主要用来对系统中涉及的数据进行存取操作。2.7.

20、2 在线请假系统的环境需求本系统采用MVC三层架构,应用程序直接装在服务器上,由于在局域网内使用本系统,安全性较高,运行与处理速度快。1) 通信要求本系统被布署在公司内部的服务器中,供给公司内部人员使用,用户通过局域网连接到LAS。2) 硬件需求/配置每个员工一台计算机,需要将这些计算机连接到同一个局域网中的交换机。3) 系统软件计算机的操作系统为Windows操作系统,其中需要安装IE 6.0以上版本的浏览器,用户通过浏览器登录系统。第三章 在线请假系统总体设计3.1 在线请假系统需求分析3.1.1 用户分析本系统的用户可以分为以下五类:1)系统维护人员负责系统维护,包括负责批量的导入用户,

21、假期维护,可以对自己的个人资料进行编辑和查询本人过往申请记录的批复情况,同时作为员工,系统维护人员也具有提交请假申请的需要。2)经理作为公司的高层,负责批阅请假申请,可以对用户进行锁定的操作,可以查阅公司所有员工的请假历史,并且将公司某段时期中的请假情况生成Excel报表;负责定义和管理公司组织框架和请假批复流程。3)项目经理具有批阅请假申请的权限,并且作为经理的下属,还有提交请假申请的需要,并可以对自己的个人资料进行编辑和查询本人过往申请记录的批复情况。4)组长具有批阅请假申请的权限,并且作为经理以及项目经理的下属,还有提交请假申请的需要,并可以对自己的个人资料进行编辑和查询本人过往申请记录

22、的批复情况。5)员工员工可以提交未来某段时间的请假申请,并可以对自己的个人资料进行编辑和查询本人过往申请记录的批复情况。3.1.2 业务目标在线请假系统,该系统为员工提供方便的请假渠道,有利于提高公司的管理效率。目标是提供给项目经理和组员提供一个方便快捷的在线请假系统, 用于管理和优化员工的请假申请和批复过程,能够简化方便组员休假申请以及项目管理人员各组员的休假计划,并备份休假计划报告以备查阅。关键目标如表3-1关键目标所示,表3-1 关键目标标题描述问题:请假不方便,不能及时批假,管理不便影响对象:员工,项目组长,项目经理由问题带来的影响:员工找不到上级递交申请,造成不便, 没有统一的记录,

23、无法反映员工的出勤状况,不利于考核成功的解决方案:开发公司内部网的在线请假系统,为员工提供便利的请假渠道, 规范请假流程, 记录请假数据,生成报表,方便管理人员管理3.1.3 业务处理过程1)用户登录:完成对用户登录的合法性检查,并对用户权限进行控制;2)员工请假申请:员工向上级提交申请,并发送Email通知相应的上级;3)上级请假批准:由上级进行批复后Email通知员工批复结果;4)请假流程定义:定义好请假流程中要批复的层次关系;5)休假计划报告:导出Excel报表,对系统参数进行维护。3.1.4 系统特点LAS具有如下特点:1) 管理人员可以自定义请假的流程,可对审批流程各环节适当增减,,

24、不会影响整个系统的运行;2) 系统及时以Email方式发送批复结果于请假申请的员工,以便员工可以及时获得批复信息;3) 若休假时间未到,管理人员可以更改批复;4) 若请假申请的起始日期为过期,申请人员可以对申请进行更改删除(仅限于假设性申请)。3.1.5 其他需求LAS的其他需求,分别是:l 处理量需求:系统日处理请假申请50人左右,最高不超过300人。l 安全需求:如表3-2所示。表3-2 安全需求标题描述用户登陆:根据 username ,password ,active(是否被锁定)判断用户是否有权登陆用户权限和机制:根据字段role_id 判断用户登陆后所拥有的权限。经理拥有最高权限可

25、对用户的active状态进行更改。密码构成:长度在6到10之间,采用MD5加密算法加密存储的密码l 存档需求:每个组员的假期申请从提交申请开始一直会保留到其被批阅的时候,申请将分已经通过和未通过批准的分开保存,未批准的申请将返回给组员,通过批准的申请将生成休假计划并添加到组员休假计划中。未通过批准的申请将在某阶段的整理中归档到备份文件中。通过批准的申请会生成Excel报表,Excel报表主要提供给项目经理和客户对项目组成员的休假情况以及计划有个详细的了解。l 意外处理需求:LAS可以忍受的由于维护的停工期不能超过一天。LAS记录使用文本和Excel报表存储,备份的持续时间一般为一天。在停机维护

26、或者意外事件.允许组员人工向项目经理提交请假申请,并在系统恢复使用期间重新补录。3.2 系统总体视图描述3.2.1 系统用例视图在线请假系统的用例视图如图3-1所示。图3-1 系统用例视图3.2.2 系统约束1) 如果申请人填写请假起始和结束日期相同时,系统会自动判断出为一天,会提供上下午的选择,如果不选择,系统默认为一天假期;2) 可以假设性请假,如:从某天到某天,我将要请假。中途可以取消或者编辑请假;3) 所有未到期的申请可以做增删改操作(仅限于假设性申请);4) 流程可分为:越级审批(高级越过低级或者低级越过高级)和逐级审批(低级审批后高级才可审批)。3.3 在线请假系统的系统架构3.3

27、.1 系统用例总图整个在线请假系统的用例总图如图3-2所示。图3-2 系统用例图3.3.2 业务处理视图在线请假系统的业务处理视图如图3-3所示。图3-3 业务处理图1) ActionServlet Controller:它是整个流程的控制器,用于处理用户与服务器间的会话过程。用户发送请求到控制器,控制器通过ActionFormBean对请求的数据进行验证,然后通过Actions接口送到服务器去处理,控制器将从服务器返回的Bussiness Data填充到FormBean类中,生成JSP页面,显示给用户处理后的结果。2) ActionFormBean Processor:用于将用户输入的表单数

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

29、S所使用到的类和包com.las.struts.dispatchAction此包存放LAS所使用到业务逻辑处理的类com.las.struts.service此包用于存放LAS项目提供的服务接口com.las.hibernate此包存放LAS所涉及到的hibernate配置文件以及持久化类com.las.struts.dao此包用于存放LAS项目通用数据库操作类com.las.filters此包用于存放过滤显示页面字符格式的类com.las.Struts.form此包存放页面中所使用的表单的FormBean类3.3.3.2 层次图3-5 系统包层次图图3-5是系统包的层次图。其中,com.la

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

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

32、r项目组成员进入系统后可以修改自己的个人信息和密码。而维护人员可以对用户进行增删操作。2) 员工请假申请模块表3-5员工请假申请模块功能说明功能说明描述用例描述本用例主要是实现一个员工请假申请的功能,首先,员工登录系统后,按照给出的格式填写好申请。然后系统根据审批流程的定义产生该申请的审批层次关系,将申请递交给审批人员,申请将被存入数据库,同时会发出一封邮件通知审批人员进行审批。FillAndDeliverApplication员工填写系统提供的申请表格。然后递交给系统。SendEmailToApprover申请保存后,系统自动发送一封Email通知审批人员审批3) 请假批准模块表3-6请假批

33、准模块功能说明功能说明描述用例描述本用例主要是实现一个项目经理对请假审批的功能,首先,审批人员登录系统后,查阅请假申请记录。在对其审批时,系统根据定义的审批流程控制审批顺序,如果指定了逐级审批,则需由下级审批人员先审批后,上级审批 人员才能审批;如果指定了越级审批,在下级审批人员没有审批的情况下,他的上级审批人员可以跳过下级审批人员,直接审批。将审批结果存入系统,如果所有审批人员对某一申请都已审批,将会通过一封Email通知员工审批结果。另外,凡是日期未到,已经批准的请假申请仍可取消批准。QueryApplicationRecords审批人员查看请假申请记录,包括所有未批准的及已经批准但请假日

34、期未到的。ApproveApplication审批人员决定批准请假申请或驳回请假申请。CancelApproval审批人员取消批准决定,前提是该申请未过期。SendEmailToApplicant审批完成并保存到数据库后,系统自动发送一封Email通知员工审批结果。4) 自定义审批流程模块表3-7自定义审批流程模块功能说明功能说明描述用例描述本用例主要是实现一个项目经理自定义审批流程的功能,首先,项目经理登录系统后,项目经理需先指定组织架构图,后指定审批流程,如果指定了逐级审批,则需修改审批人员的审批权限,则需先找到审批人员的用户ID,将其审批权限为Not Bypass;如果指定了越级审批,则

35、需修改审批人员的审批权限,需先找到相关的审批人员的用户ID,将其审批权限改为Bypass。将更改的结果存入数据库,然后系统会自动发出一封邮件通知审批人员所具有的权限。DefineOrganizationFrame指定项目组的组织架构图,以便产生申请的审批流程。ModifyOrganizationFrame在项目组人员变动时,修改项目组的组织架构图。SpecifyBossBypass指定每一层审批人员的Bypass权限以及设置天数权限,以控制审批流程。SendEmailToApprover组织架构图的指定、修改以及流程指定完成并存入数据库后,系统自动发出一封Email通知相关审批人员所具有的权限

36、。5) 休假计划维护模块表3-8休假计划维护模块功能说明功能说明描述用例描述本用例主要是实现一个查询假期的功能,首先,申请人员、审批人员以及维护人员登录系统后,申请人员可以查询申请记录并作确认,维护人员可以配置相关查询参数,同时为第一模块提供一个公共接口用来计算假期的天数。审批人员可以查询审批记录,生成请假计划,并可以导出成Excel格式的报表。ConfigSystemParameter配置一些系统参数,查询条件以及公共假期,并提供给用户一个假期时间计算的接口等。CountercheckApplication申请人员可以检查自己的申请,如有错,可以在审批前修改。QueryApplication

37、Records查询用户请假或申请审批记录,生成请假计划,可以导出成Excel格式等第四章 在线请假系统数据库设计4.1 数据库设计4.1.1 数据库信息有关数据库的描述如表4-1所示,系统用到的数据库查询技术如表4-2所述。表4-1数据库信息标题描述数据库名称LAS_DB文件名称LAS_DB_Data记录数量100条/月文件增长率每个月增长05MB的空间。用途用于存放所有关于在线请假系统需要存储的数据。4.4.2 查询与访问技术表4-2数据库查询与访问技术标题描述查询技术采用HQL语言进行数据的查询访问技术采用SQL引擎对MSDE数据库的访问4.4.3 数据字典以及对应的持久化类1) 用户信息

38、表(TB_UserInfo)表4-3用户信息表文中的表都需要在正文中给出引用,如此处应在正文中说明:表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所在公司IDdepartment_idIntegerN所属部门IDemailVar

39、char(50)N用户邮件地址role_idIntegerN用户角色级表4-4用户信息表约束关系约束S/No名称类型列名1.PK_TB_UserInfo_user_idPrimaryuser_id2.IX_UserInfo_login_nameUniqueLogin_name3.FK_TB_UserInfo_company_idForeigncompany_idReferencesTB_CompanyInfo(company_id)4.FK_TB_UserInfo_department_idForeigndepartment_idReferencesTB_DepartmentInfo(depa

40、rtment_id)5.FK_TB_UserInfo_role_idForeignrole_idReferencesTB_UserRole (role_id)2) 用户角色表(TB_UserRole)表4-5用户角色表列名类型是否为空释义是否主键备注role_idIntegerN用户角色级别Yrole_nameVarchar(50)N用户角色名表4-6用户角色表约束关系约束S/No名称类型列名1.PK_TB_UserRole_role_idPrimaryrole_id3) 用户所属部门表(TB_DepartmentInfo)表4-7用户所属部门表列名类型是否为空释义是否主键备注departme

41、nt_idIntegerN部门号Ydepartment_nameVarchar(50)N部门名表4-8用户所属部门表约束关系约束S/No名称类型列名1.PK_TB_DepartmentInfo_department_idPrimarydepartment_id4) 分公司信息表(TB_CompanyInfo)表4-9分公司信息表列名类型是否为空释义是否主键备注company_idIntegerN所在公司号Ycompany_nameVarchar(100)N公司名表4-10分公司信息表约束关系约束S/No名称类型列名1.PK_TB_CompanyInfo_company_idPrimaryrol

42、e_id5) 用户申请表(TB_ApplicationFilled)表4-11用户申请表列名类型是否为空释义是否主键备注application_idIntegerN申请编号Y自增(1,1)user_idIntegerN用户编号date_beginDatetimeN请假起始日期date_endDatetimeN请假截止日期am_pm_signVarchar(5)N上/下午判别标志“Am”/”Pm”/”Empty”/”Null”reasonVarchar(300)N申请缘由leave_daysRealN请假天数all_approved_statusVarchar(12)N审批通过状态“Approv

43、ed”/“Rejected”/“Pending”/“Tentative”all_approved_dateDatetimeY审批通过时间表4-12用户申请表约束关系约束S/No名称类型列名1.PK_TB_ApplicationFilled_application_idPrimaryapplication_id2.FK_TB_ApplicationFilled_user_idForeignuser_idReferencesTB_UserInfo(user_id)6) 审批记录表(TB_ApproveRecords)表4-13审批记录表列名类型是否为空释义是否主键备注idintNIDYapplic

44、ation_idIntegerN申请编号由申请表而得到superior_idIntegerN审批用户IDapproved_statusVarchar(8)Y审批状态“Approved”/”Pending”“Rejected”/“Pass”approve_timeDatetime(8)Y审批时间remarkVarchar(300)Y备注表4-14审批记录表约束关系约束S/No名称类型列名1.PK_TB_ApproveRecords_idPrimaryid2.FK_TB_ApproveRecords_superior_id_1Foreignsuperior_idReferencesTB_FlowRule(superior_id)3.FK_TB_ApproveRecords_superior_id_2ForeignSuperior_idReferencesTB_UserInfo(user_id)4.FK_TB_ApproveRecords_application_idForeignapplication_idReferencesTB_ApplicationFilled(appl

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号