2011-02-06 123 views
1

任何人都可以告诉我,如果我必须使用包括依赖项或延伸一?包括或扩展(UML java)

Use_case答:选择和加载文件

Use_case B:显示波形

每当用户选择并加载音频文件,立即被显示的波形。

我认为Use_case A和Use_case B应该连接延伸 .... 我是对吗? 谢谢

回答

3

我会说include不是extend

原因:用户的观点为Display Waveform。选择和加载文件是实现这一目标的手段,而不是本身的目的。很难看到Select and Load file曾经有过自己的用途:它不代表有价值的最终用户功能。如果在不止一个“真正的”UCs中采取共同步骤,它将永远只存在于UC中。

hth。

0

在我看来,这两个并不一定是单独的用例。在识别用例时,尽量考虑用户的观点。向用户显示文件可能是打开文件的整个过程的一个步骤。

如果你只有一种文件类型,并且这是总是发生的事情,那么一个用例足够好。如果你有不同的文件类型,用户可以选择和加载,并且每次发生不同的事情时,提取第一部分以避免重复可能是一个好主意,但这取决于它。在这种情况下,使用扩展。 (即使这可能与备选流虽然处理)

的几点:

1 - 请注意,包括和扩展都没有相关性,相关性是UML相互之间的关系。

2-良好的用例是那些独立于UI的。关注用户想要达到的目标。编写用例时不要做与UI相关的决定。当“A”包括“B”时,每次发生“A”时都会发生“B”。它就像是从“A”到“B”的无条件函数调用。所以“B”可以永远是“A”的一部分。我们将“B”分为重用性和模块性。

4-一些专业人士建议尽可能避免延长。扩展和包含并不一定意味着专业的UC图。他们可以降低可读性和清晰度。