類圖及繪制工具:StarUML

Unified Modeling Language (UML)又稱統(tǒng)一建模語言標(biāo)準(zhǔn)建模語言译打,是始于1997年一個OMG標(biāo)準(zhǔn),它是一個支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言柠新,為軟件開發(fā)的所有階段提供模型化和可視化支持峰鄙,包括由需求分析到規(guī)格,到構(gòu)造和配置套蒂。

面向?qū)ο蟮姆治雠c設(shè)計(OOA&D钞支,OOAD)方法的發(fā)展在80年代末至90年代中出現(xiàn)了一個高潮茫蛹,而UML就是這個高潮的產(chǎn)物。

OMG:對象管理組織(Object Management Group)


UML由3個要素構(gòu)成:UML的基本構(gòu)造塊烁挟、支配這些構(gòu)造塊如何放置在一起的規(guī)則和運用于整個語言的公用機(jī)制婴洼。

UML有3種基本的構(gòu)造塊:事物、關(guān)系和圖撼嗓。
事物是對模型中最具有代表性的成分的抽象柬采,包括結(jié)構(gòu)事物,如:類(Class)且警、接口(Interface)粉捻、協(xié)作(Collaboration)、用例(UseCase)斑芜、主動類(ActiveClass)肩刃、組件(Component)和節(jié)點(Node);行為事物押搪,如交互(Interaction)树酪、態(tài)機(jī)(Statemachine)浅碾、分組事物(包大州,Package)、注釋事物(注解垂谢,Note)厦画。
關(guān)系用來把事物結(jié)合在一起,包括:依賴滥朱、關(guān)聯(lián)根暑、泛化和實現(xiàn)關(guān)系。





UML中有九種建模的圖標(biāo)徙邻,即:
用例圖排嫌、類圖、對象圖缰犁、順序圖淳地、協(xié)作圖、狀態(tài)圖帅容、活動圖颇象、組件圖、配置圖

用例圖 Use case diagrams
描述了作為一個外部的觀察者的視角對系統(tǒng)的印象并徘。強(qiáng)調(diào)這個系統(tǒng)是什么而不是這個系統(tǒng)怎么工作遣钳。
用例圖與情節(jié)緊緊相關(guān)的。情節(jié)scenario是指當(dāng)某個人與系統(tǒng)進(jìn)行互動時發(fā)生的情況麦乞。

用例圖在三個領(lǐng)域很有作用:
1.決定特征(需求)蕴茴。當(dāng)系統(tǒng)已經(jīng)分析好并且設(shè)計成型時劝评,新的用例產(chǎn)生新的需求;
2.客戶通訊倦淀。使用用例圖很容易表示開發(fā)者與客戶之間的聯(lián)系付翁;
3.產(chǎn)生測試用例。一個用例的情節(jié)可能產(chǎn)生這些情節(jié)的一批測試用例晃听。


類圖 Class diagram
通過顯示出系統(tǒng)的類以及這些類之間的關(guān)系來表示系統(tǒng)百侧。類圖是靜態(tài)的———它們顯示出什么可以產(chǎn)生影響但不會告訴你什么時候產(chǎn)生影響。

UML類的符號是一個被劃分成三塊的方框:類名能扒,屬性佣渴,和操作。抽象類的名字初斑,是斜體的辛润。類之間的關(guān)系是連接線。

類圖有三種關(guān)系:
1.關(guān)聯(lián)association-表示兩種類的實例間的關(guān)系见秤。如果一個類的實例必須要用另一個類的實例才能完成工作時就要用關(guān)聯(lián)砂竖。在圖中,關(guān)聯(lián)用兩個類之間的連線表示鹃答;
2.聚合aggregation-當(dāng)一個類屬于一個容器是的一種特殊關(guān)系乎澄。聚合用一個帶菱形的連線,菱形指向具有整體性質(zhì)的類测摔。在我們的圖里置济,Order是OrderDetails的容器;
3.泛化generalization-一個指向以其他類作為超類的繼承連線锋八。泛化關(guān)系用一個三角形指向超類浙于。Payment是Cash,Check和Credit的超類挟纱。


包和對象圖
為了簡單地表示出復(fù)雜的類圖羞酗,可以把類組合成包packages。一個包是UML上有邏輯關(guān)系的元件的集合紊服。


順序圖
為交互圖檀轨,是動態(tài)的(它們描述了對象間的交互作用)。

順序圖將交互關(guān)系表示為一個二維圖围苫】阍埃縱向是時間軸,時間沿豎線向下延伸剂府。橫向軸代表了在協(xié)作中各獨立對象的類元角色拧揽。類元角色用生命線表示。當(dāng)對象存在時,角色用一條虛線表示淤袜,當(dāng)對象的過程處于激活狀態(tài)時痒谴,生命線是一個雙道線。

消息用從一個對象的生命線到另一個對象生命線的箭頭表示铡羡。箭頭以時間順序在圖中從上到下排列积蔚。


協(xié)作圖
協(xié)作圖也是互動的圖表。他們像序列圖一樣也傳遞相同的信息烦周,但他們不關(guān)心什么時候消息被傳遞尽爆,只關(guān)心對象的角色。在序列圖中读慎,對象的角色放在上面而消息則是連接線漱贱。

對象角色矩形上標(biāo)有類或?qū)ο竺ɑ蛘叨加校n惷懊嬗袀€冒號(:)夭委。
協(xié)作圖的每個消息都有一個序列號幅狮。頂層消息的數(shù)字是1。同一個等級的消息(也就是同一個調(diào)用中的消息)有同樣的數(shù)字前綴株灸,再根據(jù)他們出現(xiàn)的順序增加一個后綴1崇摄,2等等。


狀態(tài)圖
對象擁有行為和狀態(tài)慌烧。對象的狀態(tài)是由對象當(dāng)前的行動和條件決定的逐抑。狀態(tài)圖statechart diagram顯示出了對象可能的狀態(tài)以及由狀態(tài)改變而導(dǎo)致的轉(zhuǎn)移。
狀態(tài)是用圓角矩形來表示的杏死。轉(zhuǎn)移則是使用帶箭頭的連線表示泵肄。觸發(fā)轉(zhuǎn)移的事件或者條件寫在箭頭的旁邊。
初始狀態(tài)(黑色圓圈)是開始動作的虛擬開始淑翼。結(jié)束狀態(tài)也是動作的虛擬結(jié)束。
事件或條件觸發(fā)動作時用(/動作)表示品追。動作的結(jié)果決定了下一步的狀態(tài)玄括。


活動圖 activity diagram
活動圖是一個很特別的流程圖∪馔撸活動圖和狀態(tài)圖之間是有關(guān)系的遭京。狀態(tài)圖把焦點集中在過程中的對象身上,而活動圖則集中在一個單獨過程動作流程泞莉∧牡瘢活動圖告訴了我們活動之間的依賴關(guān)系。
轉(zhuǎn)移可能分支branch成兩個以上的互斥的轉(zhuǎn)移鲫趁。保護(hù)表達(dá)式(在[ ]中)表示轉(zhuǎn)移是從一個分支中引出的斯嚎。分支以及分支結(jié)束時的合并merge在圖中用菱形表示。
轉(zhuǎn)移也可以分解fork成兩個以上的并行活動。分解以及分解結(jié)束時的線程結(jié)合join在圖中用粗黑線表示堡僻。


組件圖
組件 component 是代碼模塊糠惫。組件圖是是類圖的物理實現(xiàn)。


配置圖 Deployment diagrams
顯示軟件及硬件的配置钉疫。
物理上的硬件使用節(jié)點nodes表示硼讽。每個組件屬于一個節(jié)點。組件用左上角帶有兩個小矩形的矩形表示牲阁。


詳細(xì)內(nèi)容參考





這里就主要講解一下類圖的要點:

UML類圖常見的幾種關(guān)系:

  • 泛化(Generalization)
    是一種繼承關(guān)系固阁,表示一般與特殊的關(guān)系,它指定了子類如何特化父類的所有特征和行為城菊。
    例如:人是動物的一種您炉,即有人的特性也有動物的共性。
    箭頭指向:帶三角箭頭的實線役电,箭頭指向父類

    泛化


  • 實現(xiàn)(Realization)
    是一種類與接口的關(guān)系赚爵,表示類是接口所有特征和行為的實現(xiàn).
    箭頭指向:帶三角箭頭的虛線,箭頭指向接口

    實現(xiàn)


  • 關(guān)聯(lián)(Association)
    是一種擁有的關(guān)系法瑟,它使一個類知道另一個類的屬性和方法冀膝;如:老師與學(xué)生,丈夫與妻子關(guān)聯(lián)可以是雙向的霎挟,也可以是單向的窝剖。
    雙向的關(guān)聯(lián)可以有兩個箭頭或者沒有箭頭,單向的關(guān)聯(lián)有一個箭頭酥夭。
    代碼體現(xiàn):成員變量
    箭頭及指向:帶普通箭頭的實心線赐纱,指向被擁有者

    關(guān)聯(lián)

    老師與學(xué)生是雙向關(guān)聯(lián),老師有多名學(xué)生熬北,學(xué)生也可能有多名老師疙描。但學(xué)生與某課程間的關(guān)系為單向關(guān)聯(lián),一名學(xué)生可能要上多門課程讶隐,課程是個抽象的東西他不擁有學(xué)生起胰。

    ??特殊情況:自身關(guān)聯(lián)

    自身關(guān)聯(lián)


  • 聚合(Aggregation)
    聚合是整體與部分的關(guān)系,且部分可以離開整體而單獨存在巫延。如車和輪胎是整體和部分的關(guān)系效五,輪胎離開車仍然可以存在。

    聚合關(guān)系是關(guān)聯(lián)關(guān)系的一種炉峰,是強(qiáng)的關(guān)聯(lián)關(guān)系畏妖;關(guān)聯(lián)和聚合在語法上無法區(qū)分,必須考察具體的邏輯關(guān)系疼阔。
    代碼體現(xiàn):成員變量
    箭頭及指向:帶空心菱形的實心線戒劫,菱形指向整體

    聚合


  • 組合(Composition)
    是整體與部分的關(guān)系半夷,但部分不能離開整體而單獨存在。如公司和部門是整體和部分的關(guān)系谱仪,沒有公司就不存在部門玻熙。
    組合關(guān)系是關(guān)聯(lián)關(guān)系的一種,是比聚合關(guān)系還要強(qiáng)的關(guān)系疯攒,它要求普通的聚合關(guān)系中代表整體的對象負(fù)責(zé)代表部分的對象的生命周期嗦随。
    代碼體現(xiàn):成員變量
    箭頭及指向:帶實心菱形的實線,菱形指向整體

    組合


  • 依賴(Dependency)
    是一種使用的關(guān)系敬尺,即一個類的實現(xiàn)需要另一個類的協(xié)助枚尼,所以要盡量不使用雙向的互相依賴.
    代碼表現(xiàn):局部變量、方法的參數(shù)或者對靜態(tài)方法的調(diào)用
    箭頭及指向:帶箭頭的虛線砂吞,指向被使用者

    依賴





各種關(guān)系的強(qiáng)弱順序:
  泛化 = 實現(xiàn) > 組合 > 聚合 > 關(guān)聯(lián) > 依賴 



StarUML

** 棒子國的產(chǎn)品 **
優(yōu)點:跨平臺署恍,在mac下也可以用,和windows下效果一樣蜻直,很方便和統(tǒng)一盯质。

棒子國???? 產(chǎn)品 StarUML


操作界面很寬闊 想怎么畫就怎么畫
操作界面


在側(cè)邊欄,選擇相應(yīng)的對象進(jìn)行添加:
選擇相應(yīng)的對象進(jìn)行添加

未點擊要添加的對象前概而,鼠標(biāo)狀態(tài)提示:
未點擊前

點擊要添加的對象后呼巷,鼠標(biāo)狀態(tài)提示:
點擊要添加的對象后

接下來就可以添加對象的,如下圖:(添加一個類)
繪制圖形

再為該類添加屬性赎瑰、方法:
設(shè)置類的屬性王悍、方法


在繪制界面上使用“delete”按鍵刪除無效。
所有對象的刪除 必須右鍵點擊刪除2吐压储! 或者使用快捷鍵:Command + “delete”

1.右鍵點擊刪除!源譬! </br>2.快捷鍵:Command + “delete”


其他操作就自己去摸索吧集惋!這些操作性的東西玩一下就會了!


StarUML繪圖效果 及 其中的格式
附加繪圖??:類圖各個關(guān)系的強(qiáng)弱順序
StarUML繪圖效果 及 格式

哎~瓶佳!公司叫我寫SDK芋膘,還要畫類圖。之前完全沒搞過霸饲,一臉懵逼!人都憔悴了~大概講解一下類圖和StarUML的基本使用臂拓!

后續(xù)如有細(xì)節(jié)的操作厚脉!日后自會添加~

















goyohol's essay

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胶惰,隨后出現(xiàn)的幾起案子傻工,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件中捆,死亡現(xiàn)場離奇詭異鸯匹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)泄伪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門殴蓬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蟋滴,你說我怎么就攤上這事染厅。” “怎么了津函?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵肖粮,是天一觀的道長。 經(jīng)常有香客問我尔苦,道長涩馆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任允坚,我火速辦了婚禮魂那,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘屋讶。我一直安慰自己冰寻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布皿渗。 她就那樣靜靜地躺著斩芭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乐疆。 梳的紋絲不亂的頭發(fā)上划乖,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機(jī)與錄音挤土,去河邊找鬼琴庵。 笑死,一個胖子當(dāng)著我的面吹牛仰美,可吹牛的內(nèi)容都是我干的迷殿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼咖杂,長吁一口氣:“原來是場噩夢啊……” “哼庆寺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诉字,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤懦尝,失蹤者是張志新(化名)和其女友劉穎知纷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陵霉,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡琅轧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了踊挠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乍桂。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖止毕,靈堂內(nèi)的尸體忽然破棺而出模蜡,到底是詐尸還是另有隱情,我是刑警寧澤扁凛,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布忍疾,位于F島的核電站,受9級特大地震影響谨朝,放射性物質(zhì)發(fā)生泄漏卤妒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一字币、第九天 我趴在偏房一處隱蔽的房頂上張望则披。 院中可真熱鬧,春花似錦洗出、人聲如沸士复。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阱洪。三九已至,卻和暖如春菠镇,著一層夾襖步出監(jiān)牢的瞬間冗荸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工利耍, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留蚌本,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓隘梨,卻偏偏與公主長得像程癌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子轴猎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 在UML 2.0的13種圖形中席楚,類圖是使用頻率最高的UML圖之一。Martin Fowler在其著作《UML Di...
    雷雷_zll閱讀 13,207評論 0 14
  • 忘記了uml類圖連線之間的關(guān)系税稼,記錄一下烦秩。 1. 關(guān)聯(lián)關(guān)系 關(guān)聯(lián)(Association)關(guān)系是類與類之間最常用的...
    cutieagain閱讀 1,814評論 0 2
  • 1、概述 在UML 2.0的13種圖形中郎仆,類圖是使用頻率最高的UML圖之一只祠。Martin Fowler在其著作《U...
    liumw1203閱讀 6,095評論 0 7
  • 《開發(fā)故事創(chuàng)意》作者 邁克爾拉*畢格本身也是紀(jì)錄片導(dǎo)演,這本300多頁的書前半部分值得一讀扰肌,后面因為從小說抛寝、新聞...
    聞熙閱讀 1,657評論 0 1
  • 今天跟老娘打電話桂躏,她說“幫你嬸子做被子钻趋,你嬸子炫耀她閨女孝順懂事,半年了每周都打一個電話剂习。我就笑笑沒吭聲蛮位,俺家大妞...
    糠小妮閱讀 145評論 0 0