有人可以告诉我是否必须使用包含依赖关系或扩展吗?
Use_case A:选择并加载文件
Use_case B:显示波形
每当用户选择并加载音频文件时,都会立即显示波形。
我认为Use_case A和Use_case B应该通过 extends 连接.... 我对吗? 谢谢
答案 0 :(得分:3)
我说include
不是extend
。
原因:用户的观点是Display Waveform
。选择和加载文件是实现目的的手段,而不是目的本身。很难看到Select and Load file
一直在使用它:它并不代表有价值的最终用户功能。如果在一个以上的“真正的”UC中共同步骤,它将永远作为UC存在。
第h
答案 1 :(得分:0)
在我看来,这两个不一定是单独的用例。在识别用例时,请尝试考虑用户的观点。向用户显示文件可能是打开文件的整个过程的一个步骤。
如果你只有一种文件类型,这就是经常发生的事情,一个用例就足够了。如果您有不同的文件类型,用户可以选择和加载,并且每次发生不同的事情时,提取第一部分以避免重复可能是个好主意,但这取决于它。在这种情况下,请使用extend。 (即使这可以通过替代流程来处理)
几点:
1-请注意,include和extend不是依赖项,依赖项是UML中的另一种关系。
2-良好的用例是与UI无关的用例。专注于用户想要实现的目标。在编写用例时不要做出与UI相关的决定。
3-当“A”包括“B”时,每次“A”发生时都会发生“B”。它就像从“A”到“B”的无条件函数调用。所以“B”可能永远是“A”的一部分。我们将“B”分开用于可重用性和模块化。
4-一些专业人士建议尽可能避免延长。扩展和包含并不一定意味着专业的UC图表。它们可能会降低可读性和清晰度。