(计算机应用技术专业论文)面向构件的分销管理软件模型研究与实现.pdf_第1页
(计算机应用技术专业论文)面向构件的分销管理软件模型研究与实现.pdf_第2页
(计算机应用技术专业论文)面向构件的分销管理软件模型研究与实现.pdf_第3页
(计算机应用技术专业论文)面向构件的分销管理软件模型研究与实现.pdf_第4页
(计算机应用技术专业论文)面向构件的分销管理软件模型研究与实现.pdf_第5页
已阅读5页,还剩76页未读 继续免费阅读

(计算机应用技术专业论文)面向构件的分销管理软件模型研究与实现.pdf.pdf 免费下载

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

文档简介

一堕! ! 堕至塑盔叁竺! 堕:! 型! 壅竺丝兰 摘要 术文以耀于供应链的分销管理软件的研究开发为背景,使用了,而向构件的软件 开发方法,将体系结构描述语言a d l 和统一建模语言u m l 棚结合,运用到娌个分 销管理软f b t ¥j 建模过程中,使得该软件系统的建模过程更加合理和规范。 文誊汁先对软件体系结构进行研究,从其基本概念入手,分析其组成,包括构 成元素及典型体系结构风格。接着重点分析了体系结构描述语言a d l ,选择种可 交换的体系结构描述语言a c m e 来作为形式化描述语言,选择了统一建模语言 u m l 作为可视化建模语言,为集成建模作理论准备。接着,文章以分销管理软 件为模型,使用a d l u m l 集成建模方法从领域分析、领域设计和领域实现这三个 不同的层次对其进行模型研究和实现,给出了完整的建模过程和设计思想。然后,文 章阐述了a d l 和u m l 两种建模语言的各自的特点和优势,分析了两者集成的必然 性。将这两种建模语言使用在软件开发的不同阶段和不同层次模型中,进行优化组合, 可以达到相映成辉、相得益彰的目的。 文章最后给出了分销管理软件典型实现案例,给出原代码以完成构架构件的实 现过程,经过验证证实了建模思想与方法的有效性。 n l l _ q f t :v , 1 分t 1 j i 。理软 q :筷i i i j | _ 7 e lj 史观 a b s t r a c t b a s e do nr e s e a r c h e sa n d d e v e l o p m e n t so f d i s t r i b u t i o nm a n a g e m e n ts o f t w a r e ( d m s ) o fi s c m ( i n t e g r a t e d s u p p l y c h a i nm a n a g e m e n t ) a n dm e t h o do f c o m p o n e n to r i e n t e d s o f t w a r e d e v e l o p m e n t ,t h i sp a p e rs e t f o r t ht h e a p p l i c a t i o no fa r c h i t e c t u r ed e s c r i p t i o n l a n g u a g e ( a d l ) a n du n i f i e dm o d e l i n gl a n g u a g e ( u m l ) i n t e g r a t e dm o d e l i n gm e t h o d u s e di np r o c e s so f d m s m o d e l i n g t h i sm e t h o d c a nf o r m a l i z et h ep r o c e s s o f m o d e l i n g f i r s t l y ,s o f t w a r e a r c h i t e c t u r ei sr e s e a r c h e db y a n a l y z i n gt h e d e f i n i t i o no fs a , a r c h i t e c t u r e s t 5 l e s a n di t s c o m p o s e de l e m e n t s t h e na r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ( a d l ) i sa n a l y z e d ,a n da c m ei sc h o o s e dt od e s c r i b et h es y s t e mi naf o r m a l i z e d l a n g u a g e ,a n du m l i st om o d e l s y s t e mi nav i s u a l i z e dl a n g u a g e s e c o n d l y , t h ei n t e g r a t e d m o d e l i n gm e t h o di s u s e di nd i f f e r e n t p h r a s e s o fm o d e l i n gp r o c e s s i n c l u d i n gd o m a i n a n a l y s i sp h r a s e ,d o m a i nd e s i g np h r a s e a n dd o m a i ni m p l e m e n t a t i o np h r a s e t h ew h o l e p r o c e s so fm o d e l i n ga n d i d e ao f d e s i g na r ei m p l e m e n t e d o nd m s t h i r d l y , t h ei n e v i t a b i l i t y o ft h i sm e t h o du s e di n m o d e l i n gp r o c e s s i sf o u n do u tb ya n a l y z i n gt h ef e a t u r e sa n d a d v a n t a g e so f u m l a n da d l i nt h ee n d ,w ei m p l e m e n tt h ed m s ,a n df i n ds o m er e u s e dc o m p o n e n t ss u c ha s i n t e r f a c e 、t r a n s a c t i o na n dd a t ac o m p o n e n to f t h ed m s t h e p r e s e n t e dm o d e l i n gi d e aa n d m e t h o da r ei ne f f e c ta f t e rt h es o f t w a r ee x p l o i t a t i o nt e s t i n g k e y w o r d s :s o f t w a r ea r c h i t e c t u r e ,a r c h i t e c t u r e d e s c r i p t i o i ll a n g u a g e ( a d l ) ,a n a r c h i t e c t u r a li n t e r c o n n e c t i o nl a n g u a g e ( a c m e ) 。u n i f i e dm o d e l i n gl a n g u a g e ( u m l ) , s u p p l yc h a i nm a n a g e m e n t ( s c m ) ,d i s t r i b u t i o nm a n a g e m e n t ,d o m a i ne n g i n e e r i n g , c o m p o n e n t 卣求肌宅航天犬顾l 一# 他论文 1 1 课题研究背景 第一章概论 随着全球信息化的发展,基于i n t e r n e t 网技术的网络服务蓬勃开展,电子商务的 兴起已促使流通领域发生了一场革命。它将打破时空界限,改变贸易形态,改善物流、 资金流、信息流的环境与系统,加速整个社会的商品流通,有效的降低企业的成本, 提高企业的竞争力。电子商务对社会各个行业的渗透也是空前的,无论是工业、流通 业、;金融业还是媒体传播业,无论是政府、企业还是科研机构,甚至传统的农业都 将受到电子商务的洗礼。 供应链管理是企业增强竞争力的重要途径,是供应链中各企业集成为一个有机联 系的系统整体。它具有采用紧密合作的企业伙伴关系、快速响应顾客需求、实现共同 目标、发挥核心竞争力等特点。供应链管理是开展电子商务的基础,电子商务的发展 又为企业实施供应链管理提供了有力的信息集成环境支持。因此。两者的集合是必然 的,是符合对代的要求的。在这样的一个时代环境中,本次毕设正是以开发基于电子 商务的供应链管理( e s i s c m ) 软件作为论文的应用背景进行的。 该软件运用了面向构件的软件开发方法,集u m l 建模技术、软件体系结构、 现代企业管理知识、系统集成技术、电子商务技术与一体,是一个以制造业s c m 应 用为核心并高度集成商业领域应用的大型软件。 1 2 研究方向与发展概况 在经历了“软件危机”的痛苦、反省和研究阶段后,当今的软件设计技术已经有 了翻天覆地的变化。经过面向对象技术的发展和促进,新型软件的出现,特别是可视 化程序技术和i n t e m e t 技术的应用,软件设计方法和开发环境有了巨大的变化。人们 对软件的特性和基础结构有了从未有过的深刻认识。反映在设计理论和方法方面,体 系结构概念的提出,标志着软件技术将在新的起点上走向更加成熟。软件设计已经从 关心基本的结构和算法转移到了对宏观结构的认识上;从关注功能的实现转移到了对 综合性能的要求上。因而,作为软件重用技术的高级阶段,体系结构已经形成软件工 程研究的一个重要分支和热点,在过去的近十年问形成并获得了广泛的关注和支持。 u m l 是一种用于对软件密集型系统进行可视化、详述、构造和文档化的建模语 言,主要适用于分析和设计阶段的系统建模。u m l 对系统模型的表达能力超出了以 往任何种o o a 或o o d 方法。u m l 的问世受到计算机软件界的广泛重视,因为它 ! 业! 塑生塑坌塑笪望墼! ! 塑型竺壅兰奎垫 代表了一种积极的方向多科t 方法相互借鉴、相互融合、趋于一致、走向标准化。 因而它足一种被o m g 承认并采纳的标准建模语言。 随稽软件复用研究的深入,复用成分的形式已经从程序代码扩展到一切可用束构 造软件系统的成分,包括软件的分析、设计、实现、维护阶段以及干h 应的文档、知识 等a 特别在大型系统的开发,由于系统固有的复杂性,不仅包括功能方面的需求,还 包括了许多非功能方面的需求,如灵活性、适应性和可靠性等,要满, t i z 此- 特性,重 用性是必不可少的。对于信息系统领域,其工作流程和规范大多是相同或相似的。大 多数成果在同领域中都是通用的,而不必对类似的项目从零开始开发。为了更好地利 用前期的开发成果,在最初的开发过程中就应该以一种重用的思想来指导整个开发过 程。 基于这种重用思想,构件构架重用技术又得到了一次重新崛起的机遇。领域工 程、领域分析、特定域的软件建筑乃至设计样本等学科的发展,无一例外地都是基于 面向领域进行重用的思想。构架技术恰好是连接这些技术并将它们同构件重用技术结 合起来的一种机制,为软件开发从系统需求分析到代码实现的全过程重用提供了可 能,为特定域的应用系统自动生成也提供了可能。 基于以上的思想。对于一个软件系统,首先,我们应该运用软件体系结构的思想 把握其整体结构,进行领域分析,提取相关领域知识:然后,用a d l u m l 集成建 模方法建立其构架构件模型,进行领域设计,划分三层结构:最后,转化成实际的编 程语言来实现该系统。这样,个软件系统,从整体到局部,从抽象到具体,从构架 构件到对象都得到了很好的把握和贯穿。 1 3 主要研究内容 本文是在开发基于电子商务的供应链管理的背景下发生。而本人在该项 目中承担的是开发分销管理子系统的任务。 开篇首先阐述了软件体系结构理论。软件体系结构作为软件工程的一个分支和一 个新的软件设计视角,在软件设计中的重要作用已经得到普遍的认可。软件体系结构 主要是对软件系统从一个抽象的层次高度地把握其整体结构和性能。体系结构的分析 设计对于软件工程实施、软件项目开发都已经是不可缺少的。 本文从体系结构风格和体系结构描述语言( a d l ) 入手来对软件体系结构进行研 究。因为体系结构风格和体系结构描述语言是软件体系结构两大重要的分支。体系结 构风格表示了软件系统的基本结构,以及相关的构造方法,是对软件构成带有整体性、 普遍性、一般性的结构和结构关系的方法。体系结构描述语言是为了建立体系结构的 形式化模型,支持基于体系结构的软件开发和体系结构的分析而建立的对体系结构的 描述和规范方法。因而,我们不仅给出了几种基本的典型的体系结构风格的描述,还 重点讨论和研究了体系结构描述语言以及一种可交换的描述语言a c m 巳,并给出 , 崩球航:f 航天人j :硕士。j : t 沦殳 了其运用于分销管理软件的模型描述。 在研究软件体系结构的同时,我们也着重研究了面向对缘的软件开发过程:平i i 统一 建模语言u m l 。在这里,我们提出了u m l 不仅是一种统一建模语言,还足种 际准的建模方法。这一观点的提出和阐述在文中有具体的解释。 面向对象的软件开发过程是近年来软件工程研究的热点,它的提出无疑给软件工 程注入了新的活力,而l n 札又是当前主流的、可视化的面向对象的建模语言,也是 一种标准的、被广泛认同的建模方法。因而本文使用了面向对象技术,运用了u m l 来对分销管理子系统进行建模。更重要的是,本文将体系结构描述语言和统一建模语 言相结合,提出a d l 1 n v 集成建模的思想,从不同角度,不同层次来描述软件系 统各种模型。 在完成了知识积累和理论准备后,文章阐述了本课题的领域知识,即有关供应链 管理及分销营销的理论知识。并从领域工程的角度论述了基于供应链的分销管理软件 与以往分销管理有何不同之处,并给出了其领域框架模型。 接着,文章对分销管理软件进行软件模型设计,从构架设计到构件设计再到对象 设计,分别使用了a c m 巳和i m l 来进行设计描述。从而体现在软件建模过程中,这 两种建模方法各自的优缺点,及各自适合的场合。同时,也验证了a d l 和l n v 几集 成建模的必要性和必然性。 最后,文章给出了分销管理软件实现的典型案例。给出了c s 结构下三层构件 划分的模型及其原代码。实现了从界面表示层到事务处理层再到数据管理层三层划分 的思想。 1 4 论文工作量情况 本次论文的撰写工作从开题、收集资料、项目开发、到最后论文的完成,共历时 一年多。在这一年里,首先是阅读大量的文献资料,对软件体系结构、面向对象的开 发方法、u m l 建模语言、构件构架体系结构都有了一定的了解和掌握。同时,由 于需要完成分销管理软件的项目开发,对于电子商务、供应链管理以及有关分销营销 的管理知识也作了一定的研究。在项目的开发过程中,参与了从分析、设计到编码、 测试的整个过程。在实践中运用理论知识,从而,对理论知识有一个更深刻的理解。 让理论知识指导实践应用,使实践更加合理完善。基于以上的学习和工作,最终圆满 完成了我的毕业论文, 一一业 :! 丝丛塑坌箜要堡墼丛丛型竺壅生鉴婴 第二章面向构件的建模方法 软件体系结构是一种面向构件的软件开发方法学。因而,要研究面向构件的建模 方法,酋先要研究软件体系结构的基本理论。 2 1 软件体系结构的概念模型 目前,软件系统的规模越来越庞大,其复杂程度也越来越高,这极大地增加了软 件系统开发的难度。因此对软件的整体结构,即体系结构的设计和描述在软件开发中 的作用也越来越突出。对于大型软件系统而言,体系结构的设计已经成为系统成功的 关键因素。软件体系结构描述了系统的高层模型,包括创建系统的元素( 通常称为构 件) 的描述、构件间的交互以及对相关约束的描述。它隐藏了系统的实现细节,使设 计者能集中精力对系统的关键功能和性能进行分析和设计。 软件体系结构已经成为复杂系统高层设计所关注的焦点。通常,传统设计者不得 不时刻面对着新需求、新技术、以及新环境的挑战,而软件体系结构的研究将有助于 减少开发应用系统的开销并增强相似产品不同成员间互通化的可能性。基于相同领域 软件体系结构的软件开发者可以把精力从每一行代码转移到大粒度的体系结构元素 ( 构件与连接件) 和它们的互连上来。 软件体系结构设计优势至少体现在以下四个部分: ( i ) 分析能力:一组合适的分析工具使系统设计者能够在开发周期的早些时候 解决相似问题并估计全局属性以及系统能力,该能力使设计者通过一种有效方式确定 早期设计的领域系统是否符合需求。 ( 2 ) 系统架构的可视性:一个明确定义并付诸于文档的体系结构显示了整个系 统将会如何符合指导系统设计者作出底层设计意图的蓝图。开发者有一个很清晰的关 于系统的每一部分如何适应整个系统的理解,使得他们可以确信每个构件将平滑集 成于系统的其它部分,并使用该体系指导他们作出实现性的决定 ( 3 ) 严格规范:产生一个明确的体系结构设计需要体系创建者考虑系统如何作 为一个整体并相互作用,该过程通常能够揭示出一些未能充分考虑、模棱两可的需求, 以及可能被忽略的关键设计要素。 ( 4 ) 维护概念完整性:系统体系结构作为整体意识,指导维护人员在该系统、 该种方式下作出合适的扩充和修正。 肖j _ 航。航人人。、:撇1 。、f 0 沦史 一一 2 1 1 软件体系结构的基本概念 1 软件体系结构的定义 软什体系结构,也可以称为构架,是可预测可重构的软件骨架。它是由构件、连 接件昶j 约束( 3 c 构架) 组成的。可以写成: 构架( a r c h i t e c t u r e ) = 构件( c o m p o n e n t ) + 连接件( c o n n e c t o r ) + 约束( c o n s c r a i n t s ) 构件是组成构架的基本计算单元或数据贮存单元。也就是说,构件是计算与状态 存在的场所。在体系结构中,可以有不同粒度级的构件元素,一个构件可能小到只有 个过程或大到整个应用程序。可以包括对象,二进制对象,函数,例程,类库,数 据包,过滤器,触发器等。作为软件体系结构构造块的构件,其自身也包含了多种属 性,如端口、类型、语义、约束、进化、非功能属性等。构件作为一个封装的实体, 只通过其接口与外部环境交互,而构件的接口由一组端v i 组成,每个端口表示了构件 和外部环境的交互点。因而,端口就是构件与外部世界的一组交互的接口。构件端口 说明了构件提供的那些服务( 消息、操作、变量) 。它定义了构件能够提出的计算委 托及其用途上的约束。 连接件是用来建立构件问的交互以及支配这些交互规则的体系结构构造模块。交 互连接关系包括过程调用、共享变量访问、消息传递等,还包括具有十分复杂的语义 和构成的关系,诸如客户服务器的访问协议、数据库的访问协议、网络的传输协议、 异步事件的映射等。连接件作为软件体系结构的主要实体,同样也有接口,连接件的 接口由一组角色组成,每个角色定义了连接件与所连接构件之间的交互点。体系结构 约束中要求构件端口与连接件角色的显式连接。 体系结构适合于描述大的、生存期长的系统。为帮助在个较高的抽象层上理解 系统( 或系统族) ,就需要对软件体系结构进行说明。为了使开发者与其有关人员之 间的交流容易些,就需要一种简单的、可理解的语法来配置结构化( 拓扑的) 信息。 约束就是这样产生的,它是基于规则和参数配置的。它描述了体系结构配置和拓扑要 求,描述了体系结构的构件与连接件的连接关系。体系结构约束提供限制来确定构件 是否正确连接、接口是否匹配、连接件构成的通信是否正确。体系结构约束说明除文 本形式外,还可以用图形说明形式。文本描述与图形描述可以互换,可以互补。 体系结构是指整个系统构成的基本和主体形态。在一个发展成熟的领域中,这种 结构成为建立和考察系统的总体指导或基本出发点。类似地,软件体系结构是软件在 设计构成上的基本、可供设计选择的形态和总体结构。每一个结构概念都传达了领域 的特定设计问题、解决问题的特定方法、方法的实现构成和它们之间的关系、结构的 性能和优缺点、考察结构性能的方法等。 除了描述系统的构成和结构关系外,在系统的功能需求方面,体系结构还表达了 系统需求和构成之间的对应关系,这为系统的设计提供了分析和评价的依据。在系统 j 型! 塑笪塑坌箜望:墨墼丛堡型竺丝! ! 鉴塑 宏观层次上,人们所关心的是系统的非功能需求方面的内容,诸如容量、数据吞吡最、 一致性、兼容性、安全性、可靠性等,这些在体系结构中也都表达了出来。 总的来看,软件体系结构是由结构和功能各异、相互作用的构件集按照层次构成 的。它包含了系统基础构成单元,单元阃的作用关系、单元的合成方法以及对合成约 束的描述。 2 软件体系结构的重要分支 软件体系结构已经成为软件工程的重要研究领域。体系结构的问题正在诸如软件 重用、领域应用系统、软件组织模式的实现、体系结构语言、体系结构设计的形式化、 体系结构设计环境和工具等中受到关注。 软件体系结构的研究主要有以下几个方面: ( 1 ) 体系结构风格 体系结构风格以结构组织为特性定义了一个软件系统族,表达了构件及构件间的 关系,以及相关的合成和设计规则。 体系结构风格表示了软件系统的一种特别的基本结构,以及相关的构造方法。结 构风格也包含了在什么情况下使用和如何使用,以及结构风格的不变性和特例,还包 括其应用的约束条件和后果。 ( 2 ) 设计模式 设计模式最早是作为总结软件设计,特别是面向对象设计的实践和经验而提出 的。与体系结构认识的提出一样,设计模式的提出标志着整个软件设计技术和水平的 逐渐成熟。 设计模式分为三种类型:构造型模式、结构型模式、行为型模式。在软件设计中, 这些模式通过重用软件实践中的经验规范了系统的构成结构,加快了软件的设计和实 施,为保证软件的质量提供了可靠稳定的基础。 除了功能性外,设计模式的提出考虑到可预知的非功能性属性的设计需求,特别 是重用性、可变性等特性。这就使得模式更具有实用价值。 ( 3 ) 框架 框架是另一种研究和构造软件体系结构的方法。是关于应用领域问题的已建立的 系统结构。框架是一种特定的系统架构,它包括系统的基本构成单元和关系。 从设计模式的角度来看,框架是一个给定应用领域中的完全的软件系统模式,是 大粒度的可复用构件。从体系结构角度看,框架是一个领域体系结构。从组成上看, 框架是一个等待实例化的完整系统,它定义了一个软件系统的族和关系,并提供了创 建它们的基本构建模块。 框架的实例化包括了现存类的组合和子类化。为特定领域设计的框架被称作应用 框架,框架规定了应用的体系结构,定义了它的构成、类和对象的分割,各部件的职 能、类和对象的协作关系、以及控制流程。框架预定义了这些设计参数,以便应用实 施者能集中精力解决应用自身必须解决的系统配置问题。 6 岛康航兮航天犬。颂:叫沧文 一 ( 4 3 系统结构描述语言 体系结构描述语言也是软件体系结构的大重要研究领域,它将软件开发的焦点 从成百上千代码转移到粗粒度结构元素以及它们之间互连关系结构上。作为支持体系 结构设计的体系结构描述语言a d l 应该是一个支持基于体系结构的软件开发的模型 系统。然而,对于体系结构概念的认识没有统一,对于体系结构描述语言的构成也就 出现了百花齐放各显其能的局面。但是,不管各种描述语言如何变化,它们应该有其 共性,那就是应该能够体现体系结构描述的多层次、多视图、代码生成等特性。事实 上,体系结构描述的层次化,体系结构元素的规范化和标准化,最终必然导致可运行 代码的自动生成,从而将彻底改变软件设计实现困难状况,把软件的工程设计技术推 向新的发展高峰。 3 体系结构风格、设计模式、框架的区别 从框架的应用看,设计模式可被看作是构建框架的建筑组块,它解决的是软件系 统的相对局部和小粒度的构成问题。 从设计模式的应用看,框架可被看作是在某个给定应用领域中软件的整体系统模 式,它解决软件的上层、全局的结构问题,当然也提供了中层和底层的支持。体系结 构风格只描述应用的整体结构框架,它们之间是相互独立的。而模式存在于规模不同 的范畴( 从定义应用系统基本结构的体系结构模式到对给定问题实现的详细设计) , 并且一个模式依赖于它包含的更小的模式、与它交互的模式和包含它的更大的模式。 2 1 2 软件体系结构的层次模型 软件的体系结构不仅仅是一个最上层的结构问题,它应该关心所有层次的软件结 构问题,而且是从计算机的角度而不仅是从用户的角度上看待。粗略地看,在软件的 最高层次解决的是对系统第一次分解所产生的部件和它们之间的关系。通常包括的是 运行在不同机器上的各个系统和它们的关系,可以看成是软件系统的分析层:在中间 层次,解决的是独立系统自身的结构和其构成之间的关系,可以看成是软件系统的设 计层;在最低层,是系统下层的各个组成部分的构成关系,可以看成是软件系统的实 现层。正因为如此,软件的体系结构就是一个关于软件构成方面的具有层次性的知识 体系。 服务于软件开发的不同阶段,依据层次和细节程度,体系结构可分为概略型、需 求型和设计型。概略型是上层宏观结构的描述,反映系统最上层的构件和连接关系。 需求型是对概略体系结构的深入表达,以满足用户功能和非功能需求的表达为主,通 常需要对概略层的构件和连接进行深层的描述。设计型体系结构是从设计实现的角度 对需求结构的更深层的描述表达。在此类型的结构中,需要从不同的侧面视图,采 用各种表达图和说明,设计系统各个层面的各个部件和连接的结构。该层面的体系结 构将直接服务于系统的实现和性能分析。 7 一型! 业幽塑坌塑笪墨墼丛堡型业! ! ! ! 兰些 可以将软件体系结构分成5 个层次,如图21 所示,每个层次的功能发行头部什 模型参见表21 给出的具体描述。从图中可以看出,第5 层( 领域框架层) 完成r 对 软f , 系统的领域分折功能,绝这一层要运用面向应用领域的分析米实现其领域框架, 建、z 其领域模型,我们可以用形式化语言a d l 来描述其分析过程;2 、3 、4 三层按 j 0 重用的粒度山大到小完成对软件系统的构架构件对象的设计功能。典中在第4 层建立和描述的是通用的设计思想和结构,也即建立其体系结构风格或构架级设计模 式,体现的是软件构造级重用设计思想。在第3 层建立和描述对象及对象间交互和通 讯,也即构件级设计模式,体现的是软件结构级重用思想。在第2 层通过多次迭代修 改和确定最终的对象,并标注对象属性和操作。在这三层,我们可以用u m l 的各种 视图来显示其设计过程:最后一层描述的是应用软件所依附的系统平台,包括软件平 台和硬件平台。其中,最主要的是应用软件和这些系统软件之间的接口描述。我们仍 然可以使用a d l 来描述,实现从a d l 到高级语言的映射。 【第5 层:领域框架 十 i 第4 层:构架级 i +千 第3 层:构件级 十 第2 层:对象级 0千 第1 层:系统平台 图21 软件体系结构的层次模型 表2 1 软件体系结构层次模型的概念划分和构成 层次功能描述模型 系统平台包括软件平台和硬件平台,以使处理器、存储器、时钟、中断及其控制、 得应用软件能很好的运行i o 端口;a p ! 对象级修改、优化、确定最终对象,并主程序、子程序、函数、模块:数组、 建立对象的属性和操作散列表、结构、队列、树、图;对象、 状态 构件级建立一切数据对象及其之间的关主程序子程序、数组结构对象组 联合 构架级实现体系结构风格或系统级别的层次、面向对象、管道过滤器、黑扳, 设计模式虚拟机 领域框架从应用领域出发建立系统结构概企业管理、控制系统、c a d 系统、公文 念模型处理等应用领域的特别结构 南京航空航火大学够! 士学似论丈 通过以上分析,我们可以得出这样一个结论:体系结构的描述是一个从描述词汇 到结构句法、从句法到语义、从语义到应用的分层描述。词汇是实现描述的最小单元, 句法是由词汇形成复杂关系的约束形式,语义是句法所转达的特定逻辑或操作含义, 应用是句法语义服务于特定领域问题的需要。这是一种由下向上的组合方式,在实际 的开发过程中,我们应该采用由上向下的推进方式。即从领域分析( 应用) 到领域设 计( 语义和句法) 最后到实现( 词汇) 。 软件体系结构的这种层次的划分,还可以使软件系统得到不同粒度级别的重用部 件。可以从系统构架级重用到构件级重用再到对象级重用最后到代码级重用。这样, 不仅可以减少软件开发的工作量,还可以使软件系统更加容易维护、修改,增加其实 用性和可靠性。 2 2 软件体系结构风格 2 2 i 软件体系结构风格描述 在软件设计的实践中,如同最初软件抽象所产生控制流结构和数据结构一样,随 着某些特殊组织结构的频繁出现和应用价值的提高,人们提出了一些相对固定的设计 机构称为体系结构风格。在最初,体系结构设计的主要表现在稳定的系统组织模式的 选用上,体系结构风格的发现和规范也成了软件体系结构研究的主要方面。 软件体系结构风格是指不同系统所拥有的共同的结构组织模式和语义特性。也 即,一种体系结构风格决定了构件、连接件和一组如何将它们结合在一起的约束限制, 包括拓扑限制( 如无循环等) 、执行语义限制( 如过滤器不能共享等) 。实质上,一种 体系结构风格决定了一种体系结构的框架。 曾经提出的体系结构风格有9 大类:( 1 ) 数据流( d a t a f l o ws y s t e m ) ,它包括批 处理、管道- 过滤器;( 2 ) 调用返回系统( c a l l - a n d r e t u r ns y s t e m ) ,它包括主程序和 子程序、面向对象系统、层次结构;( 3 ) 独立部件( i n d e p e n d e n tc o m p o n e n t s ) ,它包 括通信进程、事件隐式调用;( 4 ) 虚拟机( v f f t u a lm a c h i n e s ) ,它包括解释器、规则 基系统;( 5 ) 以数据为中心的系统( 库) ( d a t a - c e n t e r e ds y s t e m s r e p o s i t o r i e s ) , 它包括数据库、超文本系统、黑板系统:( 6 ) 特殊领域风格( d o m a i n - s p e c i f i cs o f t w a r e a r c h i t e c t u r e ) ,例如过程控制、模拟器;( 7 ) 特殊结构风格,椤l i 如分布式处理、状态 转移系统:( 8 ) 不同风格合成建立的异构结构( h e t e r o g e n e o u s a r c h i t e c t u r e ) ;( 9 ) 最 初始、也是最基本的主程序子程序。 一个体系结构风格以结构组织的模式定义了一个系统的家族。更准确地说,一个 体系结构风格定义了由构件和连接的类型描述的一个词汇集合,以及如何将这些构件 和连接类型结合的一个约束集合 f f i i 向卡句什的分j f l j 记坪软件模型 i j 究与。史观 在体系结构风格中,有一类重要的体系结构风格面向领域的软件体系结构风 格,它是相对通用体系结构风格而言的。各类应用f = l 题有其特殊性,反映在结构构t 1 二 和构件关系上。该共性决定了其结构的可重用性,因而形成了特殊的结构风格。该风 格又是针对应用领域问题的,有别于通用结构风格,因而形成了领域结构风格。 领域结构风格类似予框架。从软件的上层结构和面向应用问题而言,它们是完全 相同的,都是在系统层面上的软件重用,有别于个别类或算法的重用。 领域结构风格是通用结构风格在领域问题应用的结果。同时,对领域结构风格的 研究可丰富和发展通用结构风格的研究。 已经提出的领域结构风格有:军事领域的软件体系结构,包括智能武器、军事命 令与控制系统、制造执行系统、自动车辆管理系统等;在电信领域,随着技术的发展, 出现了智能网、电信管理网等软件体系结构。 2 2 2 几种典型的软件体系结构风格 下面我们分别阐述几种通用的软件体系结构风格,描述它的组成元素,并进行 优缺点比较。 l ,管道过滤器( p i p e s f i l t e r s ) 管道过滤器结构是由过滤器和管道组成的。代替数据加工处理的过滤器是具有 一组输入和一组输出的构件,它们和被代表数据传送的管道连接在一起。过滤器从输 入数据源接收输入,经过内部加工处理后送至q 输出的数据池,并被传送到输出连接的 过滤器。数据源、过滤器、数据池通过管道顺序地连接起来。每个管道只处理邻近过 滤器之间的数据流。 从整个系统的输入和输出关系看,各过滤器可以对其输入进行局部的独立处理变 换,从而产生部分的计算结果。过滤器的活动可以通过以下方法激活: ( 1 ) 后续的构件从过滤器中取出数据; ( 2 ) 前续的构件向过滤器推入新输入数据: ( 3 ) 过滤器处于活跃状态,不断地从前续构件取出、并向后续构件推入数据。 前两种情况产生的是被动式过滤器( p a s s i v ef i l t e r ) ,最后的是主动式过滤器( a c t i v e f i l t v r ) 。被动式过滤器是通过函数或过程调用激发的,而主动式过滤器是作为独立的 程序或线程任务激发工作的。 管道是过滤器之间的连接件。是一个先进先出的数据缓冲。如果两个主动式过滤 器连接在一起,管道将它们实施同步控制。 数据源是系统的输入,它提供了同结构类型的数据序列。例如:由文本行组成 的文件,提供采集数值的探测器。数据源可主动地把数据推向过滤器,或当过滤器需 要时被动地提供数据。 数据池从过滤器收集计算结果,有两类变种,主动式数据池从过滤器中“拉”出 f 0 一塑! ! 塑笙些垄盔! 婴生兰! ! 堕兰 数据,被动式数据池允许其前续的过滤器向其推入或写入结果。 图2 2 给出了基于d r p 计划调整的一个管道一过滤器的例子。图中矩形表示过滤 器,宵向线段表示管道。从图中,我们可以清楚地看到数据在管道中传递,而过滤器 则是用来进行计算和完成处理的。 文件 剖订单变更请求卜墅叫重鬻求 叫订单变更请求卜刊一:。” 图2 2 管道过滤器风格 相 斋 订货计划 送货计划 典型的管道一过滤器结构例子有u n i x 的s h e l l 程序,传统的编译器等:另外在分 布式系统、函数程序设计等领域中也常应用此结构。 管道过滤器结构具有下列特点: 过滤器的设计是独立的,不受前、后部件的影响。也就是,除了输入和输出 外,各过滤器不受任何其它过滤器运行的影响。表现在设计实现上,非邻近的过滤器 之间不共享任何状态,甚至对于多次加工而言,过滤器自身也是无状态的。换言之, 每次加工后,过滤器都会回到统一的原始等待状态。 过滤器的独立性还表现在它对其上游和下游过滤器的“无知”。它的设计和使 用不对其相连的任何过滤器施加限制,唯一关心的是其输入的形式、加工处理的逻辑、 产生输出的形式。 过滤器的独立性,还表现在整个结果的正确性不依赖于各个过滤器运行的先 后次序。对于原始的输入,尽管其最终输出形式的获得需要经过特定的加工、并符合 加工的顺序要求。但在系统工作时,各过滤器只在输入具备后独立地完成自己的计算。 完整的计算过程包含在各个过滤器之间的拓扑结构中。 管道过滤器的类型有管线( p i p e l i n e ) 、有名管道( n a m e d p i p e s ) 。 管线是把过滤器严格限制为单输入、单输出的类型。这样,系统的拓扑结构只能 是线形的序列。多数管道过滤器的应用属于这种简单的结构。 如果允许过滤器的输入或输出多于一个,整个系统的拓扑结构就成为可能包含回 馈( f e e d b a c k ) 的有向图。这类系统,特别是包含回馈的系统设计,需要使用更深的 基础和更严格的理论分析,来证明系统的计算是可终止并能够产生预期的结果。 有名管道是过滤器之间通过有名称的管道( 例如文件) 进行数据传送的系统。有 名管道限制了过滤器之间数据传送只能发生在命名的管道中,为系统的维护和重组带 来困难。 l l 面向构仲的分销侍理软件模型研究与实现 一一 管道过滤器系统的优点在于: ( 1 ) 它有助于设计者理解系统的全部输入输出行为,其实是单个过滤器行为 的简单组合: ( 2 ) 它支持重用,只要两个过滤器在传输的数据格式上达成一致它们就可以 连接到一起; ( 3 ) 系统易于维护和增强,新的过滤器可以增加到存在的系统中,旧的过滤器 可以被经过改良的过滤器所替代: ( 4 ) 系统具有自然的并发性。过滤器可以独立顺序运行,也可以同时并发运行。 这方面增加了系统运行的灵活性,也使提高运行效率成为可能。在网络环境下的管 道,尤其可以借此提高系统的运行效率。 ( 5 ) 由于是通过独立部件的组合,系统具有清晰的拓扑结构,因而容易进行某 些性能方面的分析,例如数据吞吐量、死锁、计算正确性等。 当然,这种系统也有缺点: ( 1 ) 管道过滤器系统通常会导致批处理。尽管过滤器可以渐进地处理数据,但 是,过滤器是固有独立的,设计者不得不认为每个过滤器在输入数据和输出数据之间 提供了一个完全的转换。 ( 2 ) 特别地,因为这种转换特征,管道和过滤器系统特别不适合处理交互式应 用。其次,这种系统可能不得不维护两个独立但相关数据流之间的一致性。 ( 3 ) 共享状态信息的代价高而且不灵活,因而不适于需要共享大量数据的应用 设计。 ( 4 ) 不适应交互式应用系统的设计和运行。过滤器是对输入的批量转换处理, 由于限制了输入的个数、形式、时间,限制了输出的形式,该类系统特别不适于设计 交互式应用。 2 数据抽象和面向对象设计 数据抽象和面向对象设计是在主程序和子程序设计基础上建立和发展起来的重 要的软件描述方法。数据抽象是面向对象设计的理论基础。类和对象是该描述方法的 基础粒度。 从软件实现的角度上讲,该方法没有逃出主程序和子过程的方法,但它把软件的 组成建立在类和对象的粒度上,而不是模块和包之上,这极大地改变了软件描述的特 性,由此带来了软件结构的革命性的变化。目前,面向对象已经成为一切软件系统设 计的基础和出发点。一些重要的软件设计思想都是在此基础上提出来的,例如:消息、 构件等。 类和对象一开始是以处理数据为目的而提出的。对象的生存表现在它所占用的存 储空间和状态的变化,表现在通过其存储空间的标识方法的能力。从这个方面看,在 发生方法调用和获得处理器控制权之前,对象是处在“生存”的“冻结”状态。事实 上,激发对象处于活跃状态的惟一方法就是调用其操作方法。这是一般面向对象概念 1 2 尚康肌l j 航人人。顺【:。f 囊论文 给出的惟一的对象运行机制。 在复杂的系统中,对象不仅起到信息保持和传递作用,它更是构成系统存在和生 命力表现的构件和连接关系的基本形式。它们的行为固然也需要操作方法调用的激 活,但控制它们活力的不仅仅局限于此,还需要获得其它运行机制的支持。 考虑到系统的各种构件都是对象,它们在系统中起的作用不同,发挥效用的时刻 不同,受到的控制不同,但在计算机系统中运行都会受到操作系统的调度,外来事件 的激发,其它部件的服务请求。因此,对象的运行除了受到过程方法调用的影响外, 还受到包括操作系统的进程和线程调度、分时调度、实时调度、硬件中断事件的触发、 各种软硬件消息的影响、动态连接请求等的影响。在一个实际的系统中,这些控制关 系都是需要得到处理的。 在实际系统的设计中,面向对象的结构对应于u m l 中的结构图,包括类图、对 象图、包图。 图2 3 给出了需求主文件维护的类图。该类图描述了各个类及类间的关系( 包括 聚集和泛化) 圈2 3 面向对象风格 面向对象风格的优点在于: ( 1 ) 信息隐藏保证了对象行为的可靠性,因为用户只能通过调用方法间接地影 响对象的行为,避免了任意访问的状态不确定性。 ( 2 ) 受封装的独立运行对象把数据和操作捆绑在一起,提高了对象作为一种模 块的内聚力,减少了耦合性,使系统更容易分解成相互作用的又相对独立的对象集合。 ( 3 ) 对象方法的调用,将操作请求和实现细节实现了分离,使得可能在不影响 调用者的情况下改变操作的实现。这为系统的维护和升级提供了良好的条件。 i f 【i l 向 :;j 件的分销管理软件模型研究与实现 ( 4 ) 继承性和对象封装性大大提高了对象复用的可能性和方便性。 当然,该系统也有其缺陷: ( 1 ) 对象之间的方法调用必须知道被调用对象的标识,并且对被调用对象的构 成有限制。这样,在某些情况下会造成实现上的困难。 ( 2 ) 对象标识的改变可能会造成调用该对象行为的所有对象,从而造成维护上 的困难。 3 黑板系统 黑板系统结构实现的基本出发点是已经存在一个对公共数据结构进行协同操作 的独立程序集合。每个这样的程序专门解决一个子问题,但需要协同工作共同完成整 个问题的求解。这些专门程序是相互独立的,它们之间不存在相互调用,也不存在可 事先确定的操作顺序。相反,操作次序是由问题求解的进程状态决定的。 因此,黑板结构存在一个中心控制部件,这就是所谓的“黑板”。这是一个数据 驱动或状态驱动的控制机制。它保存着系统的输入、问题的求解、各个阶段的中间结 果和反映整体问题求锯进程的状态。这些是由系统的输入和各个求解程序“写”入的, 因此被称为“黑板”。 系统在运行中,每当有新输入、新结果和叛状态写入黑板时,中心控制部件就对 黑板上的信息进行评价,并据此协调各专门程序进行工作。它们试探性地调用各个可 能的求解算法,并根据试探导出的启发信息控制后续的处理。 在问题求解过程中,黑板上保存了所有的部分解。它们代表了闯题求解的不同阶 段,形成了问题的可能解空间,并以不同的抽象层次表达出来;其中,最底层的表达 就是系统的原始输入。最终的问题解在抽象的最高层次。 整个黑板体系结构由三部分组成,一个黑板部件,一个问题求解的知识源集合, 一个控制部件。图2 4 给出了一个黑板结构的构成。 图2 4 黑板体系结构风格 南京航空航天大学硕i :。# 记沦文 其中,黑板构件是保存系统输入、问题求解的局部和中间结采

温馨提示

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

评论

0/150

提交评论