在用例图中包含和扩展之间的区别是什么?
当前回答
<include>和<extend>都依赖于基类,但<extend>是可选的,也就是说,它是从基类派生的,但在用户的角度来看,它可以被使用,也可以不被使用。
<include>被合并到基类中,也就是说,在用例中必须使用<include>,否则它将被认为是不完整的。
eg:
在ATM机构造上(根据用户角度):
1:提现、存现、支票账户属于<extend>,因为它取决于用户是提现、存款还是支票。这些都是用户可以选择做的事情。
2:“输入pin,放置卡片,移除卡片”这些是在<包括>下的事情,因为用户必须,而且应该,放置卡片并输入有效的pin进行验证。
其他回答
这是一个很好的资源,有很好的解释: 用例中包含什么? 什么是扩展用例?
扩展用例通常定义可选的行为。它独立于扩展用例 Include用于提取两个或多个用例的行为的公共部分
让我们说清楚一点。每当我们想表达一种情况的存在依赖于另一种情况的存在时,我们就用包含。
例子:
用户只有登录账号后才能在网上购物。换句话说,在他登录自己的账户之前,他不能购物。
在材料被上传之前,用户不能从网站上下载。 所以,如果什么都没有上传,我就无法下载。
你明白了吗?
这是关于条件后果的。如果之前我没有这样做,我就不能这样做。
至少,我认为这是我们使用Include的正确方式。 我倾向于认为上面的笔记本电脑和保修的例子是最有说服力的!
我经常用这个来记住这两点:
我的用例:我要去城市。
包括->驾驶汽车
Extends ->填充汽油
“加油”不一定总是被要求,但也可以根据车里剩余的汽油量来选择。“开车”是一个先决条件,所以我把它包括在内。
我喜欢把“包含”看作基本用例的必要前提/伴随。这意味着如果没有基本用例所包含的用例,就不能认为基本用例是完整的。我将给出一个向客户销售商品的电子商务网站的例子。如果不先选择商品并将其放入购物车,你就无法支付商品。这意味着用例“Pay for Item”包括“select Item”。
扩展的用途多种多样,但我喜欢将其视为一种可能使用也可能不使用的替代方法。例如,仍然在电子商务网站。在付款时,您可以选择货到付款、使用paypal付款或刷卡付款。这些都是“为物品付费”用例的替代方案。我可以根据自己的喜好选择其中任何一种。
想要更清楚地了解用例的规则,请阅读我的文章:
http://businessanalystlearnings.com/ba-techniques/2013/2/20/use-case-diagram-the-basics
<include>和<extend>都依赖于基类,但<extend>是可选的,也就是说,它是从基类派生的,但在用户的角度来看,它可以被使用,也可以不被使用。
<include>被合并到基类中,也就是说,在用例中必须使用<include>,否则它将被认为是不完整的。
eg:
在ATM机构造上(根据用户角度):
1:提现、存现、支票账户属于<extend>,因为它取决于用户是提现、存款还是支票。这些都是用户可以选择做的事情。
2:“输入pin,放置卡片,移除卡片”这些是在<包括>下的事情,因为用户必须,而且应该,放置卡片并输入有效的pin进行验证。