熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

UML類圖標准總結

2013-11-23 19:41:55  來源: Java高級技術 
    以前在做一個項目之前總是在UML的一些概念上花費極大的功夫得出的圖形反而讓自己都含糊不清這兩天一口氣在網上查了很多相關文章

在圖書管也翻了幾本書給自己定義了一個UML嚴格的標准現在拿到網上來兄弟們幫我看看有那些地方又不妥當的地方相互學習

    首先弄清楚類圖是個什麼東西

    類圖(class diagram)描述了模型的靜態結構包括模型中的類的類的內部結構以及於其他類的關系在結構化設計一個系統的時候類圖可以讓我們的思路更加清晰

    類的內部結構就不用說了沒什麼好說的

    一個類與其他的類常見的關系(我所接觸到的關系)有

    一般化關系

    關聯關系

    聚合關系

    組合關系(合成關系)

    依賴關系

    其中聚合關系合成關系又屬於關聯關系

    一般化關系表現是與類之間是(is a)的關系也就是類與類之間的繼承接口於接口之間的繼承或者是對一個接口的實現表示方法是用一個空心箭頭+實線箭頭指向父類或用空心肩頭加虛線(如果富父類是接口的話)

    如圖User定義了系統中一個用戶的原型客戶Customer繼承了User類並且有自己特有的方法管理員Manager類也繼承了User類並且又自己特有的方法而且Manager為了能夠管理客戶還實現了Cmanage這個接口也就具備了Cmanage的所有功能可以對客戶的余額進行操作而且還可以刪除一個客戶


    關聯關系表現為類與類之間的(has a)關系它使一個類知道另一個類的屬性和方法關聯關系表示的是類與類之間的持久關系這種關系一般是表示一種業務邏輯上的關系需要保存到數據庫中的
如圖學生Student中存在一個班級Class的引用在student中可以直接根據引用訪問到Class同時在數據庫中存在兩張表tb_studenttb_class在表tb_student中有一個字段存儲了所關聯的class記錄的id用箭頭+實指向被關聯的類



    聚合關系是關聯的一種是一種強關聯關系聚合關系還體現了一種整體與個體的關系如圖
商品ShangPin是獨立的一張進貨單JinHuoDan內可以又很多個商品可以說進貨單JinHuoDan是整體商品ShangPin是個體可以由進貨單JinHuoDan導航到每個進貨單包含的商品空心菱形+實線+箭頭指向部分

    依賴關系是表現為類與類之間的一種(use a)的關系一個類用到了另一個類為了完成一特定的操作但是類與類之間不存在業務邏輯上的關系依賴關系是針對於程序來說的依賴關系體現在程序中主要是些局部變量方法參數或對一個類方法的調用如圖四:
商品管理類ShangPinManager主要對上提供查詢商品刪除商品的功能而這些功能的實現必須調用Dao類的某些方法來實現(一種調用關系)但是他和我們數據庫持久類Dao沒有業務上的關系更不可能把這兩個類存到數據庫中去虛線+箭頭指向被調用的類

    另外我個人覺得利用聚合足以體現合成沒必要分的那麼詳細UML本身是一種工具沒必要把太多時間花費在工具的一些概念上面

From:http://tw.wingwit.com/Article/program/Java/gj/201311/27320.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.