我目前正在刷新/改變我在軟件開發方面的知識,因爲我很快就會在這方面工作。我們已經在大學學到了很多關於UML圖和編碼的知識,但是我從來沒有把它們放在一個真正的項目中。因此,我開始在Grails中創建一個測試Web應用程序,並且我希望從需求分析開始,並且使用案例也保持接近實際。我是否對那些擴展或包含用例使用相同的actor?
我的網絡應用程序應該允許用戶共享食譜,查找食譜和審查其他用戶的食譜。每一個食譜都有很多成分,不僅僅是字符串,而是實體,所以卡路里,脂肪,蛋白質和碳水化合物可以用來自動計算某一配方的營養成分。
一種成分可以由消費者或營養專家添加到數據庫中。如果它是由消費者創建的,它只是一種「預期」成分,這意味着它必須由管理員驗證才能成爲「適當」的成分 - 否則它會被標記,例如。紅色的文字顏色。
這是我目前用例圖:
http://ubuntuone.com/0zDw9kEbj1BwtXjnCtxdwC
我的問題在這裏:
- ,如果我使用包括或延長,我將不得不使用那些相同的主要參與者擴展或包含用例? (在截圖:難道
AddProspectiveIngredient
有不同的主要參與者比CreateRecipe
爲include
同樣的問題?)
編輯:我不認爲這個問題被廣泛問:如果我使用包括或延長,將我必須爲擴展或包含用例使用相同的主角色?
我同意,因爲這是我的#2第一個問題,那有一開始一些不必要的樣板。如果是這種情況,我可以編輯我的問題以保持開放。我仍然希望有人能夠偶然發現併爲我提供更多的知識或來源。
再次感謝您的回覆。在你的例子中,這是否意味着你可以創建一個聚合用例'AB',其中X是主要的,Y是次要的?因此,Y幫助X實現了他們的目標,因此完成使用案例A. – nst1nctz
@ user3025256恕我直言,X和Y都會與AB合作,但他們中的哪些人是次要的,取決於客戶的看法。 X可以做更多的事情。但這並不意味着他總是更重要。什麼是主要的,什麼是次要的與模型抽象無關。這只是我們對重要性的評估。這些信息有助於瞭解整個域名及其使用情況,在我們的計劃中應予以考慮,但這是比整個IT系統級別更高的信息。 – Gangnus
我剛剛發現我爲什麼對這個問題感到困惑的原因。在我們在大學使用的一本書中,由Noushin和Hessam Ashrafi撰寫的面向對象系統分析和設計Pearson國際版,討論了這個話題。 「擴展用例的主要參與者必須與基本用例的主要參與者相同」(第226頁)但本書並沒有將這個問題與包含關係進行討論。遵循這個規則是明智的嗎? – nst1nctz