🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 连载:面向对象葵花宝典:思想、技巧与实践(20) - 用例图的陷阱 你知道么,用例图 **不是** 用来描述 用例的哦!!!! 熟悉UML的朋友都肯定知道,UML有一个叫做用例图的东东。 单纯从名字上来看,你可能以为用例图是用来描述用例的,即:用例图 = 用例的图形化表示。   然而各位发明UML的大师们,却在无意中给我们设下了一个陷阱:所谓的用例图,不是用来描述用例,而是用来描述系统的图形。   听起来有点奇怪和别扭,既然是用来描述系统的图形,为什么叫做用例图,而不叫系统图呢?   这和用例图的画法有关,用例图虽然是用来描述系统的图形,但其内容主要就是用例。 我们来看用例图的定义: The use case view captures the behavior of a system, subsystem, or class as it appears to an outside user 简单翻译一下:用例图用于捕获系统、子系统或者类相关的呈现给外部用户的行为。   单纯看这个定义有点难以理解,其实看看用例图的组成就很简单了。用例图的组成如下: Actor:系统外的用户,对应5W中的Who,包括但不限于用户、外系统; Use Case:用例,对应前面讲到的用例; System:系统,所有用例的集合就是系统了。   我们以ATM取款机为样例,用例图如下:  ![](https://box.kancloud.cn/2016-01-20_569f5cca01fde.jpg) 从这个图可以清楚的看到,所谓用例图,可以简单的**理解为系统用例的集合**,而不是详细描述每个用例的具体步骤和流程。 这也是前面我们提到的为什么是用“用例”来分析需求,而不是用“用例图”来分析需求的原因