办公自动化系统文档管理子系统的设计与实现本科论文.doc_第1页
办公自动化系统文档管理子系统的设计与实现本科论文.doc_第2页
办公自动化系统文档管理子系统的设计与实现本科论文.doc_第3页
办公自动化系统文档管理子系统的设计与实现本科论文.doc_第4页
办公自动化系统文档管理子系统的设计与实现本科论文.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 论 文(设计)院 系 软件学院 题 目 办公自动化系统文档管理子系统的设计与实现 学生姓名 阎守卫 学 号 071251183 年 级 2007级 专 业 软件工程 指导教师 职 称 论文提交日期 38南京大学软件学院本科毕业论文摘 要办公自动化实现了无纸化办公,基于B/S模式,简单易用。办公自动化的基本功能有文档管理、消息管理、考勤管理、日程管理和系统管理。本文重点介绍文档管理模块。文档管理模块覆盖了四个主要的功能:文档管理、文件搜索、回收站管理和日志管理。文档管理模块完成了文件的基本操作,包括:添加、删除、修改、查看、搜索和下载的功能。本模块还将模拟Windows的回收站功能,对文件资源进行更加有效的管理。本文重点介绍项目中所用到的Java EE和Ajax技术。关于Java EE,本文集中介绍Struts、Spring和Hibernate框架;关于Ajax,本文结合ExtJs框架进行介绍。Struts采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用;Spring是一个开源的Java/Java EE全功能栈的应用程序框架。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类;Hibernate是一个面向Java环境的对象/关系型数据库映射工具;AJAX是一种用于创建更好更快以及交互性更强的Web应用程序的技术。通过JavaScript的XMLHttpRequest对象来直接与服务器进行通信,在与Web服务器交换数据时页面不用重载。 论文的组织结构如下:1. 第一章介绍项目的背景及技术的发展现状。2. 第二章介绍项目所用相关技术。包括JavaEE技术和相关的SSH框架,以及AJAX和ExtJS框架。3. 第三章对项目进行整体性介绍。4. 第四章对项目进行详细介绍,包括项目的详细设计和具体实现。5. 第五章将会对办公自动化进行展望,分析预测办公自动化未来的发展趋势。6. 最后,将会特别对指导老师和同学表示感谢。关键词:办公自动化项目,Java EE技术,Ajax技术AbstractOffice Automation Project Overview document management module. Office automation achieve paperless office。Its based on B / S mode and easy to use. The basic functions of office automation, document management, message management, attendance management, schedule management, and system management. This article focuses on document management module. Document management module covers the four main functions: document management, file search, the Recycle Bin management and log management. Document Management module completes the documents basic operations, including: add, delete, modify, view, search and download function. The module also features simulated Windows Recycle Bin, the file management of resources more effectively. Introduction to Java EE & Ajax technologies. This article focuses on projects that used Java EE and Ajax. About Java EE, this paper focuses on Struts, Spring and Hibernate frameworks; on Ajax, ExtJs framework of this paper are introduced. MVC pattern using Struts can be a good help java developers to use J2EE Web application development; Spring is an open source Java / Java EE stack full-featured application framework. Spring Framework provides a simple way of development, this development approach will avoid low-level code that may cause confusion becomes complicated property file and help a lot of class; Hibernate is a Java environment for object / relational database mapping tool ; AJAX is used to create better, faster and more interactive Web application technology. Through JavaScripts XMLHttpRequest object to communicate directly with the server, to exchange data with the Web server when you do not reload the page. Organizational structure of the paper. The first chapter introduces the background of the project and technology development status. The second chapter describes the related technologies used by the project. Including SSH JavaEE framework and related technologies, as well as AJAX, ExtJS framework. The third chapter describes the overall implementation of the project. The fourth chapter details the project, including the detailed design and implementation. The five chapter will be Looking for office automation, office automation, analysis and forecast future trends. Finally, the guidance will be particularly thanked the teachers and studentsKeywords:Office Automation, Java EE, Ajax目 录摘 要IAbstractII目 录IV第一章 概述/绪论11.1 项目背景11.2 国内外办公自动化技术现状21.3 论文主要工作/组织结构3第二章 JavaEE&AJAX技术概述52.1 JavaEE技术52.1.1 Struts 1.3框架62.1.2 Spring框架82.1.3 Hibernate框架92.2 AJAX技术112.2.1 AJAX112.2.2 ExtJS框架12第三章 办公自动化系统项目概述133.1系统概述133.2系统业务流程143.3 模块介绍15第四章 Java EE&AJAX技术在文档管理模块项目中的应用214.1 Hibernate框架在项目中的应用214.2 Spring框架在项目中的应用234.3 Struts1在项目中的应用254.4 AJAX & ExtJS技术在项目中的应用。29第五章 总结与展望35参考文献37致谢38第一章 概述/绪论1.1 项目背景随着计算机的普及和计算机技术的飞速发展,越来越多的企业利用计算机解决实际中遇到的问题。伴随着数字商业时代的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效率、自动化,办公自动化系统应运而生。办公自动化建设的本质是提高决策效能为目的的。通过实现办公自动化,或者说实现数字化办公,可以优化现有的管理组织结构,调整管理体制,在提高效率的基础上,增加协同办公能力,强化决策的一致性,最后实现提高决策效能的目的。1办公自动化技术分为三个层次:第一个层次只限于单机或简单的小型局域网上的文字处理、电子表格、数据库等辅助工具的应用,一般称之为事务型办公自动化系统;第二个层次是信息管理型办公自动化系统,是把事务型办公系统和综合信息紧密结合的一种一体化的办公信息处理系统;第三个层次是决策支持型系统,建立在信息管理级系统的基础上,结合有关条件,选用决策数字模型,做出相应决策。本文主要针对第二层次的办公自动化系统进行研究。办公自动化系统的主要功能:文档管理、消息管理、考勤管理、日程管理和系统管理。本文主要研究文档管理。文档管理子系统可使各类文档(包括各种文件、知识、信息)能够按权限进行保存、共享和使用,并有一个方便的查找手段。每个单位都会有大量的文档,在手工办公的情况下这些文档都保存在每个人的文件柜里。因此,文档的保存、共享、使用和再利用是十分困难的。另外,在手工办公的情况下文档的检索存在非常大的难度。文档多了,需要什么东西不能及时找到,甚至找不到。办公自动化使各种文档实现电子化,通过电子文件柜的形式实现文档的保管,按权限进行使用和共享。实现办公自动化以后,比如说,某个单位来了一个新员工,只要管理员给他注册一个身份文件,给他一个口令,自己上网就可以看到这个单位积累下来的东西,规章制度、各种技术文件等等,只要身份符合权限可以阅览的范围,他自然而然都能看到,这样就减少了很多培训环节。2文档管理子系统的主要功能有:文档管理、回收站管理、文件搜索和日志管理。1.2 国内外办公自动化技术现状经过近30年的发展, 办公自动化越来越成熟了, 使得其应用范围也愈来愈广。办公自动化已经从以前只是在机关的办公系统发展到现在各企业和各种工作部门都需要的办公系统。在实际工作中, 各企业同样需要对内或对外处理各种信息,因此也同样有办公自动化的必要。而且, 在市场经济的条件下,企业和各种工作部门的办公事务将越来越繁重, 企业和工作人员快速、有效的协调越来越显得重要, 越来越有必要实施办公的自动化。办公自动化系统是企业和工作部门的数字神经系统的重要部分, 没有一个快速反应的神经系统的协助, 任何企业和工作部门将难以获得长期、稳定、快速的发展。实际上, 越来越多的企业和工作部门已经把办公自动化提到日程上来, 很多企业和工作部门都在不同的层次上实现了办公自动化3。但同时,不同层次的办公自动化系统对办公人员的要求也不同。从前的办公自动化是个体工作的自动化,不要求所有的办公人员都加入到办公自动化的流程和使用中,这些工作只是由一些专门的操作人员来做。而现代的办公自动化系统通过计算机网络将所有员工联系起来,通过网络来完成大部分的办公工作,是全员的办公自动化。并且,现代办公自动化系统的功能越来越先进,使用起来越来越简单。尤其是最先进的WEB方式的办公自动化系统,办公人员只要能掌握简单的WINDOWS和WEB的操作,基本上就能应付所有的计算机应用了并能熟练的操作办公系统。这样办公自动化系统己经起到了推动企业和工作部门的整体快速发展、提高工作效率、增强竞争实力的作用4。科技发展到现在的地步,随着企业和各部门的发展,企业内部以及企业之间的联系越来越多,因此对企业中的办公自动化也有着更进一步的要求,从而使“数字化办公”和“协作办公”成为办公自动化系统今后的主要发展方向。随着3G移动网络的部署,办公自动化已经进入了移动时代。移动办公自动化系统就是一个集3G移动技术、智能移动终端、VPN、 身份认证、地理信息系统(GIS)、Webservice、商业智能等技术于一体的移动办公自动化产品。它将原有办公自动化系统上的公文、通讯录、日程、文件管理、通知公告等功能迁移到手机,工作人员可以随时随地进行掌上办公,成为管理者、市场人员等贴心的移动办公系统。5文档管理是办公自动化的最重要功能之一。文档管理技术也随着办公自动化技术的发展而发生巨大变化。办公自动化对文书与档案工作的直接影响,就是产生了大量不同于传统纸质文档的电子文档。由于目前我国办公自动化尚未完全社会化,并且电子签名、身份认证、信息安全等技术措施尚未完善,在相当长时间内,无法实现完全的无纸化办公,因此,电子文件和纸质文件将长期并存。尽管电子文件和纸质文件所记载的信息完全相同,根据需要可以互为转换,但由于载体的差异,存储和获取信息的方式带有根本性的区别,因而在文件标的归档上相互制约,相互影响,对传统的文件立卷归档的理论与实践带来了巨大冲击和挑战。办公自动化对文件归档工作带来的变化表现在:归档载体发生了变化。原来单一的纸质形式向同一归档文件即有纸质形式又有电子形式转变。即电子文件与纸质文件同步归档,这样既可以解决归档文件的凭证、依据作用,又可以解决归档文件的利用和资源共享问题,达到互补的目的。归档含义发生了变化。由于电子文件具有对设备的依赖性,离开了计算机及软件就无法生成、传递,同时电子文件还具有易更改性,人为的修改及遭遇受病毒侵袭使得文件归档存在着实物上的归档和概念上的归档等,办公自动化使归档的含义需要重新解释。突破了“案卷”的概念,以“件”作为归档文件材料的整理单位。传统立卷要进行案卷和卷内两级整理,过程复杂,已落后于档案管理现代化的要求。61.3 论文主要工作/组织结构本文首先介绍办公自动化的项目背景及国内外办公自动化的发展现状,然后介绍项目所用到的JavaEE技术及其相关的Struts、Spring、Hibernate框架、和前端ExtJS技术。接着本文介绍项目的整体架构,介绍项目的高层设计。然后本文将大篇幅详细介绍MVC结构在本项目中的应用及Struts、Spring、Hibernate框架如何与项目进行结合。本文将重点介绍项目的详细设计与实现,并体现出项目的工程性。最后,本文将对办公自动化技术做一个展望,分析预测办公自动化的发展趋势。论文共分五章:第一章介绍项目的背景及技术的发展现状。第二章介绍项目所用相关技术。包括JavaEE技术和相关的SSH框架,以及AJAX和ExtJS框架。第三章对项目进行整体性介绍。第四章对项目进行详细介绍,包括项目的详细设计和具体实现。第五章将会对办公自动化进行展望,分析预测办公自动化未来的发展趋势。最后,将会特别对指导老师和同学表示感谢。第二章 JavaEE&AJAX技术概述2.1 JavaEE技术图2.1 JavaEE多层应用图 Java EE是sun公司推出的企业级应用程序版本。这个版本以前称为 J2EE。能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,最新版本是Java EE 6。它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(SOA)和 Web 2.0 应用程序。Java EE平台使用了一个针对企业应用的分布式多层应用模型。应用逻辑根据功能划分为组件,组成Java EE应用的不同应用组件根据在多层Java EE环境中应用组件所属的层安装在不同的计算机上。图2.1中说明了两个多层Java EE应用,它们被划分为在以下列表中描述的分层组件。运行在客户端计算机上的客户端层组件运行在Java EE服务器上的Web层组件运行在Java EE服务器上的业务层组件运行在 EIS服务器上的企业信息系统层软件7Java所包含的技术:JDBC提供连接各种数据库的统一接口。EJB方便开发者对基于组件的企业应用进行创建、部署和管理。JNDI提供一个接口,这个接口屏蔽了企业网络所使用的各种命名和目录服务Java RMI用来开发分布式Java应用程序。JMS提供企业消息服务。JTS提供存取事务处理资源的开放标准。JavaFX用来开发富互联网应用程序。JPA通过JDK注解或XML描述对象-关系表的映射关系。2.1.1 Struts 1.3框架介绍Struts之前首先要提到的就是MVC结构。MVC是一种设计模式,M代表Model,V代表View,C代表Controller。MVC将输入、处理与输出分开,使得模型与视图分离,并使用控制器作为桥梁,可以最大化的重用代码。MVC结构使程序具有低耦合性,对变化的适应能力更强;MVC具有高可重用性和可适用性,模型不用改变的前提下,只需改变视图层就可使应用适用于不同产品;MVC可维护性更高;MVC更符合工程化的需要,由于视图层、控制层和业务层相互分离,开发人员可各司其职,开发业务逻辑的专注于业务层,而前端开发的则更加专注于视图层开发;MVC部署迅速,且生命周期成本较低。尽管为了实现MVC结构需要我们做一些额外的工作,但MVC的好处显而易见。Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他的java架构一样,Struts 也是面向对象设计,将MVC模式“分离显示逻辑和业务逻辑”的能力发挥得淋漓尽致。Struts 框架的核心是一个弹性的控制层,基于如Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 的一些类库。Struts由一组相互协作的类(组件)、Servlet以及Jsp taglib组成。基于struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是一个传统 MVC设计模式的一种变化类型。Struts为业务层、视图层和控制层都提供了对应的组件。ActionServlet类作为Struts的核心控制器,负责拦截来自用户的请求。Action类通常由用户提供(用户提供的类继承Action类),Action类负责接收ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面或HTML页面显示。Struts对应的Model部分由JavaBean组成,ActionForm用于封装请求参数,并封装成ActionForm对象,该对象由ActionServlet转发给Action,Action根据ActionForm里面的请求参数处理用户的请求。JavaBean封装了底层业务逻辑。Struts对应的View部分大多采用JSP实现,通过使用标签库可以减少脚本的使用。Struts支持自定义标签库,可以实现与Model的有效交互,并增加了实现功能。Struts对应的Controller部分主要由两部分组成:系统核心控制器和业务逻辑控制器。其中系统核心控制器对应的是ActionServlet,负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。业务逻辑控制器负责处理用户请求,通过调用Model来处理,本身并不具备处理能力。Struts框架的工作流程:1 读取配置 (初始化ModuleConfig对象)Struts框架总控制器(ActionServlet)是一个Servlet,在web.xml中配置成自动启动的Servlet。读取配置文件(struts-config.xml)的配置信息,为不同的Struts模块初始化相应的ModuleConfig对名:ActionConfig,ControlConfig,FormBeanConfig,MessageResourcesConfig2 发送请求请求上传WEB服务器(处理.do的请求)3 填充FORM(实例化,复位,填充数据,校验,保存)(*.do请求)从ActionConfig中找出对应该请求的Action子类,如没有对应的Action,控制器直接转发给JSP或静态页面。如有对应的Action且这个Action有一个相应的ActionForm.ActionForm被实例化并用http请求的数据填充其属性,并且保存在ServletContext中(request或session中),这样它们就可以被其它Action对象或者JSP调用。4 派发请求控制器根据配置信息ActionConfig将请求派发到具体的Action,相应的FormBean一并传给这个Action的execute()方法.5 处理业务Action一般只包含一个execute方法,它负责执行相应的业务逻辑(调用其它业务模块).完毕返回一个ActionForward对象,控制器通过该ActionForward对象来进行转发工作6 返回响应Action根据业务处理的不同结果返回一个目标响应对象给总控制器,该目标响应对象对应一个具体的JSP页面或另一Action.7 查找响应(可以是一个Action)8 响应用户2.1.2 Spring框架Spring也是基于MVC结构的框架。Spring Framework是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 Spring上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。Spring AOP:通过配置管理特性,Spring AOP模块直接将面向方面的编程功能集成到了Spring框架中。所以,可以很容易地使Spring框架管理的任何对象支持 AOP。Spring AOP模块为基于Spring的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。Spring DAO:JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO的面向JDBC的异常遵从通用的 DAO 异常层次结构。Spring ORM:Spring 框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatis SQL Map。所有这些都遵从 Spring 的通用事务和DAO异常层次结构。Spring Web模块:Web上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。Spring MVC框架:MVC框架是一个全功能的构建Web应用程序的MVC实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText和POI。Spring 框架的功能可以用在任何Java EE服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定Java EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同Java EE环境(Web或EJB)、独立应用程序、测试环境之间重用。 82.1.3 Hibernate框架Hibernate是一个面向Java环境的对象/关系型数据库映射工具。对象/关系型数据库映射object/relational mapping,ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。Hibernate不仅管理Java 类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时对人工使用SQL和JDBC处理数据的时间。Hibernate的核心接口一共有五个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。Session接口负责执行很多常见的SQL语句。这里的Session指的是HttpSession。SessionFactory接口负责初始化Hibernate,并负责创建Session对象,使用了常用的工厂模式。Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口负责事务相关的操作。Query和Criteria接口负责执行各种数据库查询。Hibernate基础代码包括POJO和Hibernate映射文件。POJO在Hibernate语义中理解为数据库表所对应的Domain Object,可以简单地理解为一个不包含逻辑代码的值对象(VO)。Hibernate从本质上来讲是一种“对象-关系型数据映射”。POJO在这里体现的就是ORM(对象关系映射)的Object层的语义,而映射文件则是将对象与关系型数据相关联的纽带,在Hibernate中,映射文件通常以“.hbm.xml”作为后缀。9Hibernate的优点:对象/关系数据映射(ORM),使用时只需要操纵对象,使开发对象化,抛弃了以数据库为中心的思想,完全的面向对象思想。透明持久化(persistent),带有持久化状态的、具有业务功能的单线程对象,此对象生存期很短。这些对象可能是普通的JavaBeans/POJO,这个对象没有实现第三方框架或者接口,唯一特殊的是他们正与(仅仅一个)Session相关联。一旦这个Session被关闭,这些对象就会脱离持久化状态,这样就可被应用程序的任何层自由使用。事务Transaction,应用程序用来指定原子操作单元范围的对象,它是单线程的,生命周期很短。它通过抽象将应用从底层具体的JDBC、JTA以及CORBA事务隔离开。某些情况下,一个Session之内可能包含多个Transaction对象。尽管是否使用该对象是可选的,但无论是使用底层的API还是使用Transaction对象,事务边界的开启与关闭是必不可少的。此外,Hibernate是轻量级框架,移植性很好,并且提供缓存机制,HQL编程也非常简单。2.2 AJAX技术 2.2.1 AJAXAJAX是一种用于创建更好更快以及交互性更强的Web应用程序的技术。通过JavaScript的XMLHttpRequest对象来直接与服务器进行通信,在与Web服务器交换数据时页面不用重载。AJAX可以使因特网应用程序更小、更快、更友好。AJAX包含的主要技术有XHTML、CSS、DOM、XML与XSLT、XMLHttpRequest对象、基本Javascript和服务器端技术。XMLHttpRequest对象是AJAX技术的核心。XMLHttpRequest对象在大部分浏览器上已经实现而且拥有一个简单的接口允许数据从客户端传递到服务端,但并不会打断用户当前的操作。使用XMLHttpRequest传送的数据可以是任何格式,虽然从名字上建议是XML格式的数据。开发人员应该已经熟悉了许多其他XML相关的技术。XPath可以访问XML文档中的数据,但理解XML DOM是必须的。类似的,XSLT是最简单而快速的从XML数据生成HTML或XML的方式。许多开发人员已经熟悉XPath和XSLT,因此AJAX选择XML作为数据交换格式是有意义的。XSLT可以被用在客户端和服务端,它能够减少大量的用JavaScript编写的应用逻辑。2.2.2 ExtJS框架Ajax的主流框架之一就是ExtJS。ExtJS最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件。ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用Javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端AJAX框架。ExtJs初期仅是对Yahoo! UI的对话框扩展,后来逐渐有了自己的特色,深受网友的喜爱。发展至今,Ext除YUI外还支持Jquery、Prototype等的多种JS底层库,让大家自由地选择。该框架完全基于纯HTML/CSS+JS技术,提供丰富的跨浏览器UI组件,灵活采用JSON/XML数据源开发,使得服务端表示层的负荷真正减轻,从而达到客户端的MVC应用。本项目使用了ExtJS的日历组件、树形结构组件等等,使得客户端更加丰富、更加友好。10第三章 办公自动化系统项目概述3.1系统概述本项目完成的产品完全基于浏览器操作模式,安装简单(B/S架构,不必安装或者只要安装很小的插件),操作方便,具有良好的系统扩充能力的办公自动化系统,提供:1)文档管理平台通过本平台,实现文档管理、回收站管理、文件搜索管理、日志管理等功能。各部门在服务器有自己的共享文件夹,在浏览器中模拟实现操作系统中的文件夹树形结构,可以在文件夹下创建某个文档,可以查询、修改、删除文档;实现回收站管理,可还原、彻底删除文件;实现文件搜索功能;记录文档操作的日志。2)消息管理平台通过本平台,实现消息管理、邮箱管理、信息提示等功能。用户可以对自己未发布的消息进行增删改查;可以指定消息接收者、消息的有效时间等;管理员可以查询所有已发布的消息;用户可以进行邮箱管理,主要有收件箱、发件箱、草稿箱、废件箱的管理;用户登录系统后,在首页显示新消息,可以点击链接直接查看。3)考勤管理平台通过本平台,实现签到/签退管理、考勤历史查询、考勤统计、工作日管理、工作时间管理等功能。用户如果是当天第一次操作,只能签到,当天第一次以后操作,只可以签退,记录签卡备注、签卡时间;管理员可以通过平台按照时间段、部门、姓名等信息查询考勤信息;管理员可以通过平台统计一段时间内指定部门所有员工的迟到、早退、旷工次数等,可以导出Excel表格;管理员可以通过本平台设定当年的工作日,对周末、法定假日、公司休假等日期不做考勤;管理员可以通过平台设定某段日期内上班时间、下班时间;员工可以将出差时间等信息提交给领导审批,审批通过后管理员设定该员工在出差时间段内不做考勤;员工当天如果忘记签到,事后可以提交申请进行补签。4)日程管理平台通过本平台实现个人日程管理、部门日程管理、便签管理等功能。用户可以浏览和编辑自己的日程;用户可以管理联系人名单;用户可以浏览联系人的日程;用户可以浏览和编辑部门日程;用户可以使用迷你日历,迷你日历是一个以图形方式简要显示当前日期、星期、月份的日历,为用户提供当前日期总览;用户可以记录便签。5)系统管理平台通过本平台实现部门管理、员工管理、权限管理、菜单定制、系统登录/注销管理等功能。管理员可以对系统中的所有权限进行管理;可以管理部门信息;可以灵活定制不同角色人员登录系统后显示的菜单;管理员工信息、修改密码等,员工信息包含员工照片;实现只有登录用户才能使用本系统;提供系统注销功能;记录进行关键操作的用户信息及操作时间,并提供管理及查询功能。角色说明:普通员工:企业内部的员工;部门经理:企业内部的一个部门的负责人;管理员:负责系统维护的管理人员。3.2系统业务流程整体业务流程描述:用户(包含普通员工、部门经理、管理员)登录后,根据提供的菜单选项,进行权限允许的操作。以用户为中心,实现办公的自动化,实现考勤、日程、文档、消息的对应管理。系统的业务流程图如图3.1所示。图3.1 系统功能结构3.3 模块介绍根据项目的功能将系统划分为五个模块:文档管理、消息管理、考勤管理、日程管理和系统管理。下面对五个模块分别进行整体性介绍:1) 文档管理模块:创建新文档:用户通过鼠标操作创建新的文档;修改文档:用户可以对文档进行编辑;删除文档:将文档及其下的附件放入回收站中;查询文档:按创建者或文件名对文档进行组合查询;添加附件:在文档中创建新的文件;删除附件:将选中的附件放入回收站中;下载附件:通过浏览器自带的下载工具将附件下载到本地;还原文档:将文档从回收站移回原来位置;还原附件:将附件还原到原来位置;彻底删除文档:将文档从服务器中彻底删除;彻底删除附件:将附件从服务器中彻底删除;清空回收站:将回收站中的文件彻底删除;记录日志:用户进行重要操作时系统会自动记录日志;查看日志:系统将返回日志;2) 消息管理模块:消息管理:对自己未发布的消息进行增加、修改、删除、查看操作;消息发布:可以发布消息。包括单独发送和群发;信箱管理:主要有收件箱、发件箱、垃圾箱和草稿箱;消息查询:管理员可以查询所有已发布的消息;信息提示:用户登录系统后,在首页弹出未读消息提示窗口;邮件操作:人员之间可以互相发送电子邮件,可以添加附件;新建消息:新建消息;删除消息:删除草稿箱中的某些未发布消息;修改消息:对草稿箱中的未发布消息进行修改;查看消息:查看草稿箱中的未发布消息;收件人设置:可以指定消息接收者;有效期设置:设置消息的有效时间;收件箱管理:保存自己收到的消息;发件箱管理:保存自己已经发布的消息;垃圾箱管理:保存删除的消息;草稿箱管理:用于想要以后发布的消息;未读消息提示:登录后如果有未读消息,则弹出窗口进行提示;未读消息链接:点击链接,直接查看未读消息的内容;写邮件:给指定的邮箱发送邮件;添加附件:发送的邮件里可以添加附件同时发送;收件箱管理:保存自己收到的邮件;发件箱管理:保存自己已经发送的邮件;垃圾箱管理:保存删除的邮件;草稿箱管理:用于保存写了内容但是未发送的邮件;邮件刷新:用户单独登录邮件模块,每隔5分钟刷新邮件显示页面3) 考勤管理模块:签到/签退管理:签到、签退,记录签卡备注、签卡时间;考勤历史查询:跟踪并定位数据库中的历史记录;考勤统计:管理员统计指定部门所有员工的迟到、早退、旷工次数;工作日管理:管理员设定当年的工作日;工作时间管理:管理员设定某段日期内上班时间、下班时间;出差/请假管理:员工将出差/请假时间等信息提交给领导审批;补签管理:员工当天如果忘记签到/签退,可以提交申请进行补签;签到:员工当天第一次操作作为签到;签退:员工在当天第一次操作之后可以签退;记录:签到/签退操作的同时记录签卡备注、签卡时间;普通员工查询:普通员工可以查询自己的考勤历史;部门经理查询:部门经理可以查询自己部门的所有员工的考勤历史;管理员查询:管理员可以查询所有部门的所有员工的考勤历史;管理员通过考勤历史查询子模块的功能;统计指定时间段内指定部门的指定员工的迟到、早退、旷工次数;导出考勤统计的Excel表;管理员设定当年的工作日;管理员做出工作日、双修日和假日的调整;可视化图表设置页面;员工在出差/请假前需要通过消息向部门经理发出申请;部门经理审批通过,发给管理员;若不通过则返回不通过信息给员工;管理员收到审批通过的信息则记录上备注;员工发现自己忘记签到/签退,通过消息向部门经理发出补签申请;部门经理进行审批,若通过则发补签信息给管理员,若不通过则发送拒绝补签的信息给员工,同时标明原因;管理员收到审批通过的信息则修改考勤记录4) 日程管理模块:用户浏览和编辑自己的日程;用户管理联系人名单。联系人由当前用户之外的其它用户组成;用户浏览联系人的日程;用户浏览和编辑部门日程;用户使用迷你日历加速日程管理。迷你日历是一个以图形方式简要显示当前日期、星期、月份的日历,位于用户界面的侧边栏,为用户提供日期的纵览。迷你日历不显示日程事件;便签管理功能;日模式;周模式;月模式;日程模式;模式切换;调整可视日期;显示可视日期;回到“今天”5) 系统管理模块系统登录/注销管理;客户端验证登录合法性;服务端验证登录合法性;自动注销:超过10分钟不处于活动状态则自动注销;正常注销;权限管理;菜单定制管理;管理员可以查看、维护员工信息(员工编号、密码、姓名、照片、年龄、性别、住址、邮箱、移动电话、家庭电话、入职时间、办公地点、办公电话、部门、民族、籍贯、户口所在地、出生年月、政治面貌、身份证号码、婚姻状况、备注);员工可以查看自己的信息,包含:员工编号、密码、姓名、照片、年龄、性别、住址、邮箱、移动电话、家庭电话、入职时间、办公地点、办公电话、部门、民族、籍贯、户口所在地、出生年月、政治面貌、身份证号码、婚姻状况、备注;可以修改自己的密码;管理员查看部门信息,包含:部门编号、部门名称、部门创建时间、部门人数、部门经理编号、部门经理姓名、部门员工信息列表;管理员选定部门并维护该部门的信息;部门经理可以查看本部门的部门信息;管理员查看日志或者搜索定位日志,日志项内容包含:日志项编号,时间、操作者的IP、用户编号、操作的动作内容(默认包含:登录、注销、修改密码);用户登录后,系统记录关键操作并写入日志包含:时间、用户的IP、用户编号、操作的动作内容(默认包含:登录、注销、修改密码);6) 模块间的相互关联。文档管理模块、日程管理模块、考勤管理模块、消息管理模块要调用系统管理模块的用户信息、权限信息、部门信息等。文档管理模块、日程管理模块、消息管理模块和考勤管理模块间相对独立。第四章 Java EE&AJAX技术在文档管理模块项目中的应用4.1 Hibernate框架在项目中的应用下面是Hibernate的POJO类,对应Java EE中的Bean类:图4.1 Document类图Document类如图4.1所示,描述了文档的相关属性。Id对应数据库TB_DOC_DOCUMENT表的主键;Name描述了文档的名称;Position描述了文档在服务器中的绝对路径;Property描述文档的属性;AccountId描述了创建者的账号;LastModifiedTime描述了文档的最后修改时间;IsPrivate描述文档是私有的还是共享的;CreatedTime描述文档的创建时间;State描述文档的状态,1为正常状态,0说明文档在回收站中。Attachment类与Document类都属于POJO类,这里就不详细介绍Attachment类了。下面用Hibernate XML文件完成对象与关系的映射,如下:图4.2 document.hbm.xml文件图如图4.2所示,Document.hbm.xml完成了由Document对类到TB_DOC_DOCUMENT表的映射。Attachment.hbm.xml原理相似,在此也不赘述。DAO(数据访问对象)对数据库的操作进行封装,通过Hibernate Session对数据库进行访问。下面是DAO类:图4.3 DocumentDAO类图图4.3是DocumentDao的类图,该类提供了数据库操作的相关方法。Delete方法用来删除文档;FindAll方法用来查询所有处于正常状态的文档;FindAllRecycleBin方法用来查询所有在回收站中的文档;FindById方法通过id来查找处于正常状态的文档;FindByIdRecycleBin方法通过id查询所有在回收站中的文档;FindByState方法通过state来查找在回收站中或正常状态的文档;Save方法用来添加新的文档,对应地向数据库中添加一条新记录;Update方法用来修改

温馨提示

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

评论

0/150

提交评论