專家推薦 UML入門經(jīng)典
本節(jié)繼續(xù)向大家介紹UML的知識(shí),主要包括UML的主要特點(diǎn),UML應(yīng)用領(lǐng)域以及其他相關(guān)知識(shí),希望通過本節(jié)的介紹大家對(duì)UML有深入的了解。下面我們繼續(xù)來學(xué)習(xí)UML相關(guān)內(nèi)容。
1、UML的主要特點(diǎn)
標(biāo)準(zhǔn)建模語言UML的主要特點(diǎn)可以歸結(jié)為三點(diǎn):
?。?)UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念?!?br />
(2)UML還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處,其中也包括非OO方法的影響。
UML符號(hào)表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號(hào),也添加了一些新符號(hào)。因此,在UML中匯入了面向?qū)ο箢I(lǐng)域中很多人的思想。這些思想并不是UML的開發(fā)者們發(fā)明的,而是開發(fā)者們依據(jù)最優(yōu)秀的OO方法和豐富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的?!?br />
?。?)UML在演變過程中還提出了一些新的概念。
在UML標(biāo)準(zhǔn)中新加了模板(Stereotypes)、職責(zé)(Responsibilities)、擴(kuò)展機(jī)制(Extensibilitymechanisms)、線程(Threads)、過程(Processes)、分布式(Distribution)、并發(fā)(Concurrency)、模式(Patterns)、合作(Collaborations)、活動(dòng)圖(Activitydiagram)等新概念,并清晰地區(qū)分類型(Type)、類(Class)和實(shí)例(Instance)、細(xì)化(Refinement)、接口(Interfaces)和組件(Components)等概念。
因此可以認(rèn)為,UML是一種先進(jìn)實(shí)用的標(biāo)準(zhǔn)建模語言,但其中某些概念尚待實(shí)踐來驗(yàn)證,UML也必然存在一個(gè)進(jìn)化過程。
2、UML的應(yīng)用領(lǐng)域
UML的目標(biāo)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng),具有很寬的應(yīng)用領(lǐng)域。其中最常用的是建立軟件系統(tǒng)的模型,但它同樣可以用于描述非軟件領(lǐng)域的系統(tǒng),如機(jī)械系統(tǒng)、企業(yè)機(jī)構(gòu)或業(yè)務(wù)過程,以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實(shí)時(shí)要求的工業(yè)系統(tǒng)或工業(yè)過程等??傊?,UML是一個(gè)通用的標(biāo)準(zhǔn)建模語言,可以對(duì)任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模。
此外,UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測(cè)試的不同階段。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對(duì)系統(tǒng)感興趣的外部角色及其對(duì)系統(tǒng)(用例)的功能要求。分析階段主要關(guān)心問題域中的主要概念(如抽象、類和對(duì)象等)和機(jī)制,需要識(shí)別這些類以及它們相互間的關(guān)系,并用UML類圖來描述。為實(shí)現(xiàn)用例,類之間需要協(xié)作,這可以用UML動(dòng)態(tài)模型來描述。在分析階段,只對(duì)問題域的對(duì)象(現(xiàn)實(shí)世界的概念)建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(如處理用戶接口、數(shù)據(jù)庫、通訊和并行性等問題的類)。這些技術(shù)細(xì)節(jié)將在設(shè)計(jì)階段引入,因此設(shè)計(jì)階段為構(gòu)造階段提供更詳細(xì)的規(guī)格說明?!?br />
編程(構(gòu)造)是一個(gè)獨(dú)立的階段,其任務(wù)是用面向?qū)ο缶幊陶Z言將來自設(shè)計(jì)階段的類轉(zhuǎn)換成實(shí)際的代碼。在用UML建立分析和設(shè)計(jì)模型時(shí),應(yīng)盡量避免考慮把模型轉(zhuǎn)換成某種特定的編程語言。因?yàn)樵谠缙陔A段,模型僅僅是理解和分析系統(tǒng)結(jié)構(gòu)的工具,過早考慮編碼問題十分不利于建立簡單正確的模型。
UML模型還可作為測(cè)試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。不同的測(cè)試小組使用不同的UML圖作為測(cè)試依據(jù):單元測(cè)試使用類圖和類規(guī)格說明;集成測(cè)試使用部件圖和合作圖;系統(tǒng)測(cè)試使用用例圖來驗(yàn)證系統(tǒng)的行為;驗(yàn)收測(cè)試由用戶進(jìn)行,以驗(yàn)證系統(tǒng)測(cè)試的結(jié)果是否滿足在分析階段確定的需求?!?br />
總之,標(biāo)準(zhǔn)建模語言UML適用于以面向?qū)ο蠹夹g(shù)來描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測(cè)試和維護(hù)。
3、UML相關(guān)知識(shí)
UML2.0中一共定義了13種圖示(diagrams)。為方便了解,可分類成右側(cè)的結(jié)構(gòu)。
結(jié)構(gòu)圖(Structurediagrams)強(qiáng)調(diào)的是系統(tǒng)式的建模:
類圖(ClassDiagram)
組件圖(Componentdiagram)
復(fù)合結(jié)構(gòu)圖(Compositestructurediagram)
部署圖(Deploymentdiagram)
對(duì)象圖(Objectdiagram)
包圖(Packagediagram)
行為圖(Behaviordiagrams)強(qiáng)調(diào)系統(tǒng)模型中觸發(fā)的事件:
活動(dòng)圖(Activitydiagram)
狀態(tài)機(jī)圖(StateMachinediagram)
用例圖(UseCaseDiagram)
交互圖(Interactiondiagrams),屬于行為圖形的子集合,強(qiáng)調(diào)系統(tǒng)模型中的資料流程:
通信圖(Communicationdiagram]]
交互概述圖(Interactionoverviewdiagram)(UML2.0)
序列圖(順序圖)(Sequencediagram)
時(shí)間圖(UMLTimingDiagram)(UML2.0)
協(xié)定狀態(tài)機(jī)是狀態(tài)機(jī)的子變種。它用來塑造網(wǎng)絡(luò)通訊協(xié)定模型。
UML并不限定UML要素型別非得是某圖形上的型別。一般來說,每個(gè)UML要素大約會(huì)出現(xiàn)在圖的所有型別。這種彈性在UML2.0部分被限定。
為了要保持工程圖的傳統(tǒng),在您的UML圖上加注用途、約束、或意圖永遠(yuǎn)無傷大雅。
4、其他同名詞條
UML
大學(xué)簡稱
UnivofMassachusetts馬薩諸塞州大學(xué)(美國)
UML
UserModeLinux.
模擬交換機(jī)的自動(dòng)測(cè)試系統(tǒng)。
【編輯推薦】