文档介绍:第六章软件体系结构描述
软件体系结构描述方法
软件体系结构描述框架标准
体系结构描述语言
典型体系结构描述语言
统一建模语言(UML)
2017/10/31
1
形式化、规范化的软件体系结构描述对于体系结构的设计和理解非常重要;
当前的描述主要停留在非形式化基础上,依赖于个人经验和技巧;
不能准确描述构件之间接口和组合关系,难以进行一致性、完整性分析和模拟。
目前对于软件体系结构的描述主要有两类:
1、使用精确的、无歧异体系结构描述语言,并提供对体系结构和特征的分析工具和设计环境。
2、采用形式化的方法, 提供精确的、抽象的模型,并提供基于这个模型的分析工具。
2017/10/31
2
§ 软件体系结构描述方法
1、图形表达工具
采用矩形框和有向线段组合而成的图形表达工具;
矩形框代表抽象构件,框内标注的文字为抽象构件名称,有向线段表示辅助各构件进行通信、控制和关联的连接件;
一种简洁易懂、使用广泛的表示方法;
在术语和表达语义上不够规范和精确。
2017/10/31
3
某软件辅助理解和测试工具部分体系结构描述
2017/10/31
4
2、模块内连接语言
采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言MIL(Module Interconnection Language);
具有严格的语义基础,支持对较大的软件单元进行描述,如定义/使用和扇入/扇出等操作;
MIL方式对模块化程序设计和分段编译等程序设计与开发技术发挥了很大的作用;
过于依赖程序设计语言,限制了处理和描述更高层抽象软件体系结构元素的能力。
2017/10/31
5
3、基于软构件的系统描述语言
采用基于软构件的系统描述语言。将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。
如,多变配置语言(Proteus Configuration Language: PCL)支持较高抽象层次上对系统进行建模,具有动态性;
较好的一种以构件为单位的软件系统描述方法;但所面向和针对的系统元素仍是层次较低的以程序设计为基础的通信协作软件实体单元,且一般面向特定应用的特殊系统。
2017/10/31
6
4、软件体系结构描述语言
参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言ADL(Architecture Description Language);
吸收传统程序设计中的语义严格精确的特点,针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素;
当前软件开发和设计方法学中发展很快的软件体系结构描述方法。
2017/10/31
7
§ SA描述框架标准
IEEE于1995年8月成立体系结构工作组;参考业界的体系结构描述实践,起草了体系结构描述框架标准IEEE P1471,2000年9月通过IEEE-SA标准委员会评审;
IEEE P1471目标:便于体系结构的表达与交流,并通过体系结构要求及其实践标准化,奠定质量与成本的基础。
IEEE P1471仅提供概念框架,Rational起草了可重用的软件资产规格说明,提出了一套易于重用的体系结构描述规范。
2017/10/31
8
§ SA描述框架标准(续)
IEEE P1471将体系结构定义为:体系结构是系统的基本组织,它是通过系统的构件、构件间的相互关系、它们和环境的联系、以及它们的设计和演化的指导原则体现出来的。
IEEE P1471以如下5个核心概念和相互关系为基础:
每个软件系统都有一个体系结构,但体系结构并不是软件系统;
体系结构和体系结构描述不同;
可以有不同的体系结构标准、描述和开发过程,并可以单独对它们进行研究;
同一软件系统可以有多种体系结构描述;
把对象的总体概念和对它的详细描述相分离。
2017/10/31
9
§ SA描述框架标准(续)
建议基于RUP (Rational United Process)、采用UML模型描述软件体系结构;
认为软件体系结构描述的关键是定义视点、视图及建模元素之间的映射关系;
四个视点:需求视点、设计视点、实现视点和测试视点;
七种体系结构视图:用例视图、域视图、非功能需求视图、逻辑视图、实现视图、过程视图和部署视图;
描述语言: Booch标记法、面向对象建模技术( OMT: Object Modeling Technique)、统一过程方法(Unified Process) 。
2017/10/31
10