吐泡泡的阿呆 android Dev Engineer

【笔记】如何写用例

2021-11-10
adai

如何写用例图

一、什么是用例图?

用例图是用户与系统交互的简单表达形式,展现了用户和与他相关的用例之间的关系。

通过用例图,人们可以获知系统不同种类的用户和用例。

用例图_百度百科

这段是摘录自百度百科的用例图描述。

通过描述我们可以知道,用例图由:参与者、用例,和他们两者之间的关系组成。

用例图用于描述用户是如何和系统交互的。

接下来我们说下用例图的关键要素

二、参与者

概念

参与者指的是系统与外部交互的人或者事物。

这里的人指的是角色,而非特定的个人。

事物一般指程序或者特殊进程。

使用要点

要界定参与者,首先需要确定系统的范围。

如果系统是一个app程序,参与者一般就是使用app的用户。

如果系统是由app程序和管理后台组成,参与者则是用户和运营。

如果系统指的是后台服务,参与者可能就是app,或者其他调用服务的程序或者进程了。

表示方式

一般参与者用小人表示,并标记角色

image-20211025174633110

三、用例

概念

用例英文叫 use case,直接翻译其实就是使用案例。

用例描述了参与者和系统的交互行为。

通俗点讲就是参与者可以在系统干什么,或者外部可见的功能单元。

使用要点

一般用例都是动宾结构:查看黑名单列表,创建商品。

用例之间都是相互独立的。

用例一般是由参与者启动的。

用例的执行结果是可以观测的。

表示方式

还有用例描述的椭圆

image-20211025174645095

四、参与者与用例的关系

参与者与用例之间有:关联、泛化、包含、拓展关系

关联关系

参与者与用例之间最常见的交互关系就是关联。

关联关系表示参与者与用例之间的通信,任何一方都可以发送或者接收消息。

比如运营和和整个运营后台的使用关系就是关联。

表示方式

关联关系用直线连接即可。

image-20211025175928076

泛化关系

了解过面向对象开发的同学比较容易理解这种关系。

泛化描述了父、子两类元素关联;子元素有父元素所有特性,但是子元素实现方式有不同。

通俗点讲就是爹妈和儿子之间的关系。

儿子继承了父母的基因,但是又和父母之间有些不同。

表示方式

「子元素」空心箭头指向「父元素」

image-20211025180909180

包含关系

包含关系指的是一个用例中包含若干小步骤。

表示方式

虚线箭头指向子用例,并标明包含关系

image-20211025181632727

拓展关系

拓展关系比较容易和包含关系混淆。

拓展是指特定情况下触发的场景,对基础用例的增强。

表示方式

「基础用例」虚线箭头指向「拓展用例」,并标明拓展关系

image-20211026140349495

关联、拓展、包含关系的区别

关联关系只要你愿意,所有元素之间都可以有关联。

本质上,拓展和包含本身就是一种关联关系。

拓展关系只在特定条件下触发。

比如「注册」是「登录」的拓展用例。

只有新用户才会需要注册,老用户直接登录即可。

包含关系是用例有若干小步骤,小操作更倾向于描述整体和个体的关系。

五、其他

注释

注释可以对用例的一些补充或者强调事项进行详细描述。

表示方式

image-20211026135124454

泳道

泳道可以将用例划分到不同纬度,从而视觉直观上让人容易区分使用场景。

表示方式

将相关用例放到统一泳道中,并标记好泳道名即可。

image-20211026140721911

六、小结

用例图是产品的常用工具。

可以快速的和业务方或者开发沟通功能。

实际使用中,通常不会严格按照标准绘制。

用例图终究还是一个表达工具,主要是辅助各方达成一致。

切勿舍本逐末,为了画用例图而画。


Similar Posts

Comments