全国计算机软考软件设计师考前练习及答案(4)
上学吧(www.shangxueba.com)
◇ 组合能力指的是ADL使得其描述的每一系统元素都有其自己的局部结构,这种描述
局部结构的特点使得ADL支持软件系统的动态变化组合;
◇ 异构能力指的是ADL允许多个不同的体系结构描述关联存在;
◇ 分析和推理能力指的是ADL允许对其描述的体系结构进行多种不同的性能和功能上的多种推理分析。
根据这些特点,我们可以将下面这样的语言排除在ADL之外:高层设计符号语言、MIL、编程语言、面向对象的建模符号、形式化说明语言。ADL与需求语言的区别在于后者描述的是问题空间,而前者则扎根于解空间中。ADL与建模语言的区别在于后者对整体行为的关注要大于对部分的关注,而ADL集中在构件的表示上。ADL与传统的程序设计语言的构成元素即有许多相同和相似之处,又各自有着很大的不同。
2、ADL的构成要素
前面,我们提到了体系结构描述的基本构成要素有构件、连接件和体系结构配置,软件体系结构的核心模型。 (1)构件
构件是一个计算单元或数据存储。也就是说,构件是计算与状态存在的场所。在体系结构中,一个构件可能小到只有一个过程或大到整个应用程序。它可以要求自己的数据与/或执行空间,也可以与其它构件共享这些空间。作为软件体系结构构造块的构件,其自身也包含了多种属性,如接口、类型、语义、约束、进化和非功能属性等。
接口是构件与外部世界的一组交互点。与面向对象方法中的类说明相同,ADL中的构件接口说明了构件提供的那些服务(消息、操作、变量)。为了能够充分地推断构件及包含它的体系结构,ADL提供了能够说明构件需要的工具。这样,接口就定义了构件能够提出的计算委托及其用途上的约束。 构件作为一个封装的实体,只能通过其接口与外部环境交互,构件的接口由一组端口组成,每个端口表示了构件和外部环境的交互点。通过不同的端口类型,一个构件可以提供多重接口。一个端口可以非常简单,如过程调用。也可以表示更为复杂的界面,如必须以某种顺序调用的一组过程调用。
构件类型是实现构件重用的手段。构件类型保证了构件能够在体系结构描述中多次实例化,并且每个实例可以对应于构件的不同实现。抽象构件类型也可以参数化,进一步促进重用。现有的ADL都将构件类型与实例区分开来。
由于基于体系结构开发的系统大都是大型、长时间运行的系统,因而系统的进化能力显得格外重要。构件的进化能力是系统进化的基础。ADL是通过构件的子类型及其特性的细化来支持进化过程的。目前,只有少数几种ADL部分地支持进化,对进化的支持程度通常依赖于所选择的程序设计语言。其他ADL将构件模型看作是静态的。ADL语言大多是利用语言的子类型来实现对进化支持的。利用面向对象方法,从其它类型派生出它的接口类型,形成结构子类型。
(2)连接件
连接件是用来建立构件间的交互以及支配这些交互规则的体系结构构造模块。与构件不同,连接件可以不与实现系统中的编译单元对应。它们可能以兼容消息路由设备实现(如C2),也可以以共享变量、表入口、缓冲区、对连接器的指令、动态数据结构、内嵌在代码中的过程调用序列、初始化参数、客户服务协议、管道、数据库、应用程序之间的SQL语句等形式出现。大多数ADL将连接件作为第一类实体,也有的ADL则不将连接件作为第一类实体的。
连接件作为建模软件体系结构的主要实体,同样也有接口。连接件的接口由一组角色组成,连接件的每一个角色定义了该连接件表示的交互参与者,二元连接有两个角色,如消息传递连接件的角色是发送者和接收者。有的连接件有多于两个的角色,如事件广播有一个事件发布者角色和任意多个事件接受者角色。
第 16 页,共 64页
上学吧为您提供“软件设计师”资料下载:http://www.shangxueba.com/share/e15.html
上学吧(www.shangxueba.com)
显然,连接件的接口是一组它与所连接构件之间的交互点。为了保证体系结构中的构件
连接以及它们之间的通信正确,连接件应该导出所期待的服务作为它的接口。它能够推导出正交软件体系结构线索的形成情况。体系结构配置中要求构件端口与连接件角色的显式连接。
体系结构级的通讯需要用复杂协议来表达。为了抽象这些协议并使之能够重用,ADL应该将连接件构造为类型。构造连接件烈性可以将作为用通信协议定义的类型系统化并独立于实现,或者作为内嵌的、基于它们的实现机制的枚举类型。
为完成对构件接口的有用分析、保证跨体系结构抽象层的细化一致性,强调互联与通信约束等,体系结构描述提供了连接件协议以及变换语法。为了确保执行计划的交互协议,建立起内部连接件依赖关系,强制用途边界,就必须说明连接件约束。ADL可以通过强制风格不变性来实现约束,或通过接受属性限制给定角色中服务。
(3)体系结构配置
体系结构配置或拓扑是描述体系结构的构件与连接件的连接图。体系结构配置提供信息来确定构件是否正确连接、接口是否匹配、连接件构成的通信是否正确,并说明实现要求行为的组合语义。
体系结构适合于描述大的、生命周期长的系统。利用配置来支持系统的变化,使不同技术人员都能理解并熟悉系统。为帮助在一个较高的抽象层上理解系统,就需要对软件体系结构进行说明。为了使开发者与其有关人员之间的交流容易些,ADL必须以简单的、可理解的语法来配置结构化信息。理想的情况是从配置说明中澄清系统结构,即不需研究组件与连接件就能使构建系统的各种参与者理解系统。体系结构配置说明除文本形式外,有些ADL还提供了图形说明形式。文本描述与图形描述可以互换。多视图、多场景的体系结构说明方法在最新的研究中得到了明显的加强。
为了在不同细节层次上描述软件系统,ADL将整个体系结构作为另以个较大系统的单个构件。也就是说,体系结构具有复合或等级复合的特性。另一方面,体系结构配置支持采用异构构件与连接件。这是因为软件体系结构的目的之一是促进大规模系统的开发,即倾向于使自己有的构件与不同粒度的连接件,这些构件与连接件的设计者、形式模型、开发者、编程语言、操作系统、通信协议可能都不相同。另外一个事实是,大型的、长期运行的系统是在不断增长的。因而,ADL必须支持可能增长的系统的说明与开发。大多数ADL提供了复合特性,所以,任意尺度的配置都可以相对简洁地在足够的抽象高度表示出来。
三、结束语
我们知道,体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。而形式化的、规范化的体系结构描述对于体系结构的设计和理解都是非常重要的。因此,ADL如何能够承上启下将是十分重要的问题,一方面是体系结构描述如何向其它文档转移,另一方面是如何利用需求分析成果来直接生成系统的体系结构说明。
现有的ADL大多是与领域相关的,这不利于对不同领域体系结构的说明。这些针对不同领域的ADL在某些方面又大同小异,造成了资源的冗余。有些ADL可以实现构件与连接件的进化,但这样的进化能力是有限的,这样的进化大多是通过子类型实现的。而且,系统级的进化能力才是最终目的。尽管现有的ADL都提供了支持工具集,但将这些ADL与工具应用于实 …… 此处隐藏:7762字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




