当前位置:文档之家› 软件体系结构第四章

软件体系结构第四章

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