




已阅读5页,还剩63页未读, 继续免费阅读
(计算机软件与理论专业论文)面向构件的办公自动化系统设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
曲向构件的办公自动化系统设计,实现 摘要 在信息技术革命的浪潮席卷下,国内办公自动化应用系统取得了迅速发展。 随着应用的不断深入,办公自动化系统开始朝着集成化、智能化、网络化与 分布式的方向发展;同时,在规模、结构、功能层次及设计实现等各个方面与传 统的单机应用系统相比较均发生了很大的变化。曰益增长的异构式硬件环境、风 格各异的操作系统以及通信平台,使得从头开发一个能够兼顾正确性、可移植性、 有效性等特征的通用办公自动化系统变得非常困难;从现实角度讲,由于企业或 单位的办公实际环境和需求于差万别,使得当前很多办公自动化系统存在开发周 期过长、重复投资、可适应性和可维护性差等问题,无法真正满足用户需求。 在这种背景下,本文探讨面向构件的软件开发,以软件体系结构为构件开发 和组装蓝图,来构造一个具有通用计算平台而又能随需应变的办公自动化系统, 将不失为一种有益的尝试! 本文对当前办公自动化系统的现状进行了分析,结合现代企业在信息化过程 中所遇到的具体问题和需求,通过应用软件构件技术来提高系统的可适应性,设 计和实现了该办公自动化系统。论文从软件体系结构和面向构件的视角,介绍该 办公自动化系统的架构和开发过程,并详细阐述了权限管理、公文管理与工作流 等重要模块的设计与实现;数据库方面,介绍了应用p o w e r d e s i g n e r 工具对该 系统数据库从概念数据模型( c o n c e p td a t am o d e l i n g ) 到物理数据模型( p h y s i c a l d a t am o d e l i n g ) 直至目标数据库系统生成的数据库建模全过程。 本文创新之处体现在以下几个方面: 深入探讨在办公自动化领域以软件体系结构为蓝图的构件组装过程。研究 发现,在很多o a 系统开发中,系统软件体系结构设计只是设计师的一种自觉行 为,而本研究将体系结构设计作为项目的一个里程碑对待,必须产生一个明确的 文档。实践表明,一个良好的体系结构对于提高系统的稳定性具有重要作用。 以面向构件的软件开发方法作为方法学来开发办公自动化系统。目前,成 功应用面向构件的软件开发方法的项目案例并不多。实践表明,通过构件的替换 和组装使得系统的可维护性得到了较大程度的提高。 从该系统在多家单位部署和实施后的试运行效果看,初步实现了设计目标, 满足了日常办公需要。当用户需求变更时,对相应构件进行替换就能满足要求, 在一定程度上提高了软件的可适应性和可维护性。 关键词:办公自动化;软件体系结构:构件;面向构件软件开发;j 2 e e ; s p r i n g 框架 面向构件的办公自功化系统波计与实现 a b s t r a c t 、j t ht h eo n 2 0 i n ga d v a n c eo fi tr e v o l u t j o n ,t h ed o m e s t i c0 塌c ea u t o m a t i o n s y s t e m ( o a s ) t a k ear a p i dg r o w t o d a y ,k n o w l e d g ee c o n o m i ct i m e s ,t h eo a s i st h e i n e v i t a b l et r e n do ni h eb a s i so fk n o w l e d # r cm a n a g e m e n t ( k j ) w i t hi n d 印t ha p p l i c a t i o n s ,o a ss t a n st o w a r d si n t e g r a t e d ,i n t e l l i g e n t ,n e t w o r k e d a n dd i s 埘b u t e dd i r e c t i o n :m e a n w h i l e ,o a sh a v ew i t t e dap r o f b u n dc h a n g ei ns c a l e , s t r u c m r e ,f l l n c t i o na n dd e s i g nf i e l d s 1 t i i e 掣o w i n ga s y m m e t r i ch a r d w a r e ,t h cv a r i o u s 0 p e r a t i gs v s t e m ( o s ) a n dc o m m u n i c a t i o n sp l a t f o mm a k ei t h a r dt ob u i l d a 1 1 口u r p o s eo a s i nf a c t ,i ti si m p o s s i b l et ob u i l ds u c hs o f 研a r es y s t e m sb e c a u s eo f t h ed i v e r s i t vo fa p p l i c a t i o ne n v i i d n m e n ta n dd e m a n d s a g a i n s tt h j sb a c k g r o u n d ,nw o u l db eau s e f l l la t t e m p tt ob u i l do a sw i mt l l e o 锄p o n e n t o r j e n t e ds o f t w a r ed e v e l o 口m c n t ,w h i c hi sb a s e do nc o m p o n e n t si n t e 掣a t e a n dc o m p o s i t i o n a n dt h eb u i l d i n go fo a sb yt h i sm e 蛐sh a sb e e nd i s c i l s s e di nt h i s a r t i c l e f i r s to fa l l ,t h ea n i d ei n t r od 1 j c e st h eb a e k 掣d u n da n ds i l 皿i f i c a n c eo fo a a n d t h et e c l l i l i q u e sf o rs o f t w a r cr e u s eh a v eb e e nd i s c u s s e dj i ld e t a i l t h ed e s i g 丑a n d i m p l e m e n t a t i o no fi h eo a sh a sb e e ni l l t r o d u c e di nc o m p o n e n t o r j e n t e dv i e w s a sf o r d a t a b a s e ,t h ec o n c 印td a t am o d e l i i l ga n dt h ep h y s i c a ld a t am o d e l i i l ga l l dd a t a b a s e g e n e r a t i o nb yp o w e rd e s i 口e r ,ad a t a b a s em o d e l m gt o o l ,h a v eb e e ni n t r o d u c e d t h ed e v e l o p m e n to fr e u s a b l e m p o n e n ti si m p o n a i l ti no a s c y c l e a c o m p o n e n t o r i e n t e dq a sh a v eb e e nb u i l db a s e do nt h es p r i n gf r a m e w o r k , a l i 曲t 、) l r e i 曲ti m p l 咖e n t a t i o n f o rj 2 髓n es 州n gf f a m e w o r ks e n r e sa st h e c o m p o n e mc o n t a i n e li nw h i c hc o m p o n e n t sc a nb ed e v e l o p e d ,m a n a g c da n d r u n t h es y s t e mi so f 罩e a tt h e o r e t i c a la n dp r a c t i c a li i 】p l i c a t i o n s s u c has y s t e mw i l l s a t i s f vt h er o u t i n en e e d so fh a n d l i n gd a i l yp m c e d u r e sa n dr i t u a l sw i t hg r e a t e r e f n d e n c vf o rt h e 建o v e m m e n te x e c u t i v e s ,e f f e c t i v e l yf a c i l i t a t ea i lk i n d so fj o b sf b r 卫o v e m m e mh e a d sa n dc h i e f 毫o fe v e r yd e p a 岫e n ta n dd i v i s i o 咀a n dp r o m i s eb e 俩e e n o 仃i c e sar e a lc o o r d i n a t e dw o r kn o v nt h eo as v s t e mw i l lm a k ea v a i l a b l es w i f tw o r k e 丘i c i e n c va n da nu l t i m a t ep a p e r l e s s o 仃i c ep r o c e s si st h u sc a r r i e df o r w a r di n g o v e m m e n t s t h em a i nc r e a t i v e so ft h i sp a p e ra r ca sf o l l o w : 1 s t u d vt h e m p o s i t i o no fc o m p o n e n t su n d e rt h es o f t w a r ca r c h i t e c t u r e b l u e p r i m s ni n d i c a t e st h a ti te n h a n c e st h es t a b i l i t yo ft h eo as y s t e m 2 t a k et h ec o m p o n e n t o f j e n t e ds o f t w a r ed e v e l o p m e n ta p p r o a c ha st h e m e t h o d o l o g y a n dn l ni tt h r o u 曲t h ec y c l eo fd e v e l o p m e n t i ti n d j c a t e st h a t i t e n h a n c e st h em a i m a i n a b i l i t vo ft h eo as v s t e m k e v w o r d s : o f ! f i c e a u t o m a t i o n ; s o f t w a r e a r c h i t e c t u r e ; c o m p o n e n t ; c o m p o n e n t - o r i e n t e ds 曲w a r ed e v e l o p m e n t ; j 2 e e ; s p r i n gf r 啪c w o r k i l l 面向构件的办公臼动化系统设计与实现 图表目录 表2 1 系统中不同角色关注的问题7 图2 1c o r b a 对象请求接口的结构1 6 图2 2e j b 模型1 7 图2 3c o m 的系统调用原理1 8 图2 4 基于构件架构的软件开发方式2 1 图3 1 面向构件的软件开发过程2 5 图3 2 系统总体用例图2 6 图3 。3 系统总体结构图2 8 图3 4 面向构件的总体设计所处层次2 9 图3 5 办公自动化系统网络拓扑示意图2 9 图3 6p o 、e r d e s i g n e r 环境。3 0 图3 7 权限管理e r 图3 1 图3 8 工作流管理e r 图3 1 图3 9 权限管理p d m 图。3 2 图3 1 0 工作流管理p d m 图3 2 图3 1 1 由p d m 产生数据库生成脚本3 3 图3 1 2c d m p d mo o m 三者转换关系3 3 图3 1 3j 2 e e 体系结构3 5 图3 1 4j 2 e e 多层应用程序3 6 图3 1 5s p r i n g 框架总体结构图3 6 图3 1 6 应用反转控制之前对具体实现的依赖情况3 8 图3 1 7 应用反转控制后业务逻辑对具体服务实现的依赖3 8 图3 1 8 办公自动化系统层次4 3 图3 1 9d a o 模式的结构4 5 图4 1 传统的用户权限管理方法4 7 图4 2 用户、角色、权限关系图4 8 图4 3 权限管理相关表的关联图4 9 图4 4 权限管理运行界面一4 9 图4 5 权限管理运行界面二5 0 图4 6 权限管理下的资源访问过程5 1 图4 7 资源访问时序图5 2 图4 8 权限管理构件组装过程5 2 图4 9 下行文发文流程5 5 图4 1 0 下行文流程状态转换5 6 图4 1 1 权限管理相关表的关联图5 6 图4 1 2 公文管理的多层架构5 7 图4 1 3 基于工作流的公文管理过程5 8 面向构件的办公自动化系统设计与实现 1 1 办公自动化系统简介 第1 章绪论 办公自动化( o f f i c ea u t o m a t i o n ,以下简称o a ) 是以计算机网络基础平台为 支撑,利用计算机集成技术,使办公事务处理从传统的手工文书处理方式与分散 的文件管理方式转移到计算机网络信息集成的自动化管理方式,从而达到信息共 享、提高工作效率和工作质量的目的,并提供相关的决策信息的一种新型办公方 式i l 】。通过网络,组织机构内部的人员可跨越时间、地点协同工作;通过o a 系 统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了 办公手段,实现了办公的高效率。 过去,计算机所带来的办公自动化仅仅是提高了个人工作的效率,协助文字 处理、电子报表,以及进行简单的人事管理、财务管理等。而现在所说的办公自 动化,是以网络为依托,在组织内部进行畅通的信息交流。在这种模式下,组织 ( o g a n i z a t j 彻减为一个大办公室,它下面的财务、人事、行政、业务等等各个部 门都成为组织信息流中的一个环节,而不再是一个一个的信息孤岛。依靠这种模 式,组织结构能够得到简化,各个部门在信息共享的基础上进行协作,便于明确 各个部门甚至每个员工的责任,而决策层可以迅速综合来自各个方面的信息,并 以此为依据制定组织的战略决策。 1 1 1 办公自动化的发展 从2 0 世纪8 0 年代中期至今的短短几十年间,办公自动化系统应用的深度和 广度都得到了巨大的发展。在文【2 】中将办公自动化发展过程大致分为三个阶段。 第一代办公自动化是以数据为处理中心的传统m i s 系统。它的最大特点是, 应用基于文件系统和关系型数据库系统,以结构化数据为存储和处理对象,强调 对数据的计算和统计能力。其贡献在于把i t 技术引入办公领域,提高了文件管 理水平。但是,这种方式缺乏如收发文等群组协作工作过程的处理能力,因而其 “自动化”程度是有限的。 第二代是以工作流为中心的办公自动化系统。伴随网络技术的发展,软件技 术也发生了巨大的变化。办公自动化已实现了以工作流为中心。这种方式彻底改 变了早期办公自动化的不足之处,以e m a i l 、文档数据库管理、复制、目录服务、 群组协同工作等技术作支撑。以工作流为中心的第二代办公自动化系统包含众多 实用功能和模块,实现了对人、事、文档、会议的自动化管理。与第一代办公自 动化相比,第二代系统有三个显著特点:以网络为基础,以工作流自动化为主要 面向构件的办公自动化系统设计与实现 的技术手段,但缺少对知识管理的能力。 第三代办公自动化系统建立在组织i n t e m e t 平台之上,旨在帮助组织实现动 态的内容和知识管理,使组织每一位员工能够在协作中不断获得学习的机会。事 实上,现在的办公已不再是简单的文件处理,也不再是单纯的行政事务了,其任 务是要提高整个企事业的运作效率,进而提高组织的核心竞争力。知识管理可以 帮助组织解决知识共享和再利用的问题。知识管理是一个系统工程,目标是帮助 组织发现潜在知识,定位拥有专门知识的人,从而传递知识,有效利用知识。知 识管理意味着在恰当的时间,将正确的知识传给正确的人,使他们采取最合适的 行动,避免重复错误和重复工作。知识管理关注“如何获取、组织、利用和传播 散布在组织信息系统和人们头脑中的知识”。 第三代o a 的核心是知识。与第二代相比,第三代o a 不仅模拟和实现了工 作流的自动化,更模拟和实现了工作流中每一个单元和每一个工作人员运用知识 的过程。第三代o a 系统具有几个突出的特点:实时通信,员工与专家可以网上 实时交流,信息广泛集成的内容编目,知识门户的构造。实际上,无论实时交流、 信息集成还是门户建设都是知识管理的要素。因此,第三代办公自动化系统的核 心是知识,实现的基础是知识管理技术。 综上所述,办公自动化系统的发展经过三个阶段,两个飞跃过程。从以数据 为核心发展到以信息交流为核心,进而提升为以系统地运用知识为核心1 2 】。知识 贯穿于各种方式的信息交流,从简单的电子邮件、群件与协作、进而构建w 曲 应用,其核心目的都是在获得与应用知识。知识是组织网络上传递的最有价值的 信息。对知识的运用效果关系到组织的综合发展实力。第三代o a 帮助组织从 h o wt 0 的过程转到k n o w 的过程,将办公自动化系统由模拟手工作业向改变并 提高手工作业效率过渡【2 】。 1 1 2 研究现状及存在的主要问题 目的国内的研究大部分处于以工作流自动化为核心的办公自动化系统层面 上。从应用开发上看,当前很多办公自动化系统是架构在l d t u sd o m i n q 斛o t e s 平 台上进行二次开发的。l o t u sd o m i n o n o t e s 具有很多的优点,比如它提供了开发、 集成的开发环境,可视化开发工具,如h t m l 制作,站点网页设计,应用预览 等,也提供对j m ,a ,j a v a s c r i p t s 等的支持。本系统采用基于j 2 e e 的解决方案主 要处于以下几点考虑: j 2 e e 技术先进,架构优秀。实践表明,越大型应用其优势越明显; 基于j 2 e e 的解决方案具有良好的可扩展性,后期的投入和维护较低: 由于j 2 e e 的优点,l o t u sd o m i n o n o t e sr 6 已经支持j 2 e e ,对i b m 面向构件的办公自动化系统设计与实现 w 曲s p h e r c 进行支持; 根据相关统计数字,目前基于j 2 e e 的解决方案在相关领域所占的比例越 来越大,这是一种趋势: 处于队r 方法和p a r 平台数据库操作实践的需要。正如刚才前面的同学 实现了p a r 方法中引入关系数据库机制,接下来我们团队要做的就是对 其进行实践的检验;使其不再是模具程序,而是放在一个工业化的生产 中,接受真正的考验。 然而,目前很多办公自动化系统存在开发周期过长或投入使用后无法满足不 断变更的用户需求而显得脆弱等问题,造成在该领域的软件建设存在严重的高投 入低产出的状况。 1 2 论文目标及意义 1 2 1 问题的提出 在过去的五十年里,软件业经历了飞速发展,已经成为推动当今社会的主要 动力之一。到今天软件已经无处不在。然而高速发展的光环无法掩盖软件产业作 为一个年轻产业整体的不成熟,由于技术和管理因素,最终导致了软件危机【3 1 。 软件危机主要表现在: 软件成本日益增长 随着软件产业的发展,软件成本日益增长。相反,计算机硬件随着技术的进 步、生产规模的扩大,价格却不断下降。这样一来,软件成本在计算机系统中所 占比例也越来越大。 丌发进度难以控制 由于软件是逻辑、智力产品,软件的开发需建立庞大的逻辑体系,这是与其 他产品的生产不一样的。在软件开发过程中,用户需求由于各种原因可能会经常 发生变化,使得软件开发过程很难按照预定的进度实现,给项目计划和论证土作 带来了很大的困难。 此外,由于软件规模的增大,相关人员数量的增加,人员的组织、协调、通 信、培训和管理等方面的问题将变得更加严重。 软件维护困难 软件投入使用后,可能存在着一定数量的错误,在不同的运行条件下,软件 就会出现故障,因此需要维护。但是,由于在软件设计和开发过程中,可能没有 严格遵循软件开发标准,各种随意性很大,没有完整的真实反映系统状况的记录 文档给软件维护造成了巨大的困难。特别是在软件使用过程中,原来的丌发人员 面向构件的办公自动化系统设计与实现 可能因各种原因已经离开原来的开发组织,使得软件几乎不可维护。 而办公自动化系统更是由于客户办公环境和需求各异,使得其应用中存在的 问题比其他软件系统表现得更为明显和复杂。一个办公自动化系统要想成功得到 应用,必须有效地克服以上的问题。 1 2 2 论文目标 在开发办公自动化系统时,我们对当前应用软件开发管理、应用推广特点进 行了深入的研究,并认识到:像办公自动化这类应用广泛、用户需求千变万化的 应用系统,做成一个大而全的系统是有可能的;但企图用这个大而全的系统去满 足各种用户的实际需求是不可能的;应该在分析办公自动化的一般需求和应用的 特点的基础上,从软件体系结构的角度,设计一个面向特定领域的稳定的体系结 构,并尽可能地抽出其通用的底层架构和基础平台,在此基础上结合用户的实际 需求,开发出令用户满意并能产生实际效益的系统。 作者在导师的指导下,将工作重点定为:探讨适合办公自动化系统的软件体 系结构,并通过面向构件的软件丌发技术来设计和实现该系统,从而提高软件的 开发效率以及系统的可适应性和可维护性。同时,从实践的经历来看,软件体系 结构的丌发和设计必须作为软件开发周期里的一个里程碑来对待,必须产生明确 的开发和设计文档,这对于保证概念的一致性是至关重要的。 1 2 3 论文意义 通过运用以软件体系结构为蓝图,构件开发和组装为核心的面向构件开发 技术,可以有效地提高软件开发效率和系统的可维护性。构建可复用的软件系统 本身就是企业非常重要的知识库和规则库,可以成为指导企业实施和扩展管理信 息系统的模型r 玎。在深入分析企业需求的基础上建立可复用的企业业务模型可以 在最大程度上提高相关管理信息系统的成功率。 本文及相关工作通过分析办公自动化的一般需求和应用的特点,阻软件体 系结构为构件组装蓝图,构造通用的底层架构和基础计算平台,以丰富的领域构 件库为基础,结合用户的实际需求,通过组装式软件开发方式,开发出令用户满 意并能产生实际效益的系统。这将是一个改变信息化建设高投入、低产出状况的 有益尝试1 1 3 本文的研究内容与组织 我们在对相关单位办公需求调研的基础上,完成了系统的需求分析,重点设 4 面向构件的办公自动化系统设计与实现 计与实现了公文管理、工作流管理、用户权限管理等相关模块,并开发了其他相 关的领域构件,并开发出一个面向构件的办公自动化系统,从试运行情况看,达 到了较好的效果。 论文的组织结构为: 第l 章绪论主要介绍了研究的背景、意义、国内外的发展和趋势以及 研究的内容和意义。 第2 章软件构件技术主要介绍了软件体系构件和构件技术,并对以软 件体系结构为蓝图,通过构件开发和组装进行软件系统的构造过程进行了探讨。 第3 章系统设计本章通过对系统的架构、层次划分和设计、功能模块 进行全面的介绍和分析,探讨了数据库建模、数据库安全设计等。 第4 章核心模块设计与实现介绍了权限管理、公文管理与工作流的设 计,并给出了相关构件在s p r i n g 框架下的描述和实现。 第5 章总结和进一步的工作对本研究的工作进行了总结,并指出了进 一步要研究的内容。 面向构件的办公自动化系统设计与实现 第2 章软件体系结构与软件构件 2 1 软件体系结构 自2 0 世纪8 0 年代以来,计算机网络和硬件技术突飞猛进、日新月异。相对 而言,软件的发展却远不如人意。为彻底扭转软件开发手工作坊的局面,从根本 上解决软件危机,保证软件质量,提高软件开发效率,一种超越传统算法和数据 结构、用来描述整个系统的高层抽象结构一软件体系结构并提出。 2 1 1 软件体系结构简介 软件体系结构最初源于对软件结构的研究,系统复杂性和软件复用是它产生 的内在驱动力。软件系统的规模和复杂性在迅速增大的同时,软件开发方法也经 历了一系列的变革,在这个过程中,软件体系结构也由最初模糊的概念发展到一 个渐趋成熟的技术,并被认为是一门初露端倪的学科【9 】。在文【1 0 】中将软件体系 结构的发展划分为以下几个过程: 2 0 世纪7 0 年代以前,以汇编程序设计为主的软件开发阶段。此阶段由于系 统的规模较小,很少明确考虑系统结构,一般不需要进行系统建模工作。 7 0 年代中后期,由于结构化开发方法的出现与广泛应用,软件开发中出现 了概要设计与详细设计,主要表现为数据流设计与控制流设计。此时软件结构己 作为一个明确的概念出现在系统的开发中。 8 0 年代初到9 0 年代中期,面向对象开发方法兴起并逐渐成熟。由于对象是 数据与基于数据之上操作的封装,因而在面向对象开发方法下,数据流设计与控 制流设计则统一为对象建模,同时,面向对象方法还提出了一些其他的结构视图。 此时最显著的技术成就是统一建模语言u m l 和相关工具,它从功能模型( 用例视 图) 、静态模型( 包括类图、对象图、构件图、包图) 、动态模型( 协作图、顺序图、 状态图和活动图) 、配置模型( 配置图) 描述应用系统的结构。 9 0 年代以后进入基于构件的软件丌发阶段。该阶段以过程为中心,强调软 件开发采用构件化技术和软件体系结构技术。统一过程方法( u n j f j e dp r o c e s s ,u p ) 被提出并受到重视。此阶段中,软件体系结构已经作为一个明确的文档和中问产 品存在于软件开发过程中,同时,软件体系结构作为一门学科逐渐得到人们的重 视,并成为软件工程领域的研究热点。p e r r y 和w b l f 认为,未来的年代将是研究 软件体系结构的时代【1 1 】。 7 向向构件的办公自动化系统设计与实现 2 1 2 软件体系结构定义 关于软件体系结构的概念早在2 0 世纪8 0 年代就已经提出,但真正引起关注 和重视是在9 0 年代。文【4 8 】列举了软件体系结构的相关定义如下: ( 1 ) m a r ys h a w 和d a v i dg a r l a n ( 1 9 9 3 年) 除了计算的算法和数掘结构之外,整个系统结构的设计和规范成为一种新的 问题。结构化的问题包括整个的组织,全局的控制结构,通信协议,同步和数据 访问,对于设计元素的功能分配,物理分布,设计元素的合成,规模和性能,设 计替换物的选择等。 ( 2 ) k nb a s s ( 1 9 9 8 年) 一个软件或计算机系统的软件体系结构即组成该系统的一个或多个结构。它 们构成软件的各个部分,形成这些构件的外部可见属性及相互间的联系。 ( 3 ) m a r ys h a w ( 1 9 9 5 年) 将软件体系结构分类归为: 1 ) 结构模型:软件体系结构有构件、构件之间的连接构成,还包括配置、 风格、约束、语义、分析、性质、基本原理、要求、风险投资者的要求等诸多方 面。 2 ) 框架模型:与结构观点类似,但是主要强调与集中合成相反的整个系统的 一致性结构。框架模型经常用于解决特定领域或者某种类型问题,例如基于 c 0 r b a 的体系结构模型,或者是特定领域的构件库。 3 ) 动态模型:强调系统的行为质量。动态与各种变化有关,比如整个系统配 置及建立的变化,禁止事先允许的通信或交互通路:动态性还涉及计算的进展, 例如数据值的变化。 4 ) 过程模型:集中于体系结构的构造和步骤,涉及构造的过程。按照这种观 点,体系结构是遵循过程设计方案的。 根据以上的定义我们可以看出,从不同的角度出发,研究者对软件体系结构 的定义不同,目前还没有形成标准、一致的认识。但是,无论这些定义有何不同, 都仅仅是从开发者的角度来观察问题,忽略了作为软件生存周期组成部分的软件 体系结构应该同时关注的其它重要方面i ”l 。 2 1 3 软件体系结构作用 由于软件规模和复杂性的不断增长,软件体系结构在软件开发和维护中发挥 着越来越重要的作用。 对于软件开发,首先,通过认识和理解体系结构可以使系统的高层次关系得 面向构件的办公自动化系统设汁与实现 到全面表达和深刻理解。其次,正确的体系结构常常是软件系统设计成功的关键, 能使系统得以稳定正确运行,而错误的选择则可能导致灾难性的后果。第三,熟 练掌握体系结构的概念和描述,可以使软件设计者之间、设计者和用户之间快速 方便地交流知识、经验和新设计思想。第四,正确的体系结构使得系统设计师对 整个系统概念一致性的掌握变得更加容易,而这个被认为是软件复杂性的症结 【1 2 】;第四,在体系结构的全局思想指导下的任何系统维护、扩充和升级,不会 因修改和扩充而破坏整体的完整和一致性。 对于维护,以严谨的方式为系统结构和特性提供的设计文档,在软件维护阶 段可表现出明显的优越性。维护中的大量时间都花费在对现存代码的理解上l 勰1 。 如果原始的设计结构能够得到清楚和明确的表达,特别是高层次的表达,就可以 大大减少花在这方面的时间。所以,维持好设计者关于系统结构的原始意图,对 于维护者在维护中始终保持系统的完整性是十分重要的。 综上所述,软件体系结构是整个软件设计成功的基础和关键所在,它的作用 在软件生命周期的各个阶段表现如下m 】: ( 1 ) 项目规划阶段 课题立项必须考虑项目的规模、复杂性、可行性、投资力度等重要问题。 f 2 1 需求分析阶段 此阶段可从需求出发建立更深入的体系结构描述。应充分利用软件体系结构,作 为用户、投资者、项目负责人、系统架构师、程序员以及测试人员进行交流的手 段,如下表所示;同时,可对设计时静态体系结构的改变和运行时动态体系结构 的变更进行估计。 角色关注要点 客户 最终使用者 系统架构师 维护人员 时问和成本估计;可行性和风险管理;修正需求 跟踪进度 实现和需求的一致性:用户界面;适应未来需要 的变化;性能、可靠性等 修正需求;平衡分析;体系结构的完整性和一致 性的设计细节:选择和组合构件的指南;和现有 系统保持兼容 软件修改指南;体系结构演化指南:和现有系统 保持兼容 表2 1 系统中不同角色关注的问题 9 面向构件的办公自动化系统设计与实现 ( 3 ) 项目设计阶段 该阶段的产品就是应用软件的体系结构。要参考软件体系结构的各种风格, 进行选择、组合,构成本系统的体系结构模型;并借鉴典型的成功案例经验,逐 步细化和精化软件体系结构,并将最终确定的体系结构文档化。 ( 4 切i 目实施阶段 体系结构的层次和构件是建立开发人员的组织和分工、协调开发人员关系的 依据。一个软件系统的体系结构,确定了大型软件系统的组成构件和构件问的相 互关系。各个利益相关者( s t o c kh o l d e r ) 必须保证其相关模块或软件与设计的体系 结构相一致。 ( 5 ) 测试与系统评估阶段 根据体系结构的约束关系,软件系统的质量属性要求,基本单元的互换性, 以及总体系统的可用性及可靠性进行严格测试。 ( 6 ) 维护与升级阶段 对软件的任何扩充和修改都需要在体系结构的指导下进行,以维持整体设计 的合理性和正确性以及性能的可分析性,并为维护升级的复杂性和代价分析提供 依据。 2 1 4 软件体系结构风格 软件体系结构的设计关键是使用已有的组织结构模式,或者说,体系结构的 风格。也就是说,能否在不同的软件系统中,使用同一体系结构。基于这个目的, 学者们开始研究和实践软件体系结构的风格和类型问题。 软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。它 反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系 统有效地组织成一个完整的系统。体系结构风格通过构件应用的限制及其与构件 有关的组成和设计规则来表现构件和构件问的关系。某个风格或者某一类风格是 从已有的成功软件系统的组织结构中抽取出来的,它可以应用于不同的软件开发 领域中。 典型的软件体系结构风格有设计图形用户界面( g u i ) 常用的事件驱动和隐式 激发风格、设计编译程序常用的管道过滤器风格、面向对象的数据抽象风格、设 计操作系统常用的层次化设计风格、设计分布式应用程序常用的客户机朋艮务器 风格等凡 对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践并被 证实的解决方案也可以正确地用于解决新的问题。体系结构风格的不变部分使不 同的系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织, 1 0 面向构件的办公自动化系统设计与实现 就可使别的设计者很容易地理解系统的体系结构。例如,如果某人把系统描述为 “客户朋鼹务器”模式,则不必给出设计细节,他人即可明白系统是如何组织和 工作的。 文【4 8 】对前文提到的几种典型的体系结构风格进行了详细的阐述。下面只简 略介绍本系统所使用的层次体系结构风格及其优缺点,后续章节中将结合本系统 进行详细论述。 层次系统组织成一个层次结构,每一层作为上层服务的提供者向上提供服 务,并作为下层服务的客户对下层服务进行调用。在一些层次系统中,除了一些 精心挑选的输出函数外,内部的层只对相邻的层可见。这样的系统中构件在一些 层实现了虚拟机m n u a lm a c h i n e ) ,在另一些层次系统中层是部分不透明的。连 接件通过决定层间如何交互的协议来定义,拓扑结构包括对相邻层间交互的约 束。 这种风格支持可以增加抽象层的设计,由于每一层最多只影响上下两层,同 时只要给相邻层提供相同的接口,允许每层用不同的方法实现,可以为软件重用 提供强大的支持。 层次系统有许多可取的优点【删: ( 1 ) 支持基于抽象程度递增的系统设计,使设计者可以把一个复杂系统按递 增的步骤进行分解; ( 2 ) 支持功能增强,因为每一层至多和相邻的上下层交互,因此功能的改变 最多影响相邻的上下层; ( 3 ) 支持重用,只要提供的服务接口定义不变,同一层的不同实现可以交换 使用。这样,就可以定义一组标准的接口,而允许各种不同的实现方法。 但是,层次系统也有其不足之处岬】: ( 1 ) 并不是每个系统都可以很容易地划分为分层的模式,甚至即使一个系统 的逻辑结构是层次化的,出于对系统性能的考虑,系统设计师不得不把一些低级 或高级的功能综合起来: ( 2 ) 效率的降低。在上层中的服务如果有很多依赖于最低层,则相关的数据 必须通过一些中问层的若干次通信,降低了系统的运行效率。 ( 3 1 很难找到一个合适的、正确的层次抽象方法。层次太少,分层不能完全 发挥这种风格的可重用性、可更改性和可移植性上的潜力。分层过多,则引入不 必要的复杂性和层间隔离冗余以及层间传输的开销。 2 2 构件 在讨论基于构件的软件复用和面向构件的软件复用之前,首先介绍构件的相 关概念。 面向构件的办公自动化系统设计与实现 2 2 1 构件定义 关于构件( c o m p o n e n t ) 至今没有统一的定义,本文仅列出较有代表性的相关 定义,本文无意再为构件下定义。在文【1 3 】中列举了如下的构件定义: 1 b r o w n 和w a l l n a u 将描述构件为“一个非平凡的、几乎独立的、可替换的 系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”。同时他 们进一步认为软件构件只能是“一个说明了契约并且明显地与语境无关的组合单 元”。 2 g a r t n e rg m u p 定义:运行时软件构件是一个可动态绑定的、含一个或多个 程序的软件包,它作为一个独立单位,通过运行时可辨别的文档化接口加以管理 和存取。构件是满足一定规约、可以在其内部实现细节不被了解的条件下被复用 并提供相对独立功能的软件实体。 3 c l e m e n s 认为:构件是一个独立可部署的单元,是一个第三方合成的单元, 构件没有一致性的状态。 4 w b j t e kk o z a c z ”s k i 认为:一个商业构件是一个“自治”的商业概念或商 业过程的软件实现。它由能将该业务概念表示、实现并部署成一个大的商业系统 的可复用的软件成品所组成。 5 对象管理组织0 m g 在m o d e l i n gl a n g i i a g es p e d f i c a t i o n ( r c v i s i o n l 3 ) 认为 u 4 】:构件是一个物理的、可替换的系统组成部分,它包装了实现体,且提供了 对一组接口的实现方法。构件表示了系统实现体的一个物理片段,包括软件代码 ( 源代码、二进制代码或可执行代码) ,或者等同体,例如脚本或命令文件。因 此,构件自身必须相容于接口且实现接口,接口表示了驻留在构件内的成分所实 现的服务。这些服务定义了的一个整合的行为,从一些构件实例提供给其它客户 端构件实例。u m l 里,构件是一个分类器( c l a s s i f i e r ) ,是一个建模成分的聚集, 它也许实现了接口,有着可执行行为和状态,在执行时驻留在一个节点上。 从以上定义可以看出,构件有几个基本属性1 5 】: 1 构件是可独立配置的单元,因此构件必须自包容。 2 构件强调与环境和其他构件的分离,因此构件的实现是严格封装的,外 界没机会或没必要知道构件内部的实现细节。 3 构件可以在适当的环境中被复合使用,因此构件需要提供清楚的接口规 范,可以与环境交互。 4 构件不应当是持续的,即构件没有个体特有的属性,理解为构件不应当 与自身副本区别,在任何环境中,最多仅有特定构件的一份副本。 以上这些定义的关键点作为刻画构件方式的( 一组) 接口,以及提供了构件 集成环境的语境( c o n t e x t ) 。更广泛地讲,构件技术的关键点涉及构件做什么、 面向构件的办公自动化系统计与实现 构件交互的规则、构件存在的环境等,相应在现实中有各种支撑性的技术,如: 1 构件模型,研究构件的本质特征及构件间的关系; 2 构件描述语言,以构件模型为基础,解决构件的精确描述、理解和组装 问题: 3 构件分类与检索,研究构件的分类策略、组织模式及检索策略,建立构 件库系统,支持构件的有效管理; 4 构件复合组装,包括源代码级的组装和基于构件对象互操作性的运行级 组装; 5 标准化,包括构件模型的标准化和构件库的标准化; 6 软件构架,研究如何快速、可靠地应用可复用构件系统进行系统构造的 方式,着重于软件系统自身的整体结构和构件间的互联。 0 0 技术是在“数据+ 算法”的基础上提升了对事物的认识方法,对象的概 念符合人们认识世界的习惯。而构件的思想则更多地将重点从建模本身发展到对 软件生产的考虑,即构件可以在应用领域的软件生产中作为零件纳入新的体系中 被重用。因此,构件是o o 思想的沿袭和扩展,认识事物的角度从对象个体本身 上升到个体在群体中的作用1 1 7 】。 2 2 2 构件模型 2 2 _ 21 构件模型介绍 构件模型是面向构件和基于构件的软件开发方法的核心,是构件的本质特征 及构件间关系的抽象描述 1 8 l 。由于构件通常由规约和实现两部分组成,构件规约 是在复用时对外可见的部分,是构件必须遵循的接口规范,而构件实现是构件的 内部实现细节,是对外不可见的部分。所以一般构件模型都包括对构件规约和构 件实现两方面的描述,如目b 、c o m 、c o r b a 等构件模型。其中北京大学给出 了一个更为一般化的构件模型【1 9 1 : 构件:= 构件规约:= 接口部分:= 对外提供的功能集合,对外请求的功能集合,服务集合,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 外包软件开发外包合同细节确认书
- 2025届江苏省江阴市青阳初级中学物理九年级第一学期期末教学质量检测模拟试题含解析
- 2025届浙江省杭州市高桥数学九年级第一学期期末经典试题含解析
- 河北省沧州市东光县2025届九年级数学第一学期期末经典模拟试题含解析
- 水电能源供应与使用合同
- 广西贵港市港南区2024-2025学年化学九年级第一学期期末达标测试试题含解析
- 江苏省盐城市大丰区沈灶中学2024-2025学年物理九年级第一学期期末统考模拟试题含解析
- 体育场馆租赁服务合同
- 智慧旅游产业项目投资合同
- 食品质量安全追溯系统建设及运营合同
- 非法入侵应急预案
- 工业自动化设备调试流程
- 车辆救援服务方案
- DBJ15-22-2021-T 锤击式预应力混凝土管桩工程技术规程(广东省)
- 《跨境电子商务基础》课件-项目一 跨境电子商务认知一二三
- 园林工程技术专业建设规划
- 2024年北京版小学英语必背单词表
- 经桡动脉全脑血管造影术围手术期护理
- JT-T 1495-2024 公路水运危险性较大工程专项施工方案编制审查规程
- 八年级化学上册期末考试卷及答案【必考题】
- 健康管理课题设计方案
评论
0/150
提交评论