第4章软件体系结构描述
软件体系结构描述方法
软件体系结构描述语言
典型的软件体系结构描述语言
可扩展标记语言
基于XML的软件体系结构描述语言
使用“4+1”模型描述软件体系结构
使用UML描述软件体系结构
本章小结
习题
软件体系结构描述方法 对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法是采用由矩形框和有向线段组合而成的图形表达工具。在这种方法中,矩形框代表抽象构件,框内标注的文字为抽象构件的名称;有向线段代表辅助各构件进行通信、控制或关联的连接件。图4-1表示某软件辅助理解和测试工具的部分体系结构描述。
图4-1 某软件辅助理解和测试工具部分体系结构描述
目前,这种图形表达工具在软件设计中占据着主导地位。尽管由于在术语和表达语义上存在着一些不规范和不精确,使得以矩形框与线段为基础的传统图形表达方法在不同系统和不同文档之间有着许多不一致甚至矛盾,但该方法仍然以其简洁易用的特点在实际的设计和开发工作中被广泛使用。 为了克服图形表达方法中所缺乏的语义特征,有关研究人员试图通过增加含有语义的图元素的方式来开发图文法理论。
软件体系结构的第二种描述和表达方式是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言(Medule Interconnection Language,MIL)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此能支持对较大的软件单元进行描述。例如,Ada语言采用use 实现包的重用,Pascal语言采用过程(函数)实现模块的交互。 MIL方式对模块化的程序设计和分段编译等技术发挥了很大的作用。然而,由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此,限制了它们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。
软件体系结构的第三种描述和表达方式是采用基于软构件的系统描述语言。基于软构件的系统描述语言将软件系统描述成一种由许多以特定形式相互作用的特殊软件实体组成的系统。 例如,Darwin最初用作设计和构造复杂分布式系统的配置说明语言,因具有动态特性,也可用来描述动态体系结构。
这种描述方式虽然也是一种以构件为单位的软件系统描述方法,但是它们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。
软件体系结构描述语言(Architecture Description Language,ADL)是参照传统程序设计语言的设计和开发经验,针对软件体系结构特点,重新设计、开发的描述方式。由于 ADL是在吸收了传统程序设计中的语义严格精确的特点基础上,针对软件体系结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素,因此,ADL是当前软件开发和设计方法学中一种发展很快的软件体系结构描述方法。目前,已经有几十种常见的ADL。
鉴于体系结构描述的概念与实践的不统一,IEEE于1995年8月成立了体系结构工作组,综合体系结构描述研究成果,并参考业界的体系结构描述的实践,负责起草了体系结构描述框架标准,即IEEE P1471,并于2000年9月21日通过IEEE-SA标准委员会评审。 IEEE P1471适用于软件密集的系统,其目标在于:便于体系结构的表达与交流,并通过体系结构要素及其实践标准化,奠定质量与成本的基础。
IEEE P1471仅仅提供了体系结构描述的概念框架、体系结构描述应该遵循的规范,并给出建立框架的思路,但在如何描述以及具体的描述技术等方面缺乏更进一步的指导。 在IEEE P1471推荐的体系结构描述的概念框架基础上,Rational公司起草了可重用的软件资产规格说明,专门讨论了体系结构描述的规格说明,提出了一套易于重用的体系结构描述规范。
(软件体系结构)第4章软件体系结构描述 来自淘豆网m.daumloan.com转载请标明出处.