[理学]第四章软件体系结构

上传人:油条 文档编号:55345753 上传时间:2018-09-27 格式:PPT 页数:47 大小:517KB
返回 下载 相关 举报
[理学]第四章软件体系结构_第1页
第1页 / 共47页
[理学]第四章软件体系结构_第2页
第2页 / 共47页
[理学]第四章软件体系结构_第3页
第3页 / 共47页
[理学]第四章软件体系结构_第4页
第4页 / 共47页
[理学]第四章软件体系结构_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《[理学]第四章软件体系结构》由会员分享,可在线阅读,更多相关《[理学]第四章软件体系结构(47页珍藏版)》请在金锄头文库上搜索。

1、第四章 软件体系结构描述, 描述方法的种类,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 图形表达工具 模块内连接语言 基于软构件的系统描述语言 软件体系结构描述语言, 图形表达工具,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 模块内连接语言,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言。由于程序设计语言和模块内连接语言具有严格的语义基础,因此它们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。例如,Ada语言采用use实现包的重用,Pascal语言采用过程(函数)模块的交互

2、等。 MIL方式对模块化的程序设计和分段编译等程序设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。, 基于软构件的系统描述语言,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。 例如,一种多变配置语言就可以用来在一个较高的抽象层次上对系统的体系结构建模,Darwin最初用作设计和构造复杂分布式系统的配置说明语言,因具有动态特性,也可用来描述动态体

3、系结构。 这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。, 软件体系结构描述语言,第4章 软件体系结构描述,4.1 软件体系结构描述方法, 软件体系结构的第四种描述和表达方法是参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言。 由于ADL是在吸收了传统程序设计中的语义严格精确的特点基础上,

4、针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素,因此,ADL是当前软件开发和设计方法学中一种发展很快的软件体系结构描述方法,目前,已经有几十种常见的ADL。, IEEE P1471,第4章 软件体系结构描述,4.2 软件体系结构描述框架标准, IEEE P1471于2000年9月21日通过IEEE-SA标准委员会评审。 IEEE P1471适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。 IEEE P1471详细介绍了一套体系结构描述的概念框架,并给出建立框架的思路。但如何描述以及具

5、体的描述技术等方面缺乏更进一步的指导。, Rational,第4章 软件体系结构描述,4.2 软件体系结构描述框架标准, Rational起草了可重用的软件资产规格说明,专门讨论了体系结构描述的规格说明,提出了一套易于重用的体系结构描述规范。该建议草案已经提交OMG。 基于RUP(Rational United Process)、采用UML模型描述软件的体系结构,认为体系结构描述的关键是定义视点、视图以及建模元素之间的映射关系。 与IEEE P1471相比,该建议标准的体系结构描述方案涉及面比较窄,所注重的层次比较低,因而更具体。由于将体系结构的描述限于UML和RUP,具有一定的局限性,但该建

6、议标准结合了业界已经广泛采用的建模语言和开发过程,因而易于推广,可以有效实现在跨组织之间重用体系结构描述结果。,第4章 软件体系结构描述,4.3 软件体系结构描述语言,ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。 主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。 这些ADL强调了体系结构不同的侧面,对体系结构的研究和应用起到了重要的

7、作用,但也有负面的影响。每一种ADL都以独立的形式存在,描述语法不同且互不兼容,同时又有许多共同的特征,这使设计人员很难选择一种合适的ADL,若设计特定领域的软件体系结构又需要从头开始描述。,第4章 软件体系结构描述,4.3 软件体系结构描述语言, 构造能力:ADL能够使用较小的独立体系结构元素来建造大型软件系统; 抽象能力:ADL使得软件体系结构中的构件和连接件描述可以只关注它们的抽象特性,而不管其具体的实现细节; 重用能力:ADL使得组成软件系统的构件、连接件甚至是软件体系结构都成为软件系统开发和设计的可重用部件;, ADL与其他语言的比较(1),第4章 软件体系结构描述,4.3 软件体系

8、结构描述语言, 组合能力:ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述局部结构的特点使得ADL支持软件系统的动态变化组合; 异构能力:ADL允许多个不同的体系结构描述关联存在; 分析和推理能力:ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。, ADL与其他语言的比较(2),第4章 软件体系结构描述,4.3 软件体系结构描述语言, 典型元素含义比较,第4章 软件体系结构描述,4.3 软件体系结构描述语言, 常见的软件体系结构元素,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2和其提供的设计环境(Argo)支持采用基于时间的风格来描述用户

9、界面系统,并支持使用可替换、可重用的构件开发GUI的体系结构。 在C2中,连接件负责构件之间消息的传递,而构件维持状态、执行操作并通过两个名字分别为“top”和“bottom”的端口和其它的构件交换信息。 每个接口包含一种可发送的消息和一组可接收的消息。构件之间的消息要么是请求其它构件执行某个操作的请求消息,要么是通知其他构件自身执行了某个操作或状态发生改变的通知消息。, C2概述(1),第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, 构件之间的消息交换不能直接进行,而只能通过连接件来完成。每个构件接口最多只能和一个连接件相连,而连接件可以和任意数目的构件或连接件相连。 请求消息

10、只能向上层传送而通知消息只能向下层传送。 通知消息的传递只对应于构件内部的操作,而和接收消息的构件的需求无关。 C2对构件和连接件的实现语言、实现构件的线程控制、构件的部署以及连接件使用的通讯协议等都不加限制。, C2概述(2),第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对构件接口的描述,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对构件的描述,interface_requests := request; | null; interface_notifications := notification; | null; request := mess

11、age_name(request_parameters) request_parameters := to component_nameparameter_list notification := message_nameparameter_list,component_message_interface := top_domain_interface bottom_domain_interface top_domain_interface := top_domain is out interface_requests in interface_notifications bottom_dom

12、ain_interface := bottom_domain is out interface_notifications in interface_requests,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, 会议安排系统的C2风格,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对MeetgingInitiator构件的描述(1),component MeetingInitiator is interface top_domain is out GetPrefSet(); GetExclSet(); GetEquipReqts(); GetLocPref

13、s(); RemoveExclSet(); RequestWithdrawal(to Attendee); RequestWithdrawal(to ImportantAttendee); AddPrefDates(); MarkMtg(d:date;l:lov_type);,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对MeetgingInitiator构件的描述(2),in PrefSet(p:date_mg); ExclSet(e:data_mg); EquipReqts(eq:equip_type); LocPref(l:loc_type); behavior s

14、tartup always_generate GetPrefSet, GetExclSet, GetEquipReqts, GetLocPrefs; received_messages PrefSet may_generate RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages ExclSet may_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages EquipReqts may

15、_generate AddPrefDates xor RemoveExclSet xor RequestWithdrawal xor MarkMtg; received_messages LocPref always_generate null; end MeetingInitiator;,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对Attendee构件的描述(1),component Attendee is interface bottom_domain is out PrefSet(p:date_mg); ExclSet(e:date_mg); EquipReqts

16、(eq:equip_type); in GetPrefSet(); GetExclSet(); GetEquipReqts(); RemoveExclSet(); RequestWithdrawal(); AddPrefDates(); MarkMtg(d:date;l:loc_type);,第4章 软件体系结构描述,4.4 典型软件体系结构描述语言, C2对Attendee构件的描述(2),behavior received_messages GetPrefSet always_generate PrefSet; received_messages AddPrefDates always_g

17、enerate PrefSet; received_messages GetExclSet always_generate ExclSet; received_messages GetEqipReqts always_generate EqipReqts; received_messages RemoveExclSet always_generate ExclSet; received_messages ReuestWithdrawal always_generate null; received_messages MarkMtg always_generate null; end Attendee;,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号