学习笔记:UML图-用例图


课程设计一直在画用例图,但从未经过深入思考,用例图是什么?用例图解决了什么问题?什么时候要画用例图?画用例图的逻辑究竟是什么?经过系统学习之后记录一下,同时也希望自己能学以致用,用于实际的产品工作当中。

用例图是什么?

用例图是指由参与者(Actor)、用例(Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。简单来说就是用来表示参与者(包含用户,外部系统),系统,功能之间的相互关系图。基础模型如下:


用例图解决了什么问题?

按我目前的理解,用例图主要解决了以下三个个问题:

1. 把用户,业务(系统),功能抽象化,更好的帮助我们清楚系统是什么?有哪些用户?系统有哪些功能?

2. 拆解需求,把用户目标拆解成一个个业务目标乃至一个个功能。

3. 帮助我们清楚功能权限的设计,权限分为功能权限和数据权限,用例图主要体现出每类用户下的角色的功能权限,越是角色复杂的系统越需要理清楚权限问题,例如后台管理系统。

什么时候要画用例图?

进行需求分析和设计时。可以梳理在某一个较复杂的系统中,角色和功能的对应关系,高度抽象出这几者之间的关系。

用例图怎么画?

我以淘宝购物系统为例。不完整也可能有错误,希望得到前辈们的指点,感谢!

第一步:先画出参与者和系统

第二步:画出用户下可能存在的角色

第三步:思考用例粒度,就是用例细化程度。那么究竟需要多大的粒度,我们应该根据每个系统的具体情况,因时因宜地来把握各个层次的复杂度,在尽可能保证整个用例模型的易理解性前提下决定用例的大小和数目。此处按我粗浅的理解写了几个用例,由于系统是整个购物系统,所以用例粒度较大。

在科伯恩的《编写有效用例》中,提出了几个角度去判断用例的粒度

从用例本身思考

CRUD类型用例,CRUD是指创建、检索、更新和删除,添加用户、修改用户和删除用户就是典型的CRUD类型用例。

从用户角度思考

同样在科伯恩的书里,用户目标用例标为蓝色,海平面(对等于雅各布森用例的系统用例),在多数情况下,用户目标用例需要一次2到20分钟的处理。概要层次(白色、云朵,风筝)的用例通常需要执行几个小时到几个月,甚至几年。这层次的用例对照到雅各布森用例体系,相当于业务用例。

从用例包含的业务流程思考

科伯恩推荐用例的主要场景的步骤在3到8、9步。

同时细化时要注意:

1)不要将粒度细化得过小,不要将用例细化为单个操作,比如说点击确认,因为它们联合起来才能体现出业务价值;

2)不要将同一业务目标细化为不同用例;

第四步:确定每个用例之间的关系

参与者用例之间,用例和用例之间主要存在四种关系,分别是关联,泛化,包含,扩展。

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

2)泛化:一个用例可以被特别列举为一个或多个子用例,类似通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

3)包含:用来把一个较复杂用例所表示的功能分解成较小的步骤;基础用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。

4)扩展:指用例功能的延伸,把新行为插入到已有用例,相当于为基础用例提供一个附加功能。

到此,用例图就完成了,剩下的就是回溯复查是否有错误信息了。


总结:用例图可用于需求分析和设计。画用例图时要注意用例的粒度大小,各个要素之间的关联,泛化,包含,拓展四种关系。


参考链接:

用例图与用例描述

需求用例分析之八:用例颗粒度

UML:需求分析与设计的利器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容

  • 社交直播系统软件开发案例咨询【唐经理134微2567电6636】、一对一社交直播软件系统开发模式、社交直播源码系统...
    tang157阅读 164评论 0 0
  • 维生素A 【茅茅老师】 维生素A有两种存在的形式: 第一种,我们就直接叫它维生素A,它...
    8f8fe914ab13阅读 302评论 0 0
  • 用例图。 组成:系统边界。参与者。用例。关系。 参与者:Actor不是人,而是指参与用例时担当的角色。 如果一个角...
    钵仔糕阅读 3,675评论 0 7
  • 抖音上什么样的视频容易得到官方推荐?教你6个上推荐的好方法! 目前短视频平台有很多,抖音成为了大...
    繁星密布的那一夜阅读 140评论 0 0
  • 黑色的海岛上悬着一轮又大又圆的明月,毫不嫌弃地把温柔的月色照在这寸草不生的小岛上。一个少年白衣白发,悠闲自如地倚坐...
    小水Vivian阅读 3,106评论 1 5