版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第6章 包圖,6.1 什么是包,包在UML中被視為文件夾,6.1 什么是包,包的作用 包像一個容器,通常用來組織用例圖和類圖,當(dāng)然,包圖的用途不僅限于這些UML元素; 語義上相關(guān)的元素進(jìn)行分組;定義模型中的“語義邊界”; 提供封裝的命名空間,其中所有名稱必須唯一。,6.1 什么是包,包的表示法 名稱:每個包都必須有一個與其它包相區(qū)別的名稱 簡單名、路徑名 擁有的元素:在包中可以擁有各種其它元素,包括類、接口、構(gòu)件、節(jié)點(diǎn)、協(xié)作、用例,甚至是其它包或圖,對包中的元素也可以進(jìn)行可見性的控制。 公有元素,任何導(dǎo)入此包的包中,都可以引用公有元素 保護(hù)元素,只有此包的子包才可以引用保護(hù)元素 私有元素,只有
2、在此包中才可以引用私有元素,對外一律不可見。,6.2 包的版型, 表示正在建模的整個系統(tǒng) 表示正在建模的系統(tǒng)中某個獨(dú)立的部分 虛包,只是某個其它包的視圖,主要用于為其它一些復(fù)雜的包提供簡略視圖 是一個代理包,通常應(yīng)用于分布式系統(tǒng)的建模中 用來表示一個主要由模式組成的包,框架是一個領(lǐng)域內(nèi)的應(yīng)用系統(tǒng)提供可擴(kuò)充模板的體系結(jié)構(gòu)模式,最流行的三種分布式結(jié)構(gòu)CORBA、RMI和DCOM,6.2 包的版型,6.3 包的關(guān)系,引入依賴關(guān)系Import 是默認(rèn)的關(guān)系 說明提供者包的命名空間將被添加到客戶包的命名空間中,客戶包中的元素也能夠訪問提供者包的所有公共元素 源包可以存取目的包中內(nèi)容,并且引用目的包時無需
3、包名,直接用元素名稱就可。 依賴不傳遞,6.3 包的關(guān)系,也可以在包和接口之間建立實(shí)現(xiàn)關(guān)系,6.4 包圖,UML2.0正式圖形,訂單,表示層,數(shù)據(jù)層,業(yè)務(wù)邏輯層,6.5 設(shè)計(jì)類包的原則,復(fù)用等價原則 把類放入包時,應(yīng)把包作為可復(fù)用的單元,方便版本更替 共用閉包原則 把需要同時改變的類放在一個包中 一個類改變要求另一個類隨之改變 刪除了一個類后,另一個類多余 兩個類之間有大量消息發(fā)送 共用使用原則 不會一起使用的類不要放在一個包中,避免無辜影響 如果元素A依賴于包P中的某個元素B,則表示A會依賴于P中的所有元素,如果包P中任何一個元素做了修改,A都要重新審視自己是否還能使用包P 非循環(huán)依賴原則
4、包之間的依賴關(guān)系不要形成循環(huán),如果確實(shí)有 此類情況出現(xiàn),不妨將幾個循環(huán)依賴的包中全部放到一個更大的包中,第7章 狀態(tài)圖,7.1 概述,狀態(tài)機(jī) 用于描述一個對象在其生存期間的動態(tài)行為,表現(xiàn)對象響應(yīng)事件所經(jīng)歷的狀態(tài)序列以及伴隨的動作。 狀態(tài)機(jī)是用于描述狀態(tài)與狀態(tài)轉(zhuǎn)換的。,狀態(tài)圖 用來顯示狀態(tài)機(jī)的圖,一個狀態(tài)機(jī)可以用多張狀態(tài)圖描述。,狀態(tài)圖與交互圖的區(qū)別 交互圖不顯示對象所有可能的動態(tài)行為,只顯示特定交互場景(一個具體的用例)中對象的行為。 狀態(tài)圖可以顯示對象所有的動態(tài)行為。 筆 完整 折斷兩種狀態(tài),是由誰折斷?只能由交互圖看出 狀態(tài)圖與活動圖的區(qū)別 狀態(tài)圖只建模一個對象的行為,活動圖可以建模多個對
5、象的活動 活動圖中也允許建模特定活動中對象的某個狀態(tài),7.2 基本組成,狀態(tài) state 轉(zhuǎn)換/遷移 transition 事件 event 事件發(fā)生,執(zhí)行某動作后,狀態(tài)1轉(zhuǎn)換為狀態(tài)2,記賬,接到訂單,7.2.1 狀態(tài),什么是狀態(tài)(state) 狀態(tài)是指在對象的生命周期中滿足某些條件、執(zhí)行某些活動或等待某些事件時的一個條件或狀況。 萬事俱備,只欠東風(fēng) 學(xué)生正在上課 網(wǎng)絡(luò)購物,訂單等待處理 理解 對象在任何時候都會處于某種狀態(tài)中,所有對象都有狀態(tài) 對象所處的狀態(tài)決定了它如何響應(yīng)所檢測到的事件或所接收的消息。 清醒(被批評)生氣 醉酒(被批評)無反應(yīng) 通常,事件使對象從一個狀態(tài)轉(zhuǎn)向另一個狀態(tài)(即狀
6、態(tài)的轉(zhuǎn)換),CD Player,需要stop狀態(tài)嗎?,7.2.1 狀態(tài),幾種類型 初態(tài) 終態(tài) 中間狀態(tài) 組合狀態(tài) 歷史狀態(tài),1. 初態(tài)和終態(tài),初態(tài) start state 顯示狀態(tài)圖中狀態(tài)機(jī)執(zhí)行(execution)的開始 一個狀態(tài)機(jī)只能有一個初態(tài),因?yàn)槊恳粋€執(zhí)行都是從相同的地方開始的。如果一個狀態(tài)機(jī)用多張狀態(tài)圖描述,則多張圖用一個初態(tài)。 嵌套狀態(tài)中可以使用新的初態(tài) 終態(tài) end state 表示最后的或者終端狀態(tài); 終態(tài)數(shù)目可以不確定,也可以沒有。 電扇 壞了/沒壞,但拆下閑置,2. 中間狀態(tài),中間狀態(tài)的組成(除初態(tài)終態(tài)外,最常見的狀態(tài)) 狀態(tài)名(name) 是可以把該狀態(tài)和其他狀態(tài)區(qū)分開的
7、字符串;狀態(tài)也可能是匿名的,即沒有名稱。 入口/出口動作(entry/exit action) 內(nèi)部轉(zhuǎn)換(internal transition) 不導(dǎo)致狀態(tài)改變的轉(zhuǎn)換,不會執(zhí)行entry和exit動作 內(nèi)部轉(zhuǎn)換和自轉(zhuǎn)換的區(qū)別: 前門入口,后門出口 不出去,只在內(nèi)部發(fā)生的轉(zhuǎn)換內(nèi)部轉(zhuǎn)換 從后門出去,又從前門進(jìn)來自轉(zhuǎn)換,自轉(zhuǎn)換會引起entry和exit動作的執(zhí)行,子狀態(tài)(substate) 嵌套在另外一個狀態(tài)中的狀態(tài) 空調(diào):停止、運(yùn)行狀態(tài),運(yùn)行狀態(tài)中可嵌套制冷、制熱、除濕等子狀態(tài) 延遲事件(deferred event) 是指在該狀態(tài)下暫不處理,但將推遲到該對象的另一個狀態(tài)下排隊(duì)處理的事件,名字域
8、,轉(zhuǎn)換域,可選,當(dāng)轉(zhuǎn)入該狀態(tài)時,做開燈動作,當(dāng)轉(zhuǎn)出該狀態(tài)時,做關(guān)燈動作,當(dāng)處于該狀態(tài)時,燈閃爍5次,當(dāng)電源關(guān)閉事件發(fā)生時,用自備電源,當(dāng)selfTest事件發(fā)生時,對象將延遲響應(yīng),到別的狀態(tài)中再處理,用defer這個特定動作表示延遲,內(nèi)部轉(zhuǎn)換,do活動是只在狀態(tài)內(nèi)出現(xiàn)的活動,不能附加到轉(zhuǎn)換上。,3. 組合/嵌套狀態(tài),含有子狀態(tài)的狀態(tài)被稱為組合或嵌套狀態(tài),為何不在組合中加初態(tài)、終態(tài)? 可以將任一子狀態(tài)作初態(tài),去掉運(yùn)行這個大的狀態(tài)行嗎? 行,但效果不好,隱藏子狀態(tài),簡化模型復(fù)雜度,增強(qiáng)清晰性,組合狀態(tài)可以使用“與”關(guān)系分解為并發(fā)子狀態(tài),或者通過“或”關(guān)系分解為互相排斥的順序子狀態(tài)。 組合狀態(tài)的一個
9、入轉(zhuǎn)換代表對其嵌套子狀態(tài)區(qū)域內(nèi)的初始狀態(tài)的入轉(zhuǎn)換。,兩種表示方法 順序子狀態(tài) 如果一個組成狀態(tài)的子狀態(tài)對應(yīng)的對象在其生命期內(nèi)的任何時刻都只能處于一個子狀態(tài),即多個子狀態(tài)之間是互斥的,不能同時存在,這種子狀態(tài)稱為順序子狀態(tài)。 并發(fā)子狀態(tài) 有時組合狀態(tài)有兩個或者多個并發(fā)的子狀態(tài)機(jī),此時稱組成狀態(tài)的子狀態(tài)為并發(fā)子狀態(tài)。,順序子狀態(tài)與并發(fā)子狀態(tài)的區(qū)別在于后者在同一層次給出兩個或多個順序子狀態(tài),對象處于同一層次中來自每個并發(fā)子狀態(tài)的一個時序狀態(tài)中。,4. 歷史狀態(tài),History state 使用歷史狀態(tài),可以存儲目前退出組合狀態(tài)時所處的子狀態(tài),則返回組合狀態(tài)時可以直接回到相應(yīng)的子狀態(tài)。 CD Play
10、er,running狀態(tài)被打斷到power on狀態(tài),再轉(zhuǎn)回到running狀態(tài)時,希望直接進(jìn)入歷史狀態(tài),7.2.2 轉(zhuǎn)換,Transition 轉(zhuǎn)換是兩個狀態(tài)間的一種關(guān)系,表示對象將在當(dāng)前狀態(tài)中執(zhí)行動作,并在某個特定事件發(fā)生或某個特定的條件滿足時進(jìn)入后繼狀態(tài)。 每個轉(zhuǎn)換只允許有一個事件觸發(fā),一個事件只允許有一個動作,轉(zhuǎn)換的五要素(注意格式) 源狀態(tài) 目標(biāo)狀態(tài) 觸發(fā)事件 如果箭頭上不帶任何事件名,表示是一個自動轉(zhuǎn)換,當(dāng)與源狀態(tài)相關(guān)的活動完成時就會自動觸發(fā)。 監(jiān)護(hù)條件 動作,動作,動作 可執(zhí)行的原子計(jì)算 不可中斷,其執(zhí)行時間可忽略不計(jì) 當(dāng)轉(zhuǎn)換被引發(fā)時,它對應(yīng)的動作被執(zhí)行。它一般是一個簡短的處理過
11、程。 兩種特殊動作(只要進(jìn)入或離開該狀態(tài)一定會執(zhí)行該動作) 入口動作(entry) 進(jìn)入狀態(tài)時執(zhí)行的動作 退出動作(exit) 退出狀態(tài)時執(zhí)行的動作,轉(zhuǎn)換類型,名字域,轉(zhuǎn)換域,可選,當(dāng)轉(zhuǎn)入該狀態(tài)時,做開燈動作,當(dāng)轉(zhuǎn)出該狀態(tài)時,做關(guān)燈動作,當(dāng)處于該狀態(tài)時,燈閃爍5次,當(dāng)電源關(guān)閉事件發(fā)生時,用自備電源,當(dāng)selfTest事件發(fā)生時,對象將延遲響應(yīng),到別的狀態(tài)中再處理,用defer這個特定動作表示延遲,內(nèi)部轉(zhuǎn)換,do活動是只在狀態(tài)內(nèi)出現(xiàn)的活動,不能附加到轉(zhuǎn)換上。,外部轉(zhuǎn)換,自轉(zhuǎn)換也是外部轉(zhuǎn)換,外部轉(zhuǎn)換,7.2.3 事件,Event 是對一個時間和空間上占有一定位置的有意義的事情的規(guī)格說明。 事件觸發(fā)
12、狀態(tài)的轉(zhuǎn)換 四類主要事件 信號事件 調(diào)用事件 變化事件 時間事件,信號signer事件 所謂信號,是指由一個對象異步地發(fā)送,并由另外一個對象接收的一個已命名的對象。 信號事件表示對象接收到某個信號。 信號間可以有泛化,信號可以是其他信號的子信號,它們繼承父信號的屬性,并可以觸發(fā)包含信號類型的轉(zhuǎn)換。,接收到input信號這一事件發(fā)生,調(diào)用call事件 表示一個操作的調(diào)度。請求調(diào)用另一個對象的操作 信號是一個異步事件,而調(diào)用事件一般是同步的。也就是說,當(dāng)對象調(diào)用另一對象的操作時,控制就從發(fā)送者傳送到接收者,該事件觸發(fā)轉(zhuǎn)換,完成操后,接收者轉(zhuǎn)換到一個新的狀態(tài),控制返還給發(fā)送者。,變化change事件
13、 用關(guān)鍵字When,后面跟布爾表達(dá)式 When(temperature120)/alerm() 變化事件的意圖是要頻繁測試表達(dá)式,只要表達(dá)式由假變?yōu)檎妫录蜁l(fā)生。,時間(time)事件 時間事件是指在絕對時間或在某個時間間隔內(nèi)發(fā)生的事情所引起的事件。 例如到達(dá)某一時間或經(jīng)過了某一時間段。用關(guān)鍵字When 或After表示。,7.3 狀態(tài)圖建模,步驟 尋找主要的狀態(tài) 確定狀態(tài)之間的轉(zhuǎn)換 細(xì)化狀態(tài)內(nèi)的活動與轉(zhuǎn)換 用組合/嵌套狀態(tài)來展開細(xì)節(jié),7.3 狀態(tài)圖建模,細(xì)化狀態(tài)內(nèi)的活動與轉(zhuǎn)換,使用復(fù)合狀態(tài),7.1.3 狀態(tài)圖,訂單處理系統(tǒng),7.1.3 狀態(tài)圖,練習(xí),電水壺:on和off兩個狀態(tài),初態(tài)of
14、f,燒壞則轉(zhuǎn)換到終態(tài)。trunOn事件發(fā)生時,判斷水壺是否有水,若沒有水,則仍處于off狀態(tài),若有水,則turnOn事件引起燒水活動,使?fàn)顟B(tài)從off轉(zhuǎn)入on,水開,則從on轉(zhuǎn)入off狀態(tài),練習(xí),進(jìn)程 就緒 運(yùn)行 阻塞三個狀態(tài) 初態(tài)就緒; 程序運(yùn)行結(jié)束后終態(tài) 就緒狀態(tài)獲得CPU時間片轉(zhuǎn)為運(yùn)行態(tài);運(yùn)行態(tài)時間片用完轉(zhuǎn)為就緒態(tài);運(yùn)行態(tài)不滿足所需資源轉(zhuǎn)為阻塞態(tài),阻塞態(tài)若資源滿足則回到就緒態(tài),練習(xí),圖書館管理系統(tǒng)中的還書業(yè)務(wù) 還書業(yè)務(wù)的動態(tài)行為是由:空閑(idle)、圖書查找(finding)、還書(reversion)、失?。‵ailure)、歸還成功(Success)5種狀態(tài)及激活相互轉(zhuǎn)換的事件。 請根據(jù)分析運(yùn)用UML繪制還書的狀態(tài)圖。,圖書館管理系統(tǒng),機(jī)房收費(fèi)系統(tǒng),電梯管理系統(tǒng),小結(jié),事件(Event),是指對一個在時間和空間上占據(jù)一定位置的有意義的事情的規(guī)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 輕鋼龍骨制作工風(fēng)險(xiǎn)評估與管理考核試卷含答案
- 民族拉弦彈撥樂器制作工崗前崗后考核試卷含答案
- 鑿巖工安全生產(chǎn)基礎(chǔ)知識能力考核試卷含答案
- 喪葬撫恤委托書
- 2025年胃動力藥項(xiàng)目發(fā)展計(jì)劃
- 2025年陳設(shè)藝術(shù)陶瓷制品項(xiàng)目發(fā)展計(jì)劃
- 2026年數(shù)字孿生 航空發(fā)動機(jī)運(yùn)維項(xiàng)目建議書
- 2026年環(huán)視全景影像系統(tǒng)項(xiàng)目評估報(bào)告
- 2025年數(shù)字媒體藝術(shù)專業(yè)考試試題及答案
- 家居環(huán)境適老化評估量表、適老化改造設(shè)計(jì)方案要點(diǎn)
- 湖南省2025-2026學(xué)年七年級歷史上學(xué)期期末復(fù)習(xí)試卷(含答案)
- 2026新疆阿合奇縣公益性崗位(鄉(xiāng)村振興專干)招聘44人考試參考試題及答案解析
- 紡織倉庫消防安全培訓(xùn)
- 器官移植術(shù)后排斥反應(yīng)的風(fēng)險(xiǎn)分層管理
- 虛擬電廠關(guān)鍵技術(shù)
- 事業(yè)單位清算及財(cái)務(wù)報(bào)告編寫范本
- 護(hù)坡綠化勞務(wù)合同范本
- 部編語文三年級上課文重點(diǎn)總復(fù)習(xí)歸納課件
- 物料提升機(jī)保養(yǎng)記錄表
- 中華系列期刊目錄
- 馬口鐵空罐檢驗(yàn)標(biāo)準(zhǔn)
評論
0/150
提交評論