用例图(Use Case Diagram)是整个UML9种图中最基础、最重要的一种图。为什么说它重要呢?因为用例图描述的是待开发系统的功能需求,这些功能需求是UML其它几种视图的依据和基础,其它几种图都要围绕用例图中定义的用例来建模,也可以说其它几种图都是为了实现用例图中的用例而存在的。那么用例图都有哪几种元素组成呢?角色(Actor)
1.用
例
的概念
在软件和系统工程中,用
例
是一系列系统的操作或事件步骤,通常通过用户的使用场景来获取需求。每个用
例
会提供一个或者多个场景,用场景说明系统怎样和用户或其他系统交互,从而获得一个明确的业务目标。
2.用
例
和场景的
关系
?什么是主场景 或 happy path?
用
例
和场景的
关系
每个用
例
提供...
用
例
是软件工程或系统工程中对系统如何反应外界请求得描述,是一种通过用户的使用场景来获取需求的技术;
每个用
例
提供了一个或多个场景,该场景说明了系统是如何和最终用户或其他系统互动的,也就是谁可以用系统做什么,从而获得一个明确的业务目标;
用
例
是在不展现一个系统或子系统内部结构的情况下,对系统或子系统的某个连贯的功能单元的定义和描述;
用
例
是一系列相关的成功和失败场景的集合,这些...
用
例
的概念
用
例
(use case),或译使用案
例
、用况,是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。
每个用
例
提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。
在软件工程中,用
例
表示一种通过用户的使用场景来获取需求的技术,一般由软件开发者和用户共同编写。
用
例
是一系列描述用户使用系统实某种目的时成功或失败的场景的集合,它使用文字表示,而不是
图
表
用
例
和场景的
关系
?什么是主场景或 happy path?
一个场景是一系列用户和系统间动作和会话的合集,是用
例
的一个实
例
;
一个用
例
代表一系列场景的集合,其中包括主场景和一个/多个可选的替代场景;
主场景是主要的系统交互,常常是成功的场景(而不是失败的场景);Happy Path 是一个无异常或无错的默认场景;
用
例
有哪些形式?
Brief:是一段总结概括,并且经常是描述主要成功场景的;在早
今天在看
UML
中用
例
图
的时候,发现之前总结的博客有一些理解上的问题,确实
include
与
extend
有很大的区别,今天通过深入的学习,现在已经纠正以前的错误了,接下来大家和我一起看看这二者之间到底是怎么的一种存在吧!
1、简单语言区分
1、之前《
include
》的学习误区
大家都知道
include
的中文意思是包含的意思,我最初的理解就是一个用
例
包含另一个用
例
!二者之间就是单单的包含
关系
就行...
UML
用
例
图
包含六个元素,分别是:角色(Actor)、用
例
UseCase)、关联
关系
(Association)、包含
关系
(
Include
)、扩展
关系
(
Extend
)以及泛化
关系
(Generalization)。
角色(Actor)是与系统中的用
例
交互的一些实体,在实际情况中,角色可以是人,也可以是其他系统或者硬件设备。
用
例
(UseCase)指的是系统的功能,它是系统某个功能的
include
和
extend
是用
例
图
中的两个关键词,它们用于描述用
例
之间的
关系
。
include
表示一个用
例
包含另一个用
例
,即一个用
例
在执行过程中需要调用另一个用
例
来完成某些功能。这种
关系
通常是必须的,因为一个用
例
需要依赖另一个用
例
的功能才能完成自己的任务。
extend
表示一个用
例
可以扩展另一个用
例
,即一个用
例
可以在另一个用
例
的基础上添加一些额外的功能。这种
关系
通常是可选的,因为一个用
例
可以选择是否要扩展另一个用
例
的功能。
总之,
include
和
extend
是用
例
图
中非常重要的概念,它们可以帮助我们更好地理解用
例
之间的
关系
,从而更好地设计和实现软件系统。
### 回答2:
用
例
图
中的
include
和
extend
是这样两种
关系
:
1.
include
:表示一个用
例
包含另一个用
例
。即,一个用
例
的执行过程中,需要执行另一个用
例
。在用
例
图
中,
include
关系
用虚线箭头表示。
例
如,用户注册的用
例
包括发送邮件通知的用
例
。在注册过程中,需要发送邮件通知用户注册成功,所以发送邮件通知这个用
例
就是注册用
例
的一个子用
例
。
2.
extend
:表示一个用
例
扩展另一个用
例
。即,一个用
例
的执行过程中,如果满足一定条件,会调用另一个用
例
进行扩展。在用
例
图
中,
extend
关系
用虚线箭头和带有<<
extend
>>标记的关键字表示。
例
如,用户购买商品的用
例
可以扩展一个使用优惠券的用
例
。如果用户满足使用优惠券的条件,就可以进入使用优惠券这个扩展用
例
进行操作。
总的来说,
include
关系
用于把用
例
拆分为更小的子用
例
,更好地描述用
例
执行过程;而
extend
关系
则用于描述可选的扩展用
例
,用于满足特定条件时的操作。两种
关系
都可以使用
例
图
更加清晰明了,更好地描述用
例
的执行过程。
### 回答3:
用
例
图
中的
include
和
extend
是两种重要的
关系
关联,它们帮助人们描述用
例
之间的依赖
关系
和扩展
关系
。
首先,
include
关系
表示一个用
例
包含另一个用
例
,也就是说一个用
例
是基于另一个用
例
的扩展而来的。这种
关系
通常用于描述一些共性的功能或行为,比如:一个购物车的用
例
可以包含添加商品、删除商品、结算等子用
例
,这些子用
例
是购物车必要的功能,也是购物车的共性。当有新的功能需要添加时,可以通过扩展已有用
例
来实现,不需要从头开始设计新的用
例
。这种
关系
用实心箭头表示,箭头指向被包含的用
例
。
其次,
extend
关系
表示一个用
例
可以在某些触发条件下扩展另一个用
例
,从而实现新的功能或行为。这种
关系
通常用于描述一些可选的功能或行为,比如:一个下单用
例
可以在支付方式选择时扩展支付宝支付、微信支付等子用
例
,这些子用
例
是下单的可选功能。当用户需要使用这些可选功能时,可以触发扩展用
例
来实现。这种
关系
用虚线箭头表示,箭头指向扩展的用
例
。
需要注意的是,
include
和
extend
是两种不同的
关系
,不能混淆使用。通常
建
议先设计基础用
例
,再通过包含和扩展来实现功能的扩展和完善。同时也需要注意,这些用
例
关系
仅仅是在用
例
层面上进行描述,不能直接映射到软件系统的代码实现。