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