用例图可以用组件图代替吗?
丁绍恒 2025-4-8 14:24
用例图中的所有信息是不是都可以用组件图表达?且后者的表达能力更强?
UMLChina潘加宇
可以。
把系统当作一个组件,供给接口上定义的操作相当于系统的用例,接口可以算用例分包,端口相当于用例的分包的分包。
像这样:

但这样的思考有一个非常大的危险:把“系统”、“组件”平等看待时,很难拒绝“灵活改变问题”的诱惑。
像下面这个,A、B、C三个赛道都有人赚到钱,也都挤满了竞争对手。经过定位、愿景等思考(也可能是经过血和泪的洗礼),开发团队得到结论,把自己要做的目标系统定位在B这个赛道,才能有生路。

在开发B的过程中,碰到了一些困难,于是有人提议“我们做A吧”、“我们做C吧”,于是顺滑切换,忘记了初衷和过去的血泪。
类似内容的之前文章参见:
