術(shù)語匯編 UML建模技術(shù)解析
本節(jié)向大家介紹一下UML建模,UML建模是在開發(fā)階段,說明,可視化,構(gòu)建和書寫一個(gè)面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。UML建模展現(xiàn)了一系列最佳工程實(shí)踐,這些最佳實(shí)踐在對大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗(yàn)證有效。
UML建模簡介
UML建模是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)的全過程。
1、統(tǒng)一建模語言(UML是UnifiedModelingLanguage的縮寫)是用來對軟件密集系統(tǒng)進(jìn)行可視化建模的一種語言。UML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語言。
統(tǒng)一建模語言(UML)是非專利的第三代建模和規(guī)約語言。UML建模是在開發(fā)階段,說明,可視化,構(gòu)建和書寫一個(gè)面向?qū)ο筌浖芗到y(tǒng)的制品的開放方法。UML展現(xiàn)了一系列最佳工程實(shí)踐,這些最佳實(shí)踐在對大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗(yàn)證有效。
UML可以貫穿軟件開發(fā)周期中的每一個(gè)階段。被OMG采納作為業(yè)界的標(biāo)準(zhǔn)。
UML最適于數(shù)據(jù)建模,業(yè)務(wù)建模,對象建模,組件建模。
UML作為一種模型語言,它使開發(fā)人員專注于建立產(chǎn)品的模型和結(jié)構(gòu),而不是選用什么程序語言和算法實(shí)現(xiàn)。當(dāng)模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的程序語言代碼。
IBM的RationalRose和MS的Visio都是UML工具。
同時(shí)還有一些免費(fèi)的UML工具:http://java-source.net/open-source/uml-modeling
2、UML建模的主要特點(diǎn)
UML建模的主要特點(diǎn)可以歸結(jié)為三點(diǎn):
?。?)UML統(tǒng)一了Booch、OMT和OOSE等方法中的基本概念。
?。?)UML還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處,其中也包括非OO方法的影響。
UML符號表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號,也添加了一些新符號。因此,在UML中匯入了面向?qū)ο箢I(lǐng)域中很多人的思想。這些思想并不是UML的開發(fā)者們發(fā)明的,而是開發(fā)者們依據(jù)最優(yōu)秀的OO方法和豐富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的?!?/p>
(3)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)化過程。
3、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)建模語言,可以對任何具有靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為的系統(tǒng)進(jìn)行建模。
此外,UML建模適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測試的不同階段。在需求分析階段,可以用用例來捕獲用戶需求。通過用例建模,描述對系統(tǒng)感興趣的外部角色及其對系統(tǒng)(用例)的功能要求。分析階段主要關(guān)心問題域中的主要概念(如抽象、類和對象等)和機(jī)制,需要識別這些類以及它們相互間的關(guān)系,并用UML類圖來描述。為實(shí)現(xiàn)用例,類之間需要協(xié)作,這可以用UML動(dòng)態(tài)模型來描述。在分析階段,只對問題域的對象(現(xiàn)實(shí)世界的概念)建模,而不考慮定義軟件系統(tǒng)中技術(shù)細(xì)節(jié)的類(如處理用戶接口、數(shù)據(jù)庫、通訊和并行性等問題的類)。這些技術(shù)細(xì)節(jié)將在設(shè)計(jì)階段引入,因此設(shè)計(jì)階段為構(gòu)造階段提供更詳細(xì)的規(guī)格說明?!?/p>
編程(構(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模型還可作為測試階段的依據(jù)。系統(tǒng)通常需要經(jīng)過單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試。不同的測試小組使用不同的UML圖作為測試依據(jù):單元測試使用類圖和類規(guī)格說明;集成測試使用部件圖和合作圖;系統(tǒng)測試使用用例圖來驗(yàn)證系統(tǒng)的行為;驗(yàn)收測試由用戶進(jìn)行,以驗(yàn)證系統(tǒng)測試的結(jié)果是否滿足在分析階段確定的需求。
總之,標(biāo)準(zhǔn)建模語言UML適用于以面向?qū)ο蠹夹g(shù)來描述任何類型的系統(tǒng),而且適用于系統(tǒng)開發(fā)的不同階段,從需求規(guī)格描述直至系統(tǒng)完成后的測試和維護(hù)。
【編輯推薦】