如何绘制用例图?
关于用例图的理解和绘制
一、用例图的概念
用例图(Use case diagram)是用户与系统交互的最简表示形式,展现了用户和与他相关的用例之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。
尽管用例本身会涉及大量细节和各种可能性,用例图却能提纲挈领地让人了解系统概况。它为“系统做什么”提供了简化了的图形表示,因此被誉为“搭建系统的蓝图”。
在实际项目中,任务分析需要细化到具体的交互步骤,步骤与步骤之间的顺序、依赖关系,还有步骤的重要程度。它还包括典型的出错之处,以及出错后设计应给予的支持或引导。
二、用例图六元素
用例图主要包含以下 6 个元素
- 参与者(Actor)
- 用例(Use Case)
- 关联关系(Association)
- 包含关系(Include)
- 扩展关系(Extend)
- 泛化关系(Generalization)
(1)参与者:外部的一个实体,参与用例的执行过程,参与者由参与用例时所担当的角色来表示,每个参与者可以参与一个或多个用例;
(2)用例:外部可见的系统功能单元,在不揭示系统内部构造的前提下定义连贯的行为,不是需求或功能的规格说明,用例的表示:简单名(Simple Name)和路径名(Path Name)
(3)关联关系:表示参与者与用例之间的关系,不同的参与者可以访问相同的用例;
(4)包含关系:包含用例(客户用例)执行,则被包含用例(提供者用例)必须执行;
(5)扩展关系:只有特定的条件发生,扩展用例才可能被执行,这是与包含关系的差别;
(6)泛华关系:泛化关系是一般和特殊的关系,如:如果系统中一个或多个用例是某一个一般用例的特殊化用例时,就应该使用用例的泛化关系;
还需要提及的重要概念是用例(use case)。用例是软件工程中的术语,最早被广泛采用是在面向对象的程序设计里。用例描述用户本身(如冬季、情绪等)。用例的编写需要涵盖所有可能的情况,而情景更多关注的是主要用户的完成任务的主要过程。
三、用例图示例
用例是构架产品需求的最好方式,被广泛用于撰写产品需求文档。用例可以通过用例图和用例描述来呈现。一个典型的用例图,它包括:
1、角色(如仓库管理员、店主、客服等)
2、用例名(指系统提供的功能以动词+名词的形式,如商品入库、设置警戒值、审核出库单等)
3、连接(连接角色和用例饿,表示角色正参与用例)
如下图:圆圈中表示的就是用例名,虚线的箭头表示来用例之间的关系,“include”表示的是包含关系,常用的关系还有泛化关系(gen-eralizatio),拓展关系(extend)
四、用例文字描述
而用例描述则是更详细的文字描述,一份典型的用例描述通常包括:
(1)主要角色;
(2)情景中的目标:角色想完成什么?
(3)范围:角色使用什么系统/功能?
(4)涉众和相关人:还有哪些相关角色?他们的目标是什么?
(5)前置条件:必须使得这个用例发生?
(6)触发条件:什么使得这个用例发生?
(7)主流程:为完成目标有哪些典型步骤?
(8)其他说明:还有哪些情况?出现异常情况,如何处置?
情景与任务分析的一大难点在于细节程度的控制。到底在描述一个情景时需要详尽到什么程度?过于粗略可能无法发现设计机会,过于详细则可能使主任务被“淹没”。因此,情景和任务分析应结合行业需求(主要功能点),有针对性地取情景,有重点地进行描述。
五、总结
用例图的目的就是为了可以让人在一个更高的层次概览整个系统,用平白的话语让项目参与者理解系统。它可以辅以额外的图表和文档,以更加完整地展现系统的功能和技术细节。通过用例图来获取需求、指导测试,还可在整过程中对其它工作流起到指导作用。












































































