《软件架构理论与实践》 —3 软件架构模型

举报
华章计算机 发表于 2019/12/18 12:23:10 2019/12/18
【摘要】 本节书摘来自华章计算机《软件架构理论与实践》一书中第3章,第3.1节,作者是李必信 廖力 王璐璐 孔祥龙 周颖。

第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)其他建模方法:在软件架构建模实践中,还出现了一些类似文本语言建模的方法,以便提高软件架构描述的通用性、易理解性和易变性,并进一步适应软件架构师的发散思维。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。