欧美人与禽2O2O性论交,秋霞免费视频,国产美女视频免费观看网址,国产成人亚洲综合网色欲网

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

目錄

一、什么是面向對象方法

二、為什么要使用面向對象方法

三、什么是建模

四、為什么要建模

五、UML明明是圖形,為什么說是語言?

六、UML有什么用?

七、UML圖為什么要分為結構圖和行為圖?

八、UML結構圖(Structure Diagram)

1.類圖(Class Diagram)

2.對象圖(Object Diagram)

3.構件圖(Component Diagram)

4.部署圖(Deployment Diagram)

九、UML行為圖(Behavior Diagram)

1.活動圖(Activity Diagram)

2.狀態(tài)機圖(State Machine Diagram)

3.順序圖(Sequence Diagram)

4.通信圖(Communication Diagram)

5.用例圖(Use Case Diagram)

十、各種UML圖實際應用情況

十一、UML學習難點

十二、常用UML建模工具簡介

1.Rational Rose

2.VISIO

3.StarUML

一、什么是面向對象方法

面向對象方法是一種把面向對象的思想應用于軟件開發(fā)過程中,指導開發(fā)活動的系統(tǒng)方法,簡稱OO方法,它是建立在對象概念(對象、類和繼承)基礎上的方法。自八十年代中期起,人們注重于面向對象分析和設計的研究,逐步形成了面向對象方法學。典型的方法有P.Coad和E.Yourdon的面向對象分析(OOA)和面向對象設計(OOD),G.Booch的面向對象開發(fā)方法,J.Rumbaugh等人提出的對象建模技術(OMT),Jacobson的面向對象軟件工程(OOSE)等。九十年代中期,由G.Booch,J.Rumbaugh,Jacobson等人發(fā)起,在Booch方法、OMT方法和OOSE 方法的基礎上推出了統(tǒng)一的建模語言(UML),1997年被國際對象管理組織(OMG)確定作為標準的建模語言。

二、為什么要使用面向對象方法

面向對象方法的出現(xiàn)很快受到計算機軟件界的青睞,并成為九十年代的主流開發(fā)方法,可以從下列幾個方面來分析其原因:

1.從認知學的角度來看,面向對象的方法符合人們對客觀世界的認識規(guī)律。很長一段時間里,我們分析、設計、實現(xiàn)一個軟件系統(tǒng)的過程與我們認識一個系統(tǒng)的過程存在著差異。比如用結構化分析和設計方法、信息工程方法。面向對象的分析和設計采用同樣的圖形表示形式,分析、設計和實現(xiàn)都以對象為基礎,因此面向對象開發(fā)的各階段之間具有很好的無縫連接。當用戶的需求有所改變時,由于客觀世界中的實體是不變的,實體之間的聯(lián)系也是基本不變的,因此面向對象的總體結構也相對比較穩(wěn)定,所引起的變化大多集中在對象的屬性與操作及對象之間的消息通信上。總之,面向對象的方法符合人們對客觀世界的認識規(guī)律,所開發(fā)的系統(tǒng)相對比較穩(wěn)定。

2.面向對象方法開發(fā)的軟件系統(tǒng)易于維護,其體系結構易于理解、擴充和修改。面向對象方法開發(fā)的軟件系統(tǒng)由對象類組成,對象的封裝性很好地體現(xiàn)了抽象和信息隱蔽的特征。對象以屬性及操作作為接口(界面),使用者只可通過接口訪問對象(請求其服務),對象的具體實現(xiàn)細節(jié)對外是不可見的。這些特征使得軟件系統(tǒng)的體系結構是模塊化的,這種體系結構易于理解、擴充和修改。當對象的接口確定以后,實現(xiàn)細節(jié)的修改不會影響其它對象,易于維護。同時也便于分配給不同的開發(fā)人員去實現(xiàn),依據(jù)規(guī)定的接口能方便地組裝成系統(tǒng)。

3.面向對象方法中的繼承機制有力支持軟件的復用。在同一應用領域的不同應用系統(tǒng)中,往往會涉及到許多相同或相似的實體,這些實體在不同的應用系統(tǒng)中存在許多相同的屬性和操作,也存在一些不同的應用系統(tǒng)所特有的屬性和操作。在開發(fā)一個新的軟件系統(tǒng)時,可復用已有系統(tǒng)中的某些類,通過繼承和補充形成新系統(tǒng)的類。在同一個應用系統(tǒng)中,某些類之間也存在一些公共的屬性和操作,也含有它們各自私有的屬性和操作。這也可以通過繼承來復用公共的屬性和操作。

三、什么是建模

作曲家會將其腦袋中的旋律譜成樂曲,建筑師會將其設計的建筑物畫成藍圖,這些樂曲、藍圖就是模型(Model),而建構這些模型的過程就稱為建模(Modeling)。軟件開發(fā)如同音樂譜曲及建筑設計,其過程中也必須將需求、分析、設計、實現(xiàn)、布署等各項工作流程的構想與結果予以呈現(xiàn),這就是軟件系統(tǒng)的建模。

四、為什么要建模

建立大廈和建立狗窩的區(qū)別是建設狗窩不需要設計,要生產(chǎn)合格的軟件就要有一套關于體系結構、過程和工具的規(guī)范。

五、UML明明是圖形,為什么說是語言?

語言是包括文字和圖形的!其實有很多內(nèi)容文字是無法表達的,你見過建筑設計圖紙嗎?里面有很多圖形,光用文字能表達清楚建筑設計嗎?在建筑界,有一套標準來描述設計,同樣的道理,在軟件開發(fā)界,我們也需要一套標準來幫助我們做好軟件開發(fā)的工作。UML就是其中的一種標準,注意這可不是唯一標準,只是UML是大家比較推崇的一種標準而已,說不定以后有一個更好的標準可能會取代它呢!UML并不是強制性標準,沒有法律規(guī)定你在軟件開發(fā)中一定要用UML,不能用其它的,我們的目標是善用包括UML在內(nèi)的各種標準,來提高我們軟件開發(fā)的水平。

(備注:UML全稱是Unified Modeling Language,UML由1.0版發(fā)展到1.1、1.2、…,到現(xiàn)在的2.0、2.x。)

六、UML有什么用?

UML不限于支持面向對象的分析與設計,還支持從需求分析開始的軟件開發(fā)的全過程。

七、UML圖為什么要分為結構圖和行為圖?

1.顧名思義,結構圖描述的是某種結構,這種結構在某段時間內(nèi)應該是穩(wěn)定的,“靜態(tài)”的;而行為圖描述的是某種行為,是“動態(tài)”的。

2.分析系統(tǒng)需求時,我們會面對很多業(yè)務概念,它們之間會有某些關系,這些內(nèi)容可以看成是“靜態(tài)”的,我們可以利用UML的結構圖來分析。同時,業(yè)務會涉及大量的流程、過程等,這些內(nèi)容是“動態(tài)”的,我們可以用行為圖來分析。

3.在我們軟件設計時,我們需要考慮需要哪些類、哪些構件、系統(tǒng)最后怎樣部署等,這些內(nèi)容可以看成是“靜態(tài)”的,我們可以利用UML的結構圖來設計。同時,我們也需要考慮軟件如何和用戶交互,類、構件、模塊之間如何聯(lián)系等“動態(tài)”內(nèi)容,我們可以利用行為圖來設計。

八、UML結構圖(Structure Diagram)

1.類圖(Class Diagram)

請看下面這個類圖:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖1.1某模具系統(tǒng)類圖

此圖截取自某模具管理系統(tǒng)的業(yè)務概念分析圖,圖中一個一個的矩形就是類,這些類之間有各種線條連接,這些線條表示類之間的關系。類圖是分析業(yè)務概念的首選,類圖可能是使用率最高的UML圖。

再看下面這個Person類圖,這是設計時用到的一個圖:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖1.2 Person類圖

該Person類有以下屬性(Attribute):Name(姓名),Sex(性別),Department(部門)等,有以下操作(Operation):Work(工作)等。類有屬性和操作,但用類圖分析業(yè)務模型時,往往不需要使用操作,如圖1.1中的類就只有屬性。

Attribute有特性、特征等譯法,Operation也稱作方法,但本書遵循UML中文術語標準,即Attribute為屬性,Operation為操作。

2.對象圖(Object Diagram)

一般情況下只有在軟件開發(fā)中才會使用到對象圖,下面的內(nèi)容以開發(fā)的角度來說明對象圖。

圖1.2中的Person類,用代碼實例化如下:

Person person = new Person();

……

類(Class)實例化后就是對象(Object),對象person是類Person的實例,上述代碼可以用對象圖表示如下:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.3 Person類的對象圖

對象圖和類圖的樣子很相似,對象是類的實例化,“person : Person”表示對象person是類Person的實例。對象圖往往只在需要描述復雜算法時才會使用,畫出來的對象圖往往不會只有一個對象,該圖只畫了一個對象,其目的是盡量簡化以便讀者的理解什么是對象圖。

在需求分析工作中基本上不需要使用對象圖,從嚴謹?shù)慕嵌葋砜茨承┣闆r下應該使用對象圖,但我往往還是會用類圖來處理,這樣更加簡便而且容易理解。

3.構件圖(Component Diagram)

構件圖也叫組件圖,兩個名字均符合UML中文術語標準。

一輛汽車由輪子、發(fā)動機等物理部件組成,一個軟件往往也是由很多“物理部件”(如:組件、重用構件等)組成的,構件圖就是用來描述軟件內(nèi)部物理組成的一種圖。下圖是某權限構件設計圖:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.4 某權限構件設計圖

圖1.4右上方有這樣標志 的矩形表示一個構件,構件可以再包含構件。

軟件需求分析工作中,需要用到構件圖的情況不是很多,以下情況除外:

  • 待開發(fā)的系統(tǒng)需要與第三方的系統(tǒng)、原有系統(tǒng)、某些老系統(tǒng)等交互,這時可用構件圖描述交互要求。
  • 客戶對軟件設計有某些特殊要求,這時可用構件圖來描述要求。

構件圖有時不會單獨使用,還會和部署圖一起結合使用。

4.部署圖(Deployment Diagram)

部署圖是用來描述系統(tǒng)如何部署、本系統(tǒng)與其他系統(tǒng)是怎樣的關系的一種圖,如下圖:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.5 某24小時便利店的管理系統(tǒng)部署圖

圖中一個個立體的矩形是部署圖的“節(jié)點”,一個節(jié)點表示一個物理的設備,節(jié)點之間的線條表示節(jié)點間的物理連接關系。

大部分客戶都會具備一定的IT基礎環(huán)境(如具備局域網(wǎng)、一些服務器、某些軟件平臺等),軟件系統(tǒng)需要基于當前的IT基礎環(huán)境來規(guī)劃,這時我們可以使用部署圖來做這個規(guī)劃。

分析系統(tǒng)的需求,不能忽略系統(tǒng)架構、部署、IT架構等方面的要求,我們要基于客戶當前的IT基礎環(huán)境,做一個最符合客戶利益的規(guī)劃。

九、UML行為圖(Behavior Diagram)

1.活動圖(Activity Diagram)

我們將起床到出門上班這個過程畫成活動圖,可能是這樣的:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.7 起床到出門上班的活動圖

活動圖中的一個圓邊框框表示一個“活動”,多個活動之間的帶箭頭線條表示活動的先后順序,該圖只是表達了一個順序流程,活動圖還可以表達分支結構。如果你以前曾學過流程圖的話,你會發(fā)現(xiàn)活動圖和流程圖很相似。活動圖可能是三種能表示流程的UML圖中最接近我們思維習慣的一種,下面來學習另外兩種能表達流程的圖。

2.狀態(tài)機圖(State Machine Diagram)

狀態(tài)機圖又叫狀態(tài)圖,狀態(tài)機圖從某個物品的狀態(tài)是如何變化的角度來展示流程,下圖某請假條審批流程:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.8 請假處理流程

整個請假審批流程是圍繞“請假條”這個物體進行的,隨著不同的審批階段,請假條具備不同的狀態(tài)。我們分析業(yè)務流程時會發(fā)現(xiàn)很多流程其實是圍繞某個物品進行的,這時可考慮使用狀態(tài)機圖。

3.順序圖(Sequence Diagram)

你去餐廳吃飯,向服務員點餐到服務員送菜上來,這個過程用順序圖可表示如下:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.9 點菜的順序圖

該圖有三個“小人”,每個“小人”下面的文字說明(如:顧客)表示其代表的角色。角色與角色之間有一些線條鏈接,表示角色之間是如何交互的。該圖表示的意思是:顧客向服務員點菜后,服務員將點菜信息傳遞給廚師,然后廚師做菜,最后再由服務員送菜給你。

點菜過程涉及幾個環(huán)節(jié),每個環(huán)節(jié)均由不同的角色來負責,如果遇到類似的情況,你可以考慮使用順序圖來分析。用順序圖來分析的好處是能清晰表達整個過程所參與的角色,角色與角色之間的關系,各角色是如何被卷入這個過程當中的。

4.通信圖(Communication Diagram)

UML1.1時,該圖英文名為Collaboration Diagram;UML2.x時,英文名為Communication Diagram。將英文名字直接翻譯,原來的英文名字可譯為協(xié)作圖,而新的英文名字譯為通信圖。

通信圖是順序圖的另外一種畫法,點菜的順序圖,如果用通信圖來畫可表示如下:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.10 點菜的通信圖

三個“小人”分表表示三種角色:顧客、服務員、廚師;角色之間有直線聯(lián)系表示他們之間有關系;帶序號的文字和箭頭,表示角色之間傳遞的信息。

順序圖更強調(diào)先后順序,通信圖更強調(diào)相互之間的關系。我覺得順序圖實用性更好一點,比通信圖能表達更多的信息,更容易讀懂,在需求分析工作中我基本不會使用通信圖。

5.用例圖(Use Case Diagram)

下圖是用例圖的示意圖:

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

圖 1.11 用例圖

用例圖表達的是什么角色通過軟件系統(tǒng)能做什么事情,我們可以使用用例圖系統(tǒng)地表達軟件系統(tǒng)的絕大部分需求。

十、各種UML圖實際應用情況

統(tǒng)一建模語言UML基礎知識(統(tǒng)一建模語言uml及建模工具)

十一、UML學習難點

學UML之難,不在于學習語法,關鍵是要改變思維習慣。UML是一種新的工具,但同時也是代表了一種新的先進的思考方法,如果不能掌握這樣的方法,只能學到了UML的形,而沒有掌握其神髓。

要用好UML,你需要在平時多多培養(yǎng)下面的能力:

1.書面表達能力。

2.歸納總結能力。

3.“面向對象”的思維能力和抽象能力。

平時你可以利用各種機會來提升第1和第2種能力,如多寫寫項目文檔、寫寫日記或博客等,多思考和總結平時自己的工作得失等。

只要你有進步之心,多練習、多實踐、多思考、多總結,一定會取得長足進步!

十二、常用UML建模工具簡介

1.Rational Rose

Rational Rose是Rational公司出品的一種面向對象的統(tǒng)一建模語言的可視化建模工具。用于可視化建模和公司級水平軟件應用的組件構造。
Rational Rose 是一個完全的、具有能滿足所有建模環(huán)境(Web開發(fā),數(shù)據(jù)建模,Visual StudioC )靈活性需求的一套解決方案。Rose 允許開發(fā)人員、項目經(jīng)理、系統(tǒng)工程師和分析人員在軟件開發(fā)周期內(nèi)將需求和系統(tǒng)的體系架構轉換成代碼,消除浪費的消耗,對需求和系統(tǒng)的體系架構進行可視化,理解和精練。通過在軟件開發(fā)周期內(nèi)使用同一種建模工具可以確保更快更好的創(chuàng)建滿足客戶需求的可擴展的、靈活的并且可靠的應用系統(tǒng)。
在面向對象應用程序開發(fā)領域,Rational Rose是影響其發(fā)展的一個重要因素。Rational Rose自推出以來就受到了業(yè)界的矚目,并一直引領著可視化建模工具的發(fā)展。越來越多的軟件公司和開發(fā)團隊開始或者已經(jīng)采用Rational Rose,用于大型項目開發(fā)的分析、建模與設計等方面。
Rose2002功能上可以完成UML的9種標準建模,即靜態(tài)建模(用例圖、類圖、對象圖、組件圖、配置圖)和動態(tài)建模(合作圖、序列圖、狀態(tài)轉移圖、活動圖),為了使靜態(tài)建??梢灾苯幼饔糜诖a,Rose提供了類設計到多種程序語言代碼自動產(chǎn)生的插件。同時,作為一款優(yōu)秀的分析和設計工具,常用UML建模工具Rose具有強大的正向和逆向工程能力。正向工程這里指的是由設計產(chǎn)生代碼,逆向工程指由代碼歸納出設計。通過逆向工程Rose可以對歷史系統(tǒng)作出分析,然后進行改進,再通過正向工程產(chǎn)生新系統(tǒng)的代碼,這樣的設計方式我們稱之為再工程。

2.VISIO

VISIO原來僅僅是一種畫圖工具,能夠用來描述各種圖形(從電路圖到房屋結構圖),也是到VISIO 2000才開始引進軟件分析設計功能到代碼生成的全部功能,它可以說是目前最能夠用圖形方式來表達各種商業(yè)圖形用途的工具(對軟件開發(fā)中的UML支持僅僅是其中很少的一部分)。它跟微軟的office產(chǎn)品的能夠很好兼容。能夠把圖形直接復制或者內(nèi)嵌到WORD的文檔中。但是對于代碼的生成更多是支持微軟的產(chǎn)品如VB,VC ,C#,MS SQL Server 等(這也是微軟的傳統(tǒng)),所以它可以說用于圖形語義的描述比較方便,但是用于軟件開發(fā)過程的迭代開發(fā)則有點牽強。

3.StarUML

StarUML(簡稱SU),是一種創(chuàng)建UML類圖,是一種生成類圖和其他類型的統(tǒng)一建模語言(UML)圖表的工具。StarUML是一個開源項目之一發(fā)展快、靈活、可擴展性強。唯一不足之處,在反向工程時,只能生成類圖,不能生成類之間的關系。

相關新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部