版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
6.4
UML軟件狀態(tài)機視圖建模系統(tǒng)分析與設(shè)計理解軟件狀態(tài)機視圖掌握狀態(tài)與轉(zhuǎn)換掌握狀態(tài)機圖地創(chuàng)建掌握類行為地建模方法【本節(jié)學(xué)習(xí)目標】系統(tǒng)分析與設(shè)計一,狀態(tài)機圖 對象被看成是通過事件觸發(fā)并做出相應(yīng)動作來與外界其它對象進行通信地獨立實體。 狀態(tài)機圖通過對對象地各種狀態(tài)建立模型,描述對象隨時間變化地動態(tài)行為,狀態(tài)之間地變化是通過事件觸發(fā)地。 狀態(tài)機圖對系統(tǒng)地動態(tài)方面進行建模,描述類地對象隨時間變化地行為,展現(xiàn)對象擁有地狀態(tài),以與事件如何隨著時間推移影響這些狀態(tài)。通常一個狀態(tài)機圖依附于一個類,描述該類地對象地行為。狀態(tài)機視圖使用狀態(tài)機圖(State
machine
diagram)來表示。狀態(tài)機圖在UML1.x中稱為狀態(tài)圖(State
chart
diagram)。UML中地狀態(tài)機圖由表示狀態(tài)地節(jié)點與表示狀態(tài)之間轉(zhuǎn)換地帶箭頭地直線組成。系統(tǒng)分析與設(shè)計二,狀態(tài)狀態(tài)用于對對象在其生命周期中地各種狀況進行建模。一個對象在有限地一段時間內(nèi)保持一個狀態(tài)。狀態(tài)一般是給定類地對象地一組屬性值。
處于相同狀態(tài)地同類多個對象對同一事件地反應(yīng)方式往往是一樣地。如果對象處于不同狀態(tài),則對同一事件會做出不同反應(yīng)。
在系統(tǒng)建模時,不是任何狀態(tài)都值得關(guān)注,需求關(guān)注地是那些明顯影響對象行為地屬性,以與由它們表達地對象狀態(tài)。
狀態(tài)由一個帶圓角地矩形表示,狀態(tài)地描述包含:狀態(tài)名,入口與出口動作,內(nèi)部活動,內(nèi)部轉(zhuǎn)換。系統(tǒng)分析與設(shè)計1,狀態(tài)名
狀態(tài)名表示狀態(tài)地名稱,通常是直觀,易懂,能充分表達語義地名詞短語,其中每個單詞地首字母要大寫。2,入口與出口動作狀態(tài)可以有入口與出口動作,也可以沒有。入口動作指地是對象進入一個狀態(tài)時所執(zhí)行地動作,通常是內(nèi)部初始化。出口動作指地是對象退出一個狀態(tài)時所執(zhí)行地動作。系統(tǒng)分析與設(shè)計3,內(nèi)部活動
狀態(tài)可以包含內(nèi)部活動。當(dāng)對象進入一個狀態(tài)后,活動在入口動作完成后開始執(zhí)行。如果活動結(jié)束,狀態(tài)就完成,然后一個從這個狀態(tài)出發(fā)地轉(zhuǎn)換被觸發(fā)。4,內(nèi)部轉(zhuǎn)換狀態(tài)可能包含一系列地內(nèi)部轉(zhuǎn)換,內(nèi)部轉(zhuǎn)換地結(jié)果并不改變狀態(tài)本身。系統(tǒng)分析與設(shè)計三,狀態(tài)地類型狀態(tài)類型包含初始狀態(tài),終止狀態(tài),中間狀態(tài),簡單狀態(tài),嵌套狀態(tài)與歷史狀態(tài)1,初始狀態(tài)初始狀態(tài)代表狀態(tài)機圖地起始位置。初始狀態(tài)只能作為轉(zhuǎn)換地源,而不能作為轉(zhuǎn)換地目標。一個狀態(tài)機圖只能有一個初始狀態(tài)。2,終止狀態(tài)終止狀態(tài)是狀態(tài)機圖地終點。終止狀態(tài)只能作為轉(zhuǎn)換目標而不能作為轉(zhuǎn)換地源。一個狀態(tài)機圖可以擁有一個或者多個終止狀態(tài),特殊情況下可以沒有終止狀態(tài)。系統(tǒng)分析與設(shè)計3,嵌套狀態(tài)內(nèi)部嵌套有子狀態(tài)地狀態(tài),稱為嵌套狀態(tài),也稱為復(fù)合狀態(tài)或組成狀態(tài)。
當(dāng)控制流轉(zhuǎn)移進入嵌套狀態(tài)時,除非轉(zhuǎn)移直接以某子狀態(tài)為目標,否則控制流將從其中地初始子狀態(tài)開始執(zhí)行。內(nèi)部不包含子狀態(tài)地狀態(tài)稱為簡單狀態(tài)。4,歷史狀態(tài)嵌套狀態(tài)中可能包含歷史狀態(tài)。
歷史狀態(tài)代表上次離開嵌套狀態(tài)時對象所處地子狀態(tài)。
再次進入該嵌套狀態(tài)時,可直接進入這個子狀態(tài),而不是從該嵌套狀態(tài)地初始子狀態(tài)開始執(zhí)行。系統(tǒng)分析與設(shè)計四,轉(zhuǎn)換
轉(zhuǎn)換表示一個處于某狀態(tài)地對象通過執(zhí)行指定地動作并符合一定地條件下進入第二種狀態(tài)。在這個狀態(tài)地變化中,轉(zhuǎn)換被稱作激發(fā)。激發(fā)之前地狀態(tài)稱為源狀態(tài),激發(fā)之后地狀態(tài)稱為目標狀態(tài)。簡單轉(zhuǎn)換只有一個源狀態(tài)與一個目標狀態(tài)。復(fù)合轉(zhuǎn)換有多個源狀態(tài)或多個目標狀態(tài)。轉(zhuǎn)換還可以標注與此轉(zhuǎn)換相關(guān)地選項:事件,監(jiān)護條件,動作。如果轉(zhuǎn)換上沒有標注觸發(fā)轉(zhuǎn)換地事件與條件,則表示此轉(zhuǎn)換自動進行。系統(tǒng)分析與設(shè)計1,觸發(fā)器事件觸發(fā)器事件就是可以引起狀態(tài)轉(zhuǎn)換地事件。
事件發(fā)生在時間與空間上地一點,沒有持續(xù)時間,主要包含信號事件,調(diào)用事件,改變事件與時間事件。
如果觸發(fā)器事件有參數(shù),這些參數(shù)可以被轉(zhuǎn)換所用,也可以被監(jiān)護條件與動作表達式所用。
沒有明確地觸發(fā)器事件地轉(zhuǎn)換稱作完成轉(zhuǎn)換或無觸發(fā)器轉(zhuǎn)換,是在狀態(tài)結(jié)束時被狀態(tài)中地內(nèi)部活動隱式觸發(fā)地。系統(tǒng)分析與設(shè)計2,監(jiān)護條件轉(zhuǎn)換可能具有監(jiān)護條件,監(jiān)護條件是一個布爾表達式。如果具有監(jiān)護條件,則監(jiān)護條件是觸發(fā)轉(zhuǎn)換必須滿足地條件。
當(dāng)觸發(fā)器事件發(fā)生時,監(jiān)護條件被賦值,如果監(jiān)護條件地值為真,轉(zhuǎn)換可以被激發(fā),否則轉(zhuǎn)換不能被激發(fā)。如果轉(zhuǎn)換沒有監(jiān)護條件,則監(jiān)護條件地值默認為真。從一個狀態(tài)引出地多個轉(zhuǎn)換可以有同樣地觸發(fā)器事件,但具有不同地監(jiān)護條件。系統(tǒng)分析與設(shè)計3,動作動作是一個簡短地計算處理過程或一組可執(zhí)行語句。動作是原子性地,不可中斷地。如果在動作地執(zhí)行期間接收到事件,那么這些事件都會被保存,直到動作結(jié)束。動作可以是賦值操作,調(diào)用操作,創(chuàng)建對象,銷毀對象,返回,發(fā)送信號。動作可以依附于轉(zhuǎn)換,可以作為狀態(tài)入口動作或出口動作。系統(tǒng)分析與設(shè)計4,判定與合并(條件行為) 狀態(tài)機圖中有需求根據(jù)給定條件進行判斷,然后根據(jù)不同判斷結(jié)果進行不同轉(zhuǎn)換地情況。 如果遇到需求使用判定地情況,通常用監(jiān)護條件來覆蓋每種可能,按監(jiān)護條件地取值使工作流發(fā)生分支。一個事件可以依據(jù)不同地監(jiān)護條件激發(fā)不同轉(zhuǎn)換。判定(分支)通常具有一個轉(zhuǎn)入與多個轉(zhuǎn)出,每個路徑有不同地轉(zhuǎn)出條件。合并具有多個轉(zhuǎn)入與一個轉(zhuǎn)出,不需求監(jiān)護條件。系統(tǒng)分析與設(shè)計5,分叉與匯合(并發(fā)行為)同步是為了說明并發(fā)工作流地分叉與匯合。
分叉表示把一個單獨地工作流分成兩個或多個工作流,幾個分叉地工作流并行地進行。
匯合表示兩個或者多個并發(fā)地工作流得到同步,先完成地工作流需求在此待,直到所有地工作流達到后,才能繼續(xù)執(zhí)行后面地工作流。在UML中,同步用一條粗線段來表示。系統(tǒng)分析與設(shè)計案例:某學(xué)生選課管理系統(tǒng)確定需求創(chuàng)建狀態(tài)機圖地類不需求為系統(tǒng)中所有地類創(chuàng)建狀態(tài)機圖,只有重要地且在其生命周期中具有明顯狀態(tài)變化地類才需求通過狀態(tài)機圖進一步建模。對于該學(xué)生選課管理系統(tǒng),需求為Student類建模其狀態(tài)機圖,詳細描述其行為。分析確定類可能擁有地狀態(tài)對于Stu
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 全新網(wǎng)絡(luò)游戲開發(fā)合同2篇
- 2024-2025學(xué)年新教材高中歷史第八單元20世紀下半葉世界的新變化第19課資本主義國家的新變化課時作業(yè)含解析新人教版必修中外歷史綱要下
- 2025不動產(chǎn)登記信息化改造項目合同3篇
- 2025年微信小程序企業(yè)客戶關(guān)系管理系統(tǒng)開發(fā)與應(yīng)用合同3篇
- 2024銷售人員職業(yè)發(fā)展保障勞動合同3篇
- 二零二五年度醫(yī)療設(shè)施臨時借款合同參考樣本4篇
- 2025高溫粘合劑產(chǎn)業(yè)鏈金融服務(wù)平臺合作合同3篇
- 2025年度電信設(shè)備知識產(chǎn)權(quán)保護合同3篇
- 2025年度食品行業(yè)退換貨質(zhì)量保證協(xié)議書
- 二零二五年度高層建筑樓頂廣告位使用權(quán)租賃合同3篇
- 臺資企業(yè)A股上市相關(guān)資料
- 電 梯 工 程 預(yù) 算 書
- 羅盤超高清圖
- 參會嘉賓簽到表
- 機械車間員工績效考核表
- 形式發(fā)票格式2 INVOICE
- 2.48低危胸痛患者后繼治療評估流程圖
- 人力資源管理之績效考核 一、什么是績效 所謂績效簡單的講就是對
- 山東省醫(yī)院目錄
- 云南地方本科高校部分基礎(chǔ)研究
- 廢品管理流程圖
評論
0/150
提交評論