发信人: foreversun()
整理人: majorsun(2000-03-08 14:01:16), 站内信件
|
基于组件技术的办公自动化系统
曹枝墙 杨 利 袁 淮
摘 要
组件技术和面向对象技术是当今软件设计和开发中的两个非常关键的技术,借助 于组件技术和面向对象技术可以提高软件的开发效率、提高系统的可靠性和可维 护性. 本文结合一个实际的多媒体办公自动化系统(MOAS)的设计开发过程,着 重讨论了组件技术和面向对象技术在办公自动化系统开发中的应用,以及这两项 技术在提高系统开发效率、增强系统的易用性、可靠性、可维护性等方面带来的 优势.
关键词 组件,面向对象,办公自动化
概述
当今世界计算机技术的发展日新月异,自从美国总统克林顿宣布信息高速公路建 设计划以来,世界各国不甘落后,纷纷仿效. 一时间Internet/Intranet热潮席卷 全球. 在我国,计算机在政府机关、各大企业已经非常普及,利用计算机实现办 公自动化的条件越来越成熟,开发一套功能完备、易学易用、适合我国国情的办 公自动化系统已经迫在眉睫.
但从实际情况来看,开发一套功能完备的办公自动化系统需要解决以下四个问题 :
1)系统要求具有良好的可扩充性. 办公自动化包含的功能非常多,如公文处理、 决策支持、经济指标分析、地理信息系统、档案管理、会议系统、日程安排、通 讯录等,这么大的系统不可能在一次开发过程中完成,这就要求系统具有非常好 的可扩充性,以便在系统运行的过程中无缝地加入其它功能.
2)系统要求具有非常好的可重组性. 办公自动化系统应用的范围非常广泛,包括 机关、工厂、企业等单位,由于工作环境、工作习惯的不同,用户会对系统提出 各种各样的需求,这就要求办公自动化系统具有非常好的可维护性和可重组性, 能够根据用户的要求组装各种功能的组件,实现符合用户习惯和功能需求的办公 自动化系统. 例如在一个政府机关可能比较注重公文管理、经济指标分析等功能 ,而一个企业可能比较注重市场调查分析、财务报表、产品跟踪等功能,如果办 公自动化系统不具有非常好的可重组性,可能需要开发两套类似的系统,浪费大 量的人力物力.
3)系统必须易学易用. 由于文化背景的差异,使得我国办公人员的计算机应用水 平比较低,而且接受计算机知识比较慢. 特别是很多领导干部,以前没有系统地 学习过有关计算机的知识,因此使用学习和起来非常困难. 尽管目前Windows 95 的图形化用户界面已经十分友好,但由于办公自动化系统本身的复杂性,使得系 统仍然难以使用. 因此必须采取某种方法,降低系统的复杂度,增强系统的易用 性.
4)系统必须易于安装维护. 由于办公自动化系统通常都比较庞大,少则几十个节 点,多则几百个节点,而且分布的地理范围非常广,通常都有跨县、跨地区、跨 省市的节点. 对于这样庞大的网络应用系统,系统的安装和维护的工作量是非常 惊人的. 当系统需要升级、增加新功能时,如果每个节点都需要重新安装或配置 ,将不仅费时费力,而且将极大地影响系统的正常运行,反而降低办公效率.
基于上述考虑,结合在长期的开发实践中所总结的经验,我们采用了组件技术和 面向对象的方法来设计和实现办公自动化系统,比较好地解决了以上问题.
组件技术和面向对象技术
为了比较方便地说明问题,下面先介绍一下组件技术和面向对象的概念.
发展组件技术的目的,是希望把软件中独立的、公共的、比较复杂的功能做成单 独的软件(组件),通过某种协议能够被其它软件调用和操作. 它不同于简单的 函数调用和动态库调用,而是具有标准的通讯协议,只要遵循该协议,任何软件 都能够调用其它的组件,而不用预先知道函数接口. 例如一个经济指标分析软件 需要统计作图的功能,而自己开发这个功能需要作大量的开发,如果调用Micros oft Excel提供的标准组件,就能够非常简单地解决问题. 现在比较流行的组件技 术是ActiveX,它是Microsoft公司在OLE 2.0的基础上发展而来的,具有分布式 组件管理的功能.
面向对象的技术已经不再是一个非常新的概念,现在很多开发工具都提供面向对 象的编程能力,而作为一个非常具有生命力的技术,面向对象的优势也越来越明 显.
现在很多软件开发人员都只是把面向对象技术用在程序设计方面,利用它的继承 、封装、多态等技术来提高程序开发效率、增强程序的可靠性等. 实际上如果把 面向对象技术应用到软件的分析设计阶段会产生更大的威力,因为软件的分析设 计阶段正是软件设计人员把现实世界的事物对应到软件实现的过程,而面向对象 的方法是在软件实现的过程中表现现实世界事物的最佳方法. 在程序设计的过程 中使用面向对象的方法是从程序员的角度来看整个系统,而在系统分析设计的阶 段使用面向对象的方法是从用户的角度看整个系统,这样设计出来的系统将更贴 近实际、更易于使用.
通过面向对象的分析设计,能够把整个系统分解成不同的组件(而不是简单的功 能模块),这样更利于采用组件的技术来实现整个系统. 实际上组件的设计思想 本来就是基于面向对象技术的,两者的结合能发挥更大的作用.
系统基本框架
人们在现实生活中的办公过程,实际上是一个信息(包括各种文档)的处理和交 互的过程,在这个过程中需要利用一些工具、查询一些数据、起草一些文稿等, 但总的来看离不开信息,因此可以说信息处理是办公自动化的中心. 抓住了以信 息处理为中心的概念,就能够把办公自动化系统中所有功能联系到一起,集成到 一个统一的操作界面中.
以信息处理为中心的概念,正好符合组件技术和面向对象技术的要求,我们可以 把各种不同的信息看成不同的对象,处理这些对象的软件就构成了各种独立的组 件,然后通过一个统一的界面来管理这些对象、操作各种不同的组件,这样就构 成了一个统一的办公自动化系统.
系统基本框架如图1所示.
图1 信息系统组件框架
在整个系统中,包括三个基本的元素:用户、组件、对象. 用户是对数据进行操 作的角色(可能是一个人或一个服务进程);组件是用来操作对象的工具;对象 是数据的封装,代表着一个独立完整的数据,对象是整个系统联系的纽带.
三者的关系如图2所示:
图2 用户、组件、对象三者的关系
框架结构所达到的目标:
1)采用面向对象的技术,将用户能够操作的对象统一在一个界面内. 对象集合的 组织可以按照虚拟现实,或二维图示,或列表,或分层等多种表示存在(对象) 的方式展现出来,对用户选择的对象通过对象与组件的关联,利用组件技术将具 体应用嵌入到桌面系统中来,达到一个完整统一的用户应用界面.
2)在用户操作界面上,用户看到的只是各种对象,并且能够通过鼠标或键盘操作 对象,而感觉不到任何有关程序的东西,因此掌握起来比较容易,而且用户不用 关心任何有关组件安装和系统升级的问题.
3)通过采用组标准,将应用系统分成不同的独立组件. 保证了系统的开放性和可 集成性.
4)集成其他的组件,积累可重用组件,减少开发工作中、提高开发效率.
5)建立组件的管理模式,能够对组件进行自动安装、自动升级、组装各种组件.
6)保证按照标准开发的组件具有相同的界面操作风格,保证系统的一致性和操作 的简便性.
用户管理
用户管理是任何系统中都必不可少的一部分. 为了能够提炼出一个通用的用户管 理模式,我们仔细考察了人工体系的管理,发现除了需要建立一套能够完全描述 人工体系中的个人、部门、职位之间的所属和领导关系的模式外,要需要建立一 套权力的分配和继承的规则,用户可以允许或禁止某中规则,便于用户进行权限 管理. 例如在有些部门上级总有权力访问下级的数据,而有些部门则禁止这种越 级访问.
用户管理的模式如下:
一个员工可以属于一个部门,也可以不属于一个部门
一个部门内必须要一个领导职位
部门之间有上下级部门的关系
两各部门之间除上下级关系外
职位之间有上下级关系
职位有级别之分
一个员工一定属于某种职位
一个职位可以领导一个部门
一个职位也可以领导另一个职位
用户信息包含如下内容:
字段名称
字段类型
说 明
用户标识
整数
在系统内唯一标识一个用户的身份
组标识
整数
标识用户所在的组(组用于管理具有相同权限的用户)
所在部门
整数
标识用于所属的部门
所在职位
整数
标识用户所在的单位
注册帐号
字符串
用户在系统中的注册标识
口令
字符串
用户经过加密后的口令
真实姓名
字符串
用户的真实姓名
个人信息
字符串
标识用户私有的资源(如:工作目录)
待办事项
字符串
用户的待办事项栏
电子邮箱
字符串
用户的电子邮箱
部门信息包含如下内容:
字段名称
字段类型
说 明
部门标识
整数
在系统内唯一标识一个部门
部门名称
字符串
部门的名称
部门领导职位
整数
部门领导的职位标识(如:部长)
上级部门标识
整数
上级部门的标识
职位信息包含如下内容:
字段名称
字段类型
说 明
职位标识
整数
在系统内唯一标识一个职位
职位名称
字符串
职位的名称
领导职位
整数
职位领导的职位标识
组件管理
组件管理是系统的关键部分,需要解决的问题包括:
1) 系统中有哪些组件
2) 组件的各种属性(类型、厂家、版本号等)
3) 组件如何下载
4) 组件怎样安装、初始化、注册、运行
组件需要登记如下信息:
属性名称
基本类型
说明
处理对象类型
字符串
数据对象类型
组件类型
字符串
组件类型
生产厂家
字符串
组件的生产厂家名称
出厂日期
字符串
该组件出厂日期
版本号
字符串
该组件的版本号
组件安装
字符串
组件的安装协议及安装路径
其中,“处理对象类型”用来关联组件和某一类对象;“版本号”用来控制组件 的版本,并用来自动对组件进行升级;“组件安装”需要给出传输协议和组件所 在的路径,如某个组件可以通过FTP协议从服务器上下载到本地,则“组件安装” 的内容为:“ftp://202.118.7.55/home/inst”. 组件被下载到本地后,按照协 议标准进行初始化和注册登记,然后就可以运行.
对象管理
在办公自动化系统中,信息是分布在多台服务器上的,为了能够准确定位每个对 象,我们借用了Internet的全球资源标识(URI),每个对象都有一个唯一的全球 标识,该标识指定了对象的访问协议、存储路径、对象名称,如一个存放在Web服 务器上页面的URI为:“http://www.neu.edu.cn/home/tel”.
对象管理还包括对象访问权限管理,某一个对象或某一类对象应该有自己的访问 控制表(ACL),用来确定哪些用户有什么样的操作权限. 访问控制表由操作该对 象的组件来读取、解释、修改,允许某些用户进行适当的操作,禁止没有权限的 用户进行操作. 访问控制表的格式是由对象自己封装的,由相应的组件来处理.
基本操作过程
前端用户操作的唯一的界面是个人信息集成工作台,个人信息集成工作台以用户 容易理解的形式(虚拟现实、二维图示、列表、分层)来显示用户所有能够操作 的对象或对象集合,例如电子邮件、待办事项、会议通知、指标查询、个人通讯 录等等.
用户在进入个人信息集成工作台前,首先必须输入用户名和口令,以确认用户的 身份,然后根据用户的配置信息来显示所有用户能够操作的对象或对象集合. 如 一个机关领导可能能够看到如下内容:
电子邮件
待办公文
每日新闻
经济指标分析
地理信息
用户可以进行的基本操作包括:
新建一个对象(如电子邮件).
删除一个对象.
双击一个对象,如果该对象是一个集合类对象,则显示集合内所有的子对象;否 则对该对象执行“打开”操作(此时,如果操作该对象的组件没有被安装到本地 ,则激活组件自动安装机制,自动安装组件).
对各种对象进行排序、分类.
用鼠标右键单击一个对象,显示用户能够对该对象执行的所有操作(如查询、打 印、办理、权限设置等).
结束语
组件技术和面向对象技术已经在很多操作系统和数据库中得到了应用,而且在提 高软件效率,增强系统功能方面发挥了重要作用. 但在大型应用系统开发中,组 件技术和面向对象技术还设有得到完全的应用. 本文所介绍的多媒体办公自动化 系统,从软件策划、分析、设计、开发等阶段全面结合了组件技术和面向对象技 术,不仅彻底改变了软件设计、开发人员的思路,而且在提高开发效率、增强软 件和易用性、可靠性、可扩充性、易维护性方面起到了很大的作用.
参考文献
阎龙等. C++技巧与应用. 北京航空航天出版社
倪彬等. OO Analysis的设计和实现. 软件学报. 1996.12
黄涛等. SCOP对象管理系统. 软件学报. 1996.12
张国锋. Microsoft Windows OLE & DDE应用程序设计技术. 学苑出版社
Software Component based Office Automation System
Cao Zhiqiang Yang Li Yuan Huai
Abstract Nowadays Component and Object-Oriented becoming two key techn ologies ,they can enhance the efficiency of developing software and sy stem reliability and maintenance .Through introducing the procedure of designing and programming a practical Office Automatic System, this a rticle emphatically discusses the application of component of enhancin g the reliability ,maintenance of a system.
Key words Component, Object-Oriented ,Office Automatic System.
作者简介:曹枝墙,工程师,研究方向为办公自动化.
杨利,博士后. 研究方向为办公自动化.
袁淮,副研究员. 研究方向为办公自动化.
-- 在年轻的时候,如果你爱上了一个人,请你,请你一定要温柔地对待他.不管你们相爱的时间有多长或多短,裟忝悄苁贾瘴氯岬叵啻敲矗械氖笨潭冀且恢治掼Φ拿览觥?nbsp;
若不得不分离,也要好好地说声再见,也要在心里存着感谢,感谢他给了你一份记忆。长大了以后,你才会知 ?.... [email protected]
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 210.72.12.252]
|
|