任何人都可以告訴我,如果我必須使用包括依賴項或延伸一?包括或擴展(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圖。他們可以降低可讀性和清晰度。