建模與設(shè)計(jì)-04_第1頁(yè)
建模與設(shè)計(jì)-04_第2頁(yè)
建模與設(shè)計(jì)-04_第3頁(yè)
建模與設(shè)計(jì)-04_第4頁(yè)
建模與設(shè)計(jì)-04_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1Activity Diagram2Knowledge structure3Main Pointsw Activity Diagram w How to read the Activity Diagram w How to draw the Activity Diagram w Application Notes w Case Study4What Is an Activity Diagram?w An activity diagram in the Use-Case Model can be used to capture the activities in a use case.w It

2、is essentially a flow chart, showing flow of control from one activity or action to another.Flow of EventsThis use case starts when the Registrar requests that the system close registration.1. The system checks to see if registration is in progress. If it is, then a message is displayed to the Regis

3、trar and the use case terminates. The Close Registration processing cannot be performed if registration is in progress.2. For each course offering, the system checks if a professor has signed up to teach the course offering and at least three students have registered. If so, the system commits the c

4、ourse offering for each schedule that contains it.Activity1Activity3Activity255Activity Diagramw Activity diagrams provide a way to model the workflow of a business process. You can also use activity diagrams to model code-specific information such as a class operation. Activity diagrams are very si

5、milar to a flowchart because you can model a workflow from activity to activity. An activity diagram is basically a special case of a state machine in which most of the states are activities and most of the transitions are implicitly triggered by completion of the actions in the source activities.66

6、w The main difference between activity diagrams and state diagrams is activity diagrams are activity centric, while state diagrams are state centric. An activity diagram is typically used for modeling the sequence of activities in a process, whereas a state diagram is better suited to model the disc

7、rete stages of an objects lifetime. 7Example: Activity DiagramActivity/ActionSynchronizationBar (Fork)GuardConditionSynchronizationBar (Join)DecisionConcurrent ThreadsTransitionSelect Course add course Check ScheduleCheck Pre-requisitesAssign to CourseResolve ConflictsUpdate ScheduleDelete Course ch

8、ecks completed checks failed delete course 8活動(dòng)圖和交互圖是活動(dòng)圖和交互圖是UML中對(duì)系統(tǒng)動(dòng)態(tài)方面建模的兩種主中對(duì)系統(tǒng)動(dòng)態(tài)方面建模的兩種主要形式要形式交互圖強(qiáng)調(diào)的是對(duì)象到對(duì)象的控制流,而活動(dòng)圖則強(qiáng)調(diào)交互圖強(qiáng)調(diào)的是對(duì)象到對(duì)象的控制流,而活動(dòng)圖則強(qiáng)調(diào)的是從活動(dòng)到活動(dòng)的控制流的是從活動(dòng)到活動(dòng)的控制流 活動(dòng)圖是一種表述過(guò)程基理、業(yè)務(wù)過(guò)程以及工作流的技活動(dòng)圖是一種表述過(guò)程基理、業(yè)務(wù)過(guò)程以及工作流的技術(shù)。它可以用來(lái)對(duì)業(yè)務(wù)過(guò)程、工作流建模,也可以對(duì)用術(shù)。它可以用來(lái)對(duì)業(yè)務(wù)過(guò)程、工作流建模,也可以對(duì)用例實(shí)現(xiàn)甚至是程序?qū)崿F(xiàn)來(lái)建模例實(shí)現(xiàn)甚至是程序?qū)崿F(xiàn)來(lái)建模 活動(dòng)圖跟流程圖

9、十分相似,區(qū)別在于活動(dòng)圖能夠支持并活動(dòng)圖跟流程圖十分相似,區(qū)別在于活動(dòng)圖能夠支持并行行為行行為UML 2.0而言,去除了而言,去除了“活動(dòng)圖是活動(dòng)圖是狀態(tài)圖的狀態(tài)圖的一種特例一種特例”這一規(guī)定這一規(guī)定 Overview9Difference between activity diagram and flowchart(1)流程圖著重描述處理過(guò)程,它的主要控制結(jié)構(gòu)是順序、分支和循環(huán),各個(gè)處理過(guò)程之間有嚴(yán)格的順序和時(shí)間關(guān)系;而活動(dòng)圖描述的是對(duì)象活動(dòng)的順序關(guān)系所遵循的規(guī)則,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過(guò)程。(2)活動(dòng)圖能夠表示并發(fā)活動(dòng)的情形,而流程圖不能。(3)活動(dòng)圖是面向?qū)ο蟮?,流程圖

10、是面向過(guò)程的。10Main Pointsw Activity Diagram w How to read the Activity Diagram w How to draw the Activity Diagram w Application Notes w Case Study11Basic Conceptsw activity (活動(dòng))w transition (轉(zhuǎn)移)w swimlane (泳道)w branch (分支) w fork and join (分叉和匯合)w object flow (對(duì)象流)12Simple Activity Diagram13初始節(jié)點(diǎn)和活動(dòng)終點(diǎn):用一個(gè)

11、實(shí)心圓表示初始節(jié)點(diǎn),用初始節(jié)點(diǎn)和活動(dòng)終點(diǎn):用一個(gè)實(shí)心圓表示初始節(jié)點(diǎn),用一個(gè)圓圈內(nèi)加一個(gè)實(shí)心圓來(lái)表示活動(dòng)一個(gè)圓圈內(nèi)加一個(gè)實(shí)心圓來(lái)表示活動(dòng)終點(diǎn)終點(diǎn)活動(dòng)節(jié)點(diǎn):是活動(dòng)圖中最主要的元素之一,它用來(lái)表示活動(dòng)節(jié)點(diǎn):是活動(dòng)圖中最主要的元素之一,它用來(lái)表示一個(gè)活動(dòng)。所描述的活動(dòng)可以是原子的動(dòng)作,也可以是一個(gè)活動(dòng)。所描述的活動(dòng)可以是原子的動(dòng)作,也可以是能進(jìn)一步分解的一系列操作。能進(jìn)一步分解的一系列操作。 The main elements14Activity and Action動(dòng)作(Action)特點(diǎn):1)是原子的,無(wú)法分解。2)不可中斷,一旦開(kāi)始運(yùn)行就不能中斷,一直運(yùn)行到結(jié)束。3)瞬時(shí)的,它所占用的處理時(shí)間極

12、短,有時(shí)甚至可以忽略?;顒?dòng)(Activity)特點(diǎn):1)可以分解成其他子活動(dòng)或動(dòng)作。由于它是一組不可中斷的動(dòng)作或操作的組合,所以可以被中斷。2)活動(dòng)的內(nèi)部活動(dòng)可以用另一個(gè)活動(dòng)圖來(lái)表示。15轉(zhuǎn)換:當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),控制流就會(huì)馬上傳遞給下一轉(zhuǎn)換:當(dāng)一個(gè)活動(dòng)結(jié)束時(shí),控制流就會(huì)馬上傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn),在活動(dòng)圖中稱(chēng)之為個(gè)活動(dòng)節(jié)點(diǎn),在活動(dòng)圖中稱(chēng)之為“轉(zhuǎn)換轉(zhuǎn)換”,用一條帶箭,用一條帶箭頭的直線來(lái)表示頭的直線來(lái)表示 (無(wú)觸發(fā)轉(zhuǎn)換)(無(wú)觸發(fā)轉(zhuǎn)換)分支與監(jiān)護(hù)條件(分支與監(jiān)護(hù)條件( guard condition ):分支是用菱形):分支是用菱形表示的,它有一個(gè)進(jìn)入轉(zhuǎn)換(箭頭從外指向分支符號(hào)),表示的,它有一個(gè)進(jìn)

13、入轉(zhuǎn)換(箭頭從外指向分支符號(hào)),一個(gè)或多個(gè)離開(kāi)轉(zhuǎn)換(箭頭從分支符一個(gè)或多個(gè)離開(kāi)轉(zhuǎn)換(箭頭從分支符號(hào)指向外)。而每個(gè)離開(kāi)轉(zhuǎn)換上都會(huì)號(hào)指向外)。而每個(gè)離開(kāi)轉(zhuǎn)換上都會(huì)有一個(gè)監(jiān)護(hù)條件,用來(lái)表示滿(mǎn)足什么有一個(gè)監(jiān)護(hù)條件,用來(lái)表示滿(mǎn)足什么條件的時(shí)候執(zhí)行該轉(zhuǎn)換。條件的時(shí)候執(zhí)行該轉(zhuǎn)換。The main elements16Action Floww 動(dòng)作流(動(dòng)作流(Action Flow)是一個(gè)實(shí)體的不同動(dòng)作狀態(tài)之)是一個(gè)實(shí)體的不同動(dòng)作狀態(tài)之間的聯(lián)系,說(shuō)明狀態(tài)之間的控制流。間的聯(lián)系,說(shuō)明狀態(tài)之間的控制流。 w 在活動(dòng)圖中動(dòng)作流用實(shí)箭線表示,箭線從一個(gè)動(dòng)作狀態(tài)在活動(dòng)圖中動(dòng)作流用實(shí)箭線表示,箭線從一個(gè)動(dòng)作狀態(tài)出發(fā)指向

14、另一個(gè)動(dòng)作狀態(tài)。動(dòng)作流相當(dāng)于狀態(tài)機(jī)圖中的出發(fā)指向另一個(gè)動(dòng)作狀態(tài)。動(dòng)作流相當(dāng)于狀態(tài)機(jī)圖中的轉(zhuǎn)移。轉(zhuǎn)移。 w 動(dòng)作流可以是無(wú)條件的,也可以是有條件的。動(dòng)作流可以是無(wú)條件的,也可以是有條件的。 w 一個(gè)無(wú)條件的動(dòng)作流代表無(wú)觸發(fā)轉(zhuǎn)移或完成轉(zhuǎn)移,對(duì)它一個(gè)無(wú)條件的動(dòng)作流代表無(wú)觸發(fā)轉(zhuǎn)移或完成轉(zhuǎn)移,對(duì)它不附加監(jiān)護(hù)條件,在一個(gè)動(dòng)作狀態(tài)的動(dòng)作完成后自動(dòng)發(fā)不附加監(jiān)護(hù)條件,在一個(gè)動(dòng)作狀態(tài)的動(dòng)作完成后自動(dòng)發(fā)生動(dòng)作狀態(tài)的轉(zhuǎn)移,激活下一個(gè)動(dòng)作狀態(tài)。生動(dòng)作狀態(tài)的轉(zhuǎn)移,激活下一個(gè)動(dòng)作狀態(tài)。 w 在表示一個(gè)有條件的動(dòng)作流的實(shí)箭線上需要標(biāo)出在表示一個(gè)有條件的動(dòng)作流的實(shí)箭線上需要標(biāo)出“監(jiān)監(jiān)護(hù)條件護(hù)條件/ 動(dòng)作動(dòng)作”(動(dòng)作部分可以缺省

15、)。其中方括號(hào)中(動(dòng)作部分可以缺?。?。其中方括號(hào)中的監(jiān)護(hù)條件是一個(gè)布爾表達(dá)式,當(dāng)其值為真時(shí),執(zhí)行斜的監(jiān)護(hù)條件是一個(gè)布爾表達(dá)式,當(dāng)其值為真時(shí),執(zhí)行斜杠杠“/”后面的動(dòng)作,發(fā)生動(dòng)作狀態(tài)的轉(zhuǎn)移,進(jìn)入下一個(gè)后面的動(dòng)作,發(fā)生動(dòng)作狀態(tài)的轉(zhuǎn)移,進(jìn)入下一個(gè)動(dòng)作狀態(tài)。動(dòng)作狀態(tài)。 17Action Floww 條件行為用分支(Branch)和合并(Merge)表達(dá)。 w 在活動(dòng)圖中分支和合并用小空心菱形表示。 w 一個(gè)分支有一個(gè)入轉(zhuǎn)移和兩個(gè)或多個(gè)帶條件的出轉(zhuǎn)移,而且只有其中一條出轉(zhuǎn)移能被觸發(fā)。 w 一個(gè)合并有兩個(gè)或多個(gè)帶條件的入轉(zhuǎn)移和一個(gè)出轉(zhuǎn)移。合并表示從對(duì)應(yīng)的分支開(kāi)始的條件行為的結(jié)束。 18分叉與分叉與匯合:描

16、述并發(fā)的事件流,用同步線描述匯合:描述并發(fā)的事件流,用同步線描述The main elements19Fork and Joinw 在建模的時(shí)候可能會(huì)遇到對(duì)象在運(yùn)行時(shí)存在建模的時(shí)候可能會(huì)遇到對(duì)象在運(yùn)行時(shí)存在兩個(gè)或多個(gè)并發(fā)運(yùn)行的控制流;在兩個(gè)或多個(gè)并發(fā)運(yùn)行的控制流;w 在在UML中可以使用中可以使用“分叉分叉”把路徑分為兩個(gè)把路徑分為兩個(gè)或多個(gè)的并發(fā)運(yùn)行控制流,然后使用或多個(gè)的并發(fā)運(yùn)行控制流,然后使用“匯匯合合”同步這些并發(fā)流同步這些并發(fā)流;w 從概念上說(shuō),分叉的每一個(gè)控制流都是并從概念上說(shuō),分叉的每一個(gè)控制流都是并發(fā)的,但實(shí)際中,這些流可以是真正的并發(fā)的,但實(shí)際中,這些流可以是真正的并發(fā),也可

17、以是時(shí)序交替的發(fā),也可以是時(shí)序交替的;20Fork and Join2122A swimlane is a partition on activity graphics for organizing responsibilities for activities.對(duì)應(yīng)對(duì)應(yīng)到編程,簡(jiǎn)單活動(dòng)圖中沒(méi)有明確表示出每個(gè)活動(dòng)到編程,簡(jiǎn)單活動(dòng)圖中沒(méi)有明確表示出每個(gè)活動(dòng)是由什么類(lèi)來(lái)負(fù)責(zé)的是由什么類(lèi)來(lái)負(fù)責(zé)的。對(duì)應(yīng)到業(yè)務(wù)建模,簡(jiǎn)單活動(dòng)圖沒(méi)有明確地表示出機(jī)構(gòu)對(duì)應(yīng)到業(yè)務(wù)建模,簡(jiǎn)單活動(dòng)圖沒(méi)有明確地表示出機(jī)構(gòu)中的哪個(gè)部門(mén)負(fù)責(zé)實(shí)施什么操作。中的哪個(gè)部門(mén)負(fù)責(zé)實(shí)施什么操作。Swimlane23每個(gè)泳道都必每個(gè)泳道都必須須有一有

18、一個(gè)唯一個(gè)唯一的名稱(chēng)的名稱(chēng)。每個(gè)每個(gè)活動(dòng)節(jié)點(diǎn)、活動(dòng)節(jié)點(diǎn)、分支分支必須只屬必須只屬于一于一個(gè)泳道。個(gè)泳道。轉(zhuǎn)換、分叉與轉(zhuǎn)換、分叉與匯合可以匯合可以跨泳跨泳道。道。Swimlane24w 對(duì)象流(Object Flow)是動(dòng)作狀態(tài)(或活動(dòng)狀態(tài))與對(duì)象之間的依賴(lài)聯(lián)系,表示動(dòng)作使用對(duì)象或動(dòng)作對(duì)對(duì)象的影響。 w 在活動(dòng)圖中對(duì)象流用虛箭線表示。w 虛箭線可以是從動(dòng)作狀態(tài)出發(fā)指向?qū)ο?,表示該?dòng)作創(chuàng)建或更新了對(duì)象流所指向的對(duì)象,該對(duì)象是動(dòng)作的輸出。w 虛箭線也可以是從對(duì)象出發(fā)指向動(dòng)作狀態(tài),表示該動(dòng)作使用對(duì)象流所指向的對(duì)象,該對(duì)象是動(dòng)作的輸入。 w 一個(gè)對(duì)象可以由多個(gè)動(dòng)作操縱。一個(gè)動(dòng)作輸出的對(duì)象可以是另一個(gè)動(dòng)作

19、的輸入。 w 在活動(dòng)圖中同一個(gè)對(duì)象可以多次出現(xiàn),它的每一次出現(xiàn)表明該對(duì)象處于生存期的不同的時(shí)間點(diǎn)。 Object Flow25相關(guān)的對(duì)象相關(guān)的對(duì)象在在活動(dòng)圖中活動(dòng)圖中體現(xiàn)出來(lái),體現(xiàn)出來(lái),會(huì)會(huì)使得活動(dòng)使得活動(dòng)圖圖對(duì)編程實(shí)對(duì)編程實(shí)現(xiàn)現(xiàn)更具有更具有指指導(dǎo)意義。導(dǎo)意義。Object Flow26Complex Activity Diagram輔助活動(dòng)圖輔助活動(dòng)圖:如果如果一個(gè)活動(dòng)圖過(guò)于復(fù)雜或者活動(dòng)圖中某一組活動(dòng)與主一個(gè)活動(dòng)圖過(guò)于復(fù)雜或者活動(dòng)圖中某一組活動(dòng)與主控制流關(guān)聯(lián)不大,就可以借助輔助活動(dòng)圖來(lái)描述??刂屏麝P(guān)聯(lián)不大,就可以借助輔助活動(dòng)圖來(lái)描述。通過(guò)連接符可實(shí)現(xiàn)通過(guò)連接符可實(shí)現(xiàn)不同活動(dòng)圖不同活動(dòng)圖之間的

20、連接之間的連接27匯合描述:當(dāng)匯合的所有入流均匯合描述:當(dāng)匯合的所有入流均到匯合到匯合點(diǎn)時(shí),就將執(zhí)點(diǎn)時(shí),就將執(zhí)行匯合點(diǎn)指向的活動(dòng)節(jié)點(diǎn)。但是有些時(shí)候,你希望對(duì)行匯合點(diǎn)指向的活動(dòng)節(jié)點(diǎn)。但是有些時(shí)候,你希望對(duì)其做一些約束,這時(shí)就可以借助匯合描述來(lái)完成。匯其做一些約束,這時(shí)就可以借助匯合描述來(lái)完成。匯合描述實(shí)際上是一個(gè)約束,其格式就是合描述實(shí)際上是一個(gè)約束,其格式就是“約束條約束條件件”。例如例如Order.State=Payed:只有當(dāng)訂單狀態(tài)為已付款時(shí)才開(kāi)始:只有當(dāng)訂單狀態(tài)為已付款時(shí)才開(kāi)始執(zhí)行下一個(gè)活動(dòng)節(jié)點(diǎn)執(zhí)行下一個(gè)活動(dòng)節(jié)點(diǎn)“供應(yīng)商送貨供應(yīng)商送貨”。Complex Activity Diagram

21、28發(fā)送信號(hào)與接收信號(hào):發(fā)送信號(hào)與接收信號(hào):信號(hào)是表示兩個(gè)對(duì)象之間異步通信信息包的方法,信號(hào)是表示兩個(gè)對(duì)象之間異步通信信息包的方法,當(dāng)一個(gè)對(duì)象接受到一個(gè)信號(hào)時(shí),信號(hào)事件將發(fā)生。當(dāng)一個(gè)對(duì)象接受到一個(gè)信號(hào)時(shí),信號(hào)事件將發(fā)生。時(shí)間時(shí)間信號(hào):隨著時(shí)間的推移而自動(dòng)發(fā)出的信號(hào)(定信號(hào):隨著時(shí)間的推移而自動(dòng)發(fā)出的信號(hào)(定時(shí)器類(lèi))時(shí)器類(lèi))發(fā)送發(fā)送信號(hào):發(fā)出一個(gè)異步消息信號(hào):發(fā)出一個(gè)異步消息接收接收信號(hào):等待一個(gè)外部信號(hào)的發(fā)出信號(hào):等待一個(gè)外部信號(hào)的發(fā)出Complex Activity Diagram29w 時(shí)間信號(hào)與接受信號(hào)的一個(gè)簡(jiǎn)單的示例30小張到必勝客吃飯,發(fā)現(xiàn)沒(méi)有位子,決定如果小張到必勝客吃飯,發(fā)現(xiàn)沒(méi)有

22、位子,決定如果15分鐘還找不到位子就去隔壁肯德基吃飯。分鐘還找不到位子就去隔壁肯德基吃飯。Practice3132一個(gè)信息管理系統(tǒng)要實(shí)現(xiàn)一個(gè)一個(gè)信息管理系統(tǒng)要實(shí)現(xiàn)一個(gè)“事項(xiàng)提醒事項(xiàng)提醒”功能,功能,就是在計(jì)劃的事項(xiàng)預(yù)定時(shí)間到達(dá)前一個(gè)小時(shí)彈出系就是在計(jì)劃的事項(xiàng)預(yù)定時(shí)間到達(dá)前一個(gè)小時(shí)彈出系統(tǒng)對(duì)話框告知用戶(hù),直到用戶(hù)關(guān)閉該對(duì)話框才隱藏。統(tǒng)對(duì)話框告知用戶(hù),直到用戶(hù)關(guān)閉該對(duì)話框才隱藏。Practice3334引腳:表示活動(dòng)節(jié)點(diǎn)的相應(yīng)參數(shù)引腳:表示活動(dòng)節(jié)點(diǎn)的相應(yīng)參數(shù)引腳是一個(gè)對(duì)象節(jié)點(diǎn),代表活動(dòng)連接輸入、輸出值的連引腳是一個(gè)對(duì)象節(jié)點(diǎn),代表活動(dòng)連接輸入、輸出值的連接點(diǎn)。每隔一個(gè)輸入輸出都對(duì)應(yīng)一個(gè)引腳。接點(diǎn)。每

23、隔一個(gè)輸入輸出都對(duì)應(yīng)一個(gè)引腳。Complex Activity Diagram35擴(kuò)展區(qū):表示某個(gè)活動(dòng)需要多次執(zhí)行擴(kuò)展區(qū):表示某個(gè)活動(dòng)需要多次執(zhí)行Complex Activity Diagram3637Main Pointsw Activity Diagram w How to read the Activity Diagram w How to draw the Activity Diagram w Application Notes w Case Study38Steps to draw the Activity Diagram下面這些步驟描述了繪制活動(dòng)圖的基本任務(wù),這些任務(wù)都以迭代的方式

24、執(zhí)行。1確定活動(dòng)圖的范圍。 2增加起點(diǎn)和終點(diǎn)。 3. 添加活動(dòng) 4. 添加活動(dòng)間的轉(zhuǎn)變 5. 添加決策點(diǎn) 6. 找出可并行活動(dòng)之處39“活動(dòng)圖活動(dòng)圖” 比較直觀易懂;與傳統(tǒng)的流程圖十分的相近,比較直觀易懂;與傳統(tǒng)的流程圖十分的相近,只要能夠讀懂活動(dòng)圖,就不難畫(huà)出只要能夠讀懂活動(dòng)圖,就不難畫(huà)出活動(dòng)圖活動(dòng)圖繪制時(shí)首先決定是否采用泳道:主要根據(jù)活動(dòng)圖中是否繪制時(shí)首先決定是否采用泳道:主要根據(jù)活動(dòng)圖中是否要體現(xiàn)出活動(dòng)的不同實(shí)施者要體現(xiàn)出活動(dòng)的不同實(shí)施者然后盡量使用分支然后盡量使用分支、分叉和、分叉和匯合等基本的建模元素來(lái)描匯合等基本的建模元素來(lái)描述活動(dòng)控制流程述活動(dòng)控制流程如果需要,加入對(duì)象流以及對(duì)象

25、的狀態(tài)變化,利用一些如果需要,加入對(duì)象流以及對(duì)象的狀態(tài)變化,利用一些高級(jí)的建模元素(如輔助活動(dòng)圖、匯合描述、發(fā)送信號(hào)高級(jí)的建模元素(如輔助活動(dòng)圖、匯合描述、發(fā)送信號(hào)與接收信號(hào)、引腳、擴(kuò)展區(qū))來(lái)表示更多的信息與接收信號(hào)、引腳、擴(kuò)展區(qū))來(lái)表示更多的信息活動(dòng)圖的建模關(guān)鍵是表示出控制流,其它的建模元素都活動(dòng)圖的建模關(guān)鍵是表示出控制流,其它的建模元素都是圍繞這一宗旨所進(jìn)行的補(bǔ)充是圍繞這一宗旨所進(jìn)行的補(bǔ)充Steps to draw the Activity Diagram40Main Pointsw Activity Diagram w How to read the Activity Diagram w

26、 How to draw the Activity Diagram w Application Notes w Case Study41w Purpose of the activity diagramWorkflow ModelingOperation modelingApplication Notes42工作工作流建模流建模:用于業(yè)務(wù)建模的時(shí)候,每一條泳道表示一個(gè):用于業(yè)務(wù)建模的時(shí)候,每一條泳道表示一個(gè)職責(zé)單位,職責(zé)單位,該活動(dòng)圖該活動(dòng)圖能夠有效地體現(xiàn)出所有職責(zé)單位之間能夠有效地體現(xiàn)出所有職責(zé)單位之間的工作職責(zé),業(yè)務(wù)范圍及之間的交互的工作職責(zé),業(yè)務(wù)范圍及之間的交互關(guān)系和信息流程。關(guān)系和信息

27、流程。 建模時(shí)應(yīng)遵循以下策略:建模時(shí)應(yīng)遵循以下策略:為工作流建立一個(gè)焦點(diǎn),除非你所涉及的系統(tǒng)很小,為工作流建立一個(gè)焦點(diǎn),除非你所涉及的系統(tǒng)很小,否則不可能在一張圖中顯示出系統(tǒng)中所有的否則不可能在一張圖中顯示出系統(tǒng)中所有的控制流;控制流;選擇對(duì)全部工作流中的一部分有高層職責(zé)的業(yè)務(wù)對(duì)選擇對(duì)全部工作流中的一部分有高層職責(zé)的業(yè)務(wù)對(duì)象,并為每個(gè)重要的業(yè)務(wù)對(duì)象創(chuàng)建一條象,并為每個(gè)重要的業(yè)務(wù)對(duì)象創(chuàng)建一條泳道;泳道;識(shí)別工作流初始節(jié)點(diǎn)的前置條件和活動(dòng)識(shí)別工作流初始節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)終點(diǎn)的后置的后置條件,這可有效地實(shí)現(xiàn)對(duì)工作條件,這可有效地實(shí)現(xiàn)對(duì)工作流的流的邊界進(jìn)行建模。邊界進(jìn)行建模。Workflow M

28、odeling43從該工作流的初始節(jié)點(diǎn)開(kāi)始,說(shuō)明隨時(shí)間發(fā)生的動(dòng)作和從該工作流的初始節(jié)點(diǎn)開(kāi)始,說(shuō)明隨時(shí)間發(fā)生的動(dòng)作和活動(dòng),并在活動(dòng)圖中把它們表示成活動(dòng)活動(dòng),并在活動(dòng)圖中把它們表示成活動(dòng)節(jié)點(diǎn);節(jié)點(diǎn);將復(fù)雜的活動(dòng)或多次出現(xiàn)的活動(dòng)集合歸到一個(gè)活動(dòng)節(jié)點(diǎn),將復(fù)雜的活動(dòng)或多次出現(xiàn)的活動(dòng)集合歸到一個(gè)活動(dòng)節(jié)點(diǎn),并通過(guò)輔助活動(dòng)圖或子活動(dòng)圖來(lái)表示并通過(guò)輔助活動(dòng)圖或子活動(dòng)圖來(lái)表示它們;它們;找出連接這些活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換,首先從工作流的順序開(kāi)找出連接這些活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換,首先從工作流的順序開(kāi)始,然后考慮分支,接著再始,然后考慮分支,接著再考慮分叉和匯合;考慮分叉和匯合;如果工作流中涉及重要的對(duì)象,則也可以將它們加入到如果工

29、作流中涉及重要的對(duì)象,則也可以將它們加入到活動(dòng)圖活動(dòng)圖中;中;若工作流中有多次啟用的,則可若工作流中有多次啟用的,則可采用擴(kuò)展采用擴(kuò)展區(qū)區(qū)表示;表示;Workflow Modeling44ExampleExample45ExampleExample46操作操作建模建模:每一個(gè)對(duì)象占據(jù)一個(gè)泳道,而活動(dòng)則是該對(duì)象的:每一個(gè)對(duì)象占據(jù)一個(gè)泳道,而活動(dòng)則是該對(duì)象的成員方法成員方法 建模時(shí)應(yīng)遵循以下策略建模時(shí)應(yīng)遵循以下策略:收集收集操作所涉及的抽象概念,包括操作的參數(shù)、返回操作所涉及的抽象概念,包括操作的參數(shù)、返回類(lèi)型、所屬類(lèi)的屬性以及某些鄰近的類(lèi)型、所屬類(lèi)的屬性以及某些鄰近的類(lèi);類(lèi);識(shí)別識(shí)別該操作的初始

30、節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)的后置該操作的初始節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)的后置條件。也要識(shí)別在操作執(zhí)行過(guò)程中必須保持的條件。也要識(shí)別在操作執(zhí)行過(guò)程中必須保持的信息;信息;從從該操作的初始節(jié)點(diǎn)開(kāi)始,說(shuō)明隨著時(shí)間發(fā)生的活動(dòng),該操作的初始節(jié)點(diǎn)開(kāi)始,說(shuō)明隨著時(shí)間發(fā)生的活動(dòng),并在活動(dòng)圖中將它們表示為活動(dòng)并在活動(dòng)圖中將它們表示為活動(dòng)節(jié)點(diǎn);節(jié)點(diǎn);如果如果需要,使用分支來(lái)說(shuō)明條件語(yǔ)句及循環(huán)需要,使用分支來(lái)說(shuō)明條件語(yǔ)句及循環(huán)語(yǔ)句;語(yǔ)句;僅僅當(dāng)這個(gè)操作屬于一個(gè)主動(dòng)類(lèi)時(shí),才在必要時(shí)當(dāng)這個(gè)操作屬于一個(gè)主動(dòng)類(lèi)時(shí),才在必要時(shí)用分叉用分叉和和匯合來(lái)說(shuō)明并行的控制匯合來(lái)說(shuō)明并行的控制流程;流程;Operation modeling47ExampleExample:handleThreadhandleThreadPublic void handleThread(int state) for(int i=0;icontrols.length;i+) if(state=CustomControlsContext.START) if(controlsiinstanceof Cu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論