統(tǒng)一建模語言概述..docx_第1頁
統(tǒng)一建模語言概述..docx_第2頁
統(tǒng)一建模語言概述..docx_第3頁
統(tǒng)一建模語言概述..docx_第4頁
統(tǒng)一建模語言概述..docx_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余4頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、統(tǒng)一建模語言概述【摘要】統(tǒng)一建模語言( UML)是一種通用的可視化建模語言,可以分為兩個(gè)主要構(gòu)件,即結(jié)構(gòu)圖和行為圖。 本文對(duì)統(tǒng)一建模語言進(jìn)行了概括性的論述, 主要著力于闡述 UML 的主要組成部分,并說明了 UML 的主要特點(diǎn)與優(yōu)點(diǎn)?!娟P(guān)鍵字】統(tǒng)一建模語言概述 組成 特點(diǎn) 優(yōu)點(diǎn)【 Abstracts】Unified Modeling Language (UML) is a universal visual modeling language, can bedivided into twomain components, namely, structure diagrams and behavi

2、or diagrams. In this paper,the Unified Modeling Language for the general discussion, the main focus on the elaboration of the main components of UML and describes the main features and benefits of UML.【 Keywords】 Unified Modeling Language, UML, summary目錄一、前言3二、統(tǒng)一建模語言 (UML)的組成31.用例圖32.類圖33.序列圖44.狀態(tài)圖4

3、5.活動(dòng)圖56.組件圖67.部署圖68.協(xié)作圖69.包圖7三、統(tǒng)一建模語言 (UML)的主要特點(diǎn)7四、統(tǒng)一建模語言 (UML)的優(yōu)點(diǎn)8五、總結(jié)8一、 前言統(tǒng)一建模語言(Unified Modeling Language ,UML)是由 3 位世界著名的面向?qū)ο蠹夹g(shù)專家Gray Booch、 Jim Rumbaugh 、Ivar Jacobson 發(fā)起,在 Booth 表示法、 OOSE方法和 OMT 方法的基礎(chǔ)上,廣泛征求意見,反復(fù)修改后提出的通用的圖形化標(biāo)準(zhǔn)建模語言。統(tǒng)一建模語言(UML)是非專利的第三代建模和規(guī)約語言。UML 是在開發(fā)階段、說明、可視化、構(gòu)建和書寫一個(gè)面向?qū)ο筌浖芗到y(tǒng)的

4、制品的開放方法。UML 展現(xiàn)了一系列最佳工程實(shí)踐,這些最佳實(shí)踐在對(duì)大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在軟件架構(gòu)層次已經(jīng)被驗(yàn)證有效。UML經(jīng)過不斷使用、 發(fā)展和完善,已經(jīng)成為一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的建模語言, 它為用戶建模提供了完整的符號(hào)表示和不同層次的元模型,其作用域不僅支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)的全過程,用戶可以根據(jù)自己所開發(fā)系統(tǒng)的特點(diǎn)和不同的開發(fā)階段,靈活選用UML 所提供的各種圖和模型,以實(shí)現(xiàn)系統(tǒng)軟件的柔性開發(fā)。二、統(tǒng)一建模語言 (UML)的組成1. 用例圖用例圖是被稱為參與者的外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)了一些參與者和一

5、些用例,以及它們之間的關(guān)系,主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。用例圖展示了用例之間以及同用例參與者之間是怎樣相互聯(lián)系的。用例圖用于對(duì)系統(tǒng)、子系統(tǒng)或類的行為進(jìn)行可視化,使用戶能夠理解如何使用這些元素,并使開發(fā)者能夠?qū)崿F(xiàn)這些元素。用例圖描述了系統(tǒng)提供的一個(gè)功能單元。用例圖的主要目的是幫助開發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求,包括基于基本流程的角色 ( actors,也就是與系統(tǒng)交互的其他實(shí)體)關(guān)系,以及系統(tǒng)內(nèi)用例之間的關(guān)系。用例圖一般表示出用例的組織關(guān)系-要么是整個(gè)系統(tǒng)的全部用例,要么是完成具有功能(例如,所有安全管理相關(guān)的用例)的一組用例。要在用例圖上顯示某個(gè)用例,可繪制一個(gè)

6、橢圓,然后將用例的名稱放在橢圓的中心或橢圓下面的中間位置。要在用例圖上繪制一個(gè)角色(表示一個(gè)系統(tǒng)用戶),可繪制一個(gè)人形符號(hào)。 角色和用例之間的關(guān)系使用簡單的線段來描述。2. 類圖類圖表示不同的實(shí)體(人、事物和數(shù)據(jù))如何彼此相關(guān);換句話說,它顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu)。類圖可用于表示邏輯類,邏輯類通常就是業(yè)務(wù)人員所談及的事物種類- 搖滾樂隊(duì)、CD 、廣播?。换蛘哔J款、住房抵押、汽車信貸以及利率。類圖還可用于表示實(shí)現(xiàn)類,實(shí)現(xiàn)類就是程序員處理的實(shí)體。實(shí)現(xiàn)類圖或許會(huì)與邏輯類圖顯示一些相同的類。然而,實(shí)現(xiàn)類圖不會(huì)使用相同的屬性來描述, 因?yàn)樗芸赡芫哂袑?duì)諸如 Vector 和 HashMap 這種事物的引用。

7、類在類圖上使用包含三個(gè)部分的矩形來描述,如圖2 所示。最上面的部分顯示類的名稱,中間部分包含類的屬性,最下面的部分包含類的操作(或者說方法 )。3. 序列圖序列圖顯示具體用例 (或者是用例的一部分) 的詳細(xì)流程。它幾乎是自描述的,并且顯示了流程中中不同對(duì)象之間的調(diào)用關(guān)系,同時(shí)還可以很詳細(xì)地顯示對(duì)不同對(duì)象的不同調(diào)用。序列圖有兩個(gè)維度:垂直維度以發(fā)生的時(shí)間順序顯示消息/ 調(diào)用的序列;水平維度顯示消息被發(fā)送到的對(duì)象實(shí)例。序列圖的繪制非常簡單。橫跨圖的頂部,每個(gè)框表示每個(gè)類的實(shí)例(對(duì)象)。在框中,類實(shí)例名稱和類名稱之間用空格/ 冒號(hào) / 空格來分隔。 如果某個(gè)類實(shí)例向另一個(gè)類實(shí)例發(fā)送一條消息,則繪制一

8、條具有指向接收類實(shí)例的開箭頭的連線,并把消息/ 方法的名稱放在連線上面。 對(duì)于某些特別重要的消息,您可以繪制一條具有指向發(fā)起類實(shí)例的開箭頭的虛線,將返回值標(biāo)注在虛線上。就我而言, 我總喜歡繪制出包括返回值的虛線,這些額外的信息可以使得序列圖更易于閱讀。閱讀序列圖也非常簡單。從左上角啟動(dòng)序列的 驅(qū)動(dòng) 類實(shí)例開始, 然后順著每條消息往下閱讀。4. 狀態(tài)圖狀態(tài)圖表示某個(gè)類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。有人可能會(huì)爭論說每個(gè)類都有狀態(tài),但不是每個(gè)類都應(yīng)該有一個(gè)狀態(tài)圖。只對(duì) 感興趣的 狀態(tài)的類(也就是說,在系統(tǒng)活動(dòng)期間具有三個(gè)或更多潛在狀態(tài)的類)才進(jìn)行狀態(tài)圖描述。狀態(tài)圖的符號(hào)集包括 5 個(gè)基本元素:

9、初始起點(diǎn),它使用實(shí)心圓來繪制;狀態(tài)之間的轉(zhuǎn)換,它使用具有開箭頭的線段來繪制;狀態(tài),它使用圓角矩形來繪制;判斷點(diǎn),它使用空心圓來繪制; 以及一個(gè)或者多個(gè)終止點(diǎn), 它們使用內(nèi)部包含實(shí)心圓的圓來繪制。 要繪制狀態(tài)圖,首先繪制起點(diǎn)和一條指向該類的初始狀態(tài)的轉(zhuǎn)換線段。狀態(tài)本身可以在圖上的任意位置繪制,然后只需使用狀態(tài)轉(zhuǎn)換線條將它們連接起來。5. 活動(dòng)圖活動(dòng)圖表示在處理某個(gè)活動(dòng)時(shí),兩個(gè)或者更多類對(duì)象之間的過程控制流?;顒?dòng)圖可用于在業(yè)務(wù)單元的級(jí)別上對(duì)更高級(jí)別的業(yè)務(wù)過程進(jìn)行建模,或者對(duì)低級(jí)別的內(nèi)部類操作進(jìn)行建模。根據(jù)我的經(jīng)驗(yàn), 活動(dòng)圖最適合用于對(duì)較高級(jí)別的過程建模,比如公司當(dāng)前在如何運(yùn)作業(yè)務(wù),或者業(yè)務(wù)如何運(yùn)作

10、等。這是因?yàn)榕c序列圖相比,活動(dòng)圖在表示上 不夠技術(shù)性的 ,但有業(yè)務(wù)頭腦的人們往往能夠更快速地理解它們?;顒?dòng)圖的符號(hào)集與狀態(tài)圖中使用的符號(hào)集類似。像狀態(tài)圖一樣, 活動(dòng)圖也從一個(gè)連接到初始活動(dòng)的實(shí)心圓開始。活動(dòng)是通過一個(gè)圓角矩形(活動(dòng)的名稱包含在其內(nèi))來表示的。活動(dòng)可以通過轉(zhuǎn)換線段連接到其他活動(dòng),或者連接到判斷點(diǎn),這些判斷點(diǎn)連接到由判斷點(diǎn)的條件所保護(hù)的不同活動(dòng)。結(jié)束過程的活動(dòng)連接到一個(gè)終止點(diǎn)(就像在狀態(tài)圖中一樣)。6. 組件圖組件圖提供系統(tǒng)的物理視圖。它的用途是顯示系統(tǒng)中的軟件對(duì)其他軟件組件函數(shù))的依賴關(guān)系。組件圖可以在一個(gè)非常高的層次上顯示,從而僅顯示粗粒度的組件。(例如, 庫7. 部署圖部署圖

11、表示該軟件系統(tǒng)如何部署到硬件環(huán)境中。它的用途是顯示該系統(tǒng)不同的組件將在何處物理地運(yùn)行, 以及它們將如何彼此通信。 因?yàn)椴渴饒D是對(duì)物理運(yùn)行情況進(jìn)行建模, 系統(tǒng)的生產(chǎn)人員就可以很好地利用這種圖。部署圖中的符號(hào)包括組件圖中所使用的符號(hào)元素, 另外還增加了幾個(gè)符號(hào), 包括節(jié)點(diǎn)的概念。一個(gè)節(jié)點(diǎn)可以代表一臺(tái)物理機(jī)器, 或代表一個(gè)虛擬機(jī)器節(jié)點(diǎn) (例如,一個(gè)大型機(jī)節(jié)點(diǎn)) 。要對(duì)節(jié)點(diǎn)進(jìn)行建模, 只需繪制一個(gè)三維立方體, 節(jié)點(diǎn)的名稱位于立方體的頂部。 所使用的命名約定與序列圖中相同: 實(shí)例名稱 : 實(shí)例類型 。8. 協(xié)作圖協(xié)作圖對(duì)在一次交互中有意義的對(duì)象和對(duì)象間的鏈建模。對(duì)象和關(guān)系只有在交互的才有意義。 類元角色

12、描述了一個(gè)對(duì)象,關(guān)聯(lián)角色描述了協(xié)作關(guān)系中的一個(gè)鏈。協(xié)作圖用幾何排列來表示交互作用中的各角色。附在類元角色上的箭頭代表消息。消息的發(fā)生順序用消息箭頭處的編號(hào)來說明。協(xié)作圖的一個(gè)用途是表示一個(gè)類操作的實(shí)現(xiàn)。 協(xié)作圖可以說明類操作中用到的參數(shù)和局部變量以及操作中的永久鏈。 當(dāng)實(shí)現(xiàn)一個(gè)行為時(shí), 消息編號(hào)對(duì)應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號(hào)傳遞過程。9. 包圖為了簡單地表示出復(fù)雜的類圖,可以把類組合成包packages。一個(gè)包是UML 上有邏輯關(guān)系的元件的集合。下面這個(gè)圖是是一個(gè)把類組合成包的一個(gè)商業(yè)模型。如果另一個(gè)的包 B 改變可能會(huì)導(dǎo)致一個(gè)包A 改變,則包A 依賴包 B 。三、統(tǒng)一建模語言 (UML)的主

13、要特點(diǎn)UML 統(tǒng)一了 Booch 、 OMT 、 OOSE 和其它面向?qū)ο蠓椒ǖ幕靖拍詈头?hào)。同時(shí), UML 匯集了面向?qū)ο箢I(lǐng)域中很多人的思想,如圖 1 所示。這些思想是 UML 的創(chuàng)始者依據(jù)最優(yōu)秀的面向?qū)ο蠓椒ê拓S富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的。目前, UML 是一種先進(jìn)的標(biāo)準(zhǔn)建模語言,但其中某些概念尚待實(shí)踐驗(yàn)證, UML 的發(fā)展還存在著一個(gè)進(jìn)化過程。 UML 是一種建模語言而不是一種方法。 這是因?yàn)?UML 中沒有過程的概念,而過程正是方法的一個(gè)重要組成部分。 UML 本身獨(dú)立于過程,這意味著用戶在使用 UML 進(jìn)行建模時(shí),可以選用任何適合的過程。過程的選用與軟件開發(fā)過程的不同因素

14、有關(guān),諸如所開發(fā)軟件的種類(如實(shí)時(shí)系統(tǒng)、信息系統(tǒng)和桌面產(chǎn)品)、開發(fā)組織的規(guī)模(如單人開發(fā)、小組開發(fā)和團(tuán)隊(duì)開發(fā))等。用戶將根據(jù)不同的需要選用不同的過程。UML 只是一語言,是獨(dú)立于過程的,最好將它應(yīng)用于用例驅(qū)動(dòng)的、以體系結(jié)構(gòu)為中心的、迭代的、遞增的過程。四、統(tǒng)一建模語言 (UML)的優(yōu)點(diǎn)1.UML 符號(hào)具有定義良好的語義,不會(huì)引起歧義。模語言,因此,用UML 建模有利于交流。UML是一個(gè)標(biāo)準(zhǔn)的、被廣泛采用的建2. UML 是可視化的建模語言,它為系統(tǒng)提供了圖形化的可視模型,使系統(tǒng)的結(jié)構(gòu)變得直觀,易于理解。3. 用 UML 為軟件系統(tǒng)建立模型不但有利于交流,而且有利于軟件的維護(hù)。五、總結(jié)建模語言 UML 是一種定義良好、富于表達(dá)、功能強(qiáng)大且普遍適用的建模語言。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它不但支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)的全過程。 UML 代表了面向?qū)ο筌浖_發(fā)技

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論