知识卡片

UML用于架构建模的优点与局限

普通读书笔记卡

内容

UML本身是为软件细节设计而生的,并非专为描述架构提出,但因为具有开放标准、广泛应用和众多厂商支持,事实上被大量学者建议用于架构建模,甚至可以把它看作一种架构描述语言——这是一个”工具因流行而被借用到设计初衷之外的场景”的典型案例。UML对架构的支持依赖于其扩展机制:构造型(stereotype,最重要的扩展机制,是在已定义模型元素基础上构造新元素的方式,构造出的新元素不能改变基元素结构、只能扩充语义)、标记值(一对字符串,标记是想要记录的特性名字,值是该特性在具体元素上的取值)、约束(模型元素之间的语义关系,是对语义的限制)。用UML描述架构的优点有四点:具有通用模型表示法和统一标准,便于理解交流;支持多视图结构,能从不同角度刻画架构;有大量工具支持可缩短开发周期;统一的交叉引用方法有利于维护可处理性、避免错误。但局限同样突出:对架构风格和显式连接件缺乏直接构造性支持(连接件在UML中没有对应元素,必须靠建模人员自己维护);交互图/状态图/活动图虽能描述行为,但语义精确性不足;多视图建模容易产生信息冗余和不一致;建模只能到达非形式化层次,无法保证开发过程的可靠性。这个”优点在于普适通用、局限也在于普适通用”的悖论,正是后续[[UML语义形式化的三种思路]]要解决的根本问题。

参考来源

- 位置:《软件架构理论与实践》第3章《软件架构模型》"3.2.2 基于UML的建模方法"节(源文件:_epub-src/OEBPS/text00024.html) - 结论依据:原文说明UML的扩展机制包括"类别模板(构造型)、约束和标记值"并分别解释其定义,随后列出UML架构建模的四个优点和四个局限("1)对架构的构造性建模能力不强,缺乏对架构风格和显式连接件的直接支持……"),直接支撑本卡片结论。 - 原始内容:构造型实际上是一组命名的约束和标记值,由OCL语句组成……使用UML建模存在如下一些问题:1)对架构的构造性建模能力不强,缺乏对架构风格和显式连接件的直接支持。2)虽然UML使用交互图、状态图和活动图描述系统行为,但语义的精确性不足。