1.5 Use Case的经济意义
对象化(或称为模块化)的目标是通过对象的迅速组合来提供多样化的产品(即系统或对象)。多样化意味着“多功能”,大多数用户是因为喜欢功能而购买产品。这些用户想买的(what customer want to buy)功能就是产品的Use Case。所以多功能意味着“多Use Case”。
一项产品的功能常表现在它的接口上,例如咖啡机提供许多按钮像“煮咖啡”、“煮开水”、“加糖”、“加奶精”等给用户使用。所以Use Case与用户的期待和满意度密切相关,这关系到产品的销售和收益成绩。用户关心的是产品能否满足他的目的并且方便使用(easy way to use)。一个系统好像一个足球,从外观来看,一个足球表面有许多Use Cases,如图1-7所示。
![]() |
| 图1-7 足球的外观 |
以上从用户角度来看,看到产品的使用接口只是外观而已。如果改从工程师角度看,一个Use Case就代表一群对象联合执行(join operation)一项服务。每一个Use Case的幕后都有一群对象互相沟通与合作。好像看到足球的内部结构,如图1-8所示。
![]() |
| 图1-8 足球的内观 |
一个对象可参与许多个不同的Use Case,让对象有更多“复用”(reuse)的机会,则对象的可靠度提升了,复用机会也随之提升了,整个系统的质量也提升了。开发对象是成本、是付出,销售功能和产品是收益、是获得,Use Case让我们在建模阶段就将收益与成本紧密连接起来,这对产品(或系统)在市场上的成功与失败扮演关键角色。
再如,用户付钱听交响乐团演奏就是用户对乐团(即系统)的消费,所演奏的每一首乐曲都是用户的一项买单,也就是一个Use Case。
交响乐团是由一群演奏者合作无间,演奏出行云流水般的旋律,让听众心旷神怡,如图1-9所示。
![]() |
| 图1-9 交响乐团的Use Case |
所以Use Case连接了乐团的收益(听众买单)与一群演奏者的付出(成本)。再如摩托车内部也含有一群对象(即零件)—— 如前车灯、电池、轮胎、煞车灯、引擎、坐垫、传动离合器、煞车离合器等。这一群对象在不同的安排下,合作交互而达成摩托车的各种功能(如开前车灯、煞车等动作),如图1-10所示。
“开前车灯”是骑士在使用摩托车时需要的一项服务,就像“听一首交响乐曲”是听众需要的一项服务(Use Case)。骑士在使用该项服务时,骑士会与摩托车进行一系列的交互,摩托车内部的一群对象也展开和谐的交互与合作(collaboration)。
从上述例子中,您能深刻领悟Use Case的涵义,其中的重点是,基于用户的观点来看系统。Use Case是系统提供给用户的一项服务(收益),而服务的背后则是一系列的活动(成本)。
![]() |
| 图1-10 摩托车的Use Case |
| 回书目 上一节 下一节 |