




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、活動圖與狀態(tài)圖UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖 10.1 動態(tài)建模概述動態(tài)建模概述1.1.狀態(tài)圖與活動圖在系統(tǒng)建模中狀態(tài)圖與活動圖在系統(tǒng)建模中的位置的位置在在UMLUML軟件開發(fā)過程中,是通軟件開發(fā)過程中,是通過建立過建立業(yè)務(wù)用例模型業(yè)務(wù)用例模型對系統(tǒng)進(jìn)行需對系統(tǒng)進(jìn)行需求分析的,對于某些重要的用例采求分析的,對于某些重要的用例采用用活動圖活動圖來配合描述用例具體實現(xiàn)來配合描述用例具體實現(xiàn)的流程,在系統(tǒng)分析階段也
2、經(jīng)常用的流程,在系統(tǒng)分析階段也經(jīng)常用活動圖來進(jìn)一步深入描述用例圖的活動圖來進(jìn)一步深入描述用例圖的具體功能實現(xiàn)流程。具體功能實現(xiàn)流程。在系統(tǒng)分析與系統(tǒng)設(shè)計階段都在系統(tǒng)分析與系統(tǒng)設(shè)計階段都涉及到對象類的涉及到對象類的動態(tài)建模動態(tài)建模。對象的。對象的動態(tài)模型是描述系統(tǒng)的動態(tài)行為的,動態(tài)模型是描述系統(tǒng)的動態(tài)行為的,分為狀態(tài)模型和交互模型分為狀態(tài)模型和交互模型。在在UMLUML中,用中,用狀態(tài)圖和活動圖狀態(tài)圖和活動圖為狀態(tài)模型建模,用順序圖和合作為狀態(tài)模型建模,用順序圖和合作圖為交互模型建模。圖為交互模型建模。需求分析需求分析系統(tǒng)分析系統(tǒng)分析實現(xiàn)測試部署系統(tǒng)設(shè)計系統(tǒng)設(shè)計用例建模用例建模對象類建模對象類建
3、模對象交互模型:對象交互模型:順序圖順序圖/協(xié)作圖協(xié)作圖對象狀態(tài)模型:對象狀態(tài)模型:狀態(tài)圖狀態(tài)圖/活動圖活動圖活動圖活動圖UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M
4、 L 建 模 實 例 教 程建 模 實 例 教 程UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.1 動態(tài)建模概述動態(tài)建模概述4.協(xié)作圖做什么?協(xié)作圖做什么?協(xié)作圖(協(xié)作圖(Collaboration DiagramCollaboration Diagram)是順序圖之外的另一)是順序圖之外的另一種表示交互的方法。主要描述種表示交互的方法。主要描述協(xié)作對象間的交互和鏈接,強(qiáng)調(diào)協(xié)作對象間的交互和鏈接,強(qiáng)調(diào)的是對象結(jié)構(gòu)相關(guān)的
5、信息的是對象結(jié)構(gòu)相關(guān)的信息。順序圖和協(xié)作圖都描述交互,但是。順序圖和協(xié)作圖都描述交互,但是順序圖強(qiáng)調(diào)的是時間,而順序圖強(qiáng)調(diào)的是時間,而協(xié)作圖強(qiáng)調(diào)的是空間協(xié)作圖強(qiáng)調(diào)的是空間。1 1) 通過描繪對象之間消息的傳遞情況來反映具體的使用語境的通過描繪對象之間消息的傳遞情況來反映具體的使用語境的邏輯表達(dá)。一個使用情境的邏輯可能是一個用例的一部分,或邏輯表達(dá)。一個使用情境的邏輯可能是一個用例的一部分,或是一條控制流。這和序列圖的作用類似。是一條控制流。這和序列圖的作用類似。2 2 )顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu)顯示對象及其交互關(guān)系的空間組織結(jié)構(gòu)。協(xié)作圖顯示了在交。協(xié)作圖顯示了在交互過程中各個對象之間
6、的組織交互關(guān)系以及對象彼此之間的鏈互過程中各個對象之間的組織交互關(guān)系以及對象彼此之間的鏈接。與序列圖不同,協(xié)作圖顯示的是對象之間的關(guān)系,并不側(cè)接。與序列圖不同,協(xié)作圖顯示的是對象之間的關(guān)系,并不側(cè)重交互的順序,它沒有將時間作為一個單獨(dú)的維度,而是使用重交互的順序,它沒有將時間作為一個單獨(dú)的維度,而是使用序列號來確定消息及并發(fā)線程的順序。序列號來確定消息及并發(fā)線程的順序。3 3) 表現(xiàn)一個類操作的實現(xiàn)表現(xiàn)一個類操作的實現(xiàn)。協(xié)作圖可以說明類操作中使用到的。協(xié)作圖可以說明類操作中使用到的參數(shù)、局部變量以及返回值等。當(dāng)使用協(xié)作圖表現(xiàn)一個系統(tǒng)行參數(shù)、局部變量以及返回值等。當(dāng)使用協(xié)作圖表現(xiàn)一個系統(tǒng)行為時,
7、消息編號對應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號傳遞過程。為時,消息編號對應(yīng)了程序中嵌套調(diào)用結(jié)構(gòu)和信號傳遞過程。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.1 動態(tài)建模概述動態(tài)建模概述5.狀態(tài)圖做什么?狀態(tài)圖做什么?狀態(tài)圖狀態(tài)圖(State DiagramState Diagram)主要用來描述對象、子系統(tǒng)、系主要用來描述對象、子系統(tǒng)、系統(tǒng)的生命周期。通過狀態(tài)圖統(tǒng)的生命周期。通過狀態(tài)圖可以表現(xiàn)系統(tǒng)中一個可以表現(xiàn)系統(tǒng)中一個對象對
8、象所具有的所具有的各種各種狀態(tài)狀態(tài)和這個對象從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)換(和這個對象從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)換(遷移遷移),),以及影響對象這些狀態(tài)的以及影響對象這些狀態(tài)的事件事件(如收到消息、時間已到、報錯、(如收到消息、時間已到、報錯、條件為真)等。它主要描述某個對象從一個狀態(tài)到另一個狀態(tài)條件為真)等。它主要描述某個對象從一個狀態(tài)到另一個狀態(tài)變化遷移的變化遷移的控制流控制流。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動
9、圖10.1 動態(tài)建模概述動態(tài)建模概述6.活動圖做什么?活動圖做什么?活動圖(圖(Activity DiagramActivity Diagram)主要用于描述系統(tǒng)中對象的)主要用于描述系統(tǒng)中對象的一個一個活動活動到另一個活動的到另一個活動的控制流控制流、一個事務(wù)的、一個事務(wù)的活動序列活動序列、工作工作的流程的流程和和并發(fā)并發(fā)的處理能力。的處理能力。需求分析中的活動圖主要用來配合描述某個重要的用例,圖主要用來配合描述某個重要的用例,用圖型的方式對用例的具體實現(xiàn)的過程進(jìn)行描述用圖型的方式對用例的具體實現(xiàn)的過程進(jìn)行描述,這樣比文字,這樣比文字的描述更直觀、更準(zhǔn)確地說明用例的功能,在系統(tǒng)分析與設(shè)計的描
10、述更直觀、更準(zhǔn)確地說明用例的功能,在系統(tǒng)分析與設(shè)計過程中,經(jīng)常用活動圖進(jìn)一步深入描述用例圖的具體實現(xiàn)流程。過程中,經(jīng)常用活動圖進(jìn)一步深入描述用例圖的具體實現(xiàn)流程。系統(tǒng)設(shè)計中的活動圖對系統(tǒng)的系統(tǒng)設(shè)計中的活動圖對系統(tǒng)的業(yè)務(wù)工作流業(yè)務(wù)工作流、操作建模,操作建模,它它描述業(yè)務(wù)流中從一個活動到另一個活動的控制流。它描述活動描述業(yè)務(wù)流中從一個活動到另一個活動的控制流。它描述活動的序列,用來的序列,用來分析和驗證用例分析和驗證用例,理解工作流程,理解工作流程,描述復(fù)雜過程描述復(fù)雜過程的算法的算法,并具支持帶條件的行為和并,并具支持帶條件的行為和并發(fā)行的多程建模發(fā)行的多程建模。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)
11、建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2 狀態(tài)圖狀態(tài)圖10.2 .1 狀態(tài)圖概述狀態(tài)圖概述10.2.2 狀態(tài)圖的組成狀態(tài)圖的組成10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2 .1 狀態(tài)圖概述狀態(tài)圖概述狀態(tài)圖(狀態(tài)圖(Sta
12、techart Diagram)是軟件系統(tǒng)進(jìn)行)是軟件系統(tǒng)進(jìn)行面向?qū)ο蠓治龅囊环N常用工具,它通過建立面向?qū)ο蠓治龅囊环N常用工具,它通過建立對象、子系對象、子系統(tǒng)、系統(tǒng)的生命周期統(tǒng)、系統(tǒng)的生命周期模型(狀態(tài))來描述對象、子系統(tǒng)模型(狀態(tài))來描述對象、子系統(tǒng)隨時間變化的動態(tài)行為。隨時間變化的動態(tài)行為。 狀態(tài)圖詳細(xì)說明了一個對象生命周期內(nèi)的可能的狀態(tài)圖詳細(xì)說明了一個對象生命周期內(nèi)的可能的狀狀態(tài)態(tài)序列,狀態(tài)允許發(fā)生的序列,狀態(tài)允許發(fā)生的遷移遷移,會引起遷移發(fā)生的事件,會引起遷移發(fā)生的事件,以及為了響應(yīng)事件而執(zhí)行的以及為了響應(yīng)事件而執(zhí)行的行為行為。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU
13、 M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2 .1 狀態(tài)概述狀態(tài)概述并不是對所有的對象都創(chuàng)建并不是對所有的對象都創(chuàng)建狀態(tài)圖,只有當(dāng)狀態(tài)圖,只有當(dāng)行為的改變和狀態(tài)行為的改變和狀態(tài)有關(guān)有關(guān)時才創(chuàng)建狀態(tài)圖。時才創(chuàng)建狀態(tài)圖。如圖書管理系統(tǒng)中的圖書如圖書管理系統(tǒng)中的圖書(相關(guān):新書、在架、預(yù)訂、借出、(相關(guān):新書、在架、預(yù)訂、借出、注銷)和讀者帳號(有效、掛失、注銷)和讀者帳號(有效、掛失、失效)可以創(chuàng)建其狀態(tài)圖,而圖書失效)可以創(chuàng)建其狀態(tài)圖,而圖書管理員帳號則沒有必要建立狀態(tài)圖
14、。管理員帳號則沒有必要建立狀態(tài)圖。 與類圖、對象圖和用例圖不與類圖、對象圖和用例圖不同,同,狀態(tài)圖只能對單個對象建立模狀態(tài)圖只能對單個對象建立模型型,而類圖、對象圖和用例圖可以,而類圖、對象圖和用例圖可以對一個系統(tǒng)或一組類建立模型。對一個系統(tǒng)或一組類建立模型。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2 .1 狀態(tài)概述狀態(tài)概述狀態(tài)圖清晰地描述了狀態(tài)之間的轉(zhuǎn)換順序,通過狀態(tài)的轉(zhuǎn)換順狀態(tài)圖清晰地描述了狀態(tài)之間的轉(zhuǎn)換順序
15、,通過狀態(tài)的轉(zhuǎn)換順序可以清晰看出事件的序可以清晰看出事件的執(zhí)行順序執(zhí)行順序。清晰的事件順序有利于程序員在開發(fā)程序時避免出現(xiàn)事件錯序清晰的事件順序有利于程序員在開發(fā)程序時避免出現(xiàn)事件錯序的情況。的情況。狀態(tài)圖清晰地描述了狀態(tài)轉(zhuǎn)換時所必須觸發(fā)的狀態(tài)圖清晰地描述了狀態(tài)轉(zhuǎn)換時所必須觸發(fā)的事件、監(jiān)護(hù)條件事件、監(jiān)護(hù)條件和動作和動作等影響轉(zhuǎn)換的因素。等影響轉(zhuǎn)換的因素。狀態(tài)圖通過判定可以更好地描述工作流因為不同的條件發(fā)生的狀態(tài)圖通過判定可以更好地描述工作流因為不同的條件發(fā)生的分支分支。UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M
16、 L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖的組成狀態(tài)圖的組成狀態(tài)圖由狀態(tài)、轉(zhuǎn)換、事件、活動和動作狀態(tài)圖由狀態(tài)、轉(zhuǎn)換、事件、活動和動作5部分組成:部分組成: 1 狀態(tài)狀態(tài)指的是對象在其生命周期中的一種狀況,處于某個特定狀態(tài)指的是對象在其生命周期中的一種狀況,處于某個特定狀態(tài)中的對象必然會滿足某些條件、執(zhí)行某些動作或者是等待某些事件。中的對象必然會滿足某些條件、執(zhí)行某些動作或者是等待某些事件。一個狀態(tài)的生命周期是一個有限的時間階段。一個狀態(tài)的生命周期是一個有限的時間階段。 2 轉(zhuǎn)換轉(zhuǎn)換指的是兩個不同狀態(tài)之間的一種關(guān)系,表明對象將
17、在第一個指的是兩個不同狀態(tài)之間的一種關(guān)系,表明對象將在第一個狀態(tài)中執(zhí)行一定的動作,并且在滿足某個特定條件下由某個事件觸狀態(tài)中執(zhí)行一定的動作,并且在滿足某個特定條件下由某個事件觸發(fā)進(jìn)入第二個狀態(tài)。發(fā)進(jìn)入第二個狀態(tài)。 3 事件事件指的是發(fā)生在時間和空間上的對狀態(tài)機(jī)來講有意義的那些事指的是發(fā)生在時間和空間上的對狀態(tài)機(jī)來講有意義的那些事情。事件通常會引起狀態(tài)的變遷,促使?fàn)顟B(tài)機(jī)從一種狀態(tài)切換到另情。事件通常會引起狀態(tài)的變遷,促使?fàn)顟B(tài)機(jī)從一種狀態(tài)切換到另一種狀態(tài),如信號、對象額度創(chuàng)建和銷毀等。一種狀態(tài),如信號、對象額度創(chuàng)建和銷毀等。 4 活動活動指的是狀態(tài)機(jī)中進(jìn)行的非原子操作。指的是狀態(tài)機(jī)中進(jìn)行的非原子操
18、作。 5 動作動作指的是狀態(tài)機(jī)中可以執(zhí)行的那些原子操作,所謂原子操作指指的是狀態(tài)機(jī)中可以執(zhí)行的那些原子操作,所謂原子操作指的是它們在運(yùn)行的過程中不能被其他消息所中斷,必須一直執(zhí)行下的是它們在運(yùn)行的過程中不能被其他消息所中斷,必須一直執(zhí)行下去,最終導(dǎo)致狀態(tài)的變更或者返回一個值。去,最終導(dǎo)致狀態(tài)的變更或者返回一個值。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成1起點(diǎn)和終點(diǎn)起點(diǎn)和終點(diǎn)(起始狀態(tài)與
19、終止?fàn)顟B(tài),特殊狀態(tài)節(jié)點(diǎn))(起始狀態(tài)與終止?fàn)顟B(tài),特殊狀態(tài)節(jié)點(diǎn)) 起點(diǎn)代表狀態(tài)圖的一個初始狀態(tài),此狀態(tài)代表狀態(tài)圖的起點(diǎn)代表狀態(tài)圖的一個初始狀態(tài),此狀態(tài)代表狀態(tài)圖的起始位置。起點(diǎn)只能作為轉(zhuǎn)換的源,而不是作為轉(zhuǎn)換起始位置。起點(diǎn)只能作為轉(zhuǎn)換的源,而不是作為轉(zhuǎn)換的目標(biāo)。的目標(biāo)。起點(diǎn)在一個狀態(tài)圖中只允許有一個起點(diǎn)在一個狀態(tài)圖中只允許有一個 。 終點(diǎn)代表狀態(tài)圖的最后狀態(tài),此狀態(tài)代表狀態(tài)圖的終止終點(diǎn)代表狀態(tài)圖的最后狀態(tài),此狀態(tài)代表狀態(tài)圖的終止位置。終點(diǎn)只能作為轉(zhuǎn)換的目標(biāo),而不是作為轉(zhuǎn)換的位置。終點(diǎn)只能作為轉(zhuǎn)換的目標(biāo),而不是作為轉(zhuǎn)換的源。源。終點(diǎn)在一個狀態(tài)圖中可以有一個或多個終點(diǎn)在一個狀態(tài)圖中可以有一個或多個,表
20、示一,表示一個活動圖的最后和終結(jié)狀態(tài)。個活動圖的最后和終結(jié)狀態(tài)。 UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成2. 狀態(tài)狀態(tài)狀態(tài)是指在對象的生命期中的狀態(tài)是指在對象的生命期中的一個條件或狀況一個條件或狀況,在此期間對象將滿足某些條件、執(zhí)行某些在此期間對象將滿足某些條件、執(zhí)行某些活動活動或等待或等待某些某些事件事件。 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模
21、實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成理解狀態(tài)的特征理解狀態(tài)的特征狀態(tài)是一個時間段:狀態(tài)是一個時間段:在在員工下班回家員工下班回家的過程中,經(jīng)歷的狀態(tài)包括:的過程中,經(jīng)歷的狀態(tài)包括: 到下班時間了,收拾東西到下班時間了,收拾東西準(zhǔn)備回家準(zhǔn)備回家(不考慮加班);(不考慮加班); 開始開始等待電梯等待電梯;乘坐電梯乘坐電梯下樓下樓;乘坐電梯乘坐電梯到達(dá)樓下到達(dá)樓下; (發(fā)現(xiàn)沒帶家里鑰匙,上樓拿)乘坐電梯(發(fā)現(xiàn)沒帶家里鑰匙,上樓拿)乘坐電梯上樓上樓; 去公交車站
22、去公交車站等車等車; 乘公共汽車乘公共汽車去菜場去菜場; 買菜買菜; 回到家回到家。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成理解狀態(tài)的特征:理解狀態(tài)的特征:(1)進(jìn)入進(jìn)入/退出動作退出動作:對象本身的一個操作。如果在電梯里是一個:對象本身的一個操作。如果在電梯里是一個狀態(tài)的話,那員工進(jìn)電梯和出電梯就是狀態(tài)狀態(tài)的話,那員工進(jìn)電梯和出電梯就是狀態(tài)“在電梯里在電梯里”的的進(jìn)進(jìn)入入/退出動作。
23、退出動作。(2)內(nèi)部轉(zhuǎn)換內(nèi)部轉(zhuǎn)換:例如員工在去等電梯的時候發(fā)現(xiàn)鑰匙沒帶,此時:例如員工在去等電梯的時候發(fā)現(xiàn)鑰匙沒帶,此時我們不用在我們不用在“等電梯等電梯”以后,而是在以后,而是在“準(zhǔn)備回家準(zhǔn)備回家”的狀態(tài)中就的狀態(tài)中就去拿鑰匙了。雖然整體的狀態(tài)沒有發(fā)生變化,但對于對象本身去拿鑰匙了。雖然整體的狀態(tài)沒有發(fā)生變化,但對于對象本身來說,前后是不一樣的,一個是有鑰匙,一個是沒有鑰匙。來說,前后是不一樣的,一個是有鑰匙,一個是沒有鑰匙。(3)子狀態(tài)子狀態(tài):如果需要進(jìn)一步描述員工對象在電梯里聊天、打電:如果需要進(jìn)一步描述員工對象在電梯里聊天、打電話等狀態(tài)時,這些狀態(tài)就是該對象的話等狀態(tài)時,這些狀態(tài)就是該
24、對象的“在電梯里在電梯里”狀態(tài)的子狀狀態(tài)的子狀態(tài)。態(tài)。(4)延遲事件延遲事件:現(xiàn)在不立即產(chǎn)生的事件,該事件是在一段時間以:現(xiàn)在不立即產(chǎn)生的事件,該事件是在一段時間以后才產(chǎn)生的事件。員工必須等待到達(dá)后才產(chǎn)生的事件。員工必須等待到達(dá)17:50的時候,才能下班。的時候,才能下班。 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成狀態(tài)圖符的三個組成部分:狀態(tài)名、狀態(tài)變量、事件。狀態(tài)圖符的三個組成部分:
25、狀態(tài)名、狀態(tài)變量、事件。一個狀態(tài)一般包含三個部分,如圖所示。第一個狀態(tài)一般包含三個部分,如圖所示。第事件事件一部分為一部分為狀態(tài)的名狀態(tài)的名稱稱,如空閑、已付、移動、在菜場等。第二部分為,如空閑、已付、移動、在菜場等。第二部分為可選的可選的狀態(tài)變狀態(tài)變量量的變量名和變量值的變量名和變量值。屬性(變量)指的是狀態(tài)圖中類的屬性。屬性(變量)指的是狀態(tài)圖中類的屬性。第三部分為第三部分為可選的活動表可選的活動表,列出有關(guān)的,列出有關(guān)的事件和活動事件和活動。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例
26、教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成3. 事件事件事件是在事件是在某個時刻某個時刻發(fā)生的事情,一個事件是一次激發(fā)的產(chǎn)生,激發(fā)可發(fā)生的事情,一個事件是一次激發(fā)的產(chǎn)生,激發(fā)可以觸發(fā)一個狀態(tài)轉(zhuǎn)換。以觸發(fā)一個狀態(tài)轉(zhuǎn)換?!笆录录敝傅氖前l(fā)生的且引起某些動作執(zhí)行指的是發(fā)生的且引起某些動作執(zhí)行的事情,即的事情,即事件表示在某一特定的時間或空間出現(xiàn)的能夠引發(fā)狀態(tài)事件表示在某一特定的時間或空間出現(xiàn)的能夠引發(fā)狀態(tài)改變的運(yùn)動變化。改變的運(yùn)動變化。 事件是一個事件是一個時間點(diǎn),事件種類如下時間點(diǎn),事件種類如下。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基
27、礎(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成事件是一個時間點(diǎn):事件是一個時間點(diǎn):在在員工下班回家員工下班回家的過程中,的過程中,發(fā)生的事件發(fā)生的事件包括:包括: 到下班時間了到下班時間了,收拾東西,收拾東西準(zhǔn)備回家準(zhǔn)備回家(不考慮加班);(不考慮加班); 開始開始等待電梯等待電梯; 電梯到達(dá)梯上電梯到達(dá)梯上; 乘坐乘坐電梯電梯到達(dá)樓下到達(dá)樓下; (發(fā)現(xiàn)沒帶家里鑰匙發(fā)現(xiàn)沒帶家里鑰匙,上樓拿)乘坐電梯,上樓拿)乘坐電梯上樓上樓;
28、去公交車站去公交車站等車等車;乘坐的公共汽車到了()乘坐的公共汽車到了() 乘公共汽車乘公共汽車去菜場去菜場; 買菜買菜; 回到家回到家。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成事件的種類:事件可以分成明確或隱含的幾種,主要包括:狀態(tài)狀態(tài)內(nèi)部的事件、消息內(nèi)部的事件、消息事件和時間事件等。狀態(tài)內(nèi)部的事件狀態(tài)內(nèi)部的事件(又稱為動作(又稱為動作Activety):):主要有入口事件、出口事件
29、主要有入口事件、出口事件和和DO事件等。事件等。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成消息信號事件和調(diào)用事件。調(diào)用事件:一個對象調(diào)用另一個對象的操作,標(biāo)在遷移線上,調(diào)用事件后,引起狀態(tài)遷移。如,補(bǔ)辦借書證(帳號),調(diào)用后,帳號由掛失狀態(tài)遷移到有效狀態(tài)。信號事件:由發(fā)出信號事件和接收信號事件構(gòu)成。發(fā)出信號事件接收信號事件UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L
30、建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成時間事件時間事件:由由after事件、事件、when事件和事件和defer事件。事件。其中其中aftert事件和事件和when事件事件后跟后跟有動作有動作。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成4.
31、遷移(轉(zhuǎn)換)遷移(轉(zhuǎn)換)狀態(tài)的改變狀態(tài)的改變轉(zhuǎn)換表示當(dāng)一個特定事件發(fā)生或者某些條件滿足時,一轉(zhuǎn)換表示當(dāng)一個特定事件發(fā)生或者某些條件滿足時,一個源狀態(tài)下的對象完成一定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,個源狀態(tài)下的對象完成一定的動作后將發(fā)生狀態(tài)轉(zhuǎn)變,轉(zhuǎn)向另一個稱之為目標(biāo)狀態(tài)的狀態(tài)。當(dāng)發(fā)生轉(zhuǎn)換時,轉(zhuǎn)轉(zhuǎn)向另一個稱之為目標(biāo)狀態(tài)的狀態(tài)。當(dāng)發(fā)生轉(zhuǎn)換時,轉(zhuǎn)換進(jìn)入的狀態(tài)為活動狀態(tài),轉(zhuǎn)換離開的狀態(tài)變?yōu)榉腔顒訐Q進(jìn)入的狀態(tài)為活動狀態(tài),轉(zhuǎn)換離開的狀態(tài)變?yōu)榉腔顒訝顟B(tài)。狀態(tài)。 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建
32、模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成遷移的特征遷移的特征:UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成監(jiān)護(hù)條件監(jiān)護(hù)條件:轉(zhuǎn)換可能具有一個監(jiān)護(hù)條件,監(jiān)護(hù)條件是一個:轉(zhuǎn)換可能具有一個監(jiān)護(hù)條件,監(jiān)護(hù)條件是一個布爾表達(dá)式,它是觸發(fā)轉(zhuǎn)換必須滿足的條件。布爾表達(dá)式,它是觸發(fā)轉(zhuǎn)換必須滿足的條件。UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M
33、LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成觸發(fā)器事件:觸發(fā)器事件:觸發(fā)器事件就是能夠引起狀觸發(fā)器事件就是能夠引起狀態(tài)轉(zhuǎn)換的事件。如果此事件有參態(tài)轉(zhuǎn)換的事件。如果此事件有參數(shù),則這些參數(shù)可以被轉(zhuǎn)換所用,數(shù),則這些參數(shù)可以被轉(zhuǎn)換所用,也可以被監(jiān)護(hù)條件和動作的表達(dá)也可以被監(jiān)護(hù)條件和動作的表達(dá)式所用。式所用。動作:動作:動作(動作(Action)通常是一個)通常是一個簡短的計算處理過程或一組可執(zhí)簡短的計算處理過程或一組可執(zhí)行語句。動作也可以是一個
34、動作行語句。動作也可以是一個動作序列,即一系列簡單的動作。序列,即一系列簡單的動作。動作有兩種情況:附加到相應(yīng)的動作有兩種情況:附加到相應(yīng)的遷移線上遷移線上或?qū)?yīng)的或?qū)?yīng)的狀態(tài)框內(nèi)狀態(tài)框內(nèi)。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成外部轉(zhuǎn)換外部轉(zhuǎn)換:外部轉(zhuǎn)換是一種改變狀態(tài)的轉(zhuǎn)換,也是最普通最常見的一種轉(zhuǎn)換。在UML中,它用從源狀態(tài)到目標(biāo)狀態(tài)的帶箭頭的線段表示,其他屬性以文字串附加在箭頭旁
35、。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成內(nèi)部轉(zhuǎn)換只有源狀態(tài),沒有目標(biāo)狀態(tài),不會激發(fā)入口和只有源狀態(tài),沒有目標(biāo)狀態(tài),不會激發(fā)入口和出口動作,因此出口動作,因此內(nèi)部轉(zhuǎn)換激發(fā)的結(jié)果不改變本來的狀內(nèi)部轉(zhuǎn)換激發(fā)的結(jié)果不改變本來的狀態(tài)態(tài)。如果一個內(nèi)部轉(zhuǎn)換帶有動作,它也要被執(zhí)行。內(nèi)。如果一個內(nèi)部轉(zhuǎn)換帶有動作,它也要被執(zhí)行。內(nèi)部轉(zhuǎn)換常用于對不改變狀態(tài)的插入動作建立模型。要部轉(zhuǎn)換常用于對不改變狀態(tài)的插
36、入動作建立模型。要注意的是內(nèi)部轉(zhuǎn)換的激發(fā)可能會掩蓋使用相同事件的注意的是內(nèi)部轉(zhuǎn)換的激發(fā)可能會掩蓋使用相同事件的外部轉(zhuǎn)換。外部轉(zhuǎn)換。 內(nèi)部轉(zhuǎn)換的表示法與入口動作和出口動作的表示法很內(nèi)部轉(zhuǎn)換的表示法與入口動作和出口動作的表示法很相似。他們的區(qū)別主要在于入口和出口動作使用了保相似。他們的區(qū)別主要在于入口和出口動作使用了保留字留字“entry”和和“exit”,其它部分兩者的表示法相,其它部分兩者的表示法相同。同。 UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章
37、 狀態(tài)圖與活動圖狀態(tài)圖與活動圖判定示例 無判定示例10.2.2 狀態(tài)圖組成狀態(tài)圖組成5.判定判定判定用來表示一個事件依據(jù)不同的監(jiān)護(hù)條件有不同的影響。判定用來表示一個事件依據(jù)不同的監(jiān)護(hù)條件有不同的影響。在實際建模的過程中,如果遇到需要使用判定的情況,在實際建模的過程中,如果遇到需要使用判定的情況,通常用監(jiān)護(hù)條件來覆蓋每種可能,使得一個事件的發(fā)通常用監(jiān)護(hù)條件來覆蓋每種可能,使得一個事件的發(fā)生能生能保證觸發(fā)一個轉(zhuǎn)換保證觸發(fā)一個轉(zhuǎn)換。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例
38、教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.2 狀態(tài)圖組成狀態(tài)圖組成6. 分叉與匯合分叉與匯合同步條是為了說明并發(fā)并發(fā)工作流的分支與匯合。狀態(tài)圖和活動圖中都可能用到同步。在UML中,同步用一條線段來表示。 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例在在UML中,交互模型描述若于對象共同協(xié)作完成一項作,而中,交互模型描述若于對象共同協(xié)作完成一項作,而狀態(tài)圖則是描述狀態(tài)
39、圖則是描述一個對象穿越若干用例一個對象穿越若干用例的行為。建立狀態(tài)圖模型的行為。建立狀態(tài)圖模型的建模步驟如下:的建模步驟如下:1)確定狀態(tài)圖的主體,它可以是)確定狀態(tài)圖的主體,它可以是一個系統(tǒng)一個系統(tǒng)、一個用例、一個、一個用例、一個對象對象;2)確定主體的生存期的各種穩(wěn)定的)確定主體的生存期的各種穩(wěn)定的狀態(tài)及順序狀態(tài)及順序;3)確定狀態(tài)遷移的)確定狀態(tài)遷移的事件事件;4)附加上必要的)附加上必要的動作動作,把動作附加到相應(yīng)的,把動作附加到相應(yīng)的遷移線上遷移線上或?qū)?yīng)的或?qū)?yīng)的狀態(tài)狀態(tài)框內(nèi)框內(nèi);5)審核狀態(tài)圖,確認(rèn)所有狀態(tài)在事件觸發(fā)下都可到達(dá)、死鎖狀態(tài))審核狀態(tài)圖,確認(rèn)所有狀態(tài)在事件觸發(fā)下都可到
40、達(dá)、死鎖狀態(tài)(無遷移)。(無遷移)。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖 10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例進(jìn)銷存管理系統(tǒng)中進(jìn)銷存管理系統(tǒng)中“產(chǎn)品產(chǎn)品”的狀態(tài)圖的狀態(tài)圖要創(chuàng)建狀態(tài)圖,首先要標(biāo)識出哪些實體需要使用狀態(tài)圖進(jìn)一步建模。雖然我們可以為每一個類、操作、包或用例創(chuàng)建狀態(tài)圖,但是這樣做勢必浪費(fèi)很多的精力。一般來說,不需要給所有的類都創(chuàng)建狀態(tài)圖,只有具有重要動態(tài)行為的類才需要。 從另一個角度看,狀態(tài)圖應(yīng)該用
41、于復(fù)雜的實體,而不必用于具有復(fù)雜行為的實體。使用活動圖可能會更加適合那些有復(fù)雜行為的實體。具有清晰、有序的狀態(tài)實體最適合使用狀態(tài)圖進(jìn)一步建模。 對于產(chǎn)品出入倉庫來說,需要建模的實體就是產(chǎn)品。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖 10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例進(jìn)銷存管理系統(tǒng)中進(jìn)銷存管理系統(tǒng)中“產(chǎn)品產(chǎn)品”的狀態(tài)圖的狀態(tài)圖對于一個入庫的產(chǎn)品對于一個入庫的產(chǎn)品來說,它的狀態(tài)主要包括:來說,它的狀態(tài)主要包括: (
42、1) 未入庫狀態(tài)未入庫狀態(tài) (2) 入庫狀態(tài)入庫狀態(tài) (3) 被排除狀態(tài)被排除狀態(tài) (4 )銷售出庫狀態(tài)銷售出庫狀態(tài)UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖 10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例進(jìn)銷存管理系統(tǒng)中進(jìn)銷存管理系統(tǒng)中“產(chǎn)品產(chǎn)品”的狀態(tài)圖的狀態(tài)圖當(dāng)確定了需要建模的實體,并找出當(dāng)確定了需要建模的實體,并找出了實體的初始狀態(tài)和終止?fàn)顟B(tài)了實體的初始狀態(tài)和終止?fàn)顟B(tài)以及其他相關(guān)狀態(tài)后,就可以以及其他相關(guān)狀態(tài)后,就可
43、以著手創(chuàng)建狀態(tài)圖。著手創(chuàng)建狀態(tài)圖。 首先,我們要首先,我們要找出相關(guān)的事件找出相關(guān)的事件和轉(zhuǎn)換和轉(zhuǎn)換。對于企業(yè)的產(chǎn)品來說,。對于企業(yè)的產(chǎn)品來說,剛被生產(chǎn)出來的產(chǎn)品可以通過剛被生產(chǎn)出來的產(chǎn)品可以通過倉庫管理員添加成為入庫的產(chǎn)倉庫管理員添加成為入庫的產(chǎn)品。當(dāng)入庫產(chǎn)品被出售,產(chǎn)品品。當(dāng)入庫產(chǎn)品被出售,產(chǎn)品品處于被銷售狀態(tài)。品處于被銷售狀態(tài)。 當(dāng)產(chǎn)品由于過期、損壞等因素當(dāng)產(chǎn)品由于過期、損壞等因素造成的不合格時,產(chǎn)品會被剔造成的不合格時,產(chǎn)品會被剔除。根據(jù)產(chǎn)品的各種狀態(tài)以及除。根據(jù)產(chǎn)品的各種狀態(tài)以及轉(zhuǎn)換規(guī)則。轉(zhuǎn)換規(guī)則。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教
44、程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例網(wǎng)上商城中網(wǎng)上商城中“商品商品”的狀態(tài)圖的狀態(tài)圖1. 商品對象商品對象2. 狀態(tài)序列狀態(tài)序列3. 轉(zhuǎn)換事件轉(zhuǎn)換事件及活動。及活動。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例圖書管理系統(tǒng)的圖書狀態(tài)圖圖書管理系統(tǒng)
45、的圖書狀態(tài)圖1. 圖書對象圖書對象2. 狀態(tài)序列狀態(tài)序列3. 轉(zhuǎn)換事件轉(zhuǎn)換事件及活動。及活動。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例員工下班回家狀態(tài)圖員工下班回家狀態(tài)圖(1) 確定狀態(tài)對象:員工。確定狀態(tài)對象:員工。(2)添加狀態(tài))添加狀態(tài)選擇狀態(tài)圖繪圖工具欄上的相應(yīng)按鈕,在繪圖區(qū)域中單擊鼠標(biāo)左選擇狀態(tài)圖繪圖工具欄上的相應(yīng)按鈕,在繪圖區(qū)域中單擊鼠標(biāo)左鍵,就可以繪制狀態(tài)。鍵,就
46、可以繪制狀態(tài)。 UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例員工下班回家狀態(tài)圖員工下班回家狀態(tài)圖 (3)添加狀態(tài)之間添加狀)添加狀態(tài)之間添加狀態(tài)轉(zhuǎn)換態(tài)轉(zhuǎn)換單擊狀態(tài)圖繪制工具欄上單擊狀態(tài)圖繪制工具欄上的按鈕的按鈕 ,在狀態(tài)之間,在狀態(tài)之間添加轉(zhuǎn)換,由此得到的添加轉(zhuǎn)換,由此得到的員式下班回家的狀態(tài)圖員式下班回家的狀態(tài)圖及其狀態(tài)轉(zhuǎn)換及其狀態(tài)轉(zhuǎn)換 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教
47、程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例員工下班回家狀態(tài)圖員工下班回家狀態(tài)圖(4)設(shè)置狀態(tài)轉(zhuǎn)移事件)設(shè)置狀態(tài)轉(zhuǎn)移事件在不同的狀態(tài)之間進(jìn)行轉(zhuǎn)換時,需要指定從一種狀態(tài)轉(zhuǎn)在不同的狀態(tài)之間進(jìn)行轉(zhuǎn)換時,需要指定從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)的事件。換到另一種狀態(tài)的事件。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實
48、例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例員工下班回家狀態(tài)圖員工下班回家狀態(tài)圖(5)添加活動)添加活動在繪制狀態(tài)圖時,一般情況下需要指定狀態(tài)的活動。右在繪制狀態(tài)圖時,一般情況下需要指定狀態(tài)的活動。右鍵單擊對應(yīng)的狀態(tài)(如:等待電梯),打開狀態(tài)屬性鍵單擊對應(yīng)的狀態(tài)(如:等待電梯),打開狀態(tài)屬性設(shè)置對話框,選擇設(shè)置對話框,選擇【Actions】選項卡,右鍵單擊中間選項卡,右鍵單擊中間空白區(qū)域,選擇空白區(qū)域,選擇【Insert】菜單,完成活動的添加。菜單,完成活動的添加。 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模 實
49、例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.2.3 狀態(tài)圖創(chuàng)建案例狀態(tài)圖創(chuàng)建案例員工下班回家狀態(tài)圖員工下班回家狀態(tài)圖(6)調(diào)整大?。┱{(diào)整大小和位置和位置遵循美觀、實用遵循美觀、實用的原則,調(diào)整的原則,調(diào)整狀態(tài)圖的大小狀態(tài)圖的大小和位置,得到和位置,得到的員工下班回的員工下班回家的狀態(tài)圖。家的狀態(tài)圖。 UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖
50、與活動圖狀態(tài)圖與活動圖課堂實踐課堂實踐 1閱讀如圖所示的學(xué)生選課系統(tǒng)中的課程狀態(tài)圖,試著對不同狀態(tài)間的轉(zhuǎn)換閱讀如圖所示的學(xué)生選課系統(tǒng)中的課程狀態(tài)圖,試著對不同狀態(tài)間的轉(zhuǎn)換進(jìn)行描述。進(jìn)行描述。 (1)maxstudents表示選修某一門課程的最多人數(shù)。表示選修某一門課程的最多人數(shù)。(2)students表示選修了某一門課程的人數(shù)。表示選修了某一門課程的人數(shù)。(3)after this term表示學(xué)期結(jié)束表示學(xué)期結(jié)束 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程10
51、10章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.3 10.3 活動圖活動圖UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.3 10.3 活動圖活動圖活動圖活動圖(Activity DiagramActivity Diagram)主要用于描述系統(tǒng)中對象的一個)主要用于描述系統(tǒng)中對象的一個活動活動到另一個活動的到另一個活動的控制流控制流、一個事務(wù)的、一個事務(wù)的活動序列活動序列、工作的流程工作的流程和和并并發(fā)發(fā)的處理能力。的處理能
52、力。需求分析中的活動圖主要用來配合描述某個重要的用例,圖主要用來配合描述某個重要的用例,用用圖型的方式對用例的具體實現(xiàn)的過程進(jìn)行描述圖型的方式對用例的具體實現(xiàn)的過程進(jìn)行描述,這樣比文字的描,這樣比文字的描述更直觀、更準(zhǔn)確地說明用例的功能,在系統(tǒng)分析與設(shè)計過程中,述更直觀、更準(zhǔn)確地說明用例的功能,在系統(tǒng)分析與設(shè)計過程中,經(jīng)常用活動圖進(jìn)一步深入描述用例圖的具體實現(xiàn)流程。經(jīng)常用活動圖進(jìn)一步深入描述用例圖的具體實現(xiàn)流程。系統(tǒng)設(shè)計中的活動圖對系統(tǒng)的系統(tǒng)設(shè)計中的活動圖對系統(tǒng)的業(yè)務(wù)工作流業(yè)務(wù)工作流、操作建模,操作建模,它描它描述業(yè)務(wù)流中從一個活動到另一個活動的控制流。它描述活動的序述業(yè)務(wù)流中從一個活動到另一
53、個活動的控制流。它描述活動的序列,用來列,用來分析和驗證用例分析和驗證用例,理解工作流程,理解工作流程,描述復(fù)雜過程的算法描述復(fù)雜過程的算法,并具支持帶條件的行為和并并具支持帶條件的行為和并發(fā)行的多程建模發(fā)行的多程建模。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.3.1 活動圖概述活動圖概述活動圖的作用活動圖的作用:*描述一個操作執(zhí)行過程描述一個操作執(zhí)行過程中所完成的工作,說明角色、工作流、組中所完成的工作,說明角色
54、、工作流、組織和對象是如何工作的??椇蛯ο笫侨绾喂ぷ鞯?。*活活動圖對用例描述動圖對用例描述尤其有用,它可建模用例的工作流、尤其有用,它可建模用例的工作流、顯示用例顯示用例內(nèi)部和用例之間的路徑內(nèi)部和用例之間的路徑。*顯示如何執(zhí)行一組相關(guān)的顯示如何執(zhí)行一組相關(guān)的動作動作,以及這些動作如何影響它們周圍,以及這些動作如何影響它們周圍的對象。的對象。*活活動圖可以畫出工作流用以描述業(yè)務(wù)動圖可以畫出工作流用以描述業(yè)務(wù),有利于與領(lǐng)域?qū)<疫M(jìn)行交,有利于與領(lǐng)域?qū)<疫M(jìn)行交流。通過活動圖可以明確業(yè)務(wù)處理操作是如何進(jìn)行的,以及可能流。通過活動圖可以明確業(yè)務(wù)處理操作是如何進(jìn)行的,以及可能產(chǎn)生的變化。產(chǎn)生的變化。*描述復(fù)
55、雜過程的算法描述復(fù)雜過程的算法,在這種情況下使用的活動圖和傳統(tǒng)的程序,在這種情況下使用的活動圖和傳統(tǒng)的程序流程圖的功能是相似的。流程圖的功能是相似的。 活動圖活動圖與常用的程序與常用的程序流程圖流程圖相似,它們的主要區(qū)別在于程序流程圖相似,它們的主要區(qū)別在于程序流程圖一般用來表示串行過程,而一般用來表示串行過程,而活動圖則可以用來表示活動圖則可以用來表示并行并行過程過程 。UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建模基礎(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.
56、3.1 活動圖概述活動圖概述UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.3.2 活動圖組成活動圖組成1動作狀態(tài)動作狀態(tài)動作狀態(tài)是指執(zhí)行原子的、不可中斷的動作,并在此動作完成后轉(zhuǎn)動作狀態(tài)是指執(zhí)行原子的、不可中斷的動作,并在此動作完成后轉(zhuǎn)換到另一個狀態(tài)。動作狀態(tài)有如下?lián)Q到另一個狀態(tài)。動作狀態(tài)有如下特點(diǎn)特點(diǎn):動作狀態(tài)是原子的,它是構(gòu)造活動圖的最小單位,無法分解為更小動作狀態(tài)是原子的,它是構(gòu)造活動圖的最小單位,無法分解為更小
57、的部分;的部分;動作狀態(tài)是不可中斷的,它一旦運(yùn)行就不能中斷,一直運(yùn)行到結(jié)束;動作狀態(tài)是不可中斷的,它一旦運(yùn)行就不能中斷,一直運(yùn)行到結(jié)束;動作狀態(tài)是瞬時的行為,它所占用的處理時間極短,有時甚至可以動作狀態(tài)是瞬時的行為,它所占用的處理時間極短,有時甚至可以忽略;忽略;動作狀態(tài)有入轉(zhuǎn)換,入轉(zhuǎn)換可以是動作流,也可以是對象流。動作動作狀態(tài)有入轉(zhuǎn)換,入轉(zhuǎn)換可以是動作流,也可以是對象流。動作狀態(tài)至少有一條出轉(zhuǎn)換,這條轉(zhuǎn)換以內(nèi)部動作的完成為起點(diǎn),狀態(tài)至少有一條出轉(zhuǎn)換,這條轉(zhuǎn)換以內(nèi)部動作的完成為起點(diǎn),與外部事件無關(guān);與外部事件無關(guān);動作狀態(tài)與狀態(tài)圖中的狀態(tài)不同,它不能有入口動作和出口動作,動作狀態(tài)與狀態(tài)圖中的狀
58、態(tài)不同,它不能有入口動作和出口動作,也不能有內(nèi)部轉(zhuǎn)移;也不能有內(nèi)部轉(zhuǎn)移;動作狀態(tài)允許多處出現(xiàn)在同一活動圖中。動作狀態(tài)允許多處出現(xiàn)在同一活動圖中。 UMLUML系統(tǒng)建模基礎(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.3.2 活動圖組成活動圖組成2活動狀態(tài)活動狀態(tài)活動狀態(tài)是非原子性的,用來表示一個具有子結(jié)構(gòu)的純粹計算的執(zhí)活動狀態(tài)是非原子性的,用來表示一個具有子結(jié)構(gòu)的純粹計算的執(zhí)行。行。 活動狀態(tài)有如下活動狀態(tài)有如下特點(diǎn)特點(diǎn):活動狀態(tài)可以分活動狀
59、態(tài)可以分解成其他子活動解成其他子活動或動作狀態(tài),由于它是一組不可中或動作狀態(tài),由于它是一組不可中斷的動作或操作的組合,所以斷的動作或操作的組合,所以可以被中斷可以被中斷;活動狀態(tài)的活動狀態(tài)的內(nèi)部活動可以用另一個活動圖內(nèi)部活動可以用另一個活動圖來表示;來表示;活動狀態(tài)可以有活動狀態(tài)可以有入口動作和出口動作入口動作和出口動作,也可以有內(nèi)部轉(zhuǎn)移;,也可以有內(nèi)部轉(zhuǎn)移;動作狀態(tài)是活動狀態(tài)的一個特例,如果某一個活動狀態(tài)只包括一個動作狀態(tài)是活動狀態(tài)的一個特例,如果某一個活動狀態(tài)只包括一個動作,那么它就是一個動作狀態(tài)。動作,那么它就是一個動作狀態(tài)。 UMLUML系統(tǒng)建?;A(chǔ)教程系統(tǒng)建?;A(chǔ)教程U M LU M
60、 L 建 模 實 例 教 程建 模 實 例 教 程U M LU M L 建 模 實 例 教 程建 模 實 例 教 程1010章章 狀態(tài)圖與活動圖狀態(tài)圖與活動圖10.3.2 活動圖組成活動圖組成3動作流動作流:動作流是指所有動作:動作流是指所有動作狀態(tài)之間的轉(zhuǎn)換。狀態(tài)之間的轉(zhuǎn)換。 4. 分支與合并分支與合并分支是軟件系統(tǒng)流程中很常見的一分支是軟件系統(tǒng)流程中很常見的一種邏輯,它一般用來表示對象所種邏輯,它一般用來表示對象所具有的條件行為,具有的條件行為,每一部分都有單獨(dú)的監(jiān)護(hù)條件和不同的結(jié)果。 合并包括兩個帶條件的入轉(zhuǎn)換和合并包括兩個帶條件的入轉(zhuǎn)換和一個出轉(zhuǎn)換(即兩個入口和一個一個出轉(zhuǎn)換(即兩個入
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國奧硝唑氯化鈉注射液數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國多槽式超聲波汽相清洗機(jī)數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國卷管車數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國十八速后撥導(dǎo)輪數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國刺繡字畫數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國二元包裝成套氣霧劑灌裝機(jī)數(shù)據(jù)監(jiān)測研究報告
- 2025年中國高效營養(yǎng)土市場調(diào)查研究報告
- 2025年中國陶瓷浴缸市場調(diào)查研究報告
- 2025年中國立式網(wǎng)帶復(fù)合機(jī)市場調(diào)查研究報告
- 2025年中國盆景霧化器連接線市場調(diào)查研究報告
- 2025年01月2025廣東深圳市何香凝美術(shù)館公開招聘應(yīng)屆高校畢業(yè)生2人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 園林聘用勞動合同
- 300畝文冠果樹栽培基地建設(shè)項目可行性研究報告
- 2025年菏澤職業(yè)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年江西生物科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年度企業(yè)安全生產(chǎn)與環(huán)保管理服務(wù)協(xié)議范本3篇
- 2025-2030年中國巧克力產(chǎn)品市場需求狀況及發(fā)展趨勢分析報告
- 六年級下冊音樂全冊教案湖南文藝出版社湘教版
- Tracepro-實例學(xué)習(xí)教程
- 進(jìn)貨單出貨單(Excel表格模板)
- 2020年英語筆譯二級綜合能力樣題
評論
0/150
提交評論