1.1
UML的分類:
·結(jié)構(gòu)型的圖:
類圖(Class Diagram)
對象圖(Object Diagram)
構(gòu)件圖(Component Diagram)
部署圖(Deployment Diagram)
包圖(Package Diagram)
·行為型的圖
活動圖(Activity Diagram)
狀態(tài)機(jī)圖(State Machine Diagram)
順序圖(Sequence Diagram)
通信圖(Communication Diagram)
用例圖(Use Case Diagram)
時(shí)序圖(Timing Diagram)
????????結(jié)構(gòu)型的圖描述的是某種結(jié)構(gòu)乡洼,這種結(jié)構(gòu)在某段時(shí)間內(nèi)應(yīng)該是穩(wěn)定的,“靜態(tài)”的帆精;而行為型的圖描述的是某種行為呀闻,是“動態(tài)”的夺鲜。
????????分析系統(tǒng)需求時(shí),我們會面對很多業(yè)務(wù)概念,它們之間會有某些關(guān)系昂羡,這些內(nèi)容可以看成是“靜態(tài)”的待笑,我們可以利用UML的結(jié)構(gòu)型的圖來設(shè)計(jì)鸣皂。同時(shí),我們也需要考慮軟件如何和用戶交互,類寞缝、構(gòu)件癌压、模塊之間如何聯(lián)系等“動態(tài)”內(nèi)容,我們可以利用行為型的圖來設(shè)計(jì)荆陆。
? ? ? ? 在我們軟件設(shè)計(jì)時(shí)滩届,我們需要考慮需要哪些類,哪些構(gòu)件被啼,系統(tǒng)最后怎樣部署等帜消,這些內(nèi)容可以看成是“靜態(tài)”的,我們可以利用UML的圖來設(shè)計(jì)浓体。同時(shí)泡挺,我們也需要考慮軟件如何和用戶交互,類命浴、構(gòu)件娄猫、模塊之間如何聯(lián)系等“動態(tài)”內(nèi)容,我們可以利用行為型的圖來設(shè)計(jì)生闲。
? ? ? ? 當(dāng)然媳溺,所謂的“靜態(tài)”和“動態(tài)”不是絕對的。
1.2 結(jié)構(gòu)型的UML
類圖
圖中一個一個的矩形就是類碍讯,這些類之間有各種線條連接悬蔽,這些鏈條表示類之間的關(guān)系。類圖是分析業(yè)務(wù)概念的首選冲茸,類圖可能是使用率最高的UML圖屯阀。
該P(yáng)erson類有以下屬性(Attribute):Name(姓名),Sex(性別)轴术,Depatrment(部門)等难衰,有以下操作(Operation):Work(工作)等。類有屬性和操作逗栽,但用類圖分析業(yè)務(wù)模型時(shí)盖袭,往往不需要使用操作。
對象圖
????????對象圖和類圖的樣子很相似彼宠,對象是類的實(shí)例化鳄虱,“person:Person”表示對象person是類Person的實(shí)例。對象圖往往只在需要描述復(fù)雜算法時(shí)才會使用凭峡,畫出來的對象圖往往不會只有一個對象拙已,該圖只畫了一個對象,其目的是盡量簡化以便使讀者的理解什么是對象圖摧冀。
構(gòu)件圖
一輛汽車由輪子倍踪、發(fā)動機(jī)等物理部件組成系宫,一個軟件往往也是由很多“物理部件”組成的,構(gòu)件圖就是用來描述軟件內(nèi)部物理組成的一種圖建车。
上圖中矩形表示一個構(gòu)件扩借,構(gòu)件可以再包含構(gòu)件。
軟件需求分析工作中缤至,需要用到構(gòu)件圖的情況不是很多潮罪,以下情況除外:
1.待開發(fā)的系統(tǒng)需要與第三方的系統(tǒng)、原有系統(tǒng)领斥、某些老系統(tǒng)等交互嫉到,這時(shí)可用構(gòu)件圖描述交互要求。
2.客戶對軟件設(shè)計(jì)有某些特殊要求戒突,這時(shí)可用構(gòu)件圖來描述要求屯碴。
構(gòu)件圖有時(shí)不會單獨(dú)使用描睦,還會和部署圖一起結(jié)合使用膊存。
部署圖
部署圖是用來描述系統(tǒng)如何部署、本系統(tǒng)與其他系統(tǒng)是怎樣的關(guān)系的一種圖忱叭,如下圖:
????????圖中一個一個立體的矩形是部署的“節(jié)點(diǎn)”隔崎,一個節(jié)點(diǎn)表示一個物理設(shè)備,節(jié)點(diǎn)之間的線條表示節(jié)點(diǎn)間的物理連接關(guān)系韵丑。
????????大部分客戶都會具備一定的IT基礎(chǔ)環(huán)境(如具備局域網(wǎng)爵卒、一些服務(wù)器、某些軟件平臺等)撵彻,軟件系統(tǒng)需要基于當(dāng)前的IT基礎(chǔ)環(huán)境來規(guī)劃钓株,這時(shí)我們可以使用部署圖來做這個規(guī)劃。
????????分析系統(tǒng)的需求陌僵,不能忽略系統(tǒng)架構(gòu)轴合、部署、IT架構(gòu)等方面的要求碗短,我們要基于客戶當(dāng)前的IT基礎(chǔ)環(huán)境受葛,做一個最符合客戶利益的規(guī)劃。
包圖
包圖的主要用途是“打包”類圖偎谁。用類圖描述業(yè)務(wù)概念時(shí)总滩,很多時(shí)候會因?yàn)闃I(yè)務(wù)類太多,而導(dǎo)致類圖非常龐大巡雨,不利于閱讀闰渔,這時(shí)可以將某些類放入“包”中,通過包圖來組織業(yè)務(wù)概念圖铐望。
下圖是包圖的一個示例:
圖中好像文件夾樣子的就是一個“包”冈涧,包之間的線條表示包之間的關(guān)系向挖。