第二章 相关研究综述
2.1 办公自动化概述
2.1.1 办公自动化
办公自动化并没有一个统一的定义,是指将现代化办公同计算机网络技术等结合起来的一种新型的办公方式。实际上,凡是在传统办公室中采用各种新技术、新机器、新设备从事办公业务,都属于办公自动化领域。在行政部门,习惯上将办公自动化叫作电子政务,而企事业单位则习惯叫OA。办公自动化涵盖了行为科学、管理科学、社会学、系统工程学等多个学科的理论与技术,通过办公自动化,能更好的优化管理组织结构,调整管理体制,既能有效的提高办公效率,又能提升协同办公能力,强化决策管理水平。
2.1.2 办公自动化系统的核心特性
办公自动化系统的核心是方便快捷,提升效率,便于管理。其核心特性是易用、稳定、开放、严密、实用。任何办公自动化管理系统,都必须面向全员被全员所接受,这样才能使办公自动化管理系统切实的被应用起来。随着网络化水平的不断提高,办公自动化管理系统的用户数量越来越多,数据交换与处理的容量越来越大,一旦系统出现问题,既便是小问题都有可能造成巨大的影响,这就要求整个系统必须稳定。随着时代的发展变化,任何一套办公自动化管理系统都不可能一直完全满足各方面工作的需要,因此办公自动化系统必须保证其开放性,这样才能更好的进行技术层面、业务层面、实务层面的整合。
2.1.3 办公自动化的发展趋势
信息化时代是知识经济的时代,不论是企事业单位还是政府部门,都迫切需要更好的整合内外资源,这就需要一个高效的信息系统的支撑。目前,办公自劝化系统的应用,主要是为了提升办公效率和管理水平,降低办公成本,更好的为决策提供信息支持。整体看来,未来办公自动化系统的发展,将向人性化、门户化、智能化、协同化、通用化和网络化方向发展。
人性化将是办公自动化管理系统设计的根本宗旨,办公自动化系统除了更好的满足用户对信息关注度的需求外,还需要着眼于用户不同需求的功能组合,从而使办公自动化系统实现人本化管理。在信息爆炸式增长的二十一世纪,无论是企事业单位还是政府部门,都面着呈几何级数增长的数据,在庞大的数据面前,如何对这些数据进行智能分析,以更好的收集整理有效数据帮助决策提供支持,将是办公自动化管理系统需要实现的重要功能。
2.2 软件工程的开发方法
2.2.1 办公自动化系统的开发平台
办公自动化管理系统的开发工具和开发平台极多,不同的开发平台有着各自的优势和缺陷,选择好的开发平台能更好的保计办公自动化管理系统的开发完成。总的说来,目前办公自动化管理系统的开发平台可以分为两大类:
第一类是群件平台,包括如基于IBM Domino和基于微软Exchang等的开发平台,这类开发平台是早期办公自动化系统开发的主流平台,实际上Domino和Exchange两个平台,都是基于邮件系统发展起来的。第二类开发平台是开放式平台,如基于J2EE、.Net以及其它程序开发语言的开发平台,这一类开发平台都是基于程序开发语言来进行的,多采用B/S三层架构实现。目前办公自动化管理系统开发中,应用较多的开发平台为J2EE和.Net两大平台。
.Net平台即Microsoft XML Web Services平台,包括CLR、共享对象类别库、ASP.NET,其通用语言运行库有VB、C/C++、C#、J#等。J2EE平台则是基于Jave技术的开发平台,是Java技术在企业级应用中的产物,J2EE完全不同于传统的应用开发技术架构,其核心包含了各类组件、服务架构、技术层次的共同标准与规格,使得基于J2EE的不同平台间也具有良好的兼容性。
.NET平台和J2EE平台有着各自的优缺点,.NET平台应用于windows系统的服务器上,J2EE可以应用于windows、Linux等不同的操作系统上;.NET学习和使用相对较为容易,J2EE学习和使用难度稍高;.NET平台可以使用VB、C#、C++等多种开发语言,J2EE只能使用Java语言;.NET可以采用图形化维护部署方案,J2EE的维护部署通常需要控制台命令支持;.NET平台的开发成本相对较高,J2EE的开发成本较低。
2.2.2 办公自动化系统开发的相关技术
2.2.2.1 .NET平台相关开发技术
.NET平台主要有ASP.NET、WWF、LINQ、ADO.NET、WCF五大技术。ASP是运行于微软Internet信息服务IIS中的程序,具有易开发,灵活性好,安全控制性容易等优点,具有众多的支持类库,并支持多种编程语言;WWF是一个通用的框架结构,可应用于Windows平台上编写工作流,提供用于开发和执行工作流应用程序的API;LINQ是一组支持C#与VB语言扩展的语言集成查询体系,C#或VB代码可以通过查询数据库来获取操作,承担对象领域与数据领域沟通的工作;ADO.NET是一个实体框架,满足开发者改变关系数据库存储结构的需要,通过概念性实体模型来创建数据库访问。WCF是一个面向服务的统一架构体系,实现软件不同组件之间的相互通信。
2.2.2.2 J2EE平台相关开发技术
J2EE平台所采用的应用编程模型,提供了一整套的基于J2EE的多层应用文档和实例套件,在运用J2EE平台开发程序时,开发者的工作包括商业逻辑和表示逻辑两个部分,而不必关心中间层管道的编辑问题。J2EE由J2EE部署规范、IETF标准集、CORBA标准、JavaBean组件模型构成,其相关技术包括JavaBeans、JSP、JS、JNDI、JIDL、JDBC、JMS、JTA、JavaMail、RMI-IIOP等。JavaBeans定义了一个应用程序接口,便宜于开发人员迅速开发、发布和管理企业级应用程序;JSP提供了一个快速简单的创建动态网页的方法,可以快速的开发基于Web的应用程序而不用考虑平台的问题,同ASP较为相似;JS是一个支持扩展功能的应用程序接口;JNDI实现Java平台同商业信息间的标准化连接;CORBA满足协同工作的需要;JDBC为数据库提供统一的接口并创建高级工具;JMS规范企业级消息服务,包括查询、发布、订阅消息;Javamail提供邮件或消息应用程序支持;RMI-IIOP实现Java技术与Java RMI接口开发机与服务器的远程连接。
2.2.3 办公自动化系统的开发步骤
2.2.3.1 生命周期法
生命周期法是一种基于软件生存周期着手的软件开发方法,这一方法将软件的开发过程分为系统分析、系统设计、系统实施、系统维护四个阶段,每一阶段的正确性和完善性直接影响着软件的最终质量。系统分析需要根据软件的可行性调查与分析,画出业务流程图和数据流程图;系统设计需要软件的逻辑思路进行系统功能布局,再在系统功能布局的基础上进行代码设计、数据库设计等工作;系统实施包括程序的开发和堆积的开发,最终建立起一个完整的应用系统模型;系统维护包括软件的安装、测试、功能调试等。
2.2.3.2 快速原形法
快速原形法是基于用户基本需求来快速构建一个开放式的系统,随着用户和开发人员对该系统理解的加深,不断发现并完善系统的不足之出,对功能进行补充和细化,最终满足用户的需求。采用快速原形法开发办公自动化管理系统,最初所设计出来的系统在实用性和可用性方面都有着较大的优点,不过后续工作需要开发人员反复修改精确,最终才会形成一个完整的软件产品。
2.2.3.3 生命周期法与快速原形法的结合
生命周期法与快速原形法有着各自的优点,生命周期法基于系统动力学原理,以明确的目标和任务将软件开发过程分为分析、设计、实施、维护四个阶段,比较适用于规模较大结构程度较高且具有明确要求的软件系统开发中,整个开发过程管理较为规范清晰。快速原形法比较适用于事前难以确定软件功能要求的情况,只需要提出软件所需要的基本功能即可,其余功能的扩充与完善可以在软件的实施过程中慢慢完善,能较好的适应不断变化的软件应用环境,不过由于软件开发过程的管理难以规范清晰,因此在应用于大型软件的开发中存在很多缺陷。
2.2.4 办公自动化系统开发中必须注意的问题
办公自动化系统的开发中,除了要尽可能满足现有需求外,还要考虑不断发展变化的新需求。因此,在办公自动化系统的开发中,必须从主要功能出发而不是采用超前技术;必须吻合软件的实施条件与应用环境;必须考虑最大限度的提升系统价值满足使用者的需求,并充分考虑系统的扩展延伸能力;必须考虑系统的标准化和对接能力;必须考虑系统的可靠性与稳定性;必须考虑系统信息储存和流通的安全性与保密性;必须考虑软件界面的美观于易用;必须考虑满足多用户、大数据的多重负载支持。
2.3 相关开发理论
2.3.1 面向对象与面向过程
面向对象是90年代软件开发的主流方法,目前已经应用到数据库系统、交互式界面、分布式素统、CAD技术、人工智能等领域之中。这种软件开发方法,是将现实世界的物抽象成对象,将现实世界中的关系抽象成为类、继承,从而帮助开发人员在软件开发中对现实世界进行抽象与数字建模,更简单清晰的对复杂系统进行分析、设计与编程,有效提高编程效率,利用封装技术和消息机制快速开发全新的系统。
采用面向对象的方法来进行软件开发,首先要根据用户的需求抽象出业务对象,对业务对象进行合理分层并构建业务模块,然后再设计出业务逻辑,实现业务需求,最后整合各个业务模块形成软件产品。最初的“面向对象”实际上是指程序设计中的封装、继承、多态等设计方法,而现在面向对象的思想已经涉及到软件开发的各个方面,包括面向对象的分析、面向对象的设计、面向对象的编程实现等。所需要建立的模型包括对象模型、动态模型和功能模型。
不同于面向对象的编程思想,面向过程的编程思想是以过程为中心,也称为“面向记录”的编程思想,面向过程的编程思想不支持如继承、多态等面向对象的特性,而是分析出解决问题所需要的步骤,再用函数一步一步的实现这些步骤。面向过程更多的着眼于实际需求的实现,通常是从上往下步步延伸,是一种最为重要的模块化思想方法,这种方法可以更清楚的把握业务流程,并通过模块与函数带组织实现。
比较面向过程与面向对象这两种编程思想可以发现,面向对象是以功能来划分问题,面向过程是以步骤来划分问题;面向对象能更好的保证程序的扩展性,面向过程如果有改动需要大规模调整步骤;面向过程的更多的是分析综合,面向对象更多的是构造。
2.3.2 工作流
工作流这一概念最初起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的。如将工作分解成为任务或解色,再按照一定的规则和过程来执行这些任务,从而提高工作效率,更好的控制业务过程,有效的实现对业务流程的管理。实际上,工作流就是业务流程的计算机模型,是将业务流程的前后组织为一个逻辑和规则,在计算机中通过恰当的模型来表示并计算,是一系列相互衔接、自动进行的业务活动或任务体系。
如将企业的人事管理业务分解为员工培训、绩效考评、职位变更、档案管理等;将客户服务业务分解为信息管理、投诉管理、请求处理、售后服务等。采用工作流管理能有效的提升业务运作的灵活性与适应性,提高业务运作效率,改善相关资源的搭配,优化业务处理过程,量化业务处理效率。目前工作流管理系统开发所采用的工作流引擎包括工作流模型、执行模型、数据服务模型、运行体模型等部分,已经形成了一个完善的工作流体系。
2.3.3 C/S和B/S架构
C/S结构即客户机/服务器结构,是一种重要的软件系统体系结构,这种软件体系结构将业务合理的分配到客户端和服务端来实现,从而降低系统应用开销。C/S结构具有良好的开放性,不过传统的C/S结构只是开发级的开放性,在服务端和客户端都需要特定的软件来支持,而不是真正意义上面向客户的开放式环境,同时,C/S结构还需要针对不同的操作系统开发不同的软件版本,其成本较高,开发效率和运维效率较低,很难适应当前越来越为庞大的办公自动化管理系统的开发需求。
B/S是浏览器/服务器结构,这一结构是伴随着Internet的兴起而兴起的,是对C/S结构的改进。在B/S结构下,用户的工作界面和数据交互都可以通过WWW浏览器来实现,主要的业务逻辑都通过服务端来完成,用户端仅涉及极少数的事务逻辑,可以有效的简化用户端电脑荷载,降低系统的运行与维护成本,也能有效的保护系统数据库的安全。