版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 描述方法的种类描述方法的种类 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 图形表达工具图形表达工具 模块内连接语言模块内连接语言 基于软构件的系统描述语言基于软构件的系统描述语言 软件体系结构描述语言软件体系结构描述语言 图形表达工具图形表达工具 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法简洁易懂容易使用使用广泛不 规 范不 精 确 模块内连接语言模块内连接语言 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 采用将一
2、种或几种传统程序设计语言的模块连接起来的模块内连采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言(接语言(MILMIL)。由于程序设计语言和模块内连接语言具有严格的语)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此它们能支持对较大的软件单元进行描述,诸如定义义基础,因此它们能支持对较大的软件单元进行描述,诸如定义/ /使使用和扇入用和扇入/ /扇出等操作。例如,扇出等操作。例如,AdaAda语言采用语言采用useuse实现包的重用,实现包的重用,PascalPascal语言采用过程(函数)模块的交互等。语言采用过程(函数)模块的交互等。 MIL MIL方式对模块化的程
3、序设计和分段编译等程序设计与开发技术方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了它们处理和描述比程开发层次过于依赖程序设计语言,因此限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。序设计语言元素更为抽象的高层次软件体系结构元素的能力。 基于软构件的系统描述语言基于软构件的系统描述语言 第四章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 基于软构件的系统
4、描述语言将软件系统描述成一种是由许多基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。以特定形式相互作用的特殊软件实体构造组成的组织或系统。 例如,一种多变配置语言就可以用来在一个较高的抽象层次例如,一种多变配置语言就可以用来在一个较高的抽象层次上对系统的体系结构建模,上对系统的体系结构建模,DarwinDarwin最初用作设计和构造复杂分布最初用作设计和构造复杂分布式系统的配置说明语言,因具有动态特性,也可用来描述动态体式系统的配置说明语言,因具有动态特性,也可用来描述动态体系结构。系结构。 这种表达和描述方式虽然也是较好的一种以构件为
5、单位的软这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。体系结构的描述和表达。 软件体系结构描述语言软件体系结构描述语言 第四
6、章第四章 软件体系结构描述软件体系结构描述4.1 4.1 软件体系结构描述方法软件体系结构描述方法 软件体系结构的第四种描述和表达方法是参照传统软件体系结构的第四种描述和表达方法是参照传统程序设计语言的设计和开发经验,重新设计、开发和程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描使用针对软件体系结构特点的专门的软件体系结构描述语言述语言ADLADL。 由于由于ADLADL是在吸收了传统程序设计中的语义严格精是在吸收了传统程序设计中的语义严格精确的特点基础上,针对软件体系结构的整体性和抽象确的特点基础上,针对软件体系结构的整体性和抽象性特点,定义和确
7、定适合于软件体系结构表达与描述性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素,因此,的有关抽象元素,因此,ADLADL是当前软件开发和设计方是当前软件开发和设计方法学中一种发展很快的软件体系结构描述方法,目前,法学中一种发展很快的软件体系结构描述方法,目前,已经有几十种常见的已经有几十种常见的ADLADL。 软件体系结构的应用现状软件体系结构的应用现状 第一章第一章 软件体系结构概论软件体系结构概论1.4 1.4 体系结构的应用现状体系结构的应用现状 软件体系结构描述语言软件体系结构描述语言 ADLADL(体系结构描述语言)提供了具体的语法与刻(体系结构描述语言)提供了具体的语法
8、与刻画体系结构的概念框架。画体系结构的概念框架。ADLADL使得系统开发者能够很好使得系统开发者能够很好地描述他们设计的体系结构,以便与他人交流,能够用地描述他们设计的体系结构,以便与他人交流,能够用提供的工具对许多实例进行分析。提供的工具对许多实例进行分析。 对于对于ADLADL现在也是无统一认识。书上第四章有介绍。现在也是无统一认识。书上第四章有介绍。 请参阅请参阅软件体系结构软件体系结构理论与实践理论与实践,冯冲,冯冲 江贺江贺 冯静芳冯静芳 编著,人民邮电出版社。编著,人民邮电出版社。 第第2 2章章 软件体系结构语言(软件体系结构语言(ADLADL) IEEE P1471 IEEE
9、P1471 第四章第四章 软件体系结构描述软件体系结构描述4.2 软件体系结构描述框架标准软件体系结构描述框架标准 IEEE P1471 IEEE P1471于于20002000年年9 9月月2121日通过日通过IEEE-SAIEEE-SA标准委员标准委员会评审。会评审。 IEEE P1471 IEEE P1471适用于软件密集的系统,其目标在于:适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。实践标准化,奠定质量与成本的基础。 IEEE P1471 IEEE P1471详细介绍
10、了一套体系结构描述的概念框详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具体的描架,并给出建立框架的思路。但如何描述以及具体的描述技术等方面缺乏更进一步的指导。述技术等方面缺乏更进一步的指导。 Rational Rational 第四章第四章 软件体系结构描述软件体系结构描述4.2 软件体系结构描述框架标准软件体系结构描述框架标准 Rational Rational起草了可重用的软件资产规格说明,专门讨论了体起草了可重用的软件资产规格说明,专门讨论了体系结构描述的规格说明,提出了一套易于重用的体系结构描述规系结构描述的规格说明,提出了一套易于重用的体系结构描述规范。
11、该建议草案已经提交范。该建议草案已经提交OMGOMG。 基于基于RUPRUP(Rational United ProcessRational United Process)、采用)、采用UMLUML模型描述软模型描述软件的体系结构,认为体系结构描述的关键是定义视点、视图以及件的体系结构,认为体系结构描述的关键是定义视点、视图以及建模元素之间的映射关系。建模元素之间的映射关系。(4 4个视点、个视点、7 7个体系结构视图)个体系结构视图) 与与IEEE P1471IEEE P1471相比,该建议标准的体系结构描述方案涉及面相比,该建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更
12、具体。由于将体系结构的比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于描述限于UMLUML和和RUPRUP,具有一定的局限性,但该建议标准结合了业,具有一定的局限性,但该建议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果。效实现在跨组织之间重用体系结构描述结果。第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 ADL ADL是在底层语义模型的支持下,为软件系统的概念体系结构是在底层语义模型的支持下,为软件系统的概念体系
13、结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。本元素是:构件、连接件、体系结构配置。 主要的体系结构描述语言有主要的体系结构描述语言有AesopAesop、MetaHMetaH、C2C2、RapideRapide、SADLSADL、UniconUnicon和和WrightWright等,尽管它们都描述软件体系结构,却有等,尽管它们都描述软件体系结构,却有不同的特点。不同的特点。
14、 这些这些ADLADL强调了体系结构不同的侧面,对体系结构的研究和应强调了体系结构不同的侧面,对体系结构的研究和应用起到了重要的作用,但也有负面的影响。每一种用起到了重要的作用,但也有负面的影响。每一种ADLADL都以独立的都以独立的形式存在,描述语法不同且互不兼容,同时又有许多共同的特征,形式存在,描述语法不同且互不兼容,同时又有许多共同的特征,这使设计人员很难选择一种合适的这使设计人员很难选择一种合适的ADLADL,若设计特定领域的软件体,若设计特定领域的软件体系结构又需要从头开始描述。系结构又需要从头开始描述。 软件体系结构的定义软件体系结构的定义 第一章第一章 软件体系结构概论软件体系
15、结构概论1.3 1.3 体系结构的兴起和发展体系结构的兴起和发展 Mary Shaw Mary Shaw和和David Garlan David Garlan (19931993年)年) 软件体系结构是软件设计过程中的一个软件体系结构是软件设计过程中的一个层次层次,这一层次,这一层次超越超越计算过程中的算法设计和数据结构设计。计算过程中的算法设计和数据结构设计。 体系结构问题包括总体组织和全局控制,通讯协议,同步,数体系结构问题包括总体组织和全局控制,通讯协议,同步,数据存取,给设计元素分配特定功能,设计元素的组织、规模和性能,据存取,给设计元素分配特定功能,设计元素的组织、规模和性能,在各设
16、计方案间进行选择等。在各设计方案间进行选择等。 软件体系结构处理算法与数据结构之上关于整体系统结构设计软件体系结构处理算法与数据结构之上关于整体系统结构设计和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、同步与数据存取的协议,设计构件功能定义,物理分布与合成,设同步与数据存取的协议,设计构件功能定义,物理分布与合成,设计方案的选择、评估与实现等计方案的选择、评估与实现等。软件体系结构软件体系结构 构件,连接件,约束构件,连接件,约束 第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言
17、 构造能力:构造能力:ADLADL能够使用较小的独立体系结构元素来建造能够使用较小的独立体系结构元素来建造大型软件系统;大型软件系统; 抽象能力:抽象能力:ADLADL使得软件体系结构中的构件和连接件描述使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节;可以只关注它们的抽象特性,而不管其具体的实现细节; 重用能力:重用能力:ADLADL使得组成软件系统的构件、连接件甚至是使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;软件体系结构都成为软件系统开发和设计的可重用部件; ADL ADL与其他语言的比较与其他语言的比较(1)
18、 (1) 典型的典型的ADL在充分继承和吸收传统程序设计语言的精在充分继承和吸收传统程序设计语言的精确性和严格性特点的同时,还应具有:构造、抽象、重用、确性和严格性特点的同时,还应具有:构造、抽象、重用、组合、异构、分析和推理等各种能力和特性。组合、异构、分析和推理等各种能力和特性。第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 组合能力:组合能力:ADLADL使得其描述的每一系统元素都有其自使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得己的局部结构,这种描述局部结构的特点使得ADLADL支持支持软件系统的动态变化组合;
19、软件系统的动态变化组合; 异构能力:异构能力:ADLADL允许多个不同的体系结构描述关联存允许多个不同的体系结构描述关联存在;在; 分析和推理能力:分析和推理能力:ADLADL允许对其描述的体系结构进行允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。多种不同的性能和功能上的多种推理分析。 ADL ADL与其他语言的比较与其他语言的比较(2)(2)第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 ADL ADL与需求语言的区别:后者描述的是问题空间,而与需求语言的区别:后者描述的是问题空间,而前者扎根于解空间。前者扎根于解空间。 AD
20、L ADL与建模语言的区别:后者对整体行为的关注要大与建模语言的区别:后者对整体行为的关注要大于对部分的关注,而于对部分的关注,而ADLADL集中在构件的表示上。集中在构件的表示上。 ADL ADL与传统的程序设计语言的构成元素既有许多相同与传统的程序设计语言的构成元素既有许多相同和相似之处,又各自有着很大的不同。和相似之处,又各自有着很大的不同。 ADL ADL与其他语言的比较与其他语言的比较(3)(3)第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 典型元素含义比较典型元素含义比较 第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体
21、系结构描述语言软件体系结构描述语言 常见的软件体系结构元素常见的软件体系结构元素 第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 ADL ADL的构成要素的构成要素 软件体系结构的基本构成要素:软件体系结构的基本构成要素: 构件、连接件、体系结构构件、连接件、体系结构配置。配置。1. 构件:一个计算单元或数据构件:一个计算单元或数据存储;是计算与状态存在的场存储;是计算与状态存在的场所。所。构件包含的多种属性:构件包含的多种属性: 接口、类型、语义、约束、接口、类型、语义、约束、演化和非功能属性等。演化和非功能属性等。软件体系结构配置连接件构件端
22、口角色1:N1:N1:N体系结构的核心模型体系结构的核心模型第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 ADL ADL的构成要素的构成要素 2. 连接件:用来建立构件间的交互以及支配这些交互规则连接件:用来建立构件间的交互以及支配这些交互规则 的体系结构构造模块。的体系结构构造模块。 连接件可以不与实现系统中的编译单元对应。连接件可以不与实现系统中的编译单元对应。 异构连接。异构连接。连接件包含的属性:角色。连接件包含的属性:角色。第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 ADL ADL的
23、构成要素的构成要素 3. 体系结构配置或拓扑:体系结构配置或拓扑: 描述体系结构的构件与连接件的连接图。描述体系结构的构件与连接件的连接图。同时检查语法、说明语义。同时检查语法、说明语义。多视图、多场景的体系结构说明方法。多视图、多场景的体系结构说明方法。在不同层次上描述软件系统;异构情况下的配置。在不同层次上描述软件系统;异构情况下的配置。第四章第四章 软件体系结构描述软件体系结构描述4.3 软件体系结构描述语言软件体系结构描述语言 ADL ADL的构成要素的构成要素 软件体系结构的设计在需求分析之后,软件设计之前。软件体系结构的设计在需求分析之后,软件设计之前。描述好体系结构,做好承上启下
24、的工作很重要。描述好体系结构,做好承上启下的工作很重要。 一一 方方 面:体系结构描述如何向其他文档转移;面:体系结构描述如何向其他文档转移; 另一方面:如何利用需求分析成果来直接生成系统的另一方面:如何利用需求分析成果来直接生成系统的 体系结构说明。体系结构说明。 现在的现在的ADL大多与领域相关。目前还没有通用的体系大多与领域相关。目前还没有通用的体系结构描述语言。结构描述语言。 C2 C2风格风格 通过连接件绑定在一起的按照一组规则运作的并行构件网通过连接件绑定在一起的按照一组规则运作的并行构件网络。络。C2C2风格中的系统组织规则如下:风格中的系统组织规则如下: 系统中的构件和连接件都
25、有一个顶部和一个底部;系统中的构件和连接件都有一个顶部和一个底部; 构件的顶部应连接到某连接件的底部,构件的底部则应构件的顶部应连接到某连接件的底部,构件的底部则应连接到某连接件的顶部,而构件与构件之间的直接连接是连接到某连接件的顶部,而构件与构件之间的直接连接是不允许的;不允许的; 一个连接件可以和任意数目的其它构件和连接件连接;一个连接件可以和任意数目的其它构件和连接件连接; 当两个连接件进行直接连接时,必须由其中一个的底部当两个连接件进行直接连接时,必须由其中一个的底部到另一个的顶部。到另一个的顶部。 C2 C2背景知识背景知识 C2 C2是一种用于用户界面密集的系统的软件体系结构风是一
26、种用于用户界面密集的系统的软件体系结构风格。格。 在在C2C2风格的体系结构中,连接件在构件之间转发消息,风格的体系结构中,连接件在构件之间转发消息,构件负责维护状态,进行操作,通过两个接口(顶端接口构件负责维护状态,进行操作,通过两个接口(顶端接口和底端接口)和其他构件交换消息。和底端接口)和其他构件交换消息。 构件之间不能发送消息,必须通过连接件。构件之间构件之间不能发送消息,必须通过连接件。构件之间的通信只能通过消息传递来实现,不允许使用共享内存方的通信只能通过消息传递来实现,不允许使用共享内存方式通信。式通信。 C2 C2风格的中心原则风格的中心原则 C2 C2风格的中心原则是有限可视
27、原则,或者说是下层独风格的中心原则是有限可视原则,或者说是下层独立的原则:立的原则: 在在C2C2风格的体系结构中,某一构件只能感知层次高于风格的体系结构中,某一构件只能感知层次高于自己的构件所提供的服务,而不能感知到层次比自己更低自己的构件所提供的服务,而不能感知到层次比自己更低的构件的服务。的构件的服务。 这种单向的传递性,有利于系统的维护和扩展。这种单向的传递性,有利于系统的维护和扩展。 C2 C2风格的通信规则风格的通信规则 C2 C2中,所有构件间的通信必须通过消息来实现,这也中,所有构件间的通信必须通过消息来实现,这也是构件之间的唯一通信途径。每个构件都有一个顶端域、是构件之间的唯
28、一通信途径。每个构件都有一个顶端域、一个底端域。构件的顶端域定义了构件可以对哪些通知做一个底端域。构件的顶端域定义了构件可以对哪些通知做出响应,以及可以发出哪些请求;构件的底端域定义了可出响应,以及可以发出哪些请求;构件的底端域定义了可以向下层发送哪些通知,以及可以响应下层的哪些请求。以向下层发送哪些通知,以及可以响应下层的哪些请求。构件构件请求请求通知通知 C2 C2风格风格 构件构件构件连连接接件件连连接接件件连连接接件件构件连连接接件件构件连连接接件件连连接接件件构件构件第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2和其
29、提供的设计环境(和其提供的设计环境(ArgoArgo)支持采用基于时间)支持采用基于时间的风格来描述用户界面系统,并支持使用可替换、可重的风格来描述用户界面系统,并支持使用可替换、可重用的构件开发用的构件开发GUIGUI的体系结构。的体系结构。 在在C2C2中,连接件负责构件之间消息的传递,而构件中,连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为维持状态、执行操作并通过两个名字分别为“toptop”和和“bottombottom”的端口和其它的构件交换信息。的端口和其它的构件交换信息。 每个接口包含一种可发送的消息和一组可接收的消每个接口包含一种可发送的消息和一组可
30、接收的消息。构件之间的消息要么是请求其它构件执行某个操作息。构件之间的消息要么是请求其它构件执行某个操作的的请求消息请求消息,要么是通知其他构件自身执行了某个操作,要么是通知其他构件自身执行了某个操作或状态发生改变的或状态发生改变的通知消息通知消息。 C2C2概述概述(1)(1)第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 构件之间的消息交换不能直接进行,而只能通过连接构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的构
31、件或连接件相连。连接件可以和任意数目的构件或连接件相连。 请求消息只能向上层传送而通知消息只能向下层传送。请求消息只能向上层传送而通知消息只能向下层传送。 通知消息的传递只对应于构件内部的操作,而和接收通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。消息的构件的需求无关。 C2 C2对构件和连接件的实现语言、实现构件的线程控制、对构件和连接件的实现语言、实现构件的线程控制、构件的部署以及连接件使用的通讯协议等都不加限制。构件的部署以及连接件使用的通讯协议等都不加限制。 C2C2概述概述(2)(2)第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言
32、典型软件体系结构描述语言 C2 C2对构件接口的描述对构件接口的描述 第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对构件的描述对构件的描述 interface_requests :=interface_requests := request request; | null | null; interface_notifications :=interface_notifications := notification notification; | null | null; request :=request := mess
33、age_name(request_parameters) message_name(request_parameters) request_parameters :=request_parameters := to component_nameparameter_list to component_nameparameter_list notification :=notification := message_nameparameter_list message_nameparameter_list component_message_interface :=component_messag
34、e_interface := top_domain_interface top_domain_interface bottom_domain_interface bottom_domain_interface top_domain_interface :=top_domain_interface := top_domain is top_domain is out interface_requests out interface_requests in interface_notifications in interface_notifications bottom_domain_interf
35、ace :=bottom_domain_interface := bottom_domain is bottom_domain is out interface_notifications out interface_notifications in interface_requests in interface_requests第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 会议安排系统的会议安排系统的C2C2风格风格第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对对M
36、eetgingInitiatorMeetgingInitiator构件的描述构件的描述(1) (1) component MeetingInitiator iscomponent MeetingInitiator is interface interface top_domain is top_domain is out out GetPrefSet() GetPrefSet(); GetExclSet()GetExclSet(); GetEquipReqts()GetEquipReqts(); GetLocPrefs()GetLocPrefs(); RemoveExclSet()Remove
37、ExclSet(); RequestWithdrawal(to Attendee)RequestWithdrawal(to Attendee); RequestWithdrawal(to ImportantAttendee)RequestWithdrawal(to ImportantAttendee); AddPrefDates()AddPrefDates(); MarkMtg(d:dateMarkMtg(d:date;l:lov_type)l:lov_type);第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对对Meetgi
38、ngInitiatorMeetgingInitiator构件的描述构件的描述(2) (2) in in PrefSet(p:date_mg) PrefSet(p:date_mg); ExclSet(e:data_mg)ExclSet(e:data_mg); EquipReqts(eq:equip_type)EquipReqts(eq:equip_type); LocPref(l:loc_type)LocPref(l:loc_type); behaviorbehavior startup always_generate GetPrefSet startup always_generate Get
39、PrefSet, GetExclSetGetExclSet, GetEquipReqtsGetEquipReqts, GetLocPrefsGetLocPrefs; received_messages PrefSet may_generate RemoveExclSet xor received_messages PrefSet may_generate RemoveExclSet xor RequestWithdrawal xor MarkMtg RequestWithdrawal xor MarkMtg; received_messages ExclSet may_generate Add
40、PrefDates xor received_messages ExclSet may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages EquipReqts may_generate AddPrefDates xor received_messages EquipReqts may_generate AddPrefDates xor RemoveExclSet x
41、or RequestWithdrawal xor MarkMtg RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages LocPref always_generate nullreceived_messages LocPref always_generate null;end MeetingInitiatorend MeetingInitiator; 第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对对AttendeeAttendee构件的描述构件的
42、描述(1) (1) component Attendee is component Attendee is interface interface bottom_domain is bottom_domain is out out PrefSet(p:date_mg) PrefSet(p:date_mg); ExclSet(e:date_mg)ExclSet(e:date_mg); EquipReqts(eq:equip_type)EquipReqts(eq:equip_type); inin GetPrefSet() GetPrefSet(); GetExclSet()GetExclSet(
43、); GetEquipReqts()GetEquipReqts(); RemoveExclSet()RemoveExclSet(); RequestWithdrawal()RequestWithdrawal(); AddPrefDates()AddPrefDates(); MarkMtg(d:dateMarkMtg(d:date;l:loc_type)l:loc_type);第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对对AttendeeAttendee构件的描述构件的描述(2)(2) behavior behaviorre
44、ceived_messages GetPrefSet always_generate PrefSetreceived_messages GetPrefSet always_generate PrefSet;received_messages AddPrefDates always_generate PrefSetreceived_messages AddPrefDates always_generate PrefSet;received_messages GetExclSet always_generate ExclSetreceived_messages GetExclSet always_
45、generate ExclSet;received_messages GetEqipReqts always_generate EqipReqtsreceived_messages GetEqipReqts always_generate EqipReqts;received_messages RemoveExclSet always_generate ExclSetreceived_messages RemoveExclSet always_generate ExclSet;received_messages ReuestWithdrawal always_generate nullrece
46、ived_messages ReuestWithdrawal always_generate null;received_messages MarkMtg always_generate nullreceived_messages MarkMtg always_generate null;end Attendeeend Attendee; 第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对对ImportantAttendeeImportantAttendee构件的描述构件的描述component ImportantAttende
47、e is subtype Attendee(in and beh)component ImportantAttendee is subtype Attendee(in and beh) interface interface bottom_domain is bottom_domain is out out LocPrefs(l:loc_type) LocPrefs(l:loc_type); ExclSet(e:date_mg)ExclSet(e:date_mg); EquipReqts(eq:equip_type)EquipReqts(eq:equip_type); inin GetLocP
48、refs() GetLocPrefs(); behaviorbehavior received_messages GetLocPrefs always_generate LocPrefs received_messages GetLocPrefs always_generate LocPrefs;end ImportantAttendeeend ImportantAttendee; 第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对体系结构的描述对体系结构的描述 architecture MeetingScheduler is
49、architecture MeetingScheduler is conceptual_components conceptual_components Attendee Attendee;ImportantAttendeeImportantAttendee;MeetingInitiatorMeetingInitiator; connectorsconnectors connector MainConn is message_filter no_filtering connector MainConn is message_filter no_filtering; connector AttC
50、onn is message_filter no_filteringconnector AttConn is message_filter no_filtering; connector ImportantAttConn is message_filter no_filteringconnector ImportantAttConn is message_filter no_filtering; architectural_topologyarchitectural_topology connector AttConn connections connector AttConn connect
51、ions top_ports Attendee top_ports Attendee; bottom_ports MainConnbottom_ports MainConn; connector ImportantAttConn connectionsconnector ImportantAttConn connections top_ports ImportantAttendee top_ports ImportantAttendee; bottom_ports MainConnbottom_ports MainConn; connector MainConn connectionsconn
52、ector MainConn connections top_ports AttConn top_ports AttConn;ImportantAttConnImportantAttConn; bottom_ports MeetingInitiatorbottom_ports MeetingInitiator; end MeetingSchedulerend MeetingScheduler; 第四章第四章 软件体系结构描述软件体系结构描述4.4 典型软件体系结构描述语言典型软件体系结构描述语言 C2 C2对会议安排系统的描述对会议安排系统的描述 system MeetingScheduler
53、_1 is system MeetingScheduler_1 is architecture MeetingScheduler with architecture MeetingScheduler with Attendee instance Att_1 Attendee instance Att_1,Att_2Att_2,Att_3Att_3; ImportantAttendee instance ImpAtt_1ImportantAttendee instance ImpAtt_1,ImpAtt_2ImpAtt_2; MeetingInitiator instance MtgInit_1
54、MeetingInitiator instance MtgInit_1; end MeetingScheduler_1end MeetingScheduler_1; 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML UML UML简介简介 UML(Unified Modeling Language)UML(Unified Modeling Language)是下面这些最是下面这些最好的建模方法中最好部分的集成好的建模方法中最好部分的集成: : 商务流程模型商务流程模型(Work Flow)(Work Flow) 对象建模方法对象建模方法 软构件建模思想软
55、构件建模思想 UML UML是一种用可视化方法对软件系统进行描述、实是一种用可视化方法对软件系统进行描述、实施和说明的标准语言。施和说明的标准语言。 支持用不同实现技术进行的软件开发全过程。支持用不同实现技术进行的软件开发全过程。第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML UML UML简介简介 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML UML UML简介简介 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML UML UML简介简介 Use CaseDiagra
56、msUse CaseDiagrams用例图用例图ScenarioDiagramsScenarioDiagrams协作图协作图StateDiagramsStateDiagrams构件图构件图ComponentDiagramsComponentDiagrams部署图部署图StateDiagramsStateDiagrams对象图对象图ScenarioDiagramsScenarioDiagrams状态图状态图Use CaseDiagramsUse CaseDiagrams顺序图顺序图StateDiagramsStateDiagrams类图类图活动图活动图UML第四章第四章 软件体系结构描述软件体系
57、结构描述4.5 软件体系结构与软件体系结构与UML 用例图用例图用于显示若干角用于显示若干角色以及这些角色色以及这些角色与系统提供的用与系统提供的用例之间的连接关例之间的连接关系。用例是系统系。用例是系统提供的功能的描提供的功能的描述。述。第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 类图类图表示系统中的表示系统中的类和类与类之类和类与类之间的关系,它间的关系,它是对系统静态是对系统静态结构的描述。结构的描述。 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 顺序图顺序图用来反映若干用来反映若干个对象之间的个
58、对象之间的动态协作关系,动态协作关系,也就是随着时也就是随着时间的推移,对间的推移,对象之间是如何象之间是如何交互的交互的 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 协作图协作图描述对象间的描述对象间的协作关系,协协作关系,协作图跟顺序图作图跟顺序图相似,显示对相似,显示对象间的动态合象间的动态合作关系。作关系。如果强调时间如果强调时间和顺序,则使和顺序,则使用顺序图;如用顺序图;如果强调上下级果强调上下级关系,则选择关系,则选择协作图。这两协作图。这两种图合称为交种图合称为交互图。互图。 第四章第四章 软件体系结构描述软件体系结构描述4.5 软
59、件体系结构与软件体系结构与UML 状态图状态图描述类的描述类的对象所有对象所有可能的状可能的状态以及事态以及事件发生时件发生时状态的转状态的转移条件。移条件。通常,状通常,状态图是对态图是对类图的补类图的补充充 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 活动图活动图描述满足描述满足用例要求用例要求所要进行所要进行的活动以的活动以及活动间及活动间的约束关的约束关系,有利系,有利于识别并于识别并行活动行活动 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 构件图构件图描述代描述代码构件码构件的物理的物理结构及
60、结构及各构件各构件之间的之间的依赖关依赖关系系 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 部署图部署图部署图部署图定义系定义系统中软统中软硬件的硬件的物理体物理体系结构系结构 第四章第四章 软件体系结构描述软件体系结构描述4.5 软件体系结构与软件体系结构与UML 直接使用直接使用UMLUML建模建模 元-元模型元模型模型用户对象UMLUML的四层元模型体系结构。的四层元模型体系结构。 元元- -元模型层定义了元模型元模型层定义了元模型层的规格说明语言;层的规格说明语言; 元模型元模型层为给定的建模语层为给定的建模语言定义规格说明;言定义规格说明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论