一,什么是用例图
首先看用例模型,用例模型用于需求分析,表明开发者和用户对需求的共识,描述了待开发系统的功能需求。而用例模型是由用例图来描述的。
用例图是 从用户的角度描述系统的功能,并指出各功能的操作者。用例图要强调功能,从用户角度分析功能。得出功能之后,还要分析各个功能的执行者是谁。强调是谁在使用系统,即角色和功能对应起来。
二,用例图的基本元素
用例图由3部分组成:用例,角色,关系。
1,用例:用例是对系统的用户需求的描述,用例表达了系统的功能和所提供的服务 。如上图,用椭圆表示。
如何识别用例:
识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是怎样使用系统的。
另外,还可以问自己以下问题,来帮助自己识别用例:
1,特定参与者希望系统提供什么功能
2,系统是否存储和检索信息,如果,这个行为由哪个参与者触发;
3,当系统改变状态时,通知参与者吗
4,存在影响系统的外部事件吗
5,是哪个参与者通知系统这些事件
2,角色
一种人员的角色,用来指明用例跟哪个角色相关。
需要注意的是,角色不仅仅使人,还可以是一些事物。
符号如上图,actor.
3,关系
在UML视频中,这里的关系所说的是执行者和用例之间的关系,也就是指用例和角色存在什么关系,但是,在这里还应该存在用例和用例之间的关系。
三,用例之间的关系
在用例和用例之间,存在着包含关系,扩展关系,泛化关系,如图:
如上图,修改个人信息,查看个人信息,删除个人信息,都涉及到找到某个特定的人,用例找到特定的人被这3个用例所包含,这样,在设计时,避免了很多重复的动作。
如图,借书的人有还书,借书,读书的用例,在还书的时候,如果超期,则超期这个用例处理他,如果没超期,则正常处理。
很好理解,不解释了,都吃过饭。
四,用例的主要属性
描述了用例执行时的一些条件等。主要属性有:事件流(描述了在执行过程中,执行者和系统之间的交互过程);
前置条件和后置条件描述了用例执行的条件;特殊要求;扩展点;问题说明;
五,用例的粒度与范围
如图,用例是actor可以执行的功能,这个功能大小的划分非常重要,如上图,大致可分为3级:概述级,用户目标级,子功能级。
六,用例注意点
1,应该清晰的定义系统边界
2,防止用例过多
3,应该从执行这的角度来命名用例
4,用例描述正规程度
5,避免执行者的名字不一致
6,避免执行者和用例之间的关系太复杂
7,注意用例的大小是否恰当
8,避免用例描述混乱
9,区分用例分解和功能分解
10,避免客户不能理解用例的情况发生
11,有些场合用用例来描述需求是不适合的。
七,用例图示例
如图,在上面的仓库管理系统中,先画出其中的角色,即系统的是执行者:操作员,商品供应商,管理员,商品领料人。然后分别画出每个角色所执行的功能。