第八題:設計類圖

重要概念:
1. 類圖(Class Diagram): 類圖是面向對象系統建模中最常用和最重要的圖,是定義其它圖的基礎。類圖主要是用來顯示系統中的類、接口以及它們之間的靜態結構和關系的一種靜態模型。UML用類圖表示類、接口及其關聯。
2. 表示類元屬性的方法:
a.屬性文本:如currentSale:Sale
b.關聯線表示法
c.兩者兼有
屬性文本表示法的完整格式:visibility name : type multiplicity = default {property-string}
關聯線表示的屬性:導航性箭頭+多重性(放在目標一端,而不是源的一端)+角色名(只放在目標一段,用以表示屬性名稱)+不需要關聯名稱
准則:通常對數據類型對象使用屬性文本表示法,對其他對象使用關聯線。
3.關聯端點的描述法
關聯的端點可以附加導航性箭頭,也可包含可選的角色名(關聯端點名)來表示屬性名稱。
關聯端點還可以附加多重性值。
關聯端點還可以使用{ordered}、{ordered、list}這樣的特殊字符串。
4.對象之間的關系






接口是一種特殊的類,具有類的結構但不可被實例化,只可以被實現(繼承)。UML類圖中接口有兩種表示方法:矩形表示法(如圖-2中的飛翔的接口)和棒棒糖表示法(如圖-2中唐老鴨類中實現講人話的接口)。矩形表示法,頂端有<<接口>>或者<<interface>>,第一行:接口名稱,第二行:接口方法。棒棒糖表示法,圓圈旁為接口名稱,接口方法在實現類中出現,如唐老鴨類中的講話。

5.約束
UML約束是對UML元素的限制條件。約束以花括號之間的文本表示,如{size>10}
對屬性的約束條件,寫在屬性后面。對操作的約束,以注釋或后置條件的形式寫出。但是都要有{}。
繪制要點:
具體方法:http://www.cnblogs.com/riky/archive/2007/04/07/704298.html
http://www.uml.org.cn/oobject/201104212.asp
http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html
http://developer.51cto.com/art/201007/209503.htm
實現實例:http://blog.csdn.net/flanet/article/details/7746004
根據實例來看,可以很好的理解掌握類圖中需要可以熟練運用的知識點。
注意事項:
1.畫圖步驟
首先把順序圖里面的類抄過來。
然后查看領域模型,把領域模型里面對應這里的類的屬性copy過來,然后把領域模型里面的關聯到這里變成實現。
補充類的方法。
控制器類方法的數量只能與前面的系統事件數量一樣,系統事件有多少個就只能寫多少個方法。
1) 前面的has,own這種關聯不能留下來,如果留下來,扣分,應把概念類圖中的關聯改為有箭頭沒文字(或有在關聯端點有文字)的表示
2) 多重性要保持
3) 不要寫什么set方法、get方法,這是編程的問題,不是這里的問題
2.一定要與交互圖一一對應
方法和對象都要一一對應!!
3.Domain中先把除了UI和Controller之外的都放進去
分別確定每個對象的屬性,依賴,實現
畫出domain中的各個對象之間的關系(存在的方法)
4.領域模型==》概念透視圖
設計模型(DCD)==》軟件透視圖
試題答案:

