




已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
模型 模型表示系統(tǒng)靜態(tài)和動(dòng)態(tài)的行為 這種表示形式可為同一系統(tǒng)提供不同的視角 靜態(tài)模型 動(dòng)態(tài)模型 系統(tǒng)結(jié)構(gòu)方面 系統(tǒng)的過程和行為的集合 操作和維護(hù)模型比操作和維護(hù)實(shí)際系統(tǒng)容易得多 使用戶和開發(fā)人員都能更容易地理解構(gòu)思中的系統(tǒng) 可助于解釋狀態(tài)的改變和降低復(fù)雜度 可監(jiān)視構(gòu)思中的系統(tǒng)是否存在任何類型的缺陷 動(dòng)態(tài)模型的優(yōu)越性 動(dòng)態(tài)模型的優(yōu)越性 動(dòng)態(tài)模型描述系統(tǒng)與操作時(shí)間和順序有關(guān)的系統(tǒng)方面 影響更改的事件 事件的序列 事件的環(huán)境以及事件的組織 動(dòng)態(tài)模型的組件 狀態(tài)圖 順序圖 活動(dòng)圖 協(xié)作圖 動(dòng)態(tài)模型的組件 動(dòng)態(tài)模型的組件 動(dòng)態(tài)模型的組件 狀態(tài)1 狀態(tài)2 初始狀態(tài) 如果無效 則重復(fù)狀態(tài) 1 如果有效 則轉(zhuǎn)換狀態(tài)2 最終狀態(tài) 狀態(tài)圖 狀態(tài)圖描述了單個(gè)事物如何為響應(yīng)發(fā)生的事件而更改狀態(tài)和生成響應(yīng) 并通過此方式與其環(huán)境進(jìn)行交互 浸泡 洗滌 漂洗 脫水 washclothes washingmachineuser 動(dòng)態(tài)模型的組件 狀態(tài)圖 動(dòng)態(tài)模型的組件 順序圖 順序圖用于按時(shí)間順序模擬控制流程 顯示了在對(duì)象生命線上各點(diǎn)之間的對(duì)象傳遞的消息 演示了在時(shí)間序列中對(duì)象之間的交互 順序圖 表達(dá)一組對(duì)象以及這些對(duì)象發(fā)出與接受消息 重點(diǎn)在消息的時(shí)間順序上 8 洗衣機(jī) 進(jìn)水管 洗滌缸 排水管 順序圖 動(dòng)態(tài)模型的組件 洗衣機(jī)工作過程1 通過進(jìn)水管向洗滌缸注水 2 洗滌缸保持5分鐘靜止?fàn)顟B(tài)3 水注滿 停止注水 4 洗滌缸往返旋轉(zhuǎn)15分鐘 5 通過排水管排掉洗滌后的臟水 6 重新開始注水 7 洗滌缸繼續(xù)往返旋轉(zhuǎn)洗滌8 停止向洗滌缸中注水 9 通過排水管排掉漂洗衣物的水 10 洗滌缸加速單方向旋轉(zhuǎn)5分鐘 11 洗滌缸停止旋轉(zhuǎn) 洗衣過程結(jié)束 9 動(dòng)態(tài)模型的組件 順序圖 洗衣過程 10 進(jìn)水管 洗滌缸 排水管 注入新水 保持靜止 停止注水 往返旋轉(zhuǎn) 排掉洗滌后的臟水 注入新水 往返旋轉(zhuǎn) 排掉漂洗過的水 單向旋轉(zhuǎn) 停止轉(zhuǎn)動(dòng) 停止注水 浸泡狀態(tài) 洗滌狀態(tài) 漂洗狀態(tài) 脫水狀態(tài) 協(xié)作圖 動(dòng)態(tài)模型的組件 協(xié)作圖將對(duì)象組織在一定的結(jié)構(gòu)之下 通過消息在對(duì)象之間傳遞與協(xié)作來完成某項(xiàng)功能 其重點(diǎn)在于演示或檢測(cè)對(duì)象間的協(xié)作 協(xié)作圖 表達(dá)一組對(duì)象 對(duì)象之間的連接 以及對(duì)象發(fā)出和接受的消息 重點(diǎn)在對(duì)象的結(jié)構(gòu)組織方面 12 內(nèi)部計(jì)時(shí)器 洗滌缸 進(jìn)水管 1 停止注水 2 往返旋轉(zhuǎn) 客戶 提供者實(shí)現(xiàn)模式 洗滌缸 進(jìn)水管 協(xié)作圖 動(dòng)態(tài)模型的組件 活動(dòng)圖 動(dòng)態(tài)模型的組件6 活動(dòng)圖顯示活動(dòng)與活動(dòng)之間的流程 活動(dòng)是狀態(tài)機(jī)中當(dāng)前執(zhí)行的活動(dòng) 由系統(tǒng)的操作而組成 操作活動(dòng)1 操作活動(dòng)2 操作活動(dòng)3 操作活動(dòng)4 洗滌缸往返旋轉(zhuǎn)15分鐘 排掉臟水 重新入新水注 14 第三章狀態(tài)圖 statediagram 狀態(tài)圖是系統(tǒng)分析的一種常見工具 用于描述系統(tǒng)或單獨(dú)對(duì)象的外部可見行為 uml中的狀態(tài)圖主要用于建立類或?qū)ο蟮膭?dòng)態(tài)行為模型 表現(xiàn)一個(gè)對(duì)象所經(jīng)歷的狀態(tài)序列 引起狀態(tài)或活動(dòng)轉(zhuǎn)移的事件 以及因狀態(tài)或活動(dòng)的轉(zhuǎn)移而伴隨的動(dòng)作 狀態(tài)圖 實(shí)體的生存期比較復(fù)雜時(shí) 需要狀態(tài)圖對(duì)類的所有實(shí)例的生命周期建模 大多數(shù)面向商業(yè)的應(yīng)用中的類不需要狀態(tài)圖以下情況經(jīng)常使用狀態(tài)圖動(dòng)態(tài)模型中產(chǎn)生或接收大量信息的類界面類實(shí)時(shí)系統(tǒng)中的類 狀態(tài)圖 狀態(tài)圖 18 實(shí)時(shí)系統(tǒng)中的類 閑置狀態(tài) 撥號(hào)狀態(tài) 通話狀態(tài) 拿起聽筒撥號(hào) 線路撥通 掛斷電話 電話機(jī) 電話線狀態(tài)圖平p77圖5 8p82圖5 17 19 第三章主要內(nèi)容 1 狀態(tài)機(jī)2 狀態(tài)3 事件4 轉(zhuǎn)移5 組合狀態(tài)6 狀態(tài)圖的應(yīng)用 21 3 1狀態(tài)機(jī) 1 uml用狀態(tài)機(jī)對(duì)系統(tǒng)的動(dòng)態(tài)特征建模 狀態(tài)機(jī)表示一個(gè)模型元素在其生命期間的情況 從該模型元素的開始狀態(tài)起 響應(yīng)事件 執(zhí)行某些動(dòng)作 引起轉(zhuǎn)移到新狀態(tài) 在新狀態(tài)下響應(yīng)事件 執(zhí)行動(dòng)作 引起轉(zhuǎn)移到另一個(gè)狀態(tài) 如此繼續(xù) 直到終結(jié)狀態(tài) 狀態(tài)機(jī)的組成 狀態(tài) 轉(zhuǎn)移 事件 活動(dòng) 動(dòng)作等 22 3 1狀態(tài)機(jī) 2 狀態(tài)機(jī)用于對(duì)一個(gè)模型元素建立行為模型 一個(gè)對(duì)象類 一個(gè)子系統(tǒng) 整個(gè)系統(tǒng) 在uml中狀態(tài)機(jī)用狀態(tài)圖可視化表示 狀態(tài)圖 狀態(tài)的節(jié)點(diǎn) 轉(zhuǎn)移的弧 事件等組成 源狀態(tài) 目標(biāo)狀態(tài) 事件 23 3 2狀態(tài)state 狀態(tài) 對(duì)象全部屬性的當(dāng)前值 狀態(tài)屬性 對(duì)確定對(duì)象的狀態(tài)有重要意義的屬性 狀態(tài)屬性一般具有少量的值 而且這些屬性的值的轉(zhuǎn)換是有限的 并且其屬性值反映所屬對(duì)象的特定狀態(tài) 在uml中 對(duì)一個(gè)對(duì)象 模型元素 的行為建模時(shí) 所選擇的該對(duì)象的生存期中的狀態(tài)數(shù)量是有限的 對(duì)象處于每個(gè)狀態(tài)的持續(xù)時(shí)間也是有限的 當(dāng)發(fā)生某個(gè)事件或完成某個(gè)動(dòng)作 都會(huì)觸發(fā)狀態(tài)的轉(zhuǎn)移 24 3 2 1狀態(tài)圖標(biāo) 狀態(tài)圖標(biāo) 狀態(tài)節(jié)點(diǎn) 一個(gè)狀態(tài)可以加入信息 活動(dòng)activity動(dòng)作action事件event效應(yīng)effectentry exit statement entry actiondo activityevent effect 在某個(gè)時(shí)間內(nèi)系統(tǒng)處于某一狀態(tài)下發(fā)生的 do 將要發(fā)生的動(dòng)作p805 13 當(dāng)系統(tǒng)發(fā)生特定的遷移 進(jìn)入或退出特定狀態(tài)下發(fā)生的瞬時(shí)行為p805 15 為響應(yīng)事件而執(zhí)行的行為p795 12 25 3 2 2狀態(tài)行為 1 進(jìn)入操作 entry 系統(tǒng)進(jìn)入該狀態(tài)時(shí)要發(fā)生的動(dòng)作 前面加上entry和 不可中斷 活動(dòng) do 系統(tǒng)處于該狀態(tài)時(shí)要發(fā)生的活動(dòng) 前面加上do和 活動(dòng)是可中斷行為 可以在對(duì)象處于該狀態(tài)時(shí)運(yùn)行完畢 也可以在對(duì)象轉(zhuǎn)入另一狀態(tài)時(shí)中斷 航班預(yù)定entry 將時(shí)刻表發(fā)布到internet 航班取消do 為客戶尋找其它航班 26 3 2 2狀態(tài)行為 2 退出操作 exit 系統(tǒng)離開該狀態(tài)時(shí)要發(fā)生的動(dòng)作 前面加上exit和 不可中斷 發(fā)送事件 在活動(dòng) 進(jìn)入和退出操作的動(dòng)作中可以是對(duì)象內(nèi)部發(fā)生的行為 也可能是向另外一個(gè)對(duì)象發(fā)送消息 飛行狀態(tài)exit 記錄登陸時(shí)間 狀態(tài)名entry 目標(biāo)對(duì)象 消息名 消息參數(shù) do 目標(biāo)對(duì)象 消息名 消息參數(shù) exit 目標(biāo)對(duì)象 消息名 消息參數(shù) 27 3 2 3初始與終結(jié)狀態(tài) 狀態(tài)圖中定義的狀態(tài)有 初態(tài) 終態(tài) 中間狀態(tài) 組合狀態(tài) 歷史狀態(tài)等 初始狀態(tài) 模型元素的初始狀況 代表一個(gè)狀態(tài)圖的起始點(diǎn) 是一個(gè)偽狀態(tài) 初始狀態(tài)是轉(zhuǎn)移的初始源 而不能是轉(zhuǎn)移的目標(biāo) 終結(jié)狀態(tài) 模型元素的最后狀態(tài) 代表一個(gè)狀態(tài)圖的終止點(diǎn) 是一個(gè)偽狀態(tài) 終結(jié)狀態(tài)是轉(zhuǎn)移的最后目標(biāo) 而不能是轉(zhuǎn)移的初始源 狀態(tài)圖只能有一個(gè)初態(tài) 而終態(tài)可以有多個(gè) 也可以沒有終態(tài) 單觸發(fā)狀態(tài)圖p78圖5 9 3 3事件event 事件是指某時(shí)刻發(fā)生的事情事件是指已發(fā)生并可能引發(fā)某種活動(dòng)的一件事效應(yīng) 為響應(yīng)事件而執(zhí)行的行為活動(dòng) 由效應(yīng)觸發(fā)的實(shí)際行為 某個(gè)狀態(tài)的多個(gè)活動(dòng)遷移到達(dá)上的活動(dòng)進(jìn)入 推出活動(dòng)do活動(dòng) 3 3事件event 不同類型的事件信號(hào)事件信號(hào)是指從一個(gè)對(duì)象到另一個(gè)對(duì)象的單項(xiàng)數(shù)據(jù)流動(dòng)信號(hào)事件指某時(shí)刻發(fā)生的事情變更事件滿足布爾表達(dá)式而引起的事件when batterypower lowerlimit 時(shí)間事件在絕對(duì)時(shí)間上或某個(gè)時(shí)間間隔內(nèi)發(fā)生的事情引起的事情when date 2011 11 1 after 10s 練習(xí) 用狀態(tài)圖描述簡(jiǎn)單信號(hào)燈的變化 31 3 4轉(zhuǎn)移transition 當(dāng)處于源狀態(tài)的對(duì)象接收到一個(gè)事件 并且保護(hù)條件得到滿足時(shí) 則執(zhí)行相應(yīng)的動(dòng)作 并從源狀態(tài)轉(zhuǎn)移到目標(biāo)狀態(tài) 當(dāng)發(fā)生一個(gè)轉(zhuǎn)移時(shí) 該轉(zhuǎn)移進(jìn)入的狀態(tài)為活動(dòng)狀態(tài) 它將執(zhí)行相應(yīng)的動(dòng)作 當(dāng)發(fā)生一個(gè)轉(zhuǎn)移離開一個(gè)狀態(tài)時(shí) 該狀態(tài)變?yōu)榉腔顒?dòng)狀態(tài) 轉(zhuǎn)移類型 簡(jiǎn)單轉(zhuǎn)移 自轉(zhuǎn)移 自動(dòng)轉(zhuǎn)移 復(fù)合轉(zhuǎn)移等 源狀態(tài) 目標(biāo)狀態(tài) 事件 條件 動(dòng)作 狀態(tài)遷移的語法如下 事件 條件 動(dòng)作表達(dá)式 事件 指已發(fā)生并可能引發(fā)某種活動(dòng)的一件事 條件 由方括號(hào)圍起的關(guān)系或邏輯表達(dá)式 動(dòng)作表達(dá)式 一個(gè)觸發(fā)狀態(tài)遷移時(shí)可執(zhí)行的過程表達(dá)式 3 4轉(zhuǎn)移transition 練習(xí) 用狀態(tài)圖描述三岔口智能信號(hào)燈的變化 p76圖5 7警戒遷移 練習(xí) pc從開啟到關(guān)機(jī)的gui狀態(tài)圖 35 3 4 1轉(zhuǎn)移類型 1 自動(dòng)轉(zhuǎn)移 automatic transition 又稱完成轉(zhuǎn)移 completion transition 每個(gè)狀態(tài)都可能有一個(gè)不由事件觸發(fā)的轉(zhuǎn)移 它是根據(jù)該狀態(tài)內(nèi)的動(dòng)作完成而自動(dòng)觸發(fā)的 初始化do 自啟動(dòng) 工作 p36 3 4 1轉(zhuǎn)移類型 2 自身轉(zhuǎn)移 self transition 指那些源狀態(tài)與目標(biāo)狀態(tài)是同一狀態(tài)的轉(zhuǎn)移 調(diào)用狀態(tài)的入口和出口動(dòng)作 如 賣票的航班中增加乘客或減少乘客時(shí) 航班是打開的 p81圖5 6 37 3 4 1轉(zhuǎn)移類型 3 復(fù)合轉(zhuǎn)移 compound transition 由簡(jiǎn)單轉(zhuǎn)移通過分支判定 分叉組成 判定 在狀態(tài)圖中的一個(gè)特定的位置 工作流在此依據(jù)條件的取值而發(fā)生的分支 判定用空心小菱形表示 38 3 4 1轉(zhuǎn)移類型 4 39 源狀態(tài) 目標(biāo)狀態(tài)4 目標(biāo)狀態(tài)3 目標(biāo)狀態(tài)2 目標(biāo)狀態(tài)1 事件1 條件1 動(dòng)作1 條件3 動(dòng)作3 條件4 動(dòng)作4 條件5 動(dòng)作6 條件2 動(dòng)作2 條件6 動(dòng)作6 多條件鏈?zhǔn)椒种?源狀態(tài) 目標(biāo)狀態(tài)4 目標(biāo)狀態(tài)3 目標(biāo)狀態(tài)2 目標(biāo)狀態(tài)1 事件1 條件1and條件3 動(dòng)作1 動(dòng)作3 多條件非鏈?zhǔn)椒种?事件1 條件2and條件6 動(dòng)作2 動(dòng)作6 事件1 條件2and條件5 動(dòng)作2 動(dòng)作5 事件1 條件1and條件4 動(dòng)作1 動(dòng)作4 40 3 4 2轉(zhuǎn)移示例 未分配任務(wù) 已分配任務(wù) 取消對(duì)任務(wù)的資源分配 numasstasks 1 numasstasks 1 numasstasks 1 numasstasks 0 分配任務(wù)給資源 numasstasks 1 資源休閑 資源管理員 prms的一個(gè)資源狀態(tài)圖 分配任務(wù)給資源 numasstasks 1 41 3 5組合狀態(tài) 平面狀態(tài)圖的問題n個(gè)屬性 狀態(tài) 連接結(jié)構(gòu)化機(jī)制簡(jiǎn)化狀態(tài)圖的冗余擴(kuò)展的狀態(tài)自動(dòng)收貨機(jī)狀態(tài)圖p89 6 2嵌套狀態(tài) 組合狀態(tài)電話線的狀態(tài)圖p90 6 4 42 3 5 1組合狀態(tài) 子狀態(tài) 一個(gè)狀態(tài)內(nèi)嵌套了若干個(gè)狀態(tài) 則稱該狀態(tài)為組合狀態(tài) 被嵌套的狀態(tài)稱為子狀態(tài) 子狀態(tài)本身仍然可以是組合狀態(tài) 采用組合狀態(tài)可以簡(jiǎn)化復(fù)雜行為的建模 43 3 5 1組合狀態(tài) 子狀態(tài) 采用組合狀態(tài)可以簡(jiǎn)化復(fù)雜行為的建模 發(fā)貨處理 取消 已發(fā)貨 取消 網(wǎng)上商店處理送貨過程的狀態(tài)圖 網(wǎng)上商店處理送貨過程的狀態(tài)圖 網(wǎng)上商店處理送貨過程的組合狀態(tài)圖 46 3 5 1組合狀態(tài) 子狀態(tài) 一個(gè)組合狀態(tài)可以有一個(gè)被嵌套的子狀態(tài)圖 它代表了該組合狀態(tài)的一個(gè)活動(dòng) 子狀態(tài)圖中必須有自己的初始和終結(jié)狀態(tài) 對(duì)組合狀態(tài)的一個(gè)入轉(zhuǎn)移代表對(duì)其子區(qū)域內(nèi)的初始狀態(tài)的入轉(zhuǎn)移 對(duì)子區(qū)域內(nèi)的終結(jié)狀態(tài)的轉(zhuǎn)移代表包含它的組合狀態(tài)的相應(yīng)活動(dòng)的完成 47 在店內(nèi) entry 令store thestore 本店 購入項(xiàng)目 已出租 歸還項(xiàng)目 棄置項(xiàng)目 租出項(xiàng)目 已租出 正常 entry 令store null 空值 do 每天檢查到期時(shí)間 超過到期日子 過期 entry 通知會(huì)員 租借店軟件系統(tǒng)中的租借項(xiàng)目 錄像帶 游戲等 狀態(tài)圖 租出項(xiàng)目 練習(xí) pc從開啟到關(guān)機(jī)的gui狀態(tài)圖 順序子狀態(tài)并發(fā)子狀態(tài)歷史狀態(tài) 49 3 5 2順序子狀態(tài) 順序子狀態(tài) 子狀態(tài)是一個(gè)一個(gè)順序轉(zhuǎn)移的 不是并發(fā)存在的 等待用戶輸入 登記用戶輸入 顯示用戶輸入 輸入 工作 pc的gui中 工作 的組合狀態(tài) 50 活動(dòng) 驗(yàn)卡 撥號(hào) 通話 掛斷 休閑 繼續(xù) 維修 結(jié)束 維修完成 維修 插卡 取消 ic卡電話機(jī)順序狀態(tài)示例 51 3 5 3并發(fā)子狀態(tài) 1 并發(fā)狀態(tài)圖用于描述一個(gè)對(duì)象在某個(gè)時(shí)刻有多個(gè)并發(fā)的子狀態(tài)機(jī)的情況 并發(fā)狀態(tài)圖是這些子狀態(tài)圖的組合 等待用戶輸入 登記用戶輸入 顯示用戶輸入 輸入 工作 監(jiān)視系統(tǒng)時(shí)鐘 更新界面顯示 時(shí)鐘間隔已過 gui中 工作 的并發(fā)組合狀態(tài) 52 3 5 3并發(fā)子狀態(tài) 2 網(wǎng)上商店系統(tǒng)中 訂貨 對(duì)象的并發(fā)狀態(tài)圖 等待 商品檢查 辦理裝貨 付款檢查 已付款 取消 發(fā)貨 拒絕 訂貨 53 3 5 4同步 同步可定義為并發(fā)工作流的分劈 fork 與接合 join 分劈 是一個(gè)源狀態(tài)分為兩個(gè)或兩個(gè)以上的目標(biāo)狀態(tài) 接合 是兩個(gè)以上的源狀態(tài)連接為一個(gè)目標(biāo)狀態(tài) 同步在狀態(tài)圖中用一條粗短實(shí)線表示 稱為同步桿 源狀態(tài) 目標(biāo)狀態(tài) 目標(biāo)狀態(tài)1 目標(biāo)狀態(tài)2 源狀態(tài)1 源狀態(tài)2 54 3 5 4并發(fā)子狀態(tài) 同步 同步狀態(tài)在并發(fā)狀態(tài)圖中一個(gè)子狀態(tài)圖中的子狀態(tài) 常常需要與另一個(gè)子狀態(tài)圖中的子狀態(tài)的行為同步 并發(fā)子狀態(tài)之間的同步狀態(tài)用含 的小圓表示 偽狀態(tài) 放在分隔子狀態(tài)的虛線上 例 建筑住宅的并發(fā)狀態(tài)圖 二個(gè)并行子狀態(tài)圖主體工程施工和水電工程施工 砌筑基礎(chǔ) 鋪設(shè)室內(nèi)管線 安裝水電設(shè)備 主體結(jié)構(gòu) 水電準(zhǔn)備 安裝門框 室內(nèi)裝修 竣工驗(yàn)收 55 3 5 5歷史狀態(tài) 1 歷史狀態(tài) historystate 代表上次離開組合狀態(tài)時(shí)的最后一個(gè)活動(dòng)子狀態(tài) 歷史狀態(tài)用含有字母 h 的小園圈表示 每當(dāng)轉(zhuǎn)移到組合狀態(tài)中的歷史狀態(tài)時(shí) 對(duì)象便恢復(fù)上次離開該組合狀態(tài)時(shí)最后一個(gè)子狀態(tài) 并執(zhí)行入口動(dòng)作 歷史狀態(tài)是一個(gè)偽狀態(tài)的圖形標(biāo)記 只能作為組合狀態(tài)中的子狀態(tài) 不能在頂層狀態(tài)圖中使用 56 3 5 5歷史狀態(tài) 2 停止 播發(fā) 選擇 暫停 h 恢復(fù) 活動(dòng) 中斷 影碟機(jī)對(duì)象工作的部分狀態(tài)圖 57 3 5 5歷史狀態(tài) 3 等待用戶輸入 登記用戶輸入 顯示用戶輸入 輸入 工作 pc的gui中 工作 的歷史狀態(tài) 等待 超時(shí) 移動(dòng)鼠標(biāo)或鍵盤 h 58 3 6狀態(tài)圖的應(yīng)用 狀態(tài)圖為一個(gè)對(duì)象的生命周期建立模型 狀態(tài)圖可以表示一個(gè)對(duì)象的歷史 引起一個(gè)狀態(tài)向另一個(gè)狀態(tài)轉(zhuǎn)移的事件 以及由于狀態(tài)的轉(zhuǎn)移而引發(fā)的動(dòng)作 狀態(tài)圖適合描述一個(gè)對(duì)象穿越多個(gè)usecase的行為 但不適合描述多個(gè)對(duì)象的協(xié)同行為 使用狀態(tài)圖可以對(duì)一個(gè)對(duì)象 類 的行為建模 也可以對(duì)一個(gè)子系統(tǒng)或整個(gè)系統(tǒng)的行為建模 類 數(shù)字手表類及其狀態(tài)機(jī)圖 狀態(tài)機(jī)圖 3 6狀態(tài)圖的應(yīng)用 狀態(tài)圖的作用幫助分析員 設(shè)計(jì)人員和開發(fā)人員理解對(duì)象的行為 單個(gè)對(duì)象如何表現(xiàn)自己的行為 清楚的了解對(duì)象應(yīng)該作什么而不用猜測(cè) p84 5 2 60 3 6 1使用狀態(tài)圖設(shè)計(jì)類 類的狀態(tài)圖應(yīng)該盡量簡(jiǎn)單 對(duì)象的行為依賴它的狀態(tài) 狀態(tài)越多 則越難理解 很難正確地為這樣的類編寫代碼 最終的實(shí)現(xiàn)方法具有多個(gè)條件分支 很難測(cè)試該類 單元測(cè)試 時(shí) 要測(cè)試對(duì)象狀態(tài)圖中的每個(gè)細(xì)節(jié) 如果類的行為以一種非常復(fù)雜的方式依賴它的狀態(tài) 則外部編碼很難正確使用該類 一個(gè)具有多個(gè)狀態(tài)的類 應(yīng)該考慮是否有好的設(shè)計(jì)方法 有時(shí)一個(gè)具有多個(gè)狀態(tài)的類可以被分割成兩個(gè)或多個(gè)具有簡(jiǎn)單行為的類 具體步驟如下 1 找出適合用模型描述其行為的類 2 確定對(duì)象可能存在的狀態(tài) 3 確定引起狀態(tài)轉(zhuǎn)換的事件 4 確定轉(zhuǎn)換進(jìn)行時(shí)對(duì)對(duì)象執(zhí)行的相應(yīng)動(dòng)作 5 對(duì)建模的結(jié)果進(jìn)行相應(yīng)的精化和細(xì)化 3 6 2狀態(tài)圖的建立 建立狀態(tài)圖可以參照下列步驟 1 確定狀態(tài)機(jī)的上下文 可以是一個(gè)類 use 子系統(tǒng)或整個(gè)系統(tǒng) 2 選擇初始狀態(tài)和終結(jié)狀態(tài) 3 發(fā)現(xiàn)對(duì)象的各種狀態(tài) 應(yīng)當(dāng)仔細(xì)找出對(duì)問題有意義的對(duì)象的狀態(tài)屬性 這些屬性具有少量的值且其轉(zhuǎn)換受到限制 狀態(tài)屬性值的組合 結(jié)合行為有關(guān)的事件和動(dòng)作 就可以確定具有特定的行為特征的狀態(tài) 3 6 2狀態(tài)圖的建立 建立狀態(tài)圖可以參照下列步驟 4 確定狀態(tài)可能發(fā)生的轉(zhuǎn)移 分析從一個(gè)狀態(tài)可以轉(zhuǎn)移到哪些狀態(tài) 對(duì)象的哪些行為可引起狀態(tài)的轉(zhuǎn)移并找出觸發(fā)狀態(tài)轉(zhuǎn)移的事件 5 把必要的動(dòng)作加到狀態(tài)或轉(zhuǎn)移上 6 利用子狀態(tài) 分支 歷史狀態(tài)等概念組織和簡(jiǎn)化一個(gè)復(fù)雜的狀態(tài)機(jī) 7 分析狀態(tài)的并發(fā)和同步情況 3 6 2狀態(tài)圖的建立 建立狀態(tài)圖可以參照下列步驟 8 繪制狀態(tài)圖 9 確認(rèn)每一個(gè)狀態(tài)在某個(gè)事件組合之下都可達(dá)到 確認(rèn)沒有一個(gè)死端狀態(tài) 對(duì)象不能從該狀態(tài)中轉(zhuǎn)移出來 3 6 2狀態(tài)圖的建立 65 項(xiàng)目 活動(dòng) 任務(wù) 資源 prms系統(tǒng)的高層項(xiàng)目管理對(duì)象類圖 1 1 1 1 66 prms系統(tǒng)總體狀態(tài)圖 備份系統(tǒng)未激活 prms未激活 備份系統(tǒng)已激活 prms已激活 退出系統(tǒng) 啟動(dòng)系統(tǒng) 啟動(dòng)備份系統(tǒng) 使prms備份例程工作 關(guān)閉備份系統(tǒng) 使prms備份例程不工作 啟動(dòng)prms 第一次使用 啟動(dòng)prms 非第一次使用 裝載數(shù)據(jù) 關(guān)閉prms系統(tǒng) 備份系統(tǒng)已激活 備份數(shù)據(jù) 67 prms已激活資源管理項(xiàng)目管理系統(tǒng)管理 休閑
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 17201-2:2025 EN Acoustics - Noise from shooting ranges - Part 2: Calculation of muzzle blast
- 2025至2030中國男士鉆石戒指行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國電子書閱讀器行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評(píng)估報(bào)告
- 2025至2030中國生態(tài)度假農(nóng)莊行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及發(fā)展趨勢(shì)與投資報(bào)告
- 2025至2030中國玉石行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國特種紙漿行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 百日培訓(xùn)課件
- 培養(yǎng)孩子良好學(xué)習(xí)習(xí)慣的數(shù)字策略研究
- ICU護(hù)理文件書寫培訓(xùn)
- 維修拆卸技能培訓(xùn)課件
- 科創(chuàng)板開戶測(cè)試題及答案
- 內(nèi)科護(hù)理學(xué)消化性潰瘍
- 北京市第一零一中學(xué)2023-2024學(xué)年高一下學(xué)期期末考試地理試題(解析版)
- 中小學(xué)暑期安全教育班會(huì)課件
- DB43-T 2988-2024 再生稻高產(chǎn)栽培技術(shù)規(guī)程
- 2024年荊州市荊發(fā)控股集團(tuán)招聘考試真題
- 慢病智能監(jiān)測(cè)-洞察及研究
- 部門預(yù)算支出經(jīng)濟(jì)分類科目
- 2025年內(nèi)蒙古呼倫貝爾農(nóng)墾集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 《健康管理師》職業(yè)技能競(jìng)賽考試題(附答案)
- 在非到發(fā)線上接發(fā)列車站內(nèi)無空閑線路時(shí)的接發(fā)列車39課件
評(píng)論
0/150
提交評(píng)論