版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章交互與交互圖在分析階段,開發(fā)人員用交互來詳細(xì)描述用例的場景,這有助于項(xiàng)目團(tuán)隊(duì)對用例場景達(dá)成共識。在詳細(xì)設(shè)計(jì)階段,交互也能精確描述進(jìn)程間的通信協(xié)議。當(dāng)執(zhí)行測試時(shí),跟蹤系統(tǒng)也可描述為交互,并且能與先前的交互進(jìn)行比較。6.1一個序列圖例子序列圖強(qiáng)調(diào)消息的時(shí)間順序,將交互表示成二維表。6.2交互一個交互interaction是一個行為單位,描述對象之間可觀察的信息傳遞。一個交互所描述的行為往往與特定語境相關(guān)。6.3生命線一條生命線lifeline表示參與交互的一個實(shí)體或?qū)嶓w集合。6.4消息消息message是一種命名元素,在生命線之間表示一種特定通信。6.4消息-同步與異步同步調(diào)用synchCall:對一個操作的一個同步調(diào)用所發(fā)出的消息。應(yīng)答reply:對一個操作調(diào)用的應(yīng)答消息。異步調(diào)用asynchCall:對一個操作的一個異步調(diào)用所發(fā)出的消息。異步信號asynchSignal:異步發(fā)送信號動作所發(fā)出的消息。
6.4消息同步還是異步?6.4消息-創(chuàng)建與撤銷創(chuàng)建消息createMessage:創(chuàng)建一條新生命線的消息。
撤銷消息deleteMessage:終止一條生命線序列圖中的消息類A具有名為doOne的方法和類型為B的屬性,類B具有doTwo和doThree的方法PublicclassA{PrivateBmyB=newB();PublicvoiddoOne(){myB.doTwo();myB.doThree();}}6.4消息-消息的種類從發(fā)送者和接收者的角度,消息的種類有4種:complete:消息的發(fā)送者和接收者都完整描述。lost:描述了發(fā)送事件,但未描述接收事件。found:接收事件發(fā)生了,但未描述發(fā)送事件。
unknown:發(fā)送者和接收者都不清楚,這是不應(yīng)出現(xiàn)的情形。6.5發(fā)生規(guī)范與執(zhí)行規(guī)范在生命線上發(fā)生的事件主要是接收到消息或信號,而后執(zhí)行一定的動作。發(fā)生規(guī)范occurrencespecification發(fā)生規(guī)范是系統(tǒng)執(zhí)行過程中對某個“事件發(fā)生”所做的說明。
2.執(zhí)行規(guī)范executionspecification執(zhí)行規(guī)范(控制焦點(diǎn))是對一條生命線中所執(zhí)行的行為的描述。6.6組合片斷一個組合片斷(combinedfragment)定義了多個交互片斷的一個“表達(dá)式”,由一個操作符(operator)和若干操作域(operand)組成,其中每個操作域是整個交互的一個結(jié)構(gòu)化的子片斷。縮寫操作符操作域個數(shù)altAlternatives多個optOption1個breakBreak1個parParallel多個seqWeakSequencing多個strictStrictSequencing多個negNegative1個6.6組合片斷6.7交互的使用在一個交互的定義中使用了另一個交互,這就是一個“交互使用interactionuse”,也稱為引用(reference)一個交互,在圖中表示為一個矩形框并用“ref”作為標(biāo)簽。6.8門門gate表示一個交互或交互片斷的內(nèi)部與外部之間的消息連接點(diǎn)。6.9增強(qiáng)生命線在一條生命線上,沿時(shí)間順序,對象的狀態(tài)受到一定的約束,可表示為狀態(tài)不變式。生命線上可能執(zhí)行一些重要的動作,這要求增強(qiáng)生命線的表達(dá)力。生命線上的狀態(tài)不變式生命線上執(zhí)行的動作6.10主動對象主動(active)對象是主動類的實(shí)例,一個類是主動類,當(dāng)且僅當(dāng)其實(shí)例持有自己的控制線程,能啟動控制活動。主動類和主動對象6.11序列圖建模技術(shù)如何采用序列圖對交互進(jìn)行建模?設(shè)置交互的語境。識別參與交互的對象。確定消息及消息的特征。增強(qiáng)交互的描述。與類圖的協(xié)調(diào)性。明確序列圖的作用。6.12序列圖示例在Department類的語境中給出一個序列圖序列圖Department.setManagervoidsetManager(Personp){if(p!=null&&p.getDept()!=this)p.setDept(this);manager=p;}6.12序列圖示例交互Person.setDept(d:Department)voidsetDept(Departmentd){if(this.isManager()&&this.getDept()!=d)this.getDept().setManager(null);dept=d;}Person類的一個方法6.13通信圖通信圖(communicationdiagram)也是用來對交互進(jìn)行建模,它強(qiáng)調(diào)對象的組織結(jié)構(gòu)。通信圖通信圖與序列圖是同構(gòu)的!兩者可以互相轉(zhuǎn)換6.13通信圖一個通信圖首先描述一個交互實(shí)現(xiàn)所涉及到的對象和鏈。通信圖中的消息嵌套、并發(fā)與循環(huán)6.13通信圖通信圖與序列圖都能表示交互,但強(qiáng)調(diào)不同的側(cè)面。序列圖能清晰地表示時(shí)間序列,但不能表示對象間關(guān)系。而通信圖可以清楚地表示對象間關(guān)系,但時(shí)間序列就只能從序號中反映出來。序列圖常用于表示交互的場景,而通信圖則表示過程設(shè)計(jì)的結(jié)構(gòu)。一旦過程的結(jié)構(gòu)確定之后,序列圖又擅長詳盡表示控制的細(xì)節(jié)。所以,在建模過程中,這兩種圖之間揚(yáng)長避短,相互配合。6.14計(jì)時(shí)圖計(jì)時(shí)圖timingdiagram是序列圖的另一種表現(xiàn)方式,目的是清晰地表示生命線的狀態(tài)改變與時(shí)間度量。計(jì)時(shí)圖很大程度上借鑒了時(shí)序邏輯的表示方法。計(jì)時(shí)圖:門禁系統(tǒng)6.14計(jì)時(shí)圖計(jì)時(shí)圖可表示多種時(shí)間約束6.15 交互縱覽圖交互縱覽圖Interactionoverviewdiagram也是一種交互圖,使用了活動圖的元素來描述控制流,而其中的一個結(jié)點(diǎn)則是一個交互或者交互使用,再用序列圖來描述結(jié)點(diǎn)內(nèi)部子活動或動作的細(xì)節(jié)。6.16小結(jié)一個交互是一個行為單位,描述一組對象之間可觀察的信息傳遞。一個交互可以定義在一個類的語境中,也可以定義在一個協(xié)作的語境中。一個交互可用于描述一個用例或一個操作內(nèi)部的消息流,即用消息流來描述用例或操作如何實(shí)現(xiàn)。一個交互的標(biāo)簽包括名字、形參、返回值,前置條件和后置條件。一個交互之內(nèi)封裝了一組生命線、生命線之間的消息、交互片斷、門、動作、約束等內(nèi)容。6.16小結(jié)序列圖是描述交互的最重要的圖,自上而下表示時(shí)間順序,水平方向展開多條生命線。一條生命線表示參與交互的一個實(shí)體或?qū)嶓w集合。一個消息定義了交互中的一種特定通信,如調(diào)用一個操作、發(fā)出一個信號、創(chuàng)建或撤銷一個實(shí)例等。發(fā)出一個同步調(diào)用需要等待一個應(yīng)答消息,而異步調(diào)用或異步信號就沒有應(yīng)答。交互中創(chuàng)建一個對象就是創(chuàng)建一條新的生命線,撤銷一個對象就是終止一條生命線。一種事件是在特定時(shí)間、地點(diǎn)發(fā)生的一類重要的事情。而一個事件發(fā)生則是某種事件的一個具體實(shí)例。發(fā)生規(guī)范是對事件發(fā)生的描述。6.16小結(jié)執(zhí)行規(guī)范是對生命線中所執(zhí)行的行為的描述,也稱為控制焦點(diǎn)。組合片斷用于對交互中的條件、循環(huán)、并發(fā)行等特性進(jìn)行建模。一個交互的定義中可使用了另一個已定義的交互,就是一個交互使用,反映了交互之間的依賴關(guān)系。門表示一個交互或交互片斷的內(nèi)部與外部之間的消息連接點(diǎn)。在一條生命線上,沿時(shí)間順序,對象的狀態(tài)受到一定約束,可表示為狀態(tài)不變式。生命線上也可能執(zhí)行一些重要的動作。6.16小結(jié)主動類的對象持有自己的控制線程,能啟動控制活動,稱為主動對象。用序列圖對交互建模需要一定的方法指導(dǎo)。如果一個序列圖定義在一個類的語境中,它就說明了一個操作的具體實(shí)現(xiàn),該圖可轉(zhuǎn)換為程序?qū)崿F(xiàn)。通信圖也能描述交互,基于類元或協(xié)作所提供的語境結(jié)構(gòu)來表示交互。計(jì)時(shí)圖是序列圖的另一種表現(xiàn)方式,目的是清晰地表示生命線的狀態(tài)改變與時(shí)間度量。交互縱覽圖也是一種交互圖,使用了活動圖的元素來描述控制流,而其中的一個結(jié)點(diǎn)則是一個交互或交互使用,再用序列圖來描述結(jié)點(diǎn)內(nèi)部子活動或動作的細(xì)節(jié)。6.16小結(jié)交互圖中的主要元素課堂練習(xí)根據(jù)下圖完成填空(4分)。1.1、在UML中,該圖稱為__________圖,主要描述了______________________。1.2、圖中的(1)和(2)分別表示的__________、___________。練習(xí):某個網(wǎng)上銀行的用戶登錄過程如下:用戶先填寫用戶名和口令,要求登錄。如果用戶名和密碼正確,則要求輸入一個驗(yàn)證碼。此時(shí)該用戶的手機(jī)上將接受一個短信,包含一個驗(yàn)證碼,用戶再將此碼填入下一個頁面,再提交服務(wù)器。如果驗(yàn)證碼正確,則能正常登錄。驗(yàn)證碼一次有效。用一個序列圖描述這個過程。(提示:注意區(qū)分參與交互的所有實(shí)例:用戶、Web客戶端、Web服務(wù)器、用戶手機(jī)。注意區(qū)分同步消息和異步信號。)要點(diǎn):(1)抽取出4個
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年塑料包裝袋品牌授權(quán)生產(chǎn)銷售合同3篇
- 2024年度消防設(shè)備安裝與消防培訓(xùn)及檢測合同3篇
- 2024年度新能源技術(shù)研發(fā)中心工程師勞務(wù)派遣合作協(xié)議3篇
- 2024年度建筑企業(yè)資質(zhì)注銷代理合同模板3篇
- 2024年度水利工程居間合同范本6篇
- 冷凝集素病病因介紹
- 洗浴會所裝修合同范例
- 公路運(yùn)費(fèi)合同范例
- 農(nóng)村機(jī)電井維修合同范例
- 其他門窗維修合同范例
- 新高處安裝維護(hù)拆除作業(yè)專題培訓(xùn)課件
- 名校內(nèi)部必修二《政治生活》關(guān)鍵詞句歸類
- 深基坑事故案例
- 誡勉談話檢討書3篇
- 行車時(shí)遇突發(fā)故障的應(yīng)急辦法演示
- 倉儲管理員高級工題庫及參考答案
- XX公司學(xué)歷、職稱、技能工資補(bǔ)貼規(guī)定
- 川省成都市2022屆高二上學(xué)期期末考試:英語
- 消防安全操作規(guī)程
- 廣東省江門市2022-2023學(xué)年高一上學(xué)期期末調(diào)研考試物理試題(一)
- 蘇州市蘇教版五年級下冊數(shù)學(xué)第三單元第12課《因數(shù)和倍數(shù)整理練習(xí)(第2課時(shí))》課件
評論
0/150
提交評論