2011-02-06 101 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圖。他們可以降低可讀性和清晰度。