2016-03-04 105 views
2

我想問你關於我的類圖。我正在爲我週末的大學學習做一個簡單的門戶網站的類圖。它製作正確嗎?如果我是你,你會改變什麼?使用案例,你可以在這裏找到Class diagram from use case diagram簡單網絡門戶的UML類圖

我應該分別創建每個用戶類嗎?我指的是Admin類,Redactor類,Moderator類等。我已經使用特權字段(請參閱用戶類)來模擬每個用戶的角色。這是對的嗎?

我想ContentManager類持有用戶類實例,它在Article,Announcement,Advertisement和Comment類中用來檢查這些動作是否被允許。

enter image description here

我將是你的答案非常高興。在這裏你可以找到WhiteStarUML程序的XML文件my XML file

+0

請在此處移動您的類圖。 –

+0

我把它粘貼在上面,但是stackoverflow需要至少有10個聲望點才能發佈和顯示圖像。我會請你點擊鏈接。 – Jarmark

+0

我爲你編輯它。 –

回答

3

你應該做的是創建一個你的域的分析模型。該模型將包含像ArticleAnnouncement等類,就像您在當前圖中所示。舉例來說,請參考another answer我最近發佈給別人的問題。示出了這個問題的答案該圖再次在這裏爲您提供方便:

enter image description here

請注意我在這個問題的答案提供的模型如何有沒有像UserManager或只包含代碼來處理其他類別ContentManager。除非人們真的扮演這些角色,否則你不需要這些。注意它在每個協會的末尾都有動詞短語和多重性,以告訴你爲什麼事情是相關的。注意在這些類中沒有普通的CRUD操作,比如創建,更新和刪除。一旦你建立了一個分析模型,那麼你應該將動作分配給適當的類,這通常會反映你的用例。例如,您的Comment類可能有edit()操作。但它可能不會。您可能會考慮在Article類中執行名爲replaceComment()的操作(如果這是您的域的工作方式)。我不知道你的域名應該如何工作,因爲你錯過了一個分析模型,它可以教給我!

完成分析模型後,我會製作一個設計模型,通過解決方案域問題來增強它,例如將用戶登錄到系統中。 Here is an answer to another question,您可能會發現從分析到設計有幫助。

+0

這只是一個例子。我很難想象我的類圖應該如何顯示。你能製作一張能幫助我理解我的班級圖的繪畫嗎?我的意思是使用前一篇文章中使用的類名。 – Jarmark

+0

我對你的域名一無所知。你能列出一些事實,就像這個答案中第一組子彈中的那些事實嗎? http://stackoverflow.com/a/29462410/2596664 –

+0

一些猜測:作者_writes_許多文章,文章_contains_一個或多個廣告,讀者_leaves_任意數量的評論,一條評論_annotates_一篇文章,... –