UML交互圖學(xué)習(xí)教案_第1頁
UML交互圖學(xué)習(xí)教案_第2頁
UML交互圖學(xué)習(xí)教案_第3頁
UML交互圖學(xué)習(xí)教案_第4頁
UML交互圖學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、會計(jì)學(xué)1UML交互交互(jioh)圖圖第一頁,共46頁。第1頁/共45頁第二頁,共46頁。交互與交互圖交互與交互圖如何閱讀交互圖如何閱讀交互圖如何繪制交互圖如何繪制交互圖交互圖應(yīng)用說明交互圖應(yīng)用說明(shumng)定時圖定時圖本章小結(jié)本章小結(jié)第2頁/共45頁第三頁,共46頁。交互與交互圖交互與交互圖如何閱讀交互圖如何閱讀交互圖如何繪制交互圖如何繪制交互圖交互圖應(yīng)用交互圖應(yīng)用(yngyng)說明說明定時圖定時圖本章小結(jié)本章小結(jié)第3頁/共45頁第四頁,共46頁。一次交互就是指在特定語境中,為了實(shí)現(xiàn)某一個目標(biāo),而在一組對象之間進(jìn)行交換的一組消息所表示一次交互就是指在特定語境中,為了實(shí)現(xiàn)某一個目標(biāo),而

2、在一組對象之間進(jìn)行交換的一組消息所表示(biosh)的行為的行為 第4頁/共45頁第五頁,共46頁。順序圖:順序圖是一種強(qiáng)調(diào)消息時間順序的交互圖,為讀者提供了控制流隨著時間推移的清晰的可視化軌跡順序圖:順序圖是一種強(qiáng)調(diào)消息時間順序的交互圖,為讀者提供了控制流隨著時間推移的清晰的可視化軌跡 通信圖:中的通信圖實(shí)際上就是通信圖:中的通信圖實(shí)際上就是UML 1中的協(xié)作圖,它強(qiáng)調(diào)的是參加交互的對象的組織,為讀者提供了在協(xié)作對象結(jié)構(gòu)組織的語境中觀察控制流的一個清晰的可視化軌跡中的協(xié)作圖,它強(qiáng)調(diào)的是參加交互的對象的組織,為讀者提供了在協(xié)作對象結(jié)構(gòu)組織的語境中觀察控制流的一個清晰的可視化軌跡 定時圖:采用了

3、一種帶數(shù)字刻度的時間軸來精確定時圖:采用了一種帶數(shù)字刻度的時間軸來精確(jngqu)地描述消息的順序地描述消息的順序交互概述圖:是交互圖和活動圖的混合物交互概述圖:是交互圖和活動圖的混合物 第5頁/共45頁第六頁,共46頁。交互與交互圖交互與交互圖如何閱讀交互圖如何閱讀交互圖如何繪制交互圖如何繪制交互圖交互圖應(yīng)用說明交互圖應(yīng)用說明定時圖定時圖本章本章(bn zhn)小結(jié)小結(jié)第6頁/共45頁第七頁,共46頁。第7頁/共45頁第八頁,共46頁。對象與角色:最頂上一排矩形框。在交互圖中,參與交互的對象既可以是具體的事物,又可以是原型化的事物。作為具體的事物,一個對象代對象與角色:最頂上一排矩形框。在

4、交互圖中,參與交互的對象既可以是具體的事物,又可以是原型化的事物。作為具體的事物,一個對象代表現(xiàn)實(shí)世界中的某個東西。例如,表現(xiàn)實(shí)世界中的某個東西。例如,aOrder作為類作為類Order的一個實(shí)例,可以代表一個的一個實(shí)例,可以代表一個特定的訂單;而如果作為一個原型化的事特定的訂單;而如果作為一個原型化的事件,則件,則aOrder可以代表類可以代表類Order的任何一的任何一個實(shí)例。個實(shí)例。生命線與控制焦點(diǎn):每個對象都有自己的生命線與控制焦點(diǎn):每個對象都有自己的生命線,對象生命線是一條生命線,對象生命線是一條(y tio)垂直的虛線,垂直的虛線,用來表示一個對象在一段時間內(nèi)存在。用來表示一個對象

5、在一段時間內(nèi)存在。第8頁/共45頁第九頁,共46頁。10第9頁/共45頁第十頁,共46頁。DeleteCustomer()NewCustomer(Data)Customer(Data):CustomerWindow:Customer第10頁/共45頁第十一頁,共46頁。消息:用來描述對象之間所進(jìn)行的通信的,該信息帶有對將要發(fā)生的活動的期望。當(dāng)傳送一個消息時,它所引起的動作是一個通過對計(jì)算過程的抽象而得到的可執(zhí)行語句消息:用來描述對象之間所進(jìn)行的通信的,該信息帶有對將要發(fā)生的活動的期望。當(dāng)傳送一個消息時,它所引起的動作是一個通過對計(jì)算過程的抽象而得到的可執(zhí)行語句(yj)。消息分為五種:調(diào)用、返回

6、、發(fā)送、創(chuàng)建和銷毀消息分為五種:調(diào)用、返回、發(fā)送、創(chuàng)建和銷毀調(diào)用:表示調(diào)用某個對象一個操作調(diào)用:表示調(diào)用某個對象一個操作 第11頁/共45頁第十二頁,共46頁。1312嵌套編號嵌套編號(bin ho)第12頁/共45頁第十三頁,共46頁。14順序順序(shnx)編號編號第13頁/共45頁第十四頁,共46頁。第14頁/共45頁第十五頁,共46頁。循環(huán)循環(huán)(xnhun)與分支與分支第15頁/共45頁第十六頁,共46頁。循環(huán)循環(huán)(xnhun)與分支與分支的循環(huán)的循環(huán)(xnhun)和分支表示法和分支表示法第16頁/共45頁第十七頁,共46頁。在在dispatchForm(分發(fā)窗體)中,對于某個已支付的

7、(分發(fā)窗體)中,對于某個已支付的Order進(jìn)行分發(fā)時,就會調(diào)用該訂單(一個進(jìn)行分發(fā)時,就會調(diào)用該訂單(一個Order類的實(shí)例對象類的實(shí)例對象aOrder)的)的dispatch()方法方法dispatch()方法將逐個方法將逐個(zhg)調(diào)用該調(diào)用該Order對應(yīng)的所有對應(yīng)的所有OrderItem對象的對象的getPeddleryId()方法還獲取供應(yīng)商方法還獲取供應(yīng)商ID(PeddleryId),而),而OrderItem對象則是通過其所對應(yīng)的對象則是通過其所對應(yīng)的Product對象來的對象來的getPeddleryId()方法來獲取供應(yīng)商方法來獲取供應(yīng)商ID第17頁/共45頁第十八頁,共4

8、6頁。當(dāng)當(dāng)Order的實(shí)例對象的實(shí)例對象(duxing)aOrder得到返回的得到返回的PeddleryId后,根據(jù)該值判斷是否已經(jīng)有相對應(yīng)的后,根據(jù)該值判斷是否已經(jīng)有相對應(yīng)的DeliverOrder對象對象(duxing),如果沒有就創(chuàng)建它(調(diào)用,如果沒有就創(chuàng)建它(調(diào)用create(PeddleryId)),然后再將對應(yīng)的),然后再將對應(yīng)的Product添加到這個添加到這個DeliverOrder對象對象(duxing)中。否則就直接添加到相應(yīng)的中。否則就直接添加到相應(yīng)的DeliverOrder對象對象(duxing)中中第18頁/共45頁第十九頁,共46頁。交互片斷交互片斷(pindun)

9、操作符操作符assert是用來表示內(nèi)容所描述的行為是執(zhí)行過程中那個時刻唯一的有效行為。如果執(zhí)行到這個片斷是用來表示內(nèi)容所描述的行為是執(zhí)行過程中那個時刻唯一的有效行為。如果執(zhí)行到這個片斷(pindun)的前面,則說明的前面,則說明該片斷該片斷(pindun)就一定會發(fā)生。就一定會發(fā)生。它通常和它通常和ignore或或consider一起使用,以一起使用,以斷言某種特定種類的斷言某種特定種類的消息行為消息行為 第19頁/共45頁第二十頁,共46頁。交互片斷操作符交互片斷操作符break和循環(huán)語句的和循環(huán)語句的break有點(diǎn)類似,通常有點(diǎn)類似,通常break用來定義一個含有監(jiān)護(hù)條件的子片斷。如果監(jiān)護(hù)

10、條件為用來定義一個含有監(jiān)護(hù)條件的子片斷。如果監(jiān)護(hù)條件為“真真”則執(zhí)行子則執(zhí)行子片斷,而且不執(zhí)行包含片斷,而且不執(zhí)行包含子片斷的圖中其它交互子片斷的圖中其它交互將不會將不會(b hu)執(zhí)行;如果監(jiān)護(hù)執(zhí)行;如果監(jiān)護(hù)條件為條件為“假假”,那么執(zhí)行,那么執(zhí)行將正常地繼續(xù)進(jìn)行將正常地繼續(xù)進(jìn)行 第20頁/共45頁第二十一頁,共46頁。表示該子片斷是表示該子片斷是“臨界區(qū)域臨界區(qū)域”,在臨界區(qū)域中生命線上的事件序列不能夠和其它區(qū)域中的任何其他,在臨界區(qū)域中生命線上的事件序列不能夠和其它區(qū)域中的任何其他(qt)事件交錯。通常用來表示一個原子性的連續(xù)操作,例如事務(wù)性操作事件交錯。通常用來表示一個原子性的連續(xù)操作

11、,例如事務(wù)性操作 第21頁/共45頁第二十二頁,共46頁。用來表示用來表示“并行并行”的,也就是用來表示兩個或多個并發(fā)執(zhí)行的子片斷,并行子片斷中單個元素的執(zhí)行次序可以以任何可能的順序的,也就是用來表示兩個或多個并發(fā)執(zhí)行的子片斷,并行子片斷中單個元素的執(zhí)行次序可以以任何可能的順序(shnx)相互操作相互操作 par第22頁/共45頁第二十三頁,共46頁。在一個交互圖中,我們可以在一個交互圖中,我們可以(ky)引用其它的交互圖,其表示的方法是用一個矩形,加上引用其它的交互圖,其表示的方法是用一個矩形,加上ref操作符,并寫明引用的交互圖名稱即可操作符,并寫明引用的交互圖名稱即可 圖表示法圖表示法類

12、圖class對象圖object包圖package用例圖use case順序圖sd通信圖comm定時圖timing活動圖activity交互概觀圖intover狀態(tài)機(jī)圖statemachine構(gòu)件圖component部署圖deployment第23頁/共45頁第二十四頁,共46頁。第24頁/共45頁第二十五頁,共46頁。鏈:連接器,是用來表示對象之間的語義連接,一般而言,鏈?zhǔn)顷P(guān)聯(lián)的一個實(shí)例(包括鏈:連接器,是用來表示對象之間的語義連接,一般而言,鏈?zhǔn)顷P(guān)聯(lián)的一個實(shí)例(包括(boku)association、self、global、local等)。不過在等)。不過在UML 2中已經(jīng)開始弱化它們的使用

13、,因此除非必要,無需過多地考慮它們中已經(jīng)開始弱化它們的使用,因此除非必要,無需過多地考慮它們消息編號:消息的編號有兩種,一種是無層次編號,它簡單直觀;另一種是嵌套的編號,它更易于表示消息的包含關(guān)系消息編號:消息的編號有兩種,一種是無層次編號,它簡單直觀;另一種是嵌套的編號,它更易于表示消息的包含關(guān)系迭代標(biāo)記:用迭代標(biāo)記:用*號表示,表示循環(huán),通常還有迭代表達(dá)式,用來說明循環(huán)規(guī)則號表示,表示循環(huán),通常還有迭代表達(dá)式,用來說明循環(huán)規(guī)則第25頁/共45頁第二十六頁,共46頁。監(jiān)護(hù)條件:通常是用來表示分支的,也就是表示監(jiān)護(hù)條件:通常是用來表示分支的,也就是表示“如果條件為如果條件為true,才發(fā)送消息

14、,才發(fā)送消息” 在通信圖中使用監(jiān)護(hù)條件一定要有所限制,通常應(yīng)只列出主要的監(jiān)護(hù)條件,否則會影響在通信圖中使用監(jiān)護(hù)條件一定要有所限制,通常應(yīng)只列出主要的監(jiān)護(hù)條件,否則會影響(yngxing)其閱讀。如果需要,盡可能還是通過順序圖來表示其閱讀。如果需要,盡可能還是通過順序圖來表示 第26頁/共45頁第二十七頁,共46頁。交互與交互圖交互與交互圖如何閱讀交互圖如何閱讀交互圖如何繪制交互圖如何繪制交互圖交互圖應(yīng)用說明交互圖應(yīng)用說明定時圖定時圖本章本章(bn zhn)小結(jié)小結(jié)第27頁/共45頁第二十八頁,共46頁。首先根據(jù)自己的喜好和實(shí)際的表現(xiàn)需要來選擇順序圖或通信圖。不過由于它們在語義上是等價(jià)的,因此可

15、以繪制出一種,再通過建模工具來自動轉(zhuǎn)換成另一種圖首先根據(jù)自己的喜好和實(shí)際的表現(xiàn)需要來選擇順序圖或通信圖。不過由于它們在語義上是等價(jià)的,因此可以繪制出一種,再通過建模工具來自動轉(zhuǎn)換成另一種圖 分析模型中的交互圖徹重于分析類的職責(zé)分配和交互流程,而設(shè)計(jì)模型中的交互圖則徹重于設(shè)計(jì)類的引入和實(shí)際方法的調(diào)用與流程控制分析模型中的交互圖徹重于分析類的職責(zé)分配和交互流程,而設(shè)計(jì)模型中的交互圖則徹重于設(shè)計(jì)類的引入和實(shí)際方法的調(diào)用與流程控制 先確定參與交互的對象、對象之間的關(guān)系(通信圖),然后確定對象間的消息交互流程(用同步先確定參與交互的對象、對象之間的關(guān)系(通信圖),然后確定對象間的消息交互流程(用同步(t

16、ngb)調(diào)用、異步消息、返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記及監(jiān)護(hù)條件來表示循環(huán)和分支結(jié)構(gòu)調(diào)用、異步消息、返回消息表示),并利用交互片斷(順序圖)或迭代標(biāo)記及監(jiān)護(hù)條件來表示循環(huán)和分支結(jié)構(gòu)第28頁/共45頁第二十九頁,共46頁。Robustness分析不是分析不是(b shi)UML模型的一部分,它是一個強(qiáng)大的草圖工具,是介于分析和設(shè)計(jì)之間的一種有效工具模型的一部分,它是一個強(qiáng)大的草圖工具,是介于分析和設(shè)計(jì)之間的一種有效工具在在Robustness分析中,將應(yīng)用邊界類、控制類和實(shí)體類分析中,將應(yīng)用邊界類、控制類和實(shí)體類從一個用例中抽取三類對象的方法:從一個用例中抽取三類對象的方法:

17、 第29頁/共45頁第三十頁,共46頁。第30頁/共45頁第三十一頁,共46頁。圖書管理員向系統(tǒng)發(fā)出圖書管理員向系統(tǒng)發(fā)出“新增書籍信息新增書籍信息”請求請求主窗口、主窗口、“新增書籍信息新增書籍信息”按鈕按鈕系統(tǒng)要求圖書管理員選擇要新增的書籍是計(jì)算機(jī)類還是非計(jì)算機(jī)類系統(tǒng)要求圖書管理員選擇要新增的書籍是計(jì)算機(jī)類還是非計(jì)算機(jī)類書籍類別列表框。書籍類別列表框。圖書管理員做出選擇圖書管理員做出選擇后,顯示相應(yīng)界面,后,顯示相應(yīng)界面,讓圖書管理員輸入信讓圖書管理員輸入信息,并自動根據(jù)書號息,并自動根據(jù)書號規(guī)則生成書號規(guī)則生成書號“新書信息錄入新書信息錄入(l r)”窗口窗口及輔助的及輔助的“提交提交”按

18、鈕按鈕第31頁/共45頁第三十二頁,共46頁。根據(jù)事件流中的步驟根據(jù)事件流中的步驟5,以及擴(kuò)展路徑的描述,就可以在原圖上增加相應(yīng)的控制對象,以及擴(kuò)展路徑的描述,就可以在原圖上增加相應(yīng)的控制對象(duxing),得到更進(jìn)一步的,得到更進(jìn)一步的Robustness分析圖分析圖 第32頁/共45頁第三十三頁,共46頁。新添兩個邏輯新添兩個邏輯(lu j):一是基本事件流中的步驟:一是基本事件流中的步驟2、3要求根據(jù)用戶選擇的類別,自動獲得書號;二是當(dāng)書名重復(fù)性檢查沒有通過(有重名),則應(yīng)返回要求其重輸要求根據(jù)用戶選擇的類別,自動獲得書號;二是當(dāng)書名重復(fù)性檢查沒有通過(有重名),則應(yīng)返回要求其重輸 第

19、33頁/共45頁第三十四頁,共46頁。第34頁/共45頁第三十五頁,共46頁。第35頁/共45頁第三十六頁,共46頁。交互與交互圖交互與交互圖如何閱讀交互圖如何閱讀交互圖如何繪制交互圖如何繪制交互圖交互圖應(yīng)用說明交互圖應(yīng)用說明(shumng)定時圖定時圖本章小結(jié)本章小結(jié)第36頁/共45頁第三十七頁,共46頁。第37頁/共45頁第三十八頁,共46頁。工作方法工作方法(fngf):針對用例圖中的每個用例,并結(jié)合領(lǐng)域模型中的類,尋找分析類,并通過:針對用例圖中的每個用例,并結(jié)合領(lǐng)域模型中的類,尋找分析類,并通過Robustness分析來理清業(yè)務(wù)邏輯流程,再用交互模型將其確定下來分析來理清業(yè)務(wù)邏輯流程

20、,再用交互模型將其確定下來 注意:主要關(guān)注于區(qū)分出邊界對象、實(shí)體對象和控制對象,暫時不要考慮其具體的實(shí)現(xiàn)類注意:主要關(guān)注于區(qū)分出邊界對象、實(shí)體對象和控制對象,暫時不要考慮其具體的實(shí)現(xiàn)類 說明:對于較復(fù)雜的用例,可以按上述的流程逐漸地進(jìn)行分析、設(shè)計(jì)、實(shí)施;但對于比較簡單的用例而言,也是可以直接從用例描述中導(dǎo)出設(shè)計(jì)階段交互模型說明:對于較復(fù)雜的用例,可以按上述的流程逐漸地進(jìn)行分析、設(shè)計(jì)、實(shí)施;但對于比較簡單的用例而言,也是可以直接從用例描述中導(dǎo)出設(shè)計(jì)階段交互模型 第38頁/共45頁第三十九頁,共46頁。引入基礎(chǔ)類:包括基礎(chǔ)框架、程序庫等引入基礎(chǔ)類:包括基礎(chǔ)框架、程序庫等質(zhì)量評審:質(zhì)量評審:- 低耦

21、合:耦合性是指兩個類之間的連接強(qiáng)度低耦合:耦合性是指兩個類之間的連接強(qiáng)度- 高內(nèi)聚:內(nèi)聚性是指一個類的屬性與方法高度集成高內(nèi)聚:內(nèi)聚性是指一個類的屬性與方法高度集成- 效率:解決方案的執(zhí)行效率是否滿足系統(tǒng)的需求效率:解決方案的執(zhí)行效率是否滿足系統(tǒng)的需求- 完整性:是指在任何完整性:是指在任何(rnh)環(huán)境下都可以重復(fù)使用環(huán)境下都可以重復(fù)使用- 簡單性:類越簡單,出錯的可能性越小,系統(tǒng)的靈活簡單性:類越簡單,出錯的可能性越小,系統(tǒng)的靈活 性和可維護(hù)性也越好性和可維護(hù)性也越好 優(yōu)化類設(shè)計(jì):設(shè)計(jì)模式與重構(gòu)優(yōu)化類設(shè)計(jì):設(shè)計(jì)模式與重構(gòu)第39頁/共45頁第四十頁,共46頁。在分析模型的基礎(chǔ)上引入基礎(chǔ)類、優(yōu)

22、化類設(shè)計(jì)之后,必然會獲得新的類模型(設(shè)計(jì)模型),因此就可能需要基于新引入的在分析模型的基礎(chǔ)上引入基礎(chǔ)類、優(yōu)化類設(shè)計(jì)之后,必然會獲得新的類模型(設(shè)計(jì)模型),因此就可能需要基于新引入的“設(shè)計(jì)類設(shè)計(jì)類”來更新交互模型,以獲得與實(shí)際代碼來更新交互模型,以獲得與實(shí)際代碼(di m)相吻合的模型相吻合的模型給出一個能表達(dá)其目的的名稱;通過修改元素的布局,盡量避免交叉線的存在;可以通過注解和顏色作為可視化提示,以突出圖形中的重要特性;盡量少用分支,對于分支很多的場景,可以考慮用活動圖來補(bǔ)充給出一個能表達(dá)其目的的名稱;通過修改元素的布局,盡量避免交叉線的存在;可以通過注解和顏色作為可視化提示,以突出圖形中的重

23、要特性;盡量少用分支,對于分支很多的場景,可以考慮用活動圖來補(bǔ)充 第40頁/共45頁第四十一頁,共46頁。交互與交互圖交互與交互圖如何閱讀交互圖如何閱讀交互圖如何繪制交互圖如何繪制交互圖交互圖應(yīng)用說明交互圖應(yīng)用說明定時圖定時圖本章本章(bn zhn)小結(jié)小結(jié)第41頁/共45頁第四十二頁,共46頁。坐標(biāo)軸交換了位置,改為坐標(biāo)軸交換了位置,改為(i wi)從左到右來表示時間的推移從左到右來表示時間的推移用生命線的用生命線的“凹下凸起凹下凸起”來表示狀態(tài)的變化,每個水平位置代表一種不同的狀態(tài),狀態(tài)的順序可以有意義、也可以沒有意義來表示狀態(tài)的變化,每個水平位置代表一種不同的狀態(tài),狀態(tài)的順序可以有意義、也可以沒有意義生命線可以跟在一根生命線可以跟在一根線后面,在這根線上線后面,在這根線上顯示些不同的狀態(tài)值顯示些不同的狀態(tài)值可顯示一個度量時間可顯示一個

溫馨提示

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

評論

0/150

提交評論