第5章系統(tǒng)動(dòng)態(tài)建?;顒?dòng)圖課件_第1頁(yè)
第5章系統(tǒng)動(dòng)態(tài)建?;顒?dòng)圖課件_第2頁(yè)
第5章系統(tǒng)動(dòng)態(tài)建模活動(dòng)圖課件_第3頁(yè)
第5章系統(tǒng)動(dòng)態(tài)建?;顒?dòng)圖課件_第4頁(yè)
第5章系統(tǒng)動(dòng)態(tài)建模活動(dòng)圖課件_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章系統(tǒng)動(dòng)態(tài)建模-活動(dòng)圖2023/10/21理解:活動(dòng)圖的作用掌握:活動(dòng)圖建模的方法2023/10/22教學(xué)要求5.1

活動(dòng)圖的概念活動(dòng)圖的表示活動(dòng)圖分類構(gòu)建活動(dòng)圖小結(jié)2023/10/23活動(dòng)(Activity)是做某件事情的狀態(tài),它可以

是現(xiàn)實(shí)世界中的一項(xiàng)工作,如寫文章、修機(jī)器等;或者是執(zhí)行某個(gè)軟件的例行程序,如運(yùn)行對(duì)象類

中的一個(gè)操作等?;顒?dòng)圖是一種表述業(yè)務(wù)過(guò)程以及工作流的技術(shù)。它可以用來(lái)對(duì)業(yè)務(wù)過(guò)程,工作流建模,也可以對(duì)用例實(shí)現(xiàn),甚至是對(duì)程序?qū)崿F(xiàn)進(jìn)行建模?;顒?dòng)圖與流程圖的最主要的區(qū)別在于,活動(dòng)圖能夠標(biāo)識(shí)活動(dòng)的并行行為。2023/10/245.1

定義活動(dòng)圖活動(dòng)是某件事情正在進(jìn)行的狀態(tài)。它既可以是現(xiàn)實(shí)生活中正在進(jìn)行的某一項(xiàng)工作(寫文章、維修機(jī)器等)也可以是軟件系統(tǒng)中正在運(yùn)行的某個(gè)類對(duì)象的一個(gè)操作?;顒?dòng)具體表現(xiàn)為由一系列動(dòng)作組成的執(zhí)行過(guò)程。將各種活動(dòng)以及不同活動(dòng)之間的轉(zhuǎn)換用圖形進(jìn)行表示,就構(gòu)成了活動(dòng)圖。2023/10/255.1

定義活動(dòng)圖活動(dòng)圖描述了活動(dòng)的順序,展現(xiàn)從一個(gè)活動(dòng)到另一個(gè)活動(dòng)的控制流?;顒?dòng)圖在本質(zhì)上是一種流程圖。但與流程圖又有區(qū)別。2023/10/265.1

定義活動(dòng)圖活動(dòng)圖與流程圖的區(qū)別2023/10/27活動(dòng)圖描述系統(tǒng)使用的活動(dòng)、判定點(diǎn)和分支,看起來(lái)和流程圖沒(méi)什么兩樣,并且傳統(tǒng)的流程圖所能表示的內(nèi)容,大多數(shù)情況下也可以使用活動(dòng)圖表示,但是兩者是有區(qū)別的,不能將兩個(gè)概念混淆?;顒?dòng)圖與流程圖的區(qū)別⑴流程圖著重描述處理過(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ò)程。2023/10/28⑵

活動(dòng)圖能夠表示并發(fā)活動(dòng)的情形,而流程圖不能。⑶活動(dòng)圖是面向?qū)ο蟮模鞒虉D是面向過(guò)程的。2023/10/29活動(dòng)圖與流程圖的區(qū)別5.2

活動(dòng)圖的表示1.活動(dòng)圖活動(dòng)圖是描述系統(tǒng)或業(yè)務(wù)的一序列活動(dòng)構(gòu)成的控制流,它描述了系統(tǒng)從一種活動(dòng)轉(zhuǎn)換到另一種活動(dòng)的整個(gè)過(guò)程。例如,有一個(gè)表示某公司銷售過(guò)程的一張活動(dòng)圖,圖8-1就是描述這一業(yè)務(wù)過(guò)程的活動(dòng)圖。圖8-1活動(dòng)圖2023/10/2105.2

活動(dòng)圖的表示2.活動(dòng)圖的作用活動(dòng)圖常用來(lái)描述業(yè)務(wù)或軟件系統(tǒng)的活動(dòng)軌跡,描述了系統(tǒng)的活動(dòng)控制流程。我們常用活動(dòng)圖對(duì)業(yè)務(wù)過(guò)程、工作流和用例實(shí)現(xiàn)進(jìn)行建模。3.活動(dòng)圖的組成元素活動(dòng)圖的元素包括初始節(jié)點(diǎn)、終點(diǎn)、活動(dòng)節(jié)點(diǎn)、轉(zhuǎn)換、分支、分岔與匯合。其中,轉(zhuǎn)換、分支、分岔與匯合把多個(gè)活動(dòng)節(jié)

點(diǎn)連接在一起。4.活動(dòng)圖與交互圖活動(dòng)圖和交互圖是UML中對(duì)系統(tǒng)動(dòng)態(tài)方面建模的兩種主要形式,交互圖強(qiáng)調(diào)對(duì)象與對(duì)象之間的交互消息,而活動(dòng)圖則強(qiáng)調(diào)的是從活動(dòng)到活動(dòng)的控制流程.2023/10/2111.活動(dòng)圖的元素活動(dòng)起點(diǎn)活動(dòng)活動(dòng)終點(diǎn)分叉分支合并匯合2023/10/2121、活動(dòng)的概念表示工作流過(guò)程中命令的執(zhí)行或活動(dòng)的進(jìn)行。2、活動(dòng)的符號(hào)一、活動(dòng)(動(dòng)作)2023/10/2132、活動(dòng)的符號(hào)在下圖中列出的就是一些可能的活動(dòng)節(jié)點(diǎn)描述,可能用文字描述活動(dòng)節(jié)點(diǎn),可能用表達(dá)式描述活動(dòng)節(jié)點(diǎn),可能用消息描述活動(dòng)節(jié)點(diǎn)。圖 活動(dòng)節(jié)點(diǎn)2023/10/214二、狀態(tài)開(kāi)始狀態(tài)結(jié)束狀態(tài)2023/10/215一個(gè)活動(dòng)圖中開(kāi)始狀態(tài)能否有多個(gè)?結(jié)束狀態(tài)能否有多個(gè)?2023/10/216注意:一個(gè)活動(dòng)圖中只能有一個(gè)開(kāi)始狀態(tài)一個(gè)活動(dòng)圖中可以有多個(gè)結(jié)束狀態(tài)2023/10/217三、轉(zhuǎn)移(動(dòng)作流)活動(dòng)之間、活動(dòng)與狀態(tài)之間的轉(zhuǎn)換。2023/10/218四、分支與合并2023/10/219在實(shí)際應(yīng)用中,有三種活動(dòng)控制流,它們是順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu).當(dāng)從一個(gè)活動(dòng)節(jié)點(diǎn)到另一個(gè)活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換需要條件時(shí),常用分支與監(jiān)護(hù)條件來(lái)表示活動(dòng)的分支結(jié)構(gòu).分支是用菱形表示的,它有一個(gè)進(jìn)入轉(zhuǎn)換(箭頭從外指向分支符號(hào)),一個(gè)或多個(gè)離開(kāi)轉(zhuǎn)換(箭頭從分支符號(hào)指向外)。而每個(gè)離開(kāi)轉(zhuǎn)換上都會(huì)有一個(gè)監(jiān)護(hù)條件,用來(lái)表示滿足某種條件時(shí)才執(zhí)行該轉(zhuǎn)換。一個(gè)合并有兩個(gè)帶條件的入轉(zhuǎn)換和一個(gè)出轉(zhuǎn)換,合并表示從對(duì)應(yīng)的分支開(kāi)始的條件行為的結(jié)束。1、分支根據(jù)條件的取值決定動(dòng)作的流向。2023/10/2202023/10/2212023/10/222分支的兩種表示方法2023/10/2232、合并合并將兩條路徑連接到一起,合并成一條路徑。2023/10/224提示:判斷節(jié)點(diǎn)與合并節(jié)點(diǎn)的符號(hào)相同2023/10/225五、分叉和匯合2023/10/226在實(shí)際應(yīng)用中,如果活動(dòng)的轉(zhuǎn)換是有條件的,我們就用分支與監(jiān)護(hù)條件來(lái)表示轉(zhuǎn)換,如果一些活動(dòng)是并發(fā)執(zhí)行的,我們就用分叉和匯合來(lái)表示并發(fā)活動(dòng)。分叉線和匯合線都使用加粗的水平線或垂直線段表示。1、分叉用于將一個(gè)控制流分為兩個(gè)或多個(gè)并發(fā)運(yùn)行的分支。2023/10/2272023/10/2282、匯合用于將兩個(gè)或多個(gè)控制流合并到一起形成一個(gè)單向控制流。如果一個(gè)控制流在其他控制流到達(dá)之前到達(dá)了連接,它將

會(huì)等待,直到所有控制流都到達(dá)了才會(huì)向連接傳遞控制權(quán)。2023/10/2292023/10/230(1)分叉:每個(gè)分叉可以有一個(gè)輸入轉(zhuǎn)換和兩個(gè)

或多個(gè)輸出轉(zhuǎn)換,每個(gè)轉(zhuǎn)換都可以是獨(dú)立的控制流。(2)匯合:當(dāng)兩個(gè)或多個(gè)并發(fā)控制流都達(dá)到匯合點(diǎn)后,活動(dòng)流程才能進(jìn)入下一個(gè)活動(dòng)節(jié)點(diǎn).分岔用來(lái)表示兩個(gè)或者多個(gè)并發(fā)活動(dòng)的分支;而匯合則用于同步這些并發(fā)活動(dòng)的分支,當(dāng)且僅當(dāng)所有的并發(fā)分支(活動(dòng))都到達(dá)匯合點(diǎn)后,活動(dòng)流程才能進(jìn)入下一個(gè)活動(dòng)節(jié)點(diǎn)。2023/10/231活動(dòng)圖課堂練習(xí)2023/10/232大家畫一下用word

創(chuàng)建一個(gè)文件的活動(dòng)圖,使用該活動(dòng)圖對(duì)這一過(guò)程進(jìn)行建模。打開(kāi)新建保存文件名輸入內(nèi)容選擇是否需要圖形軟件保存打印2023/10/233練習(xí)2:學(xué)生選課2023/10/234學(xué)生進(jìn)入選課系統(tǒng)提交自己的用戶名和密碼系統(tǒng)驗(yàn)證用戶名如果用戶名不存在,給出提示結(jié)束如果用戶名存在,檢查學(xué)生輸入的密碼如果密碼不正確,給出提示結(jié)束如果密碼正確,系統(tǒng)顯示課程列表學(xué)生選擇要選修的課程學(xué)生提交所選的課程系統(tǒng)對(duì)選課進(jìn)行驗(yàn)證,并給出確認(rèn)提示學(xué)生確認(rèn)后,系統(tǒng)保存所選課程系統(tǒng)提示操作成功學(xué)生退出選課系統(tǒng)進(jìn)入學(xué)生選課系統(tǒng)提交用戶名和密碼系統(tǒng)驗(yàn)證用戶名驗(yàn)證用戶密碼[有]學(xué)生選擇要選修的課程系統(tǒng)驗(yàn)證并確認(rèn)所選課程保存所選課程退出學(xué)生選課系統(tǒng)[沒(méi)有]提交所選課程[不正確]2023/10/235[正確]系統(tǒng)顯示課程列表[沖突][不沖突]練習(xí):銷售合同從簽訂到履約的過(guò)程銷售合同簽訂后,要進(jìn)行核對(duì)。如果發(fā)現(xiàn)錯(cuò)誤,則終止履

約;如果沒(méi)有錯(cuò)誤,則要核對(duì)貨物清單確定是否有貨,還

要核對(duì)付款單確定對(duì)方是否已經(jīng)付款,只有這兩項(xiàng)都完成,才可以發(fā)貨。如果無(wú)貨或?qū)Ψ缴形锤犊?,則終止履約。2023/10/2362023/10/237課堂練習(xí)2023/10/238學(xué)生請(qǐng)假流程1、學(xué)生請(qǐng)假須先經(jīng)班主任同意;2、班主任在準(zhǔn)假時(shí),如學(xué)生請(qǐng)假時(shí)間超越審批權(quán)限,還要請(qǐng)系辦審批,經(jīng)系辦審批后,系辦將假條存根留下,事后轉(zhuǎn)班主任存查。3、學(xué)生請(qǐng)假獲準(zhǔn)后,應(yīng)立即報(bào)告班長(zhǎng),以便班長(zhǎng)向任課教師報(bào)告。2023/10/2395.3

活動(dòng)圖分類2023/10/240按照活動(dòng)圖表示的信息不同,將活動(dòng)圖分為:簡(jiǎn)單活動(dòng)圖、標(biāo)識(shí)泳道的活動(dòng)圖、標(biāo)識(shí)對(duì)象

流的活動(dòng)圖、復(fù)合活動(dòng)圖。5.3.1

簡(jiǎn)單活動(dòng)圖2023/10/241圖5-8

就是一個(gè)描述訂單處理的簡(jiǎn)單活動(dòng)圖,這個(gè)圖既沒(méi)有標(biāo)識(shí)活動(dòng)的執(zhí)行者,也沒(méi)有標(biāo)

識(shí)活動(dòng)執(zhí)行過(guò)程中,創(chuàng)建了哪些對(duì)象。其中,每個(gè)活動(dòng)都是簡(jiǎn)單的活動(dòng)。圖5-8訂單處理2023/10/242ATM機(jī)“登錄”用例的活動(dòng)圖2023/10/2431.

借閱者的活動(dòng)圖2023/10/244圖書(shū)館管理系統(tǒng)2.

圖書(shū)管理員的活動(dòng)圖2023/10/245圖書(shū)館管理系統(tǒng)3.系統(tǒng)管理員維護(hù)借閱者帳戶的活動(dòng)圖2023/10/246圖書(shū)館管理系統(tǒng)4.系統(tǒng)管理員進(jìn)行書(shū)目信息維護(hù)的活動(dòng)圖2023/10/247圖書(shū)館管理系統(tǒng)5.系統(tǒng)管理員維護(hù)書(shū)籍信息的活動(dòng)圖2023/10/248圖書(shū)館管理系統(tǒng)5.3.2

標(biāo)識(shí)泳道的活動(dòng)圖2023/10/249為了有效地表示各個(gè)活動(dòng)由誰(shuí)負(fù)責(zé)的信息,可以通過(guò)泳道

(Swim

Lane)來(lái)實(shí)現(xiàn)。例如,在圖8-9的活動(dòng)圖中,活動(dòng)的執(zhí)行者包括窗口和打印機(jī),因此可以將其分成二個(gè)泳道。左邊泳道中的所有活動(dòng)的執(zhí)行者是窗口;右邊泳道中的所有活動(dòng)的執(zhí)行者是打印機(jī)。每個(gè)泳道用一條垂直的線將它們分開(kāi),并且每個(gè)泳道都必須

有一個(gè)唯一的名稱,例如本例中的窗口和打印機(jī)。從圖中可

以看出,每個(gè)活動(dòng)節(jié)點(diǎn),分支必須只屬于一個(gè)泳道,而轉(zhuǎn)換,分岔與匯合是可以跨泳道的。通過(guò)泳道,不僅體現(xiàn)了整個(gè)活

動(dòng)控制流,還體現(xiàn)出了每個(gè)活動(dòng)的實(shí)施者。5.3.2

標(biāo)識(shí)泳道的活動(dòng)圖獲取打印機(jī)數(shù)據(jù)設(shè)置打印頁(yè)面?zhèn)魉痛蛴?shù)據(jù)打印文件初始化打印機(jī)保存頁(yè)面參數(shù)數(shù)據(jù)接收并保存打印數(shù)據(jù)執(zhí)行打印命令:窗口圖8-9

標(biāo)識(shí)泳道的活動(dòng)圖2023/10/250:打印機(jī)5.3.2

標(biāo)識(shí)對(duì)象流的活動(dòng)圖在活動(dòng)圖中,存在這樣一些現(xiàn)象:一種情況是,可能存在一些對(duì)象進(jìn)入一個(gè)活動(dòng)節(jié)點(diǎn),經(jīng)過(guò)活動(dòng)處理,修改了對(duì)象的狀態(tài);另一種情況是,活動(dòng)節(jié)點(diǎn)創(chuàng)建或刪除了一些對(duì)象;一些情況是,輸出一些對(duì)象。在這些活動(dòng)中,對(duì)象與節(jié)點(diǎn)活動(dòng)是緊密相關(guān)的,用戶可以在活動(dòng)圖中把相關(guān)的對(duì)象標(biāo)識(shí)出來(lái),即標(biāo)識(shí)哪些對(duì)象進(jìn)入活動(dòng)節(jié)點(diǎn),哪些對(duì)象從活動(dòng)節(jié)點(diǎn)中輸出,這對(duì)編程具有現(xiàn)實(shí)意義。在UML中,我們可以在活動(dòng)圖中標(biāo)識(shí)一個(gè)對(duì)象的角色,狀態(tài)和屬性值的變化,它的表示方法如圖8-10所示。2023/10/2圖8-10

活動(dòng)圖中的對(duì)象表示法515.3.3

標(biāo)識(shí)對(duì)象流的活動(dòng)圖2023/10/2525.3.3

標(biāo)識(shí)對(duì)象流的活動(dòng)圖2023/10/253在圖8-11中,標(biāo)識(shí)了一些關(guān)鍵的對(duì)象流,對(duì)象的狀態(tài)也在圖中作了標(biāo)識(shí):(1)當(dāng)“用戶下訂單”時(shí),將創(chuàng)建一個(gè)Order類的實(shí)例,用來(lái)存放訂單的信息,該Order類還包含著相應(yīng)的OrderItem(針對(duì)每個(gè)產(chǎn)品一條)(2)當(dāng)“生成送貨單”時(shí),將根據(jù)Order類的實(shí)例創(chuàng)建多個(gè)DeliverOrder(送貨單)的實(shí)例。(3)當(dāng)“修改訂單項(xiàng)狀態(tài)”之后,DeliverOrder對(duì)象的狀態(tài)將變成finished。5.3.3

標(biāo)識(shí)對(duì)象流的活動(dòng)圖2023/10/254當(dāng)然,在這張活動(dòng)圖中實(shí)際上還蘊(yùn)藏著許多對(duì)象流,例如:(1)當(dāng)“收款”后,Order類的實(shí)例的狀態(tài)就變成了“已付款”。(2)當(dāng)“修改訂單項(xiàng)狀態(tài)”后,Order類中部分訂單項(xiàng)的狀態(tài)就變成了“已送貨”。(3)當(dāng)用戶取消或訂單超過(guò)時(shí)限時(shí),Order類的狀態(tài)就將成為Cancel。在實(shí)際應(yīng)用中,繪制活動(dòng)圖時(shí)并不一定需要將所有的對(duì)象流都標(biāo)識(shí)出來(lái),這樣會(huì)使活動(dòng)圖變得復(fù)雜、混亂。在實(shí)際建模中,只對(duì)重要的對(duì)象進(jìn)行描述。5.3.4

標(biāo)識(shí)信號(hào)的活動(dòng)圖2023/10/255在交互圖中,利用“信號(hào)”可以增加活動(dòng)圖的可讀性。信號(hào)是表示兩個(gè)對(duì)象之間進(jìn)行異步通訊的方式,當(dāng)一個(gè)對(duì)象接收到一個(gè)信號(hào)時(shí),將觸發(fā)信號(hào)事件。5.3.4

標(biāo)識(shí)信號(hào)的活動(dòng)圖1.信號(hào)在活動(dòng)圖中,有三種信號(hào)元素,它們是:發(fā)送信號(hào),接收信號(hào)和時(shí)間信號(hào),其表示方法如圖8-12所示。(1)時(shí)間信號(hào):時(shí)間圖信8-號(hào)12是三用種來(lái)信號(hào)表的示表隨示著法時(shí)間的流逝而自動(dòng)發(fā)出的信

號(hào),時(shí)間信號(hào)表示,當(dāng)時(shí)間到達(dá)某個(gè)特定的時(shí)刻時(shí),就會(huì)觸發(fā)時(shí)間事件,例如每天10點(diǎn)時(shí),鬧鐘開(kāi)始響鈴,10點(diǎn)鐘發(fā)出響鈴的信號(hào)就是時(shí)間信號(hào)。(2)發(fā)送信號(hào):也就是發(fā)出一個(gè)異步消息,對(duì)于發(fā)送者而言,就是發(fā)送信號(hào);對(duì)于接收到這種消息的目標(biāo)而言,就是“接收信號(hào)’。(3)接收信號(hào):就是接收者收到的一個(gè)外部信號(hào)。2023/10/2565.3.4

標(biāo)識(shí)信號(hào)的活動(dòng)圖2023/10/2572.活動(dòng)圖中標(biāo)識(shí)時(shí)間信號(hào)例如小張去必勝客飯店吃飯,發(fā)現(xiàn)要排隊(duì)等待,他決定如果15分鐘還輪不到,就到隔壁的肯德基吃飯,這時(shí)就可以通過(guò)上述的符號(hào)來(lái)表示小張吃飯的活動(dòng)。圖8-13中假設(shè)小張排在最前面。在“小張”這個(gè)泳道中,兩個(gè)控制流中只有一個(gè)會(huì)控制流會(huì)執(zhí)行。在時(shí)間信號(hào)發(fā)生之間,收到當(dāng)必勝客飯店發(fā)出“有空位”信號(hào),小張接收到“有空位”信號(hào)時(shí),小張才會(huì)執(zhí)行“進(jìn)入必勝客”的活動(dòng);否則小張會(huì)執(zhí)行“進(jìn)入肯德基”的活動(dòng)。5.3.4

標(biāo)識(shí)信號(hào)的活動(dòng)圖圖8-13

信號(hào)在活動(dòng)圖中的應(yīng)用2023/10/2585.3.5

標(biāo)識(shí)參數(shù)的活動(dòng)圖2023/10/259一個(gè)方法可以包含多個(gè)參數(shù),一個(gè)活動(dòng)節(jié)點(diǎn)也可能帶有多個(gè)

參數(shù)。在絕大多數(shù)情況下,并不需要在活動(dòng)圖上標(biāo)明參數(shù)信

息,如果打算標(biāo)明每個(gè)活動(dòng)節(jié)點(diǎn)執(zhí)行前,需要輸入哪些參數(shù),活動(dòng)節(jié)點(diǎn)執(zhí)行后,需要輸出哪些參數(shù),以及活動(dòng)節(jié)點(diǎn)執(zhí)行后,要進(jìn)行的錯(cuò)誤處理。這時(shí),在活動(dòng)圖中標(biāo)明參數(shù),使活動(dòng)圖

表示更多的信息。1.參數(shù)參數(shù)是一個(gè)對(duì)象節(jié)點(diǎn),用一個(gè)小矩形框表示。參數(shù)分三種:

輸入?yún)?shù),輸出參數(shù),錯(cuò)誤參數(shù)。參數(shù)都標(biāo)識(shí)在活動(dòng)節(jié)點(diǎn)的

邊界上,輸入?yún)?shù)標(biāo)識(shí)在活動(dòng)節(jié)點(diǎn)的左邊界上;輸出參數(shù)和

錯(cuò)誤參數(shù)標(biāo)識(shí)在活動(dòng)節(jié)點(diǎn)的右邊界上。參數(shù)有名稱和序號(hào),我們把參數(shù)名稱和號(hào)標(biāo)識(shí)在參數(shù)節(jié)點(diǎn)的旁邊。如圖8-14所示。5.3.5

標(biāo)識(shí)參數(shù)的活動(dòng)圖圖8-14

標(biāo)識(shí)活動(dòng)節(jié)點(diǎn)的輸入?yún)?shù)和輸出參數(shù)在圖8-14中,它表示活動(dòng)“計(jì)算利息”節(jié)點(diǎn)將接受三個(gè)輸入?yún)?shù):本金(principal)、利率(rate)、年限(year);如果傳入的參數(shù)合法,那么將輸出參數(shù)利息值(accrual);如果輸入了錯(cuò)誤的參數(shù),則產(chǎn)生異常。在這個(gè)例子中,在小矩形中添加箭頭符號(hào),以區(qū)別輸入?yún)?shù)和輸出參數(shù)的不同??梢灾苯釉趨?shù)邊上標(biāo)注表示參數(shù)順序的數(shù)字。例如在本圖中,principal、rate和year分別是第1、2、3個(gè)參數(shù)。另外,如果輸出產(chǎn)生異常對(duì)象,則可以在符號(hào)邊上標(biāo)注一個(gè)空心三角形。2023/10/2605.3.6

標(biāo)識(shí)擴(kuò)展區(qū)的活動(dòng)圖2023/10/261在活動(dòng)圖中,有時(shí)需要表示一個(gè)活動(dòng)需要多次執(zhí)行的情況。例如在圖8-8中,有三個(gè)活動(dòng)節(jié)點(diǎn)“供應(yīng)商送貨”,“修改訂單項(xiàng)狀態(tài)”以及分支“所有訂單項(xiàng)已送貨完畢”都需要多次執(zhí)行。由于一個(gè)訂單對(duì)應(yīng)多個(gè)“送貨單”,因此在圖8-8中,通過(guò)“分支”來(lái)表示其循環(huán)控制流,這樣表示活動(dòng),并不準(zhǔn)確。在圖8-15中,我們采用了擴(kuò)展區(qū)來(lái)表示活動(dòng)節(jié)點(diǎn)的循環(huán)執(zhí)行。5.3.6

標(biāo)識(shí)擴(kuò)展區(qū)的活動(dòng)圖2023/10/262圖8-15

用擴(kuò)展區(qū)表示活動(dòng)節(jié)點(diǎn)的循環(huán)執(zhí)行

例:一個(gè)名為“招聘處理”的擴(kuò)展區(qū)域圖擴(kuò)展區(qū)域與并發(fā)行為示例招聘處理求職申請(qǐng)檢查申請(qǐng)資料審定聘用資格面試人事安排申請(qǐng)表[聘用][不聘]聘用表<<Concurrent>>2023/10/2635.3.7

嵌套活動(dòng)圖如果一個(gè)活動(dòng)圖又包含了子活動(dòng)圖,則稱這種圖為嵌套活動(dòng)圖(也稱為主活動(dòng)圖)。當(dāng)一個(gè)活動(dòng)圖很復(fù)雜,我們可以把其中的一組相關(guān)活動(dòng)看作一個(gè)子活動(dòng)圖,這時(shí),在嵌套活動(dòng)圖中,用子活動(dòng)圖的簡(jiǎn)圖代替子活動(dòng)圖。我們可以將子圖單獨(dú)放在一個(gè)圖中詳細(xì)說(shuō)明它的活動(dòng),然后,在嵌套活動(dòng)圖引用子活動(dòng)圖。圖8-15是一個(gè)嵌套活動(dòng)圖,其中的收款(活動(dòng))又是一個(gè)子活動(dòng)圖,子活動(dòng)圖的詳細(xì)說(shuō)明如圖8-16所示。圖8-16

子活動(dòng)圖說(shuō)明:一般來(lái)說(shuō),我們?cè)谇短谆顒?dòng)圖中,用叉齒符號(hào)的子圖(子活動(dòng)圖的簡(jiǎn)圖)來(lái)代替子活動(dòng)圖。2023/10/264組合活動(dòng)“發(fā)貨”用一個(gè)子活動(dòng)圖表示,它有自己的

初始狀態(tài)、

終結(jié)狀態(tài)和

判定分支。Home2023/10/2655.4

構(gòu)建活動(dòng)圖2023/10/266活動(dòng)圖主要應(yīng)用對(duì)兩個(gè)方面建模:一是

在業(yè)務(wù)分析階段,對(duì)工作流程進(jìn)行建模;二是在系統(tǒng)分析和設(shè)計(jì)階段,對(duì)操作流

程進(jìn)行建模。5.4.1

對(duì)工作流程建模2023/10/267用活動(dòng)圖對(duì)業(yè)務(wù)流程建模時(shí),活動(dòng)圖中,每一條泳道表示一個(gè)職責(zé)單位(可以是個(gè)人,也可以是一個(gè)部門),每個(gè)泳道的執(zhí)行者(或職責(zé)人)體現(xiàn)了職能部門的工作職責(zé)、業(yè)務(wù)范圍、部門之間的交互關(guān)系。說(shuō)明:矩形代表活動(dòng),菱形代表判斷,平行線代表并行操作,帶箭頭線代表活動(dòng)流,每個(gè)大列代表一個(gè)職能部門,最左邊

的每個(gè)分塊代表業(yè)務(wù)階段。5.4.1

對(duì)工作流程建模2023/10/268使用活動(dòng)圖來(lái)對(duì)工作流程進(jìn)行建模時(shí),應(yīng)該遵循以下一些主要原則:1.從整個(gè)工作流中,選出一部分能體現(xiàn)高層職責(zé)的部門,并為每個(gè)重要的職責(zé)部門創(chuàng)建一條泳道2.標(biāo)識(shí)工作流初始節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)的后置條件,以便有效地找出工作流的邊界。3.從該工作流的初始節(jié)點(diǎn)開(kāi)始,找出隨時(shí)間推動(dòng)的動(dòng)作和活動(dòng),并在活動(dòng)圖中把它們標(biāo)識(shí)成活動(dòng)節(jié)點(diǎn).4.將復(fù)雜的活動(dòng)或多次出現(xiàn)的活動(dòng)用一個(gè)或多個(gè)子活動(dòng)圖的引用節(jié)點(diǎn)表示,然后為每個(gè)被引用的子活動(dòng)圖繪制出的詳細(xì)活動(dòng)圖。5.找出連接這些活動(dòng)節(jié)點(diǎn)的轉(zhuǎn)換,首先從工作流的順序開(kāi)始,然后考慮分支,接著再考慮分岔和匯合6.如果標(biāo)識(shí)出工作流中重要的對(duì)象,則也可以把對(duì)象流加入到活動(dòng)圖中7.若工作流中有重復(fù)執(zhí)行的活動(dòng),我們采用擴(kuò)展區(qū)來(lái)表示循環(huán)活動(dòng)

例:一個(gè)表示軟件開(kāi)發(fā)的精化階段的工作流的活動(dòng)圖,如圖所示。它不是一個(gè)完全的活動(dòng)圖,在圖中沒(méi)有泳道和對(duì)象流,但它是現(xiàn)實(shí)的軟件開(kāi)發(fā)工作流的一個(gè)簡(jiǎn)化的可視化的描述。Home2023/10/2695.4.2

對(duì)操作流程建模2023/10/270在系統(tǒng)設(shè)計(jì)期間,我們用活動(dòng)圖對(duì)對(duì)象的職責(zé)進(jìn)

行建模,這時(shí),這時(shí),每一個(gè)對(duì)象占據(jù)一個(gè)泳道,而活動(dòng)是該對(duì)象的成員方法。在系統(tǒng)分析設(shè)計(jì)階段,采用帶泳道的活動(dòng)圖的情況較少,因?yàn)轫樞驁D會(huì)更好地體現(xiàn)對(duì)象間的交互關(guān)系?;顒?dòng)圖更適合于對(duì)其流程進(jìn)行概述,最常用的場(chǎng)景是通過(guò)活動(dòng)圖對(duì)用例描述中的事件流進(jìn)行建模。當(dāng)用例的事件流較復(fù)雜,分支較多時(shí),一張清晰明了的活動(dòng)圖能夠幫助開(kāi)發(fā)人員更好地理解程序的邏輯。5.4.2

對(duì)操作流程建模2023/10/271用活動(dòng)圖對(duì)操作進(jìn)行建模時(shí),應(yīng)遵循以下原則:1.尋找操作所涉及的屬性,包括操作的參數(shù)、返回類型、所屬類的屬性以及某些鄰近的類

2.識(shí)別該操作的初始節(jié)點(diǎn)的前置條件和活動(dòng)終點(diǎn)的后置條件。也要識(shí)別在操作執(zhí)行過(guò)程中必須保存的信息.3.從該操作的初始節(jié)點(diǎn)開(kāi)始,標(biāo)識(shí)隨著時(shí)間發(fā)生的活動(dòng),并在活動(dòng)圖中將它們表示為活動(dòng)節(jié)點(diǎn)

4.如果需要,使用分支來(lái)說(shuō)明條件語(yǔ)句及循環(huán)語(yǔ)句

5.僅當(dāng)操作屬于一個(gè)主動(dòng)類時(shí),才在必要時(shí)用分岔和匯合來(lái)說(shuō)明并行的控制流程.5.5.1

如何建?;顒?dòng)圖2023

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論