Use Case View Summary
这段文字是翻译自Mark Priestley《Practical Object-Oriented Design with UML》的,算是对用例图作个总结,增加我自己的理解和记忆,也希望对大家有所帮助。有兴趣的朋友和我联系讨论, 共同学习, 共同提高。我的email: kenli2000@163.com。
l 用例视图(use case view)包括actors 和 用例(use cases)。Actors描述了用户在和系统交互的过程中可以扮演的角色。用例描述了系统提供给actors的功能。
l 用例定义了用户和系统之间的某种特定类型事务。某个特定类型的交互, 或者说用例的实例可以在场景(scenarios)中描述。UML并没有给出用例和场景的正式定义。
l 场景可以被定义为陈述了用例所描述的基本的事件发生过程,并且陈述了可能发生的异常情况。
l 用例图(use case diagram)画出了参与在系统中的actors和用况。一个actor和一个用况之间存在关联说明这个actor参与这个用况其中。
l 用例和用例之间, actor和actor之间可以存在一般化关系(类似于类class之间的超类、继承),就是说某个用例或actor是另外一个的特殊情况。
l 用例之间还存在这“包含(include)”关系,就是说一个用例可以包含另外一个。类似于函数调用, 这为用例的重用提供了一种机制。
l 用例之间的另外一种关系“扩展(extend)”运行一个用例提供可选的功能。通过定义扩展点和何时执行何种功能来定义这种关系。这些信息在用例图中是可选的。
l 一个用例或者场景的实现描述了足够实现这个用例(或场景)功能的,可交互对象的结构。
l 序列图(sequence diagram)和协作图(collaboration diagram)画出参与在一个交互中的对象和他们之间互相发送的消息,可以描述一个用例的实现。
译文就到此为止了, 我想大概的就我的理解说明一下,以防止大家看的摸不着北。
Use case view是由需求到最终实现的第一步,目标系统需要有那些潜在或者明显的功能,有那些目标用户,这些东西画出来后use case这一步还远没有完成,接下来应该对要实现的功能进一步分析, 那些用例其实是一种, 用例之间有那些关系, 如上面列出的一般化关系,扩展关系等等。当然这对actor也适用。单单用例图有时候太简单, 不足以描述某个用例的详细情况, 这是场景就必不可少了,用文字来描述这个用例的情况, 正常流程, 以及可能发生的异常情况, 非常有用。当然也可以做进一步的分析, 开始画每一个用例的序列图和协作图。