软件体系结构描述.ppt
《软件体系结构描述.ppt》由会员分享,可在线阅读,更多相关《软件体系结构描述.ppt(128页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章软件体系结构描述和设计软件体系结构描述和设计本章结构本章结构4.1 4.1 软件体系结构描述方法软件体系结构描述方法4.2 4.2 软件体系结构描述框架标准软件体系结构描述框架标准4.3 4.3 体系结构描述语言体系结构描述语言4.4 4.4 典型的软件体系结构描述语言典型的软件体系结构描述语言(C2C2)4.5 4.5 软件体系结构与软件体系结构与UMLUML4.6 4.6 可扩展标记语言可扩展标记语言4.7 4.7 基于基于XMLXML的软件体系结构描述语言的软件体系结构描述语言4.8 4.8 软件体系结构的设计软件体系结构的设计引言当前对软件体系结构的描述在很大程度上还停留在非
2、形式化的基础上,依赖于软件设计师个人的经验和技巧。非形式化的描述不易被开发人员理解,不利于分析和开发的进行。形式化的、规范化的体系结构描述对于体系结构的设计和理解都是非常重要的。由非形式化到形式化的过程。描述方法的种类描述方法的种类 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 图形表达工具图形表达工具 模块内连接语言模块内连接语言 基于软构件的系统描述语言基于软构件的系统描述语言 软件体系结构描述语言软件体系结构描述语言 图形表达工具图形表达工具 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体
3、系结构描述方法简洁易懂容易使用使用广泛不 规 范不 精 确 模块内连接语言模块内连接语言 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 采采用用将将一一种种或或几几种种传传统统程程序序设设计计语语言言的的模模块块连连接接起起来来的的模模块块内内连连接接语语言言(MILMIL)。由由于于程程序序设设计计语语言言和和模模块块内内连连接接语语言言具具有有严严格格的的语语义义基基础础,因因此此它它们们能能支支持持对对较较大大的的软软件件单单元元进进行行描描述述,诸诸如如定定义义/使使用用和和扇扇入入/扇扇出出等等操操作作。例例如如,AdaAda
4、语语言言采采用用useuse实实现现包包的的重重用用,PascalPascal语言采用过程(函数)模块的交互等。语言采用过程(函数)模块的交互等。MILMIL方方式式对对模模块块化化的的程程序序设设计计和和分分段段编编译译等等程程序序设设计计与与开开发发技技术术确确实实发发挥挥了了很很大大的的作作用用。但但是是由由于于这这些些语语言言处处理理和和描描述述的的软软件件设设计计开开发发层层次次过过于于依依赖赖程程序序设设计计语语言言,因因此此限限制制了了它它们们处处理理和和描描述述比比程程序设计语言元素更为抽象的高层次软件体系结构元素的能力。序设计语言元素更为抽象的高层次软件体系结构元素的能力。基
5、于软构件的系统描述语言基于软构件的系统描述语言 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 基基于于软软构构件件的的系系统统描描述述语语言言将将软软件件系系统统描描述述成成一一种种是是由由许许多多以以特定形式相互作用的特殊软件实体构造组成的组织或系统。特定形式相互作用的特殊软件实体构造组成的组织或系统。例例如如,一一种种多多变变配配置置语语言言就就可可以以用用来来在在一一个个较较高高的的抽抽象象层层次次上上对对系系统统的的体体系系结结构构建建模模,DarwinDarwin最最初初用用作作设设计计和和构构造造复复杂杂分分布布式式系系统统
6、的的配配置置说说明明语语言言,因因具具有有动动态态特特性性,也也可可用用来来描描述述动动态态体体系系结构。结构。这这种种表表达达和和描描述述方方式式虽虽然然也也是是较较好好的的一一种种以以构构件件为为单单位位的的软软件件系系统统描描述述方方法法,但但是是他他们们所所面面向向和和针针对对的的系系统统元元素素仍仍然然是是一一些些层层次次较较低低的的以以程程序序设设计计为为基基础础的的通通信信协协作作软软件件实实体体单单元元,而而且且这这些些语语言言所所描描述述和和表表达达的的系系统统一一般般而而言言都都是是面面向向特特定定应应用用的的特特殊殊系系统统,这这些些特特性性使使得得基基于于软软构构件件的
7、的系系统统描描述述仍仍然然不不是是十十分分适适合合软软件件体体系系结构的描述和表达。结构的描述和表达。软件体系结构描述语言软件体系结构描述语言 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 软软件件体体系系结结构构的的第第四四种种描描述述和和表表达达方方法法是是参参照照传传统统程程序序设设计计语语言言的的设设计计和和开开发发经经验验,重重新新设设计计、开开发发和和使使用用针针对对软软件件体体系系结结构构特特点点的的专专门门的的软软件件体体系系结结构构描描述语言述语言ADLADL。由由于于ADLADL是是在在吸吸收收了了传传统统程程序序设
8、设计计中中的的语语义义严严格格精精确确的的特特点点基基础础上上,针针对对软软件件体体系系结结构构的的整整体体性性和和抽抽象象性性特特点点,定定义义和和确确定定适适合合于于软软件件体体系系结结构构表表达达与与描描述述的的有有关关抽抽象象元元素素,因因此此,ADLADL是是当当前前软软件件开开发发和和设设计计方方法法学学中中一一种种发发展展很很快快的的软软件件体体系系结结构构描描述述方方法法,目目前前,已经有几十种常见的已经有几十种常见的ADLADL。软件体系结构的应用现状软件体系结构的应用现状 第一章第一章 软件体系结构概论软件体系结构概论1.4 1.4 体系结构的应用现状体系结构的应用现状 软
9、件体系结构描述语言软件体系结构描述语言 ADLADL(体系结构描述语言)提供了具体的语法与刻(体系结构描述语言)提供了具体的语法与刻画体系结构的概念框架。画体系结构的概念框架。ADLADL使得系统开发者能够很好使得系统开发者能够很好地描述他们设计的体系结构,以便与他人交流,能够用地描述他们设计的体系结构,以便与他人交流,能够用提供的工具对许多实例进行分析。提供的工具对许多实例进行分析。对于对于ADLADL现在也是无统一认识。书上第四章有介绍。现在也是无统一认识。书上第四章有介绍。请参阅软件体系结构请参阅软件体系结构理论与实践,冯冲理论与实践,冯冲 江贺江贺 冯静芳冯静芳 编著,人民邮电出版社。
10、编著,人民邮电出版社。第第2 2章章 软件体系结构语言(软件体系结构语言(ADLADL)IEEE P1471 IEEE P1471 第四章第四章 软件体系结构描述软件体系结构描述4.2软件体系结构描述框架标准软件体系结构描述框架标准 IEEE IEEE P1471P1471于于20002000年年9 9月月2121日日通通过过IEEE-SAIEEE-SA标标准准委委员员会评审。会评审。IEEE IEEE P1471P1471适适用用于于软软件件密密集集的的系系统统,其其目目标标在在于于:便便于于体体系系结结构构的的表表达达与与交交流流,并并通通过过体体系系结结构构要要素素及及其其实践标准化,奠
11、定质量与成本的基础。实践标准化,奠定质量与成本的基础。IEEE IEEE P1471P1471详详细细介介绍绍了了一一套套体体系系结结构构描描述述的的概概念念框框架架,并并给给出出建建立立框框架架的的思思路路。但但如如何何描描述述以以及及具具体体的的描描述技术等方面缺乏更进一步的指导。述技术等方面缺乏更进一步的指导。Rational Rational 第四章第四章 软件体系结构描述软件体系结构描述4.2软件体系结构描述框架标准软件体系结构描述框架标准 RationalRational起起草草了了可可重重用用的的软软件件资资产产规规格格说说明明,专专门门讨讨论论了了体体系系结结构构描描述述的的规
12、规格格说说明明,提提出出了了一一套套易易于于重重用用的的体体系系结结构构描描述述规规范范。该建议草案已经提交该建议草案已经提交OMGOMG。基基于于RUPRUP(Rational Rational United United ProcessProcess)、采采用用UMLUML模模型型描描述述软软件件的的体体系系结结构构,认认为为体体系系结结构构描描述述的的关关键键是是定定义义视视点点、视视图图以以及及建模元素之间的映射关系。建模元素之间的映射关系。(4 4个视点、个视点、7 7个体系结构视图)个体系结构视图)与与IEEE IEEE P1471P1471相相比比,该该建建议议标标准准的的体体系
13、系结结构构描描述述方方案案涉涉及及面面比比较较窄窄,所所注注重重的的层层次次比比较较低低,因因而而更更具具体体。由由于于将将体体系系结结构构的的描描述述限限于于UMLUML和和RUPRUP,具具有有一一定定的的局局限限性性,但但该该建建议议标标准准结结合合了了业业界界已已经经广广泛泛采采用用的的建建模模语语言言和和开开发发过过程程,因因而而易易于于推推广广,可可以以有有效效实现在跨组织之间重用体系结构描述结果。实现在跨组织之间重用体系结构描述结果。第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 ADLADL是是在在底底层层语语义义模模型型的的支支持
14、持下下,为为软软件件系系统统的的概概念念体体系系结结构构建建模模提提供供了了具具体体语语法法和和概概念念框框架架。基基于于底底层层语语义义的的工工具具为为体体系系结结构构的的表表示示、分分析析、演演化化、细细化化、设设计计过过程程等等提提供供支支持持。其其三三个个基基本元素是:构件、连接件、体系结构配置。本元素是:构件、连接件、体系结构配置。主主要要的的体体系系结结构构描描述述语语言言有有AesopAesop、MetaHMetaH、C2C2、RapideRapide、SADLSADL、UniconUnicon和和WrightWright等等,尽尽管管它它们们都都描描述述软软件件体体系系结结构构
15、,却却有有不同的特点。不同的特点。这这些些ADLADL强强调调了了体体系系结结构构不不同同的的侧侧面面,对对体体系系结结构构的的研研究究和和应应用用起起到到了了重重要要的的作作用用,但但也也有有负负面面的的影影响响。每每一一种种ADLADL都都以以独独立立的的形形式式存存在在,描描述述语语法法不不同同且且互互不不兼兼容容,同同时时又又有有许许多多共共同同的的特特征征,这这使使设设计计人人员员很很难难选选择择一一种种合合适适的的ADLADL,若若设设计计特特定定领领域域的的软软件件体体系结构又需要从头开始描述。系结构又需要从头开始描述。软件体系结构的定义软件体系结构的定义 第一章第一章 软件体系
16、结构概论软件体系结构概论1.3 1.3 体系结构的兴起和发展体系结构的兴起和发展 Mary Shaw Mary Shaw和和David Garlan David Garlan(19931993年)年)软软件件体体系系结结构构是是软软件件设设计计过过程程中中的的一一个个层层次次,这这一一层层次次超超越越计算过程中的算法设计和数据结构设计。计算过程中的算法设计和数据结构设计。体体系系结结构构问问题题包包括括总总体体组组织织和和全全局局控控制制,通通讯讯协协议议,同同步步,数数据据存存取取,给给设设计计元元素素分分配配特特定定功功能能,设设计计元元素素的的组组织织、规规模模和和性性能能,在各设计方案
17、间进行选择等。在各设计方案间进行选择等。软软件件体体系系结结构构处处理理算算法法与与数数据据结结构构之之上上关关于于整整体体系系统统结结构构设设计计和和描描述述方方面面的的一一些些问问题题,如如全全局局组组织织和和全全局局控控制制结结构构、关关于于通通讯讯、同同步步与与数数据据存存取取的的协协议议,设设计计构构件件功功能能定定义义,物物理理分分布布与与合合成成,设设计方案的选择、评估与实现等计方案的选择、评估与实现等。软件体系结构软件体系结构构件,连接件,约束构件,连接件,约束第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 构构造造能能力力:ADL
18、ADL能能够够使使用用较较小小的的独独立立体体系系结结构构元元素素来来建建造造大型软件系统;大型软件系统;抽抽象象能能力力:ADLADL使使得得软软件件体体系系结结构构中中的的构构件件和和连连接接件件描描述述可以只关注它们的抽象特性,而不管其具体的实现细节;可以只关注它们的抽象特性,而不管其具体的实现细节;重重用用能能力力:ADLADL使使得得组组成成软软件件系系统统的的构构件件、连连接接件件甚甚至至是是软件体系结构都成为软件系统开发和设计的可重用部件;软件体系结构都成为软件系统开发和设计的可重用部件;ADL ADL与其他语言的比较与其他语言的比较(1)(1)典型的典型的ADL在充分继承和吸收
19、传统程序设计语言的精在充分继承和吸收传统程序设计语言的精确性和严格性特点的同时,还应具有:构造、抽象、重用、确性和严格性特点的同时,还应具有:构造、抽象、重用、组合、异构、分析和推理等各种能力和特性。组合、异构、分析和推理等各种能力和特性。第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 组组合合能能力力:ADLADL使使得得其其描描述述的的每每一一系系统统元元素素都都有有其其自自己己的的局局部部结结构构,这这种种描描述述局局部部结结构构的的特特点点使使得得ADLADL支支持持软件系统的动态变化组合;软件系统的动态变化组合;异异构构能能力力:ADLA
20、DL允允许许多多个个不不同同的的体体系系结结构构描描述述关关联联存存在;在;分分析析和和推推理理能能力力:ADLADL允允许许对对其其描描述述的的体体系系结结构构进进行行多种不同的性能和功能上的多种推理分析。多种不同的性能和功能上的多种推理分析。ADL ADL与其他语言的比较与其他语言的比较(2)(2)第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 ADLADL与与需需求求语语言言的的区区别别:后后者者描描述述的的是是问问题题空空间间,而而前者扎根于解空间。前者扎根于解空间。ADLADL与与建建模模语语言言的的区区别别:后后者者对对整整体体行行为为
21、的的关关注注要要大大于对部分的关注,而于对部分的关注,而ADLADL集中在构件的表示上。集中在构件的表示上。ADLADL与与传传统统的的程程序序设设计计语语言言的的构构成成元元素素既既有有许许多多相相同同和相似之处,又各自有着很大的不同。和相似之处,又各自有着很大的不同。ADL ADL与其他语言的比较与其他语言的比较(3)(3)第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 典型元素含义比较典型元素含义比较 第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 常见的软件体系结构元素常见的软件体系结构元素 第
22、四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 ADL ADL的构成要素的构成要素 软件体系结构的基本构成要素:软件体系结构的基本构成要素:构件、连接件、体系结构构件、连接件、体系结构配置。配置。1.构件:一个计算单元或数据构件:一个计算单元或数据存储;是计算与状态存在的场存储;是计算与状态存在的场所。所。构件包含的多种属性:构件包含的多种属性:接口、类型、语义、约束、接口、类型、语义、约束、演化和非功能属性等。演化和非功能属性等。体系结构的核心模型体系结构的核心模型第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构
23、描述语言 ADL ADL的构成要素的构成要素 2.连接件:用来建立构件间的交互以及支配这些交互规则连接件:用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。的体系结构构造模块。连接件可以不与实现系统中的编译单元对应。连接件可以不与实现系统中的编译单元对应。异构连接。异构连接。连接件包含的属性:角色。连接件包含的属性:角色。第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 ADL ADL的构成要素的构成要素 3.体系结构配置或拓扑:体系结构配置或拓扑:描述体系结构的构件与连接件的连接图。描述体系结构的构件与连接件的连接图。同时检查语法、说明语
24、义。同时检查语法、说明语义。多视图、多场景的体系结构说明方法。多视图、多场景的体系结构说明方法。在不同层次上描述软件系统;异构情况下的配置。在不同层次上描述软件系统;异构情况下的配置。第四章第四章 软件体系结构描述软件体系结构描述4.3软件体系结构描述语言软件体系结构描述语言 ADL ADL的构成要素的构成要素 软件体系结构的设计在需求分析之后,软件设计之前。软件体系结构的设计在需求分析之后,软件设计之前。描述好体系结构,做好承上启下的工作很重要。描述好体系结构,做好承上启下的工作很重要。一一方方面:体系结构描述如何向其他文档转移;面:体系结构描述如何向其他文档转移;另一方面:如何利用需求分析
25、成果来直接生成系统的另一方面:如何利用需求分析成果来直接生成系统的体系结构说明。体系结构说明。现在的现在的ADL大多与领域相关。目前还没有通用的体系大多与领域相关。目前还没有通用的体系结构描述语言。结构描述语言。当前常见的一些体系结构描述语言、方法:ACME Wright C2 UniCon Darwin AESOP Rapide Weaves SADL UML Gestalt Demeter FR ControlH&MetaH C2 C2风格风格 通通过过连连接接件件绑绑定定在在一一起起的的按按照照一一组组规规则则运运作作的的并并行行构构件件网网络。络。C2C2风格中的系统组织规则如下:风格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 描述
限制150内