一,、概念- 面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心,。
- 對一組具有相同屬性、操作,、關(guān)系和語義的對象的抽象,。可以是實(shí)物也可以是概念性事物
類圖中可以包含注釋和約束,,可以包含包或子系統(tǒng),。 類圖=類+關(guān)系+約束
二、類圖包含的元素1.類(Class)(1)名稱 - 簡單名:一個(gè)字符串表示,,如,“學(xué)生”
- 路徑名:一個(gè)路徑表示,如,,“學(xué)校::學(xué)生”
(2)屬性 類屬性的語法為: [可見性] 屬性名[多重性][: 類型 ] [= 缺省值] [{屬性字符串}] 屬性不是必須的,,描述了類在軟件系統(tǒng)中代表的事物(即對象)所具備的特性。可見性的三種標(biāo)記:
- +或public 公共,,可被外部對象訪問,;
- #或protect 保護(hù),可被本類和子類的對象訪問,;
- -或private 私有,,不可被外部對象訪問。
屬性名注意事項(xiàng):- 每個(gè)屬性都必須有一個(gè)名字以區(qū)別于類中的其他屬性,。(同一個(gè)類中不能重復(fù),,必須保證唯一性)
- 屬性名由描述所屬類的特性的名詞或名詞短語組成。
- 單字屬性名小寫,,如果屬性名包含了多個(gè)單詞,,這些單詞要合并,且除了第一個(gè)單詞外其余單詞的首字母要大寫,。(駝峰式命名,,但是第一個(gè)字母小寫)
多重性:用多值表達(dá)式表達(dá),低界..高界,。低界和高界可以是一個(gè)整型數(shù),,或者是“*”。缺省表示“1..1”,表示該屬性只有一個(gè)值,。 例如:“姓名[0..1]:String”說明屬性“姓名”可以為空或一個(gè)姓名值,,數(shù)據(jù)類型為“字符串”。
屬性字符串 :
- 指定關(guān)于屬性的其他信息,。
- 任何希望添加在屬性定義字符串值但又沒有合適地方可以加入的規(guī)則,,都可以放在屬性字符串里。
補(bǔ)充說明:
- 屬性可以作為一個(gè)類屬性來定義,,這樣該屬性被該類的所有對象共享,,類圖中,類屬性(操作)帶有下劃線,。
- 對于任何一個(gè)對象,,其每個(gè)屬性都具有一個(gè)確定的值。而且,,一般來講,,屬性總是單值的。
(3)操作 在UML中,,類操作的語法為: [可見性] 操作名[(參數(shù)表)][: 返回類型] [{屬性字符串}]
操作注意事項(xiàng):
- 操作名采用駝峰式命名規(guī)則,,且第一個(gè)字母小寫,。
- 參數(shù)列表可以使多個(gè),且用逗號(hào)分隔
(4)職責(zé)(暫時(shí)不理解) - 類或其他元素的契約或義務(wù),。
- 自由形式的文本,。
- 非形式化的方法。
(5)約束
- 指定了類所要滿足的一個(gè)或多個(gè)規(guī)則,。
- 在畫類圖的過程中,,也可以為關(guān)聯(lián)、屬性等加上一些約束,,以規(guī)定其含義,。
- 約束規(guī)則的語法:將約束條件放在括號(hào){ }中,用自然語言或其他常見的設(shè)計(jì)語言來描述,,其描述要簡潔準(zhǔn)確,。
- 在理想的情況下,在所使用的程序設(shè)計(jì)語言中,,約束表示一個(gè)永真的邏輯陳述,。
(6)注釋
注釋可以包含圖形也可以包含文本。
2.接口(Interface)接口其實(shí)是一種特殊的抽象類,。不含屬性,,操作沒有方法。(與Java中的概念相同)
接口的表示方式: 一個(gè)帶名稱的小圓圈
抽象類的表示方式: 帶有構(gòu)造型>的類
3.協(xié)作(Collaboration)詳見《UML圖詳解()——協(xié)作圖》*******************************-》超鏈接(后期更改)
4.依賴關(guān)系(Dependency)詳見《UML之關(guān)系詳解(類圖)》
5.泛化關(guān)系(Generalization)詳見《UML之關(guān)系詳解(類圖)》
6.關(guān)聯(lián)關(guān)系(Association)詳見《UML之關(guān)系詳解(類圖)》
7.實(shí)現(xiàn)關(guān)系(Realization)詳見《UML之關(guān)系詳解(類圖)》
三,、使用類圖的幾點(diǎn)建議- 在項(xiàng)目初始階段,,不要使用所有的符號(hào),應(yīng)從簡單的概念開始,。
- 不同的開發(fā)階段應(yīng)用不同的觀點(diǎn)畫類圖:分析階段用概念層類圖,;設(shè)計(jì)階段用說明層類圖;實(shí)現(xiàn)階段用實(shí)現(xiàn)層類圖,。
- 不要為每個(gè)事物都畫一個(gè)模型,,應(yīng)把精力放在關(guān)鍵的領(lǐng)域,畫幾張較為關(guān)鍵的圖,,經(jīng)常使用,,不斷更新。
- 使用類圖的最大危險(xiǎn)是過早地陷入實(shí)現(xiàn)的細(xì)節(jié),,應(yīng)將重點(diǎn)放在概念層和說明層,。
********************************************************************************結(jié)束語******************************************************************************************** ??我在寫這篇博客的時(shí)候也是一名初學(xué)者,有任何疑問或問題請留言,,或發(fā)郵件也可以,,郵箱為: [email protected],我會(huì)盡早的進(jìn)行更正及更改,。 在我寫過的博客中有兩篇博客是對資源的整理,,可能對大家都有幫助,,大家有興趣的話可以看看!,! 下載資料整理——目錄: http://blog.csdn.net/fanxiaobin577328725/article/details/51894331??這篇博客里面是我關(guān)于我見到的感覺不錯(cuò)的好資源的整理,,里面包含了書籍及源代碼以及個(gè)人搜索的一些資源,如果有興趣的可以看看,,我會(huì)一直對其進(jìn)行更新和添加。 優(yōu)秀的文章&優(yōu)秀的學(xué)習(xí)網(wǎng)站之收集手冊: http://blog.csdn.net/fanxiaobin577328725/article/details/52753638??這篇博客里面是我對于我讀過的,,并且感覺有意義的文章的收集整理,,純粹的個(gè)人愛好,大家感覺有興趣的可以閱讀一下,,我也會(huì)時(shí)常的對其進(jìn)行更新,。 ********************************************************************************感謝********************************************************************************************
|