《软件方法》2023版第1章(10)应用UML的建模工作流-大图

DDD领域驱动设计批评文集

做强化自测题获得"软件方法建模师"称号

《软件方法》各章合集


1.4 应用UML的建模工作流

1.4.1 概念

我用类图表示建模工作流相关概念如图1-16。

图1-16 建模工作流相关概念

图1-16左侧灰色部分定义了"游戏规则",右侧则是在"游戏规则"上"玩游戏"的结果。

显然,只是看这个类图不能很好理解相关概念。我用对象图展示本书推荐的"游戏规则"如图1-17。

图1-17 建模工作流相关概念的对象图(图形较大,点开看或访问原图http://www.umlchina.com/book/1pics/fig1_017.png)

图1-17中,除了最左侧的"工作流类型"之外,都是可以变化的。

可以替换"表示元素"。例如,系统用例规约改为用活动图表达,则图1-17的相应部分可以改为图1-18。

图1-18 系统用例规约改为用活动图表达

可以替换"表示法"。例如,把UML换成其他表示法或自创的表示法,那么图1-17左起3到5列都要修改。

可以替换"方法学",例如,受"少林功夫+唱歌跳舞"启发,创造出"浑元形意太极+革命性创造划时代洞见领域驱动设计敏捷精益方法学",但仍然使用UML表示法,那么图1-17左起2、3列需要修改。

1.4.2 工具箱

从图1-17可以看出,本书重点使用的UML图形只有4种:用例图、类图、序列图和状态机图。

UML 2.5包含的图形一共有14种,如图1-19所示的树上的叶结点。

图1-19 UML图形(根据UML2.5规范绘制)

经常会有人有意无意地误导,让人以为使用UML建模需要画这么多图,顺势攻击"UML笨重"。其实,应该把UML看作一个工具箱。工具箱里面有各种工具,建模人员只需要根据当前所开发系统的特点,从这个工具箱中选择合适的工具就可以,并不需要"完整地"使用UML。

这和编程语言类似。很多人说"我用Java",其实只是用Java的一小部分,而且很长时间内也只会用这一小部分。

经常有学员问:潘老师,能不能给一个案例,完完整整地实施了整套UML?这是一种误解,这样的案例不应该有。这相当于问:有没有一本经典的小说,把字典里所有的单词都用上了?有一些建模工具自带的案例模型会造成误解,一个模型里把所有的UML图都给用上了,但这是工具厂商出于展示其工具建模能力的目的而提供的,不可当真。

相关推荐
一条咸鱼_SaltyFish3 小时前
DDD 架构重构实践:AI Skills 如何赋能DDD设计与重构
java·人工智能·ai·重构·架构·ddd·领域驱动设计
wxl7812277 小时前
驾驭工程 (Harness Engineering):AI Agent 时代的软件工程新范式
人工智能·软件工程
workflower17 小时前
注塑机行业目前自动化现状分析
运维·人工智能·语言模型·自动化·集成测试·软件工程·软件需求
watersink18 小时前
第29章 2023真题作文
软件工程
watersink21 小时前
第31章 2025真题作文
软件工程
watersink1 天前
第30章 2024真题作文
软件工程
小的时候可菜了1 天前
DDD架构设计的本质与演进
领域驱动设计
darkhorsefly1 天前
业务流程及业务流程优化
软件工程·业务流程·业务流程优化
darkhorsefly1 天前
产品需求分析和项目需求分析的差异
软件工程·需求分析
无籽西瓜a1 天前
【西瓜带你学设计模式 | 第十二期 - 装饰器模式】装饰器模式 —— 动态叠加功能实现、优缺点与适用场景
java·后端·设计模式·软件工程·装饰器模式