建模的意義
一個(gè)真實(shí)的系統(tǒng)可能太龐大唠粥,也可能含有許多細(xì)節(jié)蒜焊,常常超過人類智力可能認(rèn)知的范圍匀谣,所以人們必須從系統(tǒng)中抽離出重要的現(xiàn)象照棋,讓人們能夠認(rèn)識(shí)與理解系統(tǒng)的重要特性,包括系統(tǒng)各組件的靜態(tài)與動(dòng)態(tài)合作關(guān)系武翎。
UML概述
UML是一種建模語言烈炭,用來為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編輯文檔的方法宝恶。
UML描述了一個(gè)系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為符隙。靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中的重要對(duì)象的屬性和操作,以及這些對(duì)象之間的相互關(guān)系垫毙。
UML由視圖(View)霹疫、圖(Diagram)、模型元素(Model Element)综芥、通用機(jī)制等組成丽蝎。一個(gè)系統(tǒng)可以從不同的角度進(jìn)行描述。從其中某一個(gè)角度觀察到系統(tǒng)稱之為一個(gè)視圖膀藐。
UML中視圖包括
1屠阻、用例視圖
它從外部角色的視圖來展示系統(tǒng)的功能。 簡單說 哪些人可以使用這個(gè)系統(tǒng)的什么功能额各。用例圖描述了系統(tǒng)提供的一個(gè)功能單元国觉。包括基于基本流程的 “角色” (是與系統(tǒng)交互的其他實(shí)體)關(guān)系,以及系統(tǒng)內(nèi)用例之間的關(guān)系虾啦。作為系統(tǒng)的邊界蛉加。
? 元素 包括 用例(系統(tǒng)執(zhí)行的功能或過程) 參與者(Actor)蚜枢、用例關(guān)系(關(guān)聯(lián)關(guān)系缸逃、包含關(guān)系针饥、擴(kuò)展關(guān)系、泛化關(guān)系)
如何識(shí)別參與者
a需频、誰將使用該系統(tǒng)的主要功能丁眼?
b、誰將需要該系統(tǒng)的支持以完成其工作昭殉?
c苞七、誰將需要維護(hù)、管理該系統(tǒng)挪丢,以及保持該系統(tǒng)處于工作狀態(tài)蹂风?
d、與系統(tǒng)交互的是什么系統(tǒng)乾蓬?
e惠啄、誰或什么系統(tǒng)對(duì)本系統(tǒng)產(chǎn)生的結(jié)果感興趣?
2任内、邏輯視圖
邏輯視圖用來描述如何實(shí)現(xiàn)用例圖中提出的系統(tǒng)功能撵渡。它提供系統(tǒng)的詳細(xì)圖形,描述組件間如何關(guān)聯(lián)死嗦。邏輯視圖既描述系統(tǒng)的靜態(tài)結(jié)構(gòu)趋距,也描述系統(tǒng)內(nèi)部的動(dòng)作協(xié)作關(guān)系,它通過系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為來展示系統(tǒng)內(nèi)部的功能是如何實(shí)現(xiàn)的越除,其側(cè)重點(diǎn)在于如何實(shí)現(xiàn)功能节腐。
? ? ? ? 類圖
類圖顯示了一組類、接口和協(xié)作摘盆,以及它們之間的關(guān)系翼雀,顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu)。類圖面向?qū)ο蟮慕TO(shè)計(jì)中是很常用的骡澈。
3锅纺、并發(fā)視圖
? 并發(fā)視圖主要考慮資源的有效利用、代碼的并行執(zhí)行肋殴,以及系統(tǒng)環(huán)境中異步事件的處理囤锉。除了將系統(tǒng)劃分為并發(fā)執(zhí)行的控制以外,并發(fā)視圖還需要處理線程之間的通信和同步护锤。
? ? ? ?1)官地、時(shí)序圖? ?(常用)
? ? ?時(shí)序圖描述系統(tǒng)中類和類之間的交互,以及對(duì)象之間消息交互的時(shí)間順序烙懦,也可稱為順序圖驱入。
? ? 時(shí)序圖是一種強(qiáng)調(diào)消息的時(shí)序交互圖,元素包括 活動(dòng)者(Actor)、對(duì)象(object)亏较、消息(message)莺褒、生命線(Lifeline) 和 控制焦點(diǎn)(Focus of control,激活)組成雪情。
? ? ? 2)遵岩、狀態(tài)圖
? ? ? ? ? 轉(zhuǎn)換是狀態(tài)間的關(guān)聯(lián)。 當(dāng)一個(gè)特定事件發(fā)生或者某些條件得到滿足時(shí)巡通,一個(gè)源狀態(tài)下的對(duì)象在完成一定的動(dòng)作后將發(fā)生狀態(tài)轉(zhuǎn)變尘执,轉(zhuǎn)向另一個(gè)稱為目標(biāo)狀態(tài)的狀態(tài)。一般狀態(tài)之間的轉(zhuǎn)移是由事件觸發(fā)的宴凉。
? ?
? ? ? 3)誊锭、活動(dòng)圖
?活動(dòng)圖可以用于描述系統(tǒng)的工作流程和并發(fā)行為,活動(dòng)圖被設(shè)計(jì)用于簡化描述一個(gè)過程或操作的工作步驟弥锄∩ッ遥活動(dòng)圖中活動(dòng)的改變不需要事件觸發(fā),源活動(dòng)執(zhí)行完畢后自動(dòng)觸發(fā)轉(zhuǎn)移叉讥,轉(zhuǎn)到下一個(gè)活動(dòng)窘行。
活動(dòng)圖的組成元素主要有:動(dòng)作狀態(tài)、活動(dòng)狀態(tài)图仓、判定罐盔、轉(zhuǎn)換、動(dòng)作流救崔、分支與合并惶看、分叉與匯合、泳道六孵,以及對(duì)象流纬黎。
?
? ? ?4)、協(xié)作圖
? ? ? ?協(xié)作圖顯示了一系列的對(duì)象和在這些對(duì)象之間的聯(lián)系劫窒,以及對(duì)象間發(fā)送和接收的消息本今。?協(xié)作圖也是一種交互圖。強(qiáng)調(diào)的是發(fā)送和接收消息對(duì)象之間的組織結(jié)構(gòu)主巍。
?協(xié)作圖是用于描述系統(tǒng)的行為是如何由系統(tǒng)的成分協(xié)作實(shí)現(xiàn)的圖冠息。協(xié)作圖中包括建模元素有對(duì)象(包括參與者實(shí)例、多對(duì)象孕索、主動(dòng)對(duì)象等)逛艰、消息、鏈等搞旭。
時(shí)序圖與協(xié)作圖比較
a散怖、時(shí)序圖和協(xié)作圖都屬于交互圖菇绵,都用于描述系統(tǒng)中對(duì)象之間的動(dòng)態(tài)關(guān)系。
b镇眷、協(xié)作圖以對(duì)象圖的方式繪制各個(gè)參與對(duì)象咬最,強(qiáng)調(diào)的是交互的語境與參與交互的對(duì)象的整體組織。
c偏灿、時(shí)序圖可以描述對(duì)象的創(chuàng)建和撤銷的情況丹诀,強(qiáng)調(diào)的是交互的時(shí)間順序。
4翁垂、組件視圖
? ? ? 組件圖
? ? ? 組件是系統(tǒng)高層的可重用的組成部件。組件圖描述軟件組件硝桩,以及組件之間的關(guān)系沿猜,組件本身是代碼的物理模塊,組件圖則顯示了代碼的結(jié)構(gòu)碗脊。
5啼肩、配置視圖
? ? ? ? ?部署圖
?