UML期末複習題——2.4:Domain Model

第四題:領域模型函數

 

重要概念:spa

1. 領域模型:是對領域內的概念類或現實世界中對象的可視化表示。領域模型也稱爲概念模型領域對象模型分析對象模型.net

2. 應用UML表示法,領域模型被描述爲一組沒有定義操做的類圖。它提供了概念透視圖。它能夠展現:3d

   1)領域類之間的關聯
   2)概念類之間的關聯
   3)概念類的屬性
 領域模型是可視化字典,表示 領域的重要抽象領域詞彙領域的內容信息

3. 如何找到概念類對象

   1)重用和修改現有的模型:這是首要、最佳且最簡單的方法。
   2)使用分類列表
   3)經過識別名詞短語尋找概念類

4. 準則:屬性和類的常見錯誤
blog

 在建立領域模型時最多見的錯誤是,把應該是概念類的事物表示爲屬性。
 若是咱們認爲某概念類X不是現實世界中的數字或文本,那麼X多是概念類而不是屬性

5. 準則:什麼時候須要描述類?
ip

 在如下狀況下須要增長描述類(例如,ProductDescription):
   1)須要有關商品或服務的描述,獨立於任何商品或服務的現有實例
   2)刪除其全部描述事物的實例後,致使信息丟失,而這些信息是須要維護的,可是被錯誤地與所刪除的事物關聯起來
   3)減小冗餘或重複信息 

6.  關聯:ci

 關聯是類之間的關係,表示 有意義和值得關注的鏈接
 在UML中,關聯被定義爲「兩個式多個類元之間的主義聯繫,涉及這些元實例之間的鏈接」

7. 準則:爲何應該避免加入大量關聯?
字符串

 咱們要避免在領域模型中加入太多的關聯。回顧離散數學的相關知識,能夠知道,在具備N個節點的圖中,節點間有(n*(n-1))/2個關聯,這多是個很是大的數值。連線太多會產生「 視覺干擾」,使圖變得混亂。所在要謹慎地增長關聯線。

8. 準則:在UML中如何對關聯命名get

 以 「類名—動詞短語—類名」的格式爲關聯命名,其中的動詞短語構成了 可讀的和有意義的順序
 例如,Sale Paid—by CashPayment 反面示例,應改成Sale Uses CashPayment
           Player Is—on Square 反面示例,應覺得 Player Has Square
  關聯名稱應該使用首字母大寫的形式。在UML中,類元應該首字母大寫。如下是複合性關聯名稱的兩種常見而且等價的合法格式:
                                 Records—current
                                 RecordsCurrent

9. 應用UML:角色

  關聯的每一端稱爲角色。角色具備以下可選項:
  1)多重性表達式
  2)名稱
  3)導航

10. 應用UML:多重性

  多重性定義了類A有多少個實例能夠和類B的一個實例關聯

11. 應用UML:兩個類之間的多重關聯

  在UML類圖中,兩個類之間可能會有多重關聯,這並不罕見。
 

12. 屬性:是對象的邏輯數據值

  準則:什麼時候展現屬性
   需求建議或暗示須要記住信息時,引入屬性
例如,在處理銷售用例中的票據一般含有工期和時間、店名和地址以及收銀員ID等
所以,
      1)Sale須要dataTime屬性
      2)Store須要name和address屬性
      3)Cashier須要ID屬性
在UML中,屬性的完整語法是:
      visibility name:type multiplicity=default{property—string}
   準則:什麼樣的屬性類型是適當的
  十分常見的數據類型包括:Boolean、Date(or DataTime)、Number、Character、String(Text)和Time等
  準則:什麼時候定義新的數據類型類
  下述狀況下,在領域模型裏,把最初被認爲是數字或字符串的數據類型表示爲新的數據類型類:
    1)由不一樣的小節組成
    2)具備與之相關的操做,例如解析或校驗
    3)具備其餘屬性
    4)單位的數量
    5)具備以上性質的一個或多個類型的抽象
 
繪製要點:
 
注意事項:

  1.名詞法:找一堆名詞,而後把這堆名詞之間的關係給創建起來

  2.名詞裏面有屬性。要判斷名詞是否是概念類,是否是屬性。

  3.考試的時候是針對一個用例來畫領域模型,必定要看清楚是要對哪一個用例建模,沒有那麼多時間對整個系統建模。

  (1)先找到全部名詞,判斷它是類仍是屬性

    找名詞的原則(下面不要的名詞標紅):

    1) 跟UI相關的名詞不要

    2) 跟database相關的名詞不要

    3) 跟業務流程沒有關係的名詞不要,如技術相關的術語,以下面的workflow,list

    4) 任何計算出來的結果,不參與業務運算,不要,若是留下了這個會扣分

    5) 模糊的術語必定要過濾掉

  (2)若是出現動詞,扣分

  (3)沒有名詞,扣分

  (4)多重性(關聯的一對多,一對一等)沒有,扣分

  (5)漏掉一兩個類,不扣分

  六、 屬性,假如每個類有七八個屬性,只寫一兩個典型的表明便可,考試沒有那麼多時間

  七、 領域模型的類不能有操做(也就是類的函數),若是寫出來要扣分。

  八、 若是有描述類,必定要畫出來。

  描述類是包含其餘事物的信息的類。命名方式:被描述類名Description

  被描述的事物存在,而且描述獨立於事物的實例

  好比酒店的每個同類型的房間價格都是同樣的,它並不隨着房間號的變化而變化,因此把房間描述獨立出來會比較好

     九、 沒有描述類必定會扣分!

     整個畫圖的最重要步驟就是找出名詞!

 
試題答案:
相關文章
相關標籤/搜索