《第10章理解UML語言基礎(chǔ)》由會(huì)員分享,可在線閱讀,更多相關(guān)《第10章理解UML語言基礎(chǔ)(26頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,第,10,章 理解,UML,語言基礎(chǔ),本章主要內(nèi)容,:,UML,的組成結(jié)構(gòu),元模型層,UML,的擴(kuò)展,構(gòu)造型、約束、和標(biāo)簽值,要利用,UML,來開發(fā)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)藍(lán)圖,第一步需要先了解,uml,的基本組成要素,在,UML,中共有三大基本組成要素事物、關(guān)系、圖形,一、事物,UML,的模型中最基本的成員,分為:,結(jié)構(gòu)事物,行為事物,分組事物,備注事物,這四類事物也可以說是,UML,中最基本的面向?qū)ο蠼5闹匾M成部分,利用這四類事物可規(guī)劃設(shè)計(jì)出合適的模型系統(tǒng)。,1、結(jié)構(gòu)事物結(jié)構(gòu)事物主要表示概念或者和實(shí)體的組件
2、,而在,UML,建模中,結(jié)構(gòu)事物大多屬于靜態(tài)部分元素。,類,界面,合作,使用案例,活動(dòng)類,組件類,節(jié)點(diǎn)類,這7個(gè)結(jié)構(gòu)事物是,UML,建模中的最基本的結(jié)構(gòu)事物,2、行為事物,簡(jiǎn)單的說“行為事物”就是,UML,模型里面屬于“動(dòng)作”的部分,這種事物會(huì)隨著時(shí)間和空間的轉(zhuǎn)變不斷的執(zhí)行的動(dòng)作。在,UML,中行為事物分為兩類 交互、狀態(tài)機(jī),第一種“交互”是指對(duì)象之間的相互溝通的動(dòng)作消息,這種溝通消息基本上包含著預(yù)實(shí)現(xiàn)特定的目的所需的環(huán)境和動(dòng)作序列。,而對(duì)象之間的群體行為或者是單一執(zhí)行的行為間都會(huì)產(chǎn)生特定的“交互”行為。其中一點(diǎn)必須注意的是“交互”行為一定與其他的元素有關(guān),因?yàn)橹辽僖袃蓚€(gè)以上的對(duì)象才能產(chǎn)生交
3、互,消息顯示,第二種“行為事物”是“狀態(tài)機(jī)”,狀態(tài)機(jī)本身是一種行為,這種行為是用來“表示對(duì)象的一連串狀態(tài)”,但狀態(tài)機(jī)不是單一的元素,而是包含了相當(dāng)多的元素,這些元素包含有“,狀態(tài),、,轉(zhuǎn)換,(指兩狀態(tài)之間的流程)、,事件,(指經(jīng)觸發(fā)而產(chǎn)生的交互動(dòng)作的行為)和,活動(dòng),(指執(zhí)行轉(zhuǎn)換所產(chǎn)生的反應(yīng))”,狀態(tài)的表示方式,3、分組事物,分組事物是指,UML,中屬于“組織”的結(jié)構(gòu)。利用一個(gè)個(gè)的分組事物可將“模型”按特定的結(jié)構(gòu)切分為不等的元素,目前在,UML,中屬于“分組事物”的只有一個(gè),那就是類庫也可以稱為包。,包可以說是一種一般用途的分組/分類機(jī)制,包可以將元素分門別類一封裝,不論結(jié)構(gòu)事物、行為事物或者是
4、其他元素都可以放置到包中。,通過包可以將,UML,模型加以分組,而包也會(huì)有一些變化,,A、,軟件框架,,B、,模型,,C、,子系統(tǒng),包的圖形表示方式,4、備注事物,備注事物是,UML,中用來作為“說明/表示”的元素,可說是,UML,模型中最基本的一種說明事物,主要用途是說明、描述、和標(biāo)注在模型元素的狀況,備注事物與分組事物相同,只有一中主要的備注事物,“批注”。,批注簡(jiǎn)單的說就是用來說明和描述元素的符號(hào),這種符號(hào)可以用在一個(gè)元素或者一組元素上作為說明之用。,UML,中批注的圖形表示方法,二、關(guān)系,UML,模型中第二個(gè)組成要素是“關(guān)系”在,UML,中一共有四中基本的“關(guān)系元素”分別是:,A、,依
5、賴關(guān)系,B、,關(guān)聯(lián)關(guān)系,C、,一般化關(guān)系(泛化關(guān)系),D、,實(shí)現(xiàn)關(guān)系,實(shí)現(xiàn)關(guān)系是一般化關(guān)系和依賴關(guān)系的綜合體,1、依賴關(guān)系,依賴關(guān)系是指兩個(gè)事物/元素之間擁有相互影響的關(guān)聯(lián)、也就是說當(dāng)一個(gè)事物或者元素在發(fā)生改變時(shí),會(huì)影響到另一個(gè)事物,這是因?yàn)樽兓a(chǎn)生的關(guān)聯(lián)影響,即為依賴關(guān)系,依賴關(guān)系包括,包含和擴(kuò)展,2、關(guān)聯(lián)關(guān)系,關(guān)聯(lián)關(guān)系實(shí)際上是一種結(jié)構(gòu)關(guān)系,主要是指兩個(gè)事物之間的相互聯(lián)接結(jié)構(gòu)。包括“聚合關(guān)系”“組成關(guān)系”特殊的關(guān)系,這種關(guān)系是指某個(gè)整體和其一部分之間的關(guān)系。,關(guān)聯(lián)包括,聚合和組成,3、一般化關(guān)系(泛化關(guān)系),在兩個(gè)以上對(duì)象或者元素之間互為主從(一般和特殊化)的關(guān)系類型,特殊化元素(為子元素
6、)可以共享一般化元素(父元素)的結(jié)構(gòu)和行為。因此形成特殊化元素(子元素)的對(duì)象能被一般化元素的對(duì)象所取代。從模型上分,一般化關(guān)系的表方法為一條具有空心箭頭由特殊元素指向一般化元素的實(shí)線。,4、實(shí)現(xiàn)關(guān)系,實(shí)現(xiàn)關(guān)系是指分類器與分類起之間的語意關(guān)系。其中一個(gè)分類器必須依據(jù)兩者間的關(guān)系確定合約,另外一個(gè)分類器則必須保證能實(shí)現(xiàn)合約。,三、圖形,UML,圖形是由元素、事務(wù)、關(guān)系和行為所繪制的圖形表示方法。,在,UML,中的圖形都是利用“可視化”的方式來繪制的,因此所繪制的圖形即可視為系統(tǒng)的結(jié)構(gòu)圖標(biāo),按照結(jié)構(gòu)系統(tǒng)用途上區(qū)分,在,UML,中總共有9個(gè) 標(biāo)準(zhǔn)的、最常使用的圖形,這9類圖形可分用靜態(tài)和動(dòng)態(tài)兩種不同
7、視圖的圖形來 分析,使用案例圖,類圖,對(duì)象圖,構(gòu)件圖,部署圖,模型,順序圖,協(xié)作圖,狀態(tài)圖,活動(dòng)圖,動(dòng)態(tài)視圖,靜態(tài)視圖,1、類圖,用途:,主要強(qiáng)調(diào)系統(tǒng)的靜態(tài)的設(shè)計(jì)視圖,用來表現(xiàn)一個(gè)系統(tǒng)的類和邏輯視圖上的關(guān)系。但不在于描述其行為。,使用類圖的主要目的為表現(xiàn)出系統(tǒng)中概括模型與名稱描述類(,class),間的合作關(guān)系以及可以用來描述數(shù)據(jù)庫中的大綱。,特點(diǎn):,類圖是軟件系統(tǒng)的抽象化結(jié)構(gòu),基本上可分為“邏輯運(yùn)算”和“數(shù)據(jù)流邏輯”兩大結(jié)構(gòu)部分,在系統(tǒng)分析中進(jìn)行數(shù)據(jù)邏輯分析時(shí),很重要的一件事就是“設(shè)計(jì)數(shù)據(jù)庫大綱”,類圖則非常適合用來“設(shè)計(jì)數(shù)據(jù)庫大綱”,2、對(duì)象圖,用途:,主要強(qiáng)調(diào)系統(tǒng)的靜態(tài)的設(shè)計(jì)視圖和靜態(tài)進(jìn)
8、程視圖。對(duì)象圖主要描述在在特定時(shí)刻系統(tǒng)的靜態(tài)結(jié)構(gòu)。,對(duì)象圖可將類圖中的全部事物的靜態(tài)邏輯反映出來。主要用途為產(chǎn)生系統(tǒng)中數(shù)據(jù)和對(duì)象的結(jié)構(gòu)。,特點(diǎn):,對(duì)象圖主要描述某一特定時(shí)刻系統(tǒng)的靜態(tài)結(jié)構(gòu),類圖描述的是所有可能的情況,對(duì)象圖則是描述某一特定的情況。,3、順序圖,用途:,是一種交互圖形,主要強(qiáng)調(diào)的是消息的 時(shí)間順序,以及系統(tǒng)的動(dòng)態(tài)視圖,因此此圖形是以時(shí)間為主,來描述對(duì)象間的交互關(guān)系。,其主要目的為規(guī)劃模型流程的控制以及描述活動(dòng)的 發(fā)展過程。,順序圖和協(xié)作圖都是同結(jié)構(gòu)圖形,因此這兩種圖形之間可以相互轉(zhuǎn)換。,特點(diǎn):,順序圖主要是描述多個(gè)對(duì)象之間的交互關(guān)系。這些關(guān)系是已北模塊化為消息的交換。順序圖所關(guān)注
9、的焦點(diǎn)是類和它們所交換的消息上,借此來實(shí)現(xiàn)某些特定的預(yù)期的行為。,4、協(xié)作圖,用途:,協(xié)作圖也是一種交互圖形,主要強(qiáng)調(diào)的是收發(fā)消息和對(duì)象之間的結(jié)構(gòu)組織。,協(xié)作圖強(qiáng)調(diào)對(duì)象之間的數(shù)據(jù)流、控制流與消息之間的傳遞活動(dòng)。,所以利用協(xié)作圖即可分析出各個(gè)對(duì)象之間的關(guān)系,如此就能了解整個(gè)系統(tǒng)的控制流程。,5、用例圖,用途:,主要強(qiáng)調(diào)的是系統(tǒng)的靜態(tài)地使用案例視圖,利用此視圖可將特定的使用案例與角色間的關(guān)系表現(xiàn)出來。,使用這種圖可了解系統(tǒng)的需求和表達(dá)出使用案例與角色之間的關(guān)系。,使用案例圖最主要的用途為分析系統(tǒng)的功能內(nèi)容和取得結(jié)構(gòu)系統(tǒng)的功能以及控制系統(tǒng)構(gòu)建時(shí)與測(cè)試時(shí)的案例執(zhí)行。,6、狀態(tài)圖,用途:,最主要強(qiáng)調(diào)的是
10、系統(tǒng)的動(dòng)態(tài)視圖,由于狀態(tài)圖中可顯示出狀態(tài),因此對(duì)于模型界面和類或者所協(xié)作間的行為模型來說都是非常重要。,狀態(tài)圖主要用途用來說明行為的狀態(tài)和響應(yīng),因此其可以用來作為模型中個(gè)對(duì)象生命周期的指示和響應(yīng)。,7、活動(dòng)圖,用途:,活動(dòng)圖可將系統(tǒng)中活動(dòng)與活動(dòng)間的執(zhí)行的流程表現(xiàn)出來,其主要強(qiáng)調(diào)的是系統(tǒng)的動(dòng)態(tài)視圖。,而活動(dòng)圖也可以視為是一種特殊的狀態(tài)圖。,活動(dòng)圖主要用途為指出一個(gè)執(zhí)行動(dòng)作的類中的活動(dòng)和行為。并描述此類為響應(yīng)內(nèi)部動(dòng)作所作的所有反映。,活動(dòng)圖的主要功能為控制模型的工作流程和 工作活動(dòng)。,8、構(gòu)件圖(組件),用途:,主要強(qiáng)調(diào)的是系統(tǒng)中靜態(tài)的實(shí)現(xiàn)視圖,利用構(gòu)件圖可以看出構(gòu)件與構(gòu)件之間的組織和依賴的關(guān)系。
11、,構(gòu)件圖的主要的用途是在規(guī)劃系統(tǒng) 整合開發(fā)結(jié)構(gòu)時(shí),定義出系統(tǒng)的實(shí)現(xiàn)視圖以及描述系統(tǒng)在實(shí)際開發(fā)構(gòu)建的組織結(jié)構(gòu)和依賴關(guān)系。,由于構(gòu)件對(duì)應(yīng)到一個(gè)類或者多個(gè)類、界面或是合作上,因此構(gòu)件圖與類圖具有相當(dāng)密切的關(guān)系。,10、部署圖,用途:,其主要強(qiáng)調(diào)的是系統(tǒng)的動(dòng)態(tài)視圖。,而活動(dòng)圖也可以視為是一種特殊的狀態(tài)圖。,利用部署圖可將系統(tǒng)在運(yùn)行時(shí)的節(jié)點(diǎn)設(shè)置和 存在與該節(jié)點(diǎn)上的所有相關(guān)構(gòu)件表現(xiàn)出來。,部署圖的若從系統(tǒng)整合開發(fā)結(jié)構(gòu)分析上看,主要扮演的角色是系統(tǒng)的環(huán)境視圖,主要功能是為用來描述系統(tǒng)處理資源元素間的組態(tài),以及系統(tǒng)實(shí)際運(yùn)行構(gòu)件間的對(duì)應(yīng)方式。,部署圖最主要的用途是說明系統(tǒng)中各個(gè)分布式的組件和找出組件間無法顯示出
12、的問題所在。,四、利用,UML,規(guī)劃軟件的系統(tǒng)結(jié)構(gòu),一套良好的“系統(tǒng)結(jié)構(gòu)”至少必須做到下述5個(gè)重要開發(fā)策略:,1、軟件系統(tǒng)的組織:包含系統(tǒng)整體組織和個(gè)組件組織。,2、,系統(tǒng)中結(jié)構(gòu)元素和界面的選擇分析,3、依照結(jié)構(gòu)元素制定行為模型。,4、依照基礎(chǔ)結(jié)構(gòu)元素和行為元素的漸進(jìn)組成而設(shè)計(jì)出大型子系統(tǒng)。,5、從結(jié)構(gòu)樣式導(dǎo)出軟件應(yīng)用結(jié)構(gòu)組織:包含靜態(tài)和動(dòng)態(tài)元素和界面、靜態(tài)和動(dòng)態(tài)元素的合作和組成。,五、標(biāo)準(zhǔn)的軟件結(jié)構(gòu)概念“4+1”視圖,所謂“4+1”視圖指的是邏輯視圖、實(shí)現(xiàn)視圖、進(jìn)程視圖、部署視圖、使用案例視圖。,邏輯視圖:,以面向?qū)ο蟮母拍?,來表達(dá)出軟件設(shè)計(jì)的結(jié)果。邏輯視圖主要描述實(shí)現(xiàn)系統(tǒng)內(nèi)部功能型工作的細(xì)部設(shè)計(jì),這些設(shè)計(jì)包括靜態(tài)的結(jié)構(gòu)和動(dòng)態(tài)的行為。,實(shí)現(xiàn)視圖:,以模塊或者組件來表現(xiàn)出按照邏輯設(shè)計(jì)的對(duì)象是在那一個(gè)模塊或組件中實(shí)現(xiàn)。,進(jìn)程視圖:,通常以個(gè)典型的分布式系統(tǒng),一般都包含許多進(jìn)程和線程。進(jìn)程視圖是描述一個(gè)系統(tǒng)中各組成部分整體運(yùn)行的程序。,部署視圖:,是指網(wǎng)絡(luò)環(huán)境中,充分表示進(jìn)程或者線性對(duì)應(yīng)到主機(jī)或設(shè)備的實(shí)際狀態(tài)。也就是描述系統(tǒng)硬件或設(shè)備之間的聯(lián)接關(guān)系和 軟件程序的配置狀況,使用案例視圖:,可以說是,UML,的核心,主要的作用四用來說明系統(tǒng)功能性的要求。找出系統(tǒng)中使用案例和角色,和使用案例的模型來充分表達(dá)出軟件功能的的要求。,邏輯視圖,部署試圖,實(shí)現(xiàn)視圖,進(jìn)程視圖,使用案例視圖,