我對UML很陌生,特別是用例圖。我試圖爲我的應用程序繪製一個用例圖,其中包括租戶,賣家和一般用戶。我的出租人和賣家可以延伸普通用戶。我在包含和擴展方面遇到問題。例如,當您查看辦公空間時,您還可以在頁面底部查看它的評論。除了承租人希望撰寫評論時,他/她必須在查看辦公空間頁面上執行此操作。我不確定這是擴展還是包含。如果我對我的箭頭方向有任何疑問,請糾正我。另外,可以說租戶和賣方包括登錄嗎?使用案例圖有擴展的問題,並且包含在我的圖中
回答
正如Jim所說:I/E適用於UCs,不適用於演員。我假設你的意思是泛化,所以都從一般用戶繼承。
一些進一步的觀察:
- 使用動詞實質性的UCS標題
- 思考的使用情況下, 「使用」。 IOW:增值。如果你沒有找到它的附加值,那麼它不是用例。
- 避免一般的I/E。他們經常表示您嘗試使用不是UC合成目標的功能分解。
- 在任何情況下,您在UCs之間繪製的關係都是錯誤的。沒有關係,它有一個實心的三角形,並點綴。您可能打算使用一些
<<include>>
依賴項(打開箭頭)。但如上所述:避免它。只需爲演員創建一個關聯。只需在評論和普通用戶之間繪製一個就足夠了,因爲Renter會繼承關係。 - 登入/離開沒有UCs(沒有附加值)。這是對其他UC的限制(寫{必須登錄}並連接到連接器)
你一般不應模型登錄用的情況下,因爲它們不直接幫助用戶完成任何事情,他或她關心。
包含和擴展是使用用例之間的關係,而不是演員。的UML 2.5規範表示:
一個擴展是:
從延伸用例以擴展的用例,它指定如何以及何時在延伸用例中定義的行爲能夠被插入到所述的關係行爲在擴展的UseCase中定義。
一種包括是:
包含關係指定一個用例包含另一個用例中定義的行爲。
演員之間的一般化/專業化關係是完全沒有問題。這只是一個泛化箭頭。 (例如,帶有空心箭頭的實線)。
http:// stackoverflow。com/questions/13224218/can-i-extend-actor-in-use-case – unconditionalcoder
嗯......我會看看UML 2.5規範,以確保我是正確的......感謝您指出了這一點。 –
另外,我用這個作爲指導。 http://www.gatherspace.com/static/use_case_example.html提示4擴展它以及 – unconditionalcoder
- 1. 用例圖包含並擴展
- 2. 不包含'Form1'的定義並且沒有擴展方法'Form1'
- 3. 擴展和包含在用例中
- 4. 在Firefox擴展中包含圖像
- 5. 不包含定義...並且沒有擴展方法
- 6. ImageView包含圖像的案例檢查
- 7. 用例圖 - 擴展並關聯到擴展的UC
- 8. jQuery驗證圖像擴展案例
- 9. 斯卡拉案例類地圖擴展
- 10. 如何從URL中不包含圖片擴展名的圖片擴展名中獲取圖片擴展
- 11. Ruby mixins:擴展幷包含
- 12. 擴展名可能不包含存儲的屬性,並且不會在swift中出現任何成員問題
- 13. 包含或擴展用例關係?
- 14. 用例圖包含
- 15. 在ggplot中使用兩個數據幀並且遇到圖例問題
- 16. 'ObjectContext'不包含'Entry'的定義並且沒有擴展方法'Entry'
- 17. 「double」不包含定義,並且找不到擴展方法?
- 18. Chrome擴展中的問題示例
- 19. 試圖在java中擴展一個類並遇到問題
- 20. 包含並擴展相同的文件?
- 21. 可擴展的列表視圖問題
- 22. 動態擴展視圖的問題
- 23. UML用例圖:重用擴展用例
- 24. 如何在您的_oasis文件中包含語法擴展?我試圖使用衍生-ocsigen.syntax在我的項目
- 25. IBM Rational DOORS:使用案例擴展?
- 26. 擴展與基本使用案例
- 27. ExtJS的擴展,並且在啓動
- 28. 如何將flask wtform從擴展視圖移動到擴展視圖並實例化所有視圖的表單?
- 29. 使用包含在Facelets中的問題
- 30. 擴展包含在div中的textarea
謝謝!你說這兩個都是一般用戶的概括。我怎樣才能在UML圖上顯示這個?我應該保持箭頭沒有延伸? – unconditionalcoder
泛化以實線表示,並以一個未填充的三角形結束於普通課程。所以,只需用一個沒有刻板印象的堅實的虛線替換你的虛線,並使箭頭成爲一個未填充的三角形。 –