UML学习---用例图

1、什么是用例图

 用例图源于Jacobson的OOSE方法,用例图是需求分析的产物,描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。它的主要目的就是帮助开发团队以一种可视化的方式理解系统的功能需求,包括基于基本流程的“角色”关系以及系统各个功能之间的关系。它通过用例(Use Case)来捕获系统的需求,再结合参与者(Actor)进行系统功能需求的分析和设计。

2、用例图的组成

 用例图有四部分组成:用例(Use Case)、参与者(Actor)、系统边界、关联

2.1 参与者

在一个系统开发前,我们必定首先要确定系统的用户,系统的用户就是系统的参与者。除此以外,我们还会想打,我们开发的系统与其他的系统有什么关联?因此,系统的参与者可分为两类,一类是人,包括系统的使用者、维护者等,另外一类是其他系统。

2.2 用例

 用例(Use Case)是参与者(Actor)可以感受到的系统服务或功能单元。

  任何用例都不能在缺少参与者的情况下独立存在。同样,任何参与者也必须要有与之关联的用例,所以识别用例的最好方法就是从分析系统参与者开始,在这个过程中往往会发现新的参与者。

  用例是有粒度的,用例的粒度指的是用例所包含的系统服务或功能单元的多少。用例的粒度越大,用例包含的功能越多,反之则包含的功能越少。

2.3 系统边界

所谓系统边界是指系统与系统之间的界限。把系统边界以外的同系统相关联的其他部分称之为系统环境。

2.4 关联

  为了减少模型维护的工作量、保证用例模型的可维护性和一致性,可以在用例之间抽象出包含(Include)、扩展(Extend)和泛化(Generalization)这几种关系

包含关系是指用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。

扩展关系是指在一定条件下,把新的行为加入到已有的用例中,获得的新用例称为扩展用例(Extension),原有的用例称为基础用例(Base)。

泛化关系是指一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。

3、简单登录注册系统用例图

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏GreenLeaves

Builder生成器(创建型模式)

一、使用场景: 1、假设要创建一个House设施,该设施的创建由若干个部分组成,而且这若干个部分经常变化。 如果用最直观的设计方式,每一个房屋部分的变化,都将导...

1846
来自专栏CSDN技术头条

编码过程中需尽量避免的 7 条捷径

1. 复制代码 “我认为最有价值的规则是避免重复。有且仅有一次是极限编程里的说法。- Martin Fowler 这很容易成为头号规则。如果你想要你的代码坚如磐...

1936
来自专栏AI科技大本营的专栏

经验 | 如何成为一名顶级战斗力的数据分析师?

翻译 | AI科技大本营(rgznai100) 参与 | reason_W 不知道大家以前听没听说过“10x Developer”这个词,如果你连听都还没听说过...

2847
来自专栏大数据文摘

Twitter新政:变革140字推文限定背后,Twitter有何新目标?

1326
来自专栏WeTest质量开放平台团队的专栏

移动平台 Unity3D 应用性能优化(上)

一些关于移动平台上Unity3D的性能优化经验,供分享。

2840
来自专栏数据科学与人工智能

【Python环境】Python 开发者节省时间的 10 个方法

Python 是一个美丽的语言,可以激发用户对它的爱。所以如果你试图加入程序员行列,或者你有点厌倦C++,Perl,Java 和其他语言,我推荐你尝试Pytho...

2287
来自专栏PPV课数据科学社区

【工具】深入对比数据科学工具箱:Python和R之争

文章目录 概述 应用场景对比 应用Python的场景 应用R的场景 数据流编程对比 参数传递 数据传输与解析 基本数据结构 MapReduce 矩阵操作 数据框...

3414
来自专栏Python爬虫实战

Python爬虫之六:智联招聘进阶版

运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器

1601
来自专栏程序猿DD

领域驱动设计

关于领域驱动设计 这篇文章参考了Eric Evans《领域驱动设计》一书以及Jimmy Nilsson《以C# .NET为例运用领域驱动设计和模式》,二者详细描...

4019
来自专栏python小白到大牛

python爬取B站千万级数据,发现了这些热门UP主的秘密!

Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象、直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史...

1340

扫码关注云+社区