用例图可以用组件图代替吗?

丁绍恒 2025-4-8 14:24

用例图中的所有信息是不是都可以用组件图表达?且后者的表达能力更强?

UMLChina潘加宇

可以。

把系统当作一个组件,供给接口上定义的操作相当于系统的用例,接口可以算用例分包,端口相当于用例的分包的分包。

像这样:

但这样的思考有一个非常大的危险:把“系统”、“组件”平等看待时,很难拒绝“灵活改变问题”的诱惑。

像下面这个,A、B、C三个赛道都有人赚到钱,也都挤满了竞争对手。经过定位、愿景等思考(也可能是经过血和泪的洗礼),开发团队得到结论,把自己要做的目标系统定位在B这个赛道,才能有生路。

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

类似内容的之前文章参见:

“创新”何太急(三)系统用例是“深入到系统内部”?

心脏的功能是泵血,心脏是个模块,所以“功能模块”没毛病啊!


weixinpanjiayu2