Uml 在业务用例的备用流中包含语句
我正在对一个系统进行需求分析,目前我试图编写业务用例(BUC)并绘制业务用例图。我目前使用以下准则:Uml 在业务用例的备用流中包含语句,uml,use-case,requirements,Uml,Use Case,Requirements,我正在对一个系统进行需求分析,目前我试图编写业务用例(BUC)并绘制业务用例图。我目前使用以下准则: 当我有BUC的可选额外步骤时,我使用EXTEND语句指向可以找到这些可选步骤的BUC。扩展的BUC和被扩展的BUC都可以独立存在 当我在多个BUC中有重复的功能时,我尝试提取该功能并将其放在单独的BUC中。然后在提取功能的BUC中使用INCLUDE语句,指向可以找到该功能的BUC。使用INCLUDE语句指向外部BUC的BUC本身无法工作 这一切都很好,直到我出现以下情况: 在一个BUC的备
- 当我有BUC的可选额外步骤时,我使用EXTEND语句指向可以找到这些可选步骤的BUC。扩展的BUC和被扩展的BUC都可以独立存在
- 当我在多个BUC中有重复的功能时,我尝试提取该功能并将其放在单独的BUC中。然后在提取功能的BUC中使用INCLUDE语句,指向可以找到该功能的BUC。使用INCLUDE语句指向外部BUC的BUC本身无法工作
- 在一个BUC的备用流程中(我们称之为a),有我已经在另一个BUC中指定的重复功能(我们称之为B)
- 所以我自然想用INCLUDE语句指向B
- 如果我这样做,我还必须在我的业务用例图中显示这一点
- 如果我在图中画一个包含箭头(从A到B),它看起来像没有B A就不可能存在
- 但是情况并非如此,因为A只有在交替流中才需要B
有什么想法吗?
当(且仅当)运行包含的UC时使用include
始终在运行主UC时使用
extend
可以在不运行扩展UC的情况下完成主UC,但在某些备用流中也运行扩展UC时使用
因此,您应该使用extend
可以显示扩展点。您可以用它来解释逻辑(说明在进入备用流时始终运行扩展UC)。如果逻辑更复杂,也可以将其放在注释中
我在这里不讨论您的分解是否是一种正确的方法(但请期待其他人的讨论)。根据您的描述,您不是在进行用例合成,而是在进行功能分解。这显然是错误的。用例合成的重点是关注用例给参与者带来的附加值,而不是分解任何功能
我强烈建议您在继续前进之前阅读Bittner/Spence,并了解基本知识-分别返回并瞄准正确的目标。“但请期待其他人的讨论”:-D:-D