首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用例图-扩展用例,但从不使用父用例?

用例图-扩展用例,但从不使用父用例?
EN

Stack Overflow用户
提问于 2013-02-19 05:30:01
回答 4查看 1.7K关注 0票数 1

我有一个家长用例。我不想让用户使用父用例。我只想让用户有权访问子用例。可以把它看作是Java中的一个抽象类。你永远不能实例化一个抽象类。用例图允许这样的行为吗?

EN

回答 4

Stack Overflow用户

发布于 2013-05-28 17:39:16

是的,可以有“父”或“子”用例。用于对此关系进行建模的连接器称为generalization。请看这里:Use case generalization versus extension,一个包含图表的例子也在这里。

请注意:如果您将泛化建模为一个用例,那么这是另一回事(!)而不是<<extend>> one。

您可以在文本用例描述中添加关于调用约束的注释。

票数 1
EN

Stack Overflow用户

发布于 2013-06-15 04:00:35

@observer的答案几乎是完美的(我已经+1'd it :)),除了他没有完全回答你的问题。

在这种情况下,您可能会执行以下操作:

  • Actor0将管理到Pay bill,无论是使用Pay with credit card还是Pay with PayPal。另一方面,Pay with credit card.

将只能对

  • 执行Pay with credit card.

操作

这意味着:

"children".

  • Let
  1. 使用泛化来模拟您的“父”用例和它的参与者之间的关系,您只想“访问”一个子级,以便仅与该用例关联。
票数 0
EN

Stack Overflow用户

发布于 2013-02-20 05:32:46

是!(也是最终的,因为UseCase是分类器的特化)。

引用统一建模语言(OMG UML),上层建筑:

Generalizations

  • UseCase (来自UseCases)专攻BehavioredClassifier (来自BasicBehaviors,通信)。
  • BehavioredClassifier专攻分类器(来自内核、依赖项、PowerTypes、接口)。

分类器属性:分类器具有以下属性:

  • isAbstract:布尔值(如果为true,则分类器不提供完整的声明,并且通常不能为布尔值(如果为true,则分类器不能由generalization).专门化

Constraints:分类器只能专门化有效类型的分类器。

代码语言:javascript
复制
   self.parents()->forAll(c | self.maySpecializeType(c))

Additional operations

查询maySpecializeType()确定该分类器是否可以与指定类型的分类器具有泛化关系。默认情况下,分类器可以专门化相同类型或更通用类型的分类器。

代码语言:javascript
复制
Classifier::maySpecializeType(c : Classifier) : Boolean;
maySpecializeType = self.oclIsKindOf(c.oclType)

最后,但同样重要的是,尽管它说maySpecializeType()“旨在由具有不同专门化约束的分类器重新定义”……对于UseCase或BehavioredClassifier,没有maySpecializeType()的重新定义。

来源:统一建模语言(OMG UML),上层建筑,版本2.4.1。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14945618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档