OA办公系统的设计与实现.docx
- 文档编号:25077443
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:39
- 大小:841.43KB
OA办公系统的设计与实现.docx
《OA办公系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《OA办公系统的设计与实现.docx(39页珍藏版)》请在冰豆网上搜索。
OA办公系统的设计与实现
OA办公系统的设计与实现
摘要
办公自动化(OA-Office Automation)是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个非常活跃和具有很强生命力的技术应用领域,是信息化社会的产物。
通过网络,组织机构内部的人员可跨越时间、空间协同工作。
通过OA系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。
随着计算机网络技术的发展及企业管理模式的不断变化,目前,以传统客户/服务器模型设计的办公自动化系统已不能很好满足网络办公的需求,难以充公整合新技术的特点,进而无法充分发挥新管理模式的优势,并且要针对不同的运行环境及操作系统开发不同版本的客户端,大大增加了系统的开发难度和更新周期。
本文从企业的实际情况出发,在用户需求分析的基础上,提出企业办公自动化系统的基本目标,并阐述系统结构设计和功能设计,设计了一种基于WEB的网络办公自动化系统,系统建立在Browser/Servr/Database三层构架之上,并且本系统采用MVC(Model,View,Controller)三层架构,从而使Business层和Web层得到了很好的分离,并且本系统采用了可跨平台的Java语言作为主要开发语言,并使用了基于MVC三层架构的Struts框架和实现了DI(InversionofControl)的Spring框架等J2EE的主流框架,并对本系统进行了国际化,从而大大增加了系统的灵活性和可扩展性。
关键词:
Spring,Struts,ioc,MVC,OA,JSP
OfficeAutomationSystemDesignandImplement
Abstract
Transact the automation(the OA-Office Automation) is to transact modernization to put together with the calculator network function knot of a kind of transacts a way newly, is a very active in the current new technique revolution with have very strong vitality of technique applied realm is the outcome of the information-based society.Pass a network, organize the organization insider member can cross over time,space to be in conjunction with a work.Passes the commutation type network application that the OA system carry out, make the information deliver more fast with convenience, expanded to transact means thus and biggest, carry out to transact of high-efficiency.
As the developing of the network technology and the variety of the management, at present, the office automation systems using conventional 30
Client/Server do not well satisfy the need of network office and can hardly make a full use of new technique, so they could not take the advantage of new management. And we have to develop different client program for different Running- Environment and different Operating System which by a long way augments the difficulty of the program development and updating circle. This paper presents the designs for the structures and the functions of the enterprise office automatic system, gives the goal of the system based on the actual situations and the user requirements, and proposes a kind of web-based office automation system, which is built upon Browser/Server/Database architecture, And this system uses MVC(Model-View-Controller) architecture, so the Business Tier separate from the Web Tier, and this system uses the Java Programming-Language which can runs in different environment, especially, this system uses Struts which built upon MVC architecture and Springwhich implements IOC(Inversion-of-Control). And I use internationalization in this system, which augments the agility and expansibility.
Keywords:
Spring,Struts,IOC,MVC,OA,JSP
第一章绪论
一、选题背景和意义
在当今计算机网络技术和计算机技术飞速发展,人们普遍使用计算机来提高个人工作效率,但是在需要许多人一起协同工作的现代工作环境中,我们更需要提高我们的整体工作效率。
利用网络通讯基础及先进的网络应用平台,建设一个安全、可靠、开放、高效的办公系统。
传统办公模式主要以纸介质为主,在信息革命的浪潮中,显然已经远远不能满足高效率、快节奏的现代工作和生活的需要。
如何实现信息处理的自动化和办公的无纸化逐步得到了人们的重视。
办公自动化提了多年,但效果并不明显,人们还是仪在单机字处理和表格处理的所谓办公自动化的初级阶段,信息的交流和共享,以及团队的协同工作无法很好的实现,极大地限制了工作的效率,Internet/Intranet的迅猛发展,为信息的交流和共享,团队的协同运作提供了技术的保证,同时也预示着网络化办公时代的来临。
二、研究的方法和思路
随着Internet技术的飞速发展,基于B/S结构的服务应用程序得到了广泛的应用,实现Web应用的技术和框架也层出不穷,当今软件开发出现了两大应用技术标准:
微软的.NET和SUN公司提出的J2EE,这两种技术各有其优缺点,J2EE的安全性及可移植性优于.NET,但是J2EE的企业级应用需要专门的Container,及Server,需要花费大量的资金在软件的运行和维护上。
但是随着J2EE技术的不断成熟,并且大量开源框架的出现,J2EE的优势日渐突出,且J2EE采用可跨平台运行的Java语言作为其主要开发语言,能够在不同的平台上运行,因此越来越受到企业的欢迎。
因此本次系统的设计将采用J2EE平台进行开发。
本文所设计的系统将分服务端及前端,服务端主要负责业务逻辑处理及数据的持久化,前端主要负责提供给用户可操作的图形界面。
服务端通过整合一些开源的J2EE框架来搭建一个开发平台,使系统的开发成本降到了最低,结合Struts框架和Spring框架构建一个轻量级的Web开发框架,并利用此框架来开发一个基于B/S的办公自动化系统,以此来说明Struts和Spring的整合过程。
选择这种开发框架的优点有以下几个:
1.快速开发
Struts是一个成熟的Web层框架,称为A Half Done Application,开发者只需要在需要的地方加入自己的处理逻辑,并且许多参数的设置是在配置文件中,需要修改时开发者只需要修改配置文件即可,而不需要去修改代码的每个地方,这种开发框架已经广泛应用在许多行业的系统中,如交通,电力,银行,通信等。
2.可扩展性
Spring实现了DI及IOC,便于系统中对象的统一管理及代码维护,降低项目各个模块之间的耦合度,因此企业很容易对项目的某个模块进行扩展或者进行二次开发。
由于此框架容易与其他的J2EE框架整合,更是大大提高了系统的可扩展性
3.成本低
Struts,Spring,以及所使用的开发环境及运行环境采用的都是开源软件,大降低了开发和运行的成本,更适合中小企业的开发。
前端主要提供用户操作的可视化界面,本文通过整合JSP、Javascript、Ajax技术来实现前端的互动,采用Ajax异步技术将给用户带来更好的用户体验。
三、国内外研究综述
办公自动化于50年代在美国和日本首先兴起,最初只是具有电子数据处理(EDP)的簿记功能,60年代被管理信息系统(MIS)取代,直到70年代后期才形成涉及多种技术的新型综合学科一办公自动化(OA)。
80年代,国外办公自动化得到了飞速发展,许多著名的计算机软硬件公司都跻身于这一巨大的市场。
进入90年代以来,办公自动化在世界主要发达国家得到蓬勃发展。
我国办公自动化是80年代中期才发展起来的。
1985年全国召开了第一次办公自动化规划会议,对我国办公自动化建设进行了规划。
1986年5月在国务院电子振兴领导小组办公自动化专家组第一次专家会议上,定义了办公自动化系统功能层次和结构模式。
随后国务院率先开发了”中南海办公自动化系统”。
我国OA的应用和发展历程,可以分为以下三个阶段:
第一代OA系统,是从20世纪80年代中期到90年代中期以个人电脑、办公套件为主要标志,实现了数据统计和文档写作电子化,即将办公信息载体从原始纸介质方式转向比特方式。
第二代OA系统,是从90年代中期开始的以网络技术和协同工作技术为主要特征,实现了工作流程自动化,即将收发文从传统的手工方式转向工作流自动化方式。
第三代OA系统,是融信息处理、业务流程和知识管理于一体的应用系统。
四、本文创新之处
本文通过整合一些开源的J2EE框架来搭建一个开发平台,使系统的开发成本降到了最低,结合Struts框架和Spring框架构建一个轻量级的Web开发框架,并利用此框架来开发一个基于B/S的办公自动化系统。
基于此框架开发出来的系统,大大降低了代码的耦合度,提高了代码的可扩展性和可维护性,提高了项目的开发进度。
第二章关键技术说明
一、Struts
Struts是Apache基金会Jakarta项目组的一个OpenSource项目,它采用MVC模式,能够很好地帮助java开发者利用J2EE开发Web应用。
和其他的java架构一样,Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。
Struts框架的核心是一个弹性的控制层,基于如JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。
Struts由一组相互协作的类(组件)、Servlet以及jsptaglib组成。
基于Struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是一个传统MVC设计模式的一种变化类型。
Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。
除此之外,Struts的优点主要集中体现在两个方面:
Taglib和页面导航。
Taglib是Struts的标记库,灵活运用,能大大提高开发效率。
另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。
MVC即Model-View-Controller的缩写,是一种常用的设计模式。
MVC减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。
Struts是MVC的一种实现,它将Servlet和JSP标记(属于J2EE规范)用作实现的一部分。
Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。
Struts的工作流程如图1-1所示:
图1-1Struts工作流程图
当用户向Web Server发出请求时,Web Server将请求转交给ActionServlet,由Servlet决定调用哪些Action,然后根据Struts-config.xml的配置对应相应的Form来读取数据,并调用相应的业务逻辑处理方法进行处理,然后将处理后的结果传递到JSP提供给用户。
二、Spring
Spring表示是一个开源框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。
框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
它具有以下特点:
轻量:
从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
控制反转:
Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面:
Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑——仅此而已。
它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
容器:
Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建即基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。
然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
框架:
Spring可以将简单的组件配置、组合成为复杂的应用。
在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。
Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
三、AJAX
Ajax的核心是JavaScript对象XmlHttpRequest。
该对象在InternetExplorer5中首次引入,它是一种支持异步请求的技术。
简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。
传统的web应用允许用户填写表单(form),当提交表单时就向web服务器发送一个请求。
服务器接收并处理传来的表单,然后返回一个新的网页。
这个做法浪费了许多带宽,因为在前後两个页面中的大部分HTML代码往往是相同的。
由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。
这导致了用户界面的响应比本地应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。
因此在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应用。
同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。
这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。
随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。
同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。
四、JDBC
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。
换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。
同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。
JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。
JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。
JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。
所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。
而JDBC正是作为此种用途的机制。
JDBC扩展了Java的功能。
例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。
企业也可以用JDBC通过Intranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有Windows、Macintosh和UNIX等各种不同的操作系统)。
随着越来越多的程序员开始使用Java编程语言,对从Java中便捷地访问数据库的要求也在日益增加。
第三章需求分析
办公系统面向各企事业单位的办公管理,以“沟通、协调、控制”为核心思想,将现代化办公思想和先进的科学技术手段结合在一起,为您提供办公管理的新环境、新助手,以达到提高工作效率、提高管理水平、增强交流与协作的目的。
它具有以下特点:
●集成了现代办公思想,计算机理念,网络,通讯等现代化工具;
●为企业管理者提供有力的决策支持,有效的提高个人的办公效率;
●实现部门之间的合作办公以及企业信息交流和大规模的协作。
●办公系统功能主要包括“办公管理”,“即时通信”,“公共信息”三方面的应用。
一、系统功能结构
办公系统包括部门管理、用户管理、角色管理、会议管理、公告管理、即时通讯、内部邮件、外联信息管理、个人小贴士、文件管理、问卷调查等12个极具实用价值的功能模块。
总体结构如图1.2所示:
图2-1总体结构图
二、功能分析
(一)运行及开发环境
系统运行环境所需的硬件环境及运行系统相关参数如表2-1所示:
表2-1运行环境表
运行环境
类型
参数
备注
内存
512M以上
硬盘
40G以上
操作系统
Window2000及以上,linux
系统开发环境相关参数如表2-2所示:
表2-2开发环境表
开发环境
类型
参数
备注
开发工具
Myeclipse
开发语言
JAVA
JDK版本
JDK1.5
数据库
ORACLE
WEB容器
Tomcat5.5
(二)功能模块分析
1.登录
该模块的主要功能为实现用户的登陆和退出。
Ø判断用户是否重复登陆;
Ø用户在非正常退出后可以正常登陆;
Ø登陆时带验证码控制
Ø登陆成功后功能菜单动态生成
Ø登陆成功后首页显示公告、事务、会议、内部邮件等信息
2.部门管理
该模块的主要功能为,对公司或者企业部门信息进行增删改操作。
⏹新增部门
Ø输入部门名称,部门主要职责等;
Ø选择部门主要负责人;
Ø部门编码自动生成,采用两位编码,从00~99;
⏹修改部门
Ø可以修改部门名称,部门主要负责人,部门主要职责等;
⏹删除部门
Ø对部门信息进行伪删除;
Ø若部门下仍有未冻结的部门成员存在,则不允许删除部门;
⏹其它
由于部门信息数量不会很大,因此不需要部门查询功能,直接对部门信息进行列表;
3.用户管理
本子模块完成对系统用户的增加、删除、修改和查询的功能。
⏹新增用户
Ø输入用户账号(必须)、用户姓名(必须)、所属部门(必须)、岗位(数据字典中获得),用户的描述信息(包括性别、籍贯、身份证号码、电话号码、电子邮件、手机、住址、婚否等);
Ø管理员:
该账号管理本系统的所有操作用户的基本资料及在本系统中所拥有的操作权限,系统初始时默认一个管理员。
管理员权限不能更改,所有操作对他们无效;
Ø操作用户对应的角色关系:
一个操作用户对应多个角色。
一个角色可以分配给多个操作用户;
Ø新增用户的密码为默认值。
默认为“888888”
Ø自动生成“开户时间”
Ø添加成功后提示继续添加或返回列表
Ø每个用户都必须拥有处理事务、电子邮件、即时通讯、查询会议菜单功能
⏹修改用户
Ø修改用户的基本信息;
Ø管理员用户可以修改普通用户拥有的角色;
Ø普通用户可以修改部分自己的基本信息,但不能查看和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OA 办公 系统 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)