软件体系结构第四章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件体系结构描述
当前的现状:
1、非形式化,依赖于软件设计师个人的经 验和技巧; 2、不能描述构件之间的接口、系统组合关 系; 3、开发人员难以理解,难以进行形式化 的分析和模拟; 4、缺乏工具帮助设计师完成设计工作,不 能分析结构的一致性和完整性。
软件体系结构 (周国强zhougq@njupt.edu.cn)
32
典型软件体系结构描述语言
C2对构件的描述
软件体系结构 (周国强zhougq@njupt.edu.cn)
33
典型软件体系结构描述语言
C2 对 构 件 接 口 描 述
component_message_interface ::= top_domain_interface bottom_domain_interface top_domain_interface ::= top_domain is out interface_requests in interface_notifications bottom_domain_interface ::= bottom_domain is out interface_notifications in interface_requests
17
软件体系结构描述语言
缺陷:
每一种ADL都以独立的形式存在,描
述语法不同且互不兼容,同时又有许多
共同的特征 ,这使设计人员 很难选择
一种合适的 ADL ,若设计特定领域的软 件体系结构又需要从头开始描述。
软件体系结构 (周国强zhougq@njupt.edu.cn)
18
软件体系结构描述语言
ADL与其他语言的比较
缺陷
由于在术语和表达语义上存在着一些不规范和 不精确,使得以矩形框与线段为基础的传统图形 表示方法在不同的文档之间存在许多不一致的甚 至矛盾的地方。
软件体系结构 (周国强zhougq@njupt.edu.cn)
3
软件体系结构描述方法
项目管理 静态分析器 时间分析器
测试配置
测试结果库
缓冲
最优/最劣时间 计算
21
软件体系结构描述语言
典型元素含义比较
软件体系结构 (周国强zhougq@njupt.edu.cn)
22
软件体系结构描述语言 常见的软件体系结构元素
软件体系结构 (周国强zhougq@njupt.edu.cn)
23
软件体系结构描述语言
ADL的构成元素 ◎ 构件: 构件是一个计算单元或
数据存储。可以包含多种属性,如 接口、类型、语义、约束、演化和 非功能属性等; 接口是构件与外部世界的一组 交互点,ADL中的构件接口说明了 构件提供的那些服务。
10
软件体系结构描述方法 ◎ 由于 ADL 是在吸收了传统程序设计 中的语义严格精确的特点基础上,针对 软件体系结构的整体性和抽象性特点, 定义和确定适合于软件体系结构表达与 描述的有关抽象元素,因此,ADL是当 前软件开发和设计方法学中一种发展很 快的软件体系结构描述方法,目前,已 经有几十种常见的ADL。
1
软件体系结构描述
形式化描述的获得过程: 首先进行非形式化描述,逐步提 取一些形式化的标记和符号,然后
将他们标准化,从而完成体系结构
的设计、描述的形式化。
软件体系结构 (周国强zhougq@njupt.edu.cn)
2
软件体系结构描述方法
图形表达工具
矩形框代表抽象的构件,框内标注的文字为抽 象构件的名字,有向段代表辅助个构件进行通信、 控制或者关联的连接件。简洁易用在实际上广泛 的应用,为工作人员传递大量体系结构思想。
一步的指导。
软件体系结构 (周国强zhougq@njupt.edu.cn)
13
软件体系结构描述框架标准 Rational ◎ Rational 起草了可重用的软件资产规格 说明,专门讨论了体系结构描述的规格说 明,提出了一套易于重用的体系结构描述 规范。该建议草案已经提交OMG。 ◎ 基于RUP(Rational United Process)、 采用UML模型描述软件的体系结构,认为 体系结构描述的关键是定义视点、视图以 及建模元素之间的映射关系。
◎ 构造能力: ADL 能够使用较小的 独立体系结构元素来建造大型软件系 统; ◎ 抽象能力: ADL 使得软件体系结 构中的构件和连接件描述可以只关注 它们的抽象特性,而不管其具体的实 现细节;
软件体系结构 (周国强zhougq@njupt.edu.cn)
19
软件体系结构描述语言 ◎ 重用能力: ADL使得组成软件系统 的构件、连接件甚至是软件体系结构都 成为软件系统开发和设计的可重用部件; ◎ 组合能力: ADL 使得其描述的每 一系统元素都有其自己的局部结构,这 种描述局部结构的特点使得ADL支持软 件系统的动态变化组合;
27
典型软件体系结构描述语言
C2概述
◎ C2 和其提供的设计环境( Argo )
支持采用基于时间的风格来描述用户 界面系统,并支持使用可替换、可重
用的构件开发GUI的体系结构。
软件体系结构 (周国强zhougq@njupt.edu.cn)
28
典型软件体系结构描述语言
◎ 在 C2 中, 连接件负责 构件之间 消息的传递,而构件维持状态、执
软件体系结构 (周国强zhougq@njupt.edu.cn)
14
软件体系结构描述框架标准 Rational与IEEE P1471比较
1 、描述方案涉及面比较 窄 ,所注重的层次 比较低,因而更具体; 2 、 由 于 将 体 系 结 构 的 描述限于 UML 和 RUP,具有一定的局限性;
3、但该建议标准结合了已广泛采用的建模 语言和开发过程,因而易推广,可以有效实 现在跨组织之间重用体系结构描述结果。
软件体系结构 (周国强zhougq@njupt.edu.cn)
20
软件体系结构描述语言 ◎ 异构能力:ADL允许多个不同的体 系结构描述关联存在;
◎ 分析和推理能力: ADL 允许对其
描述的体系结构进行多种不同的性能和 功能上的多种推理分析。
软件体系结构 (周国强zhougq@njupt.edu.cn)
体系结构要素及其实践 标准化 , 奠定 质量与
成本的基础。
软件体系结构 (周国强zhougq@njupt.edu.cn)
12
软件体系结构描述框架标准 ◎ IEEE P1471 详细介绍了 一套 体系
结构描述的 概念框架 ,并 给 出建立
框架的 思路 。但如何描述 以及 具
体的描述技术 等方面 缺乏 更进
某个操作或状态发生改变的通知消息。
软件体系结构 (周国强zhougq@njupt.edu.cn)
30
典型软件体系结构描述语言
C2概述
◎ 构件之间的消息交换不能直接进 行,而 只能通过 连接件来完成。每个 构件接口 最多 只能和一个连接件相连, 而连接件可以和 任意数目 的构件或连 接件相连。 ◎ 请求消息 只能 向上 层传送而 通知 消息只能向下层传送。
软件体系结构 (周国强zhougq@njupt.edu.cn)
24
软件体系结构描述语言
◎ 连接件:是用来建立构件间的交 互以及支配这些交互规则的体系结 构构造模块。与构件不同,连接件 可以不与实现系统中的编译单元对 应。 连接件可以是共享变量、表入口、 缓冲区、对连接器的指令、动态数 据结构等等;
布图算法
复杂度计算
带时间特性的 流程图
函数调用关系 图
程序复杂度
测试结果打印
软件体系结构 (周国强zhougq@njupt.edu.cn)
4
软件体系结构描述方法
模块内连接语言
采用将一种或几种传统程序设计语言 的模块连接起来的模块内连接语言 (Module Interconnection Language, MIL) 。 由于程序设计语言和模块内连接语言具有 严格的语义基础,因此它们能支持对较大 的软件单元进行描述,诸如定义/使用和 扇入/扇出等操作。
软件体系结构 (周国强zhougq@njupt.edu.cn)
31
典型软件体系结构描述语言 ◎ 通知消息 传递只对应于构件 内部的
操作,而和接收消息的构件的需求无关。
◎ C2 对构件和连接件的 实现语言 、实 现构件的 线程控制 、 构件的部署 以及
连接件使用的通讯协议等都不加限制。
软件体系结构 (周国强zhougq@njupt.edu.cn)
7
软件体系结构描述方法 ◎ 例如,一种多变配臵语言(PCL)就可
以用来在一个 较高的抽象层次 上对系
统的体系结构建模,Darwin 最初用作设 计和构造复杂分布式系统的 配臵说明
语言 ,因具有动态特性,也可用来 描
述动态体系结构。
软件体系结构 (周国强zhougq@njupt.edu.cn)
8
软件体系结构描述方法 ◎ 他们所面向和针对的系统元素仍然 是一些层次较低的以程序设计为基础 的 通信协作 软件 实体单元 ,而且这 些语言所描述和表达的系统一般而言 都是面向 特定应用的特殊系统 ,这 些特性使得基于软构件的系统描述仍 然不是十分适合软件体系结构的描述 和表达。
软件体系结构 (周国强zhougq@njupt.edu.cn)
11
软件体系结构描述框架标准
IEEE P1471
◎ IEEE P1471 于 2000 年 9 月 21 日通过 IEEE-SA 标准委员会评审。 ◎ IEEE P1471适用于软件密集的系统,其目标 在于: 便于 体系结构的表达与交流,并 通过
的高层次软件体系结构元素的能力。
软件体系结构 (周国强zhougq@njupt.edu.cn)
6
软件体系结构描述方法
基于软构件的系统描述语言 ◎ 基于软构件的系统描述语言将
软件系统描述成一种是由许多以特
定形式 相互作用的 特殊软件实体
构造组成的组织或系统。
软件体系结构 (周国强zhougq@njupt.edu.cn)
软件体系结构 (周国强zhougq@njupt.edu.cn)
25
软件体系结构描述语言
连接件同样也有接口。连接件的接
口由 一组角色组成 ,连接件的每一 个角色定义了该连接件表示的交互 参
与者,二元连接有两个角色 ,如消
息传递连接件角色是发送者和接Байду номын сангаас者。
软件体系结构 (周国强zhougq@njupt.edu.cn)
行 操作并通过两个名字分别为“ top”
和“bottom”的端口和其它的构件交
换信息。
软件体系结构 (周国强zhougq@njupt.edu.cn)
29
典型软件体系结构描述语言
◎ 每个 接口 包含一组 可发送 的消息和 一组可接收的消息。构件之间的消息要 么是请求其它构件执行某个操作的 请求
消息,要么是通知其他构件自身执行了
软件体系结构 (周国强zhougq@njupt.edu.cn)
9
软件体系结构描述方法
软件体系结构描述语言
◎ 软件体系结构的第四种描述和表达方 法是 参照 传统程序设计语言的设计和开
发经验,重新设计、开发和使用针对软
件体系结构特点的专门的软件体系结构 描述语言。
软件体系结构 (周国强zhougq@njupt.edu.cn)
软件体系结构 (周国强zhougq@njupt.edu.cn)
15
软件体系结构描述语言 ADL ADL是在底层语义模型的支持下, 为软件系统的概念体系结构建模提供
了 具体语法和概念框架 。基于底层
语义的工具为体系结构的表示 、分析、
演化、细化、设计过程等提供支持。
软件体系结构 (周国强zhougq@njupt.edu.cn)
16
软件体系结构描述语言
基本元素:
构件、连接件、体系结构配臵。
主要的体系结构描述语言:
Aesop 、 MetaH 、 C2 、 Rapide 、 SADL 、
Unicon 和 Wright 等,尽管它们都描述软件
体系结构,却有不同的特点。
软件体系结构 (周国强zhougq@njupt.edu.cn)
26
软件体系结构描述语言
◎ 体系结构配臵: 体系结构配臵 或拓扑是描述体系结构的构件与连接 件的连接图; 体系结构配臵提供信息来确定构 件是否 正确连接 、 接口是否匹配 、 连接件构成的 通信是否正确 ,并说 明实现要求行为的组合语义。
软件体系结构 (周国强zhougq@njupt.edu.cn)
软件体系结构 (周国强zhougq@njupt.edu.cn)
5
软件体系结构描述方法 MIL方式对模块化的程序设计和分段编译等
程序设计与开发技术确实 发挥了 很大的 作用 。
但是由于这些语言处理和描述的软件设计开发
层次过于依赖程序设计语言,因此限制了它 们处理和描述比程序设计语言元素 更为抽象
相关文档
最新文档