牛骨文教育服务平台(让学习变的简单)

连载:面向对象葵花宝典:思想、技巧与实践(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取款机为样例,用例图如下:

 

从这个图可以清楚的看到,所谓用例图,可以简单的理解为系统用例的集合,而不是详细描述每个用例的具体步骤和流程。

这也是前面我们提到的为什么是用“用例”来分析需求,而不是用“用例图”来分析需求的原因