《软件架构理论与实践》 —3 软件架构模型
第3章 软件架构模型
软件架构模型为软件架构提供了一种抽象、可视化或形式化的表示,为软件架构师、需求分析人员、软件工程师、潜在用户等提供了一个交流平台,并起到了从软件需求分析文档到软件详细设计和实现的桥梁作用。本章详细讨论软件架构的各种建模方法,包括各种图形可视化建模方法、UML建模方法、利用形式化语言的建模方法、数学建模方法和文本建模方法等。但是,至今没有一种建模方法能够满足软件架构建模的所有需求,所以本章讨论软件架构建模,旨在强调软件架构建模的意义和重要性,而统一的、能被业界普遍接受的软件架构建模方法仍然处于研究探索过程中。由于软件架构建模方法太多,无法将每种方法都展开介绍,本章只是向读者展现一个软件架构建模的路线图,有需要的读者可根据路线图寻找相关的建模方法以深入学习。另外,业界通常还会采用一些非常简单的方法,如盒线图方法、草图法等,由于它们的原理比较简单,而且没有系统和统一的语义基础,本章中就不一一介绍了。
3.1 引言
软件架构是一个系统概念,软件架构模型是捕捉部分或全部架构设计决策的人工产物,通过一个或多个角度对软件架构的各个侧面进行展示和说明,使得软件架构的不同利益相关者之间能够有效交流。软件架构建模是对架构设计决策的具象化和文档化[1]。
软件架构建模的意义在于,它能够将软件架构的某些关键或关注的方面剥离出来,使用统一的图形、文档和数据进行描述,达到直观便捷地理解、分析和交流的目的。
以时间为序,软件架构建模先后出现了五类方法:
1)基于非规范的图形表示的建模方法:在没有标准化架构建模的时候,人们通过线和框等结构来描述架构,具有较大的随意性,虽然便于记忆、富有启发性,但是不够精确。此类方法与架构利益相关者的经验习惯有关。在此过程中,还出现了一种基于模块连接语言的方法,该方法采用若干程序设计语言的模块的连接方式描述架构,直接与编程相关,易于理解和实现,但是抽象程度不够,难以处理高层次的架构元素。此类方法始于1981年[2],止于1994年[3],现已基本过时,本书不再做详细介绍。
2)基于UML的建模方法:UML是较为流行的软件建模方式,同时能够较为直接地应用到架构建模之中,特别是UML 2.0增加的组件描述方便了架构的图形建模[4]。UML建模主要属于可视化方法,但是也有研究利用其扩展机制进行形式化架构建模,后文中会详细讨论。
3)基于形式化的建模方法:与图形可视化方法不同,此类方法的重点不在于架构模型展示的直观性,而在于精确性,通过形式语言(包括OCL模型)对架构模型进行描述,具备严格的语义规范和一定的推理能力。
4)基于UML形式化的方法:该方法通过将UML的一些架构描述结构形式化处理,来提高UML描述软件架构的能力,包括正确性、一致性验证能力,克服了UML在描述软件架构方面的不足。
5)其他建模方法:在软件架构建模实践中,还出现了一些类似文本语言建模的方法,以便提高软件架构描述的通用性、易理解性和易变性,并进一步适应软件架构师的发散思维。
- 点赞
- 收藏
- 关注作者
评论(0)