術(shù)語匯編 UML統(tǒng)一建模語言簡介
本節(jié)和大家一起學習一下UML,即統(tǒng)一建模語言,本節(jié)主要介紹一下UML概念,特點,作用和意義等內(nèi)容,希望本節(jié)的介紹對你的學習有所幫助。下面就讓我們一起來學習UML的相關(guān)知識吧。首先看一下UML的概念。
什么是UML?
Unified Modeling Language(統(tǒng)一建模語言)是國際對象管理組織OMG制定的一個通用的、可視化建模語言標準,可以用來描述(specify)、可視化(visualize)、構(gòu)造(construct)和記載(document)軟件密集型系統(tǒng)的各種工件(artifacts,又譯制品)。
UML有哪些特點?
UML的“通用性”主要是指不僅僅可以用它來描述軟件,而且還可以用它來描述一般企業(yè)或組織的業(yè)務(wù)流程以及由軟、硬件共同組成、以軟件為主的復雜系統(tǒng)(即所謂的軟件密集型系統(tǒng)),甚至還包括非軟件系統(tǒng)。
UML的“可視性”是指可以通過UML一系列的圖形符號,組成多種視圖(view)來直觀、清晰地表達系統(tǒng)分析設(shè)計中方方面面的、許多復雜的概念。UML主要是為了人的閱讀和使用而設(shè)計的,所以它采用了半形式化的,易于人們理解、交流的形式。
UML是一種分析設(shè)計專用的建模語言,它本身不是編程(programming)語言,不能直接用來生成可執(zhí)行的軟件。UML是一種抽象層次比C、C++、Java、VB、Delphi等文本高級語言更高的圖形語言,通過它我們可以抽象地表示用高級編程語言編寫的文本程序的邏輯結(jié)構(gòu)和行為。相比傳統(tǒng)的高級編程語言,UML能夠更加高效、準確地反映軟件設(shè)計的方案和思路,是真正用來“設(shè)計程序”(design programs)的語言。從這個意義上看,不妨稱UML為“甚高級”程序設(shè)計語言。
UML基本上不能算作全新的發(fā)明,它并非學者教授、科研機構(gòu)的研究成果,而是直接來自于產(chǎn)業(yè)界、工程界的實踐總結(jié),是在歸納基礎(chǔ)上進行理論升華的產(chǎn)物,其核心內(nèi)容反映了30多年來全球軟件工業(yè)的***在軟件設(shè)計構(gòu)造領(lǐng)域的***實踐和成功經(jīng)驗,因而具有很高的實用價值。
實踐證明,OO分析設(shè)計(OOAD)方法比傳統(tǒng)方法能更加準確、全面地描述現(xiàn)實世界。UML是用來表述OO概念的一種語言工具,而很奇妙,它本身作為一件產(chǎn)品同樣也是用OO方法來設(shè)計的,這使得UML具有傳統(tǒng)建模語言所不具備的很強的語義表達能力和非常靈活的可擴展性。
UML有什么用?
UML的用途非常廣泛,可以概括為“描述、可視化、構(gòu)造、記載”4種基本功能,在業(yè)務(wù)建模、需求分析、系統(tǒng)設(shè)計、實現(xiàn)和測試、數(shù)據(jù)建模、項目管理等階段任務(wù)中均可根據(jù)需要采用。
UML建模是建立軟件開發(fā)文檔的一個有效手段,通過UML可視化地描述系統(tǒng)需求,記載軟件構(gòu)成,能夠顯著地提高文檔的質(zhì)量和可讀性,減少編寫文檔的工作量。
UML實質(zhì)上是一種系統(tǒng)分析設(shè)計專用語言,通過可視化的圖形符號結(jié)合文字說明或標記可以幫助業(yè)務(wù)/系統(tǒng)分析員、軟件架構(gòu)師/設(shè)計師、程序員等各種建模者有效地描述復雜軟件(或業(yè)務(wù))的靜態(tài)結(jié)構(gòu)和動態(tài)行為,包括工作流(數(shù)據(jù)流和控制流)、功能需求、結(jié)構(gòu)元素及關(guān)系、架構(gòu)組成、設(shè)計模式、對象協(xié)作、事件響應(yīng)和狀態(tài)變化等等。
UML不能做什么?
UML不是高度形式化的語言,一般不能用于定理證明。
UML是基于OO方法的通用建模語言,不適合用戶圖形界面設(shè)計、超大規(guī)模集成電路(VLSI)設(shè)計、基于規(guī)則的人工智能等專業(yè)領(lǐng)域。
UML是一種離散型建模語言,適合對由軟件、固件或數(shù)字邏輯構(gòu)成的離散系統(tǒng)建模,不適合對工程和物理學領(lǐng)域中的連續(xù)系統(tǒng)建模。
本身作為語言,UML僅僅是一種表達形式,不是建模方法,在實際的軟件項目開發(fā)中僅僅掌握一套標準的圖形符號是遠遠不夠的。用好UML首先需要掌握OOAD的基本原則和方法,并在一定的軟件開發(fā)過程(如UP/RUP、XP等)的指導下進行有取舍的運用。
為什么要學習和掌握UML?
首先,UML對于當前大多數(shù)希望進一步改進質(zhì)量的軟件開發(fā)團隊來說是必不可少或必須的。為什么這樣說呢?因為,C++、Java等源碼并不能直觀、方便地反映復雜程序的設(shè)計:如內(nèi)部邏輯結(jié)構(gòu)、各種隱含的依賴關(guān)系、運行時的狀態(tài)改變和特殊行為等等。寫好的代碼僅僅是一種實現(xiàn)方式,很難反映出現(xiàn)象背后的真實本質(zhì)——設(shè)計,因此對于大多數(shù)稍稍復雜點的項目來說,僅有代碼是不夠的。
可視化建模歷來是一種成功的工程實踐做法,并非軟件行業(yè)所特有。軟件的設(shè)計方案在用C++、Java實現(xiàn)之前通常隱藏在人們的頭腦當中,而設(shè)計正確與否是決定軟件質(zhì)量好壞的要害,一個前提是必須用適當?shù)姆绞桨阉磉_出來。通過程序代碼來表達、討論、評估和選擇復雜軟件的設(shè)計往往是很笨拙的,這一表達方式的空欠唯有通過類似UML的建模語言來填補。
其次,OO方法是當代主流的軟件開發(fā)技術(shù)。世界先進的軟件團隊和個人早已擺脫了對如何使用具體的平臺API、個別編程語言特性的糾纏,而把更多的精力放在了需求、架構(gòu)、設(shè)計機制和模式等對軟件質(zhì)量有重大影響的核心要素——分析與設(shè)計上。UML作為OO建模語言的事實上標準和主要的表達媒介,在這些場合能發(fā)揮關(guān)鍵的作用。所以,熟練地掌握并運用好UML是當今系統(tǒng)分析員、架構(gòu)師/設(shè)計師以及程序員等軟件工程師所必備的一項基本技能。
【編輯推薦】
- UML基礎(chǔ): 統(tǒng)一建模語言簡介
- UML面向?qū)ο笾R入門
- 直擊:中國系統(tǒng)與軟件過程改進年會——UML專場
- 統(tǒng)一建模語言(UML) 版本 2.0
- UML面向?qū)ο蠼VR簡介