面向?qū)ο蟮腏ava與UML課件第-8-章業(yè)務(wù)建模
單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,*,第 8 章業(yè)務(wù)建模,業(yè)務(wù)環(huán)境的重要性,制訂業(yè)務(wù)過(guò)程的方法與符號(hào).,UML 活動(dòng)模型及在描述業(yè)務(wù)過(guò)程中的應(yīng)用,業(yè)務(wù)對(duì)象以及一些 UML 類標(biāo)識(shí)符,初步 UML 狀態(tài)圖建模,第 8 章業(yè)務(wù)建模業(yè)務(wù)環(huán)境的重要性,1,概述,在本章中我們將詳盡地介紹根據(jù)業(yè)務(wù)過(guò)程來(lái)概述一項(xiàng)業(yè)務(wù)的方法,概述在本章中我們將詳盡地介紹根據(jù)業(yè)務(wù)過(guò)程來(lái)概述一項(xiàng)業(yè)務(wù)的方法,2,項(xiàng)目特征對(duì)業(yè)務(wù)建模的影響,當(dāng)應(yīng)用于某個(gè)新的業(yè)務(wù)領(lǐng)域,或是為某位新客戶而開發(fā)的,那么,詳盡的業(yè)務(wù)分析是非常重要的。,應(yīng)用于某個(gè)已制定的業(yè)務(wù)領(lǐng)域,并且開發(fā)悉這一業(yè)務(wù)領(lǐng)域,那么,一種不十分嚴(yán)格的業(yè)務(wù)分析或許更為實(shí)用,系統(tǒng)的大小和范圍也決定了需要進(jìn)行業(yè)務(wù)建模的層次;,由于項(xiàng)目風(fēng)險(xiǎn)和失敗的代價(jià)相對(duì)較小,因此,規(guī)模較小的系統(tǒng)開發(fā)可以不做或只做少量的業(yè)務(wù)分析,項(xiàng)目特征對(duì)業(yè)務(wù)建模的影響當(dāng)應(yīng)用于某個(gè)新的業(yè)務(wù)領(lǐng)域,或是為某位,3,業(yè)務(wù)建模,這里所討論的技術(shù)將會(huì)用于生成業(yè)務(wù)模型。,模型將作為系統(tǒng)分析階段的輸入,開發(fā)精確的成本效益模型,業(yè)務(wù)過(guò)程建模、成本效益建模和系統(tǒng)分析這三者間的關(guān)系,業(yè)務(wù)過(guò)程建模的關(guān)鍵輸出是業(yè)務(wù)過(guò)程定義(包括過(guò)程圖),以及在隨后的階段中用到的業(yè)務(wù)對(duì)象模型。,我們應(yīng)把 UML 活動(dòng)圖作為描述業(yè)務(wù)過(guò)程的一種方法,業(yè)務(wù)建模這里所討論的技術(shù)將會(huì)用于生成業(yè)務(wù)模型。,4,面向?qū)ο蟮腏ava與UML課件第-8-章業(yè)務(wù)建模,5,業(yè)務(wù)建模的大概過(guò)程,要導(dǎo)出業(yè)務(wù)過(guò)程的全局圖,該圖給出了需要建模的業(yè)務(wù)領(lǐng)域的概貌以及展示了我們最終計(jì)劃在何處引人一個(gè)新的 IT 系統(tǒng)。,將應(yīng)用劇本分析來(lái)分析相應(yīng)的業(yè)務(wù)過(guò)程。,這一過(guò)程將捕獲業(yè)務(wù)過(guò)程的大量細(xì)節(jié),并用特殊方式來(lái)組織這些細(xì)節(jié)。,從劇本中,我們可以得出業(yè)務(wù)工作流,,這些工作流可以用 UML 活動(dòng)圖來(lái)描述。我們還可以得出業(yè)務(wù)對(duì)象模型,該模型標(biāo)識(shí)了業(yè)務(wù)環(huán)境中的一些關(guān)鍵條目。,在實(shí)際開發(fā)中,許多組織也會(huì)忽略這一階段,或是以有限的方式執(zhí)行,在后續(xù)的開發(fā)中導(dǎo)致疏忽,這種疏忽會(huì)在測(cè)試或部署階段暴露出來(lái),業(yè)務(wù)建模的大概過(guò)程要導(dǎo)出業(yè)務(wù)過(guò)程的全局圖,該圖給出了需要建模,6,面向?qū)ο蟮腏ava與UML課件第-8-章業(yè)務(wù)建模,7,8.1理解業(yè)務(wù)過(guò)程的重要性,分析業(yè)務(wù)環(huán)境時(shí),一個(gè)常見(jiàn)的問(wèn)題是“為什么要問(wèn)所有那些和系統(tǒng)并不直接相關(guān)的問(wèn)題?,關(guān)于這個(gè)問(wèn)題有多種回答。最重要的是,理解一個(gè)系統(tǒng)需要理解他所運(yùn)行的環(huán)境。不然的話,開發(fā)出的系統(tǒng)很可能無(wú)法正常工作。許多計(jì)算機(jī)系統(tǒng)開發(fā)的失敗正是因?yàn)楹雎粤诉@一簡(jiǎn)單的常識(shí)。,先業(yè)務(wù)領(lǐng)域,再系統(tǒng)用途,8.1理解業(yè)務(wù)過(guò)程的重要性分析業(yè)務(wù)環(huán)境時(shí),一個(gè)常見(jiàn)的問(wèn)題是“,8,建立業(yè)務(wù)過(guò)程圖,分析人員需要首先做的事情之一是詢問(wèn)“我在哪里?”或者更具體一些:“我在構(gòu)建一個(gè)系統(tǒng),它適合哪種類型的業(yè)務(wù)?”現(xiàn)在,我們應(yīng)當(dāng)著眼于構(gòu)建一張“大圖”,即某項(xiàng)業(yè)務(wù)的過(guò)程圖。這對(duì)于商定系統(tǒng)范圍是尤為重要的。,過(guò)程圖不會(huì)很具體和精確,它應(yīng)該是全面,它能迅速獲得業(yè)務(wù)范圍和活動(dòng)的總體印象,過(guò)程圖是是劇本分析和識(shí)別用例,建立業(yè)務(wù)過(guò)程圖分析人員需要首先做的事情之一是詢問(wèn)“我在哪里?,9,一幅三層的業(yè)務(wù)過(guò)程圖,業(yè)務(wù)過(guò)程是對(duì)事件的邏輯歸類,這些事件被認(rèn)為是業(yè)務(wù)的基本元素,盡管隨著過(guò)程圖的建立,一些過(guò)程會(huì)出現(xiàn)嚴(yán)格的先后次序,然而我們的目的是將整個(gè)的業(yè)務(wù)領(lǐng)域作為一個(gè)過(guò)程集進(jìn)行描述,而并不關(guān)心過(guò)程的次序或單個(gè)過(guò)程之間的交互作用。,這些過(guò)程將在不多于三個(gè)層次上被分組。經(jīng)驗(yàn)表明,過(guò)于細(xì)致的分類所獲得的成果反而較少,并且會(huì)陷于過(guò)多的細(xì)節(jié)中。高層的過(guò)程是總的過(guò)程,涵蓋了業(yè)務(wù)活動(dòng)的廣泛領(lǐng)域,并由更集中的過(guò)程組成。,一幅三層的業(yè)務(wù)過(guò)程圖業(yè)務(wù)過(guò)程是對(duì)事件的邏輯歸類,這些事件被認(rèn),10,過(guò)程圖的頂層分解,頂層不應(yīng)多于 10 個(gè)高層過(guò)程,這些過(guò)程應(yīng)當(dāng)跨越全部的業(yè)務(wù)活動(dòng)使得分析集中在對(duì)業(yè)務(wù)關(guān)鍵方面,對(duì)于 IcANDO 化學(xué)制品,這些活動(dòng)應(yīng)為:,過(guò)程圖的頂層分解頂層不應(yīng)多于 10 個(gè)高層過(guò)程,這些過(guò)程應(yīng)當(dāng),11,過(guò)程圖頂層分解的說(shuō)明,在抽象層,這些是公司行為總的劃分。這種劃分或許過(guò)于明顯,然而經(jīng)驗(yàn)表明,這樣劃分容易取得廣泛的一致。對(duì)于頂層的分解可能會(huì)有實(shí)質(zhì)性的爭(zhēng)辯。這里沒(méi)有“正確答案”,所需要的是一種良好的分解,而并非是完美的分解。,過(guò)程圖往往要隱藏組織的結(jié)構(gòu),而僅儀描述組織的功能,信息流的疏忽和時(shí)間因素的重要性不能被過(guò)分強(qiáng)調(diào)。在一個(gè)組織做什么這一方面,很少存在爭(zhēng)議;但對(duì)于如何做,爭(zhēng)議卻總是存在。,過(guò)程圖頂層分解的說(shuō)明在抽象層,這些是公司行為總的劃分。這種劃,12,過(guò)程圖的第二層描述,過(guò)程圖的第二層分解,使其成為第一層活動(dòng)更細(xì)致的描述,銷售活動(dòng)的分解為:,合同磋商 與談判以及與顧客簽訂合同有關(guān)的所有活動(dòng),訂貨 與訂貨有關(guān)的所有活動(dòng),貨物交付 與交貨有關(guān)的活動(dòng),接受退貨 與退回不想要的或不滿意的貨物相關(guān)的所有活動(dòng),給顧客開發(fā)票 與開發(fā)票相關(guān)的所有活動(dòng),接受付款 與接受付款有關(guān)的所有活動(dòng),過(guò)程圖的第二層描述過(guò)程圖的第二層分解,使其成為第一層活動(dòng)更細(xì),13,過(guò)程圖的第三層描述,最后,第二層活動(dòng)可以分解為第三層的分組,“開發(fā)票活動(dòng)”可以分解為,標(biāo)識(shí)已發(fā)送的和已接受的貨物,給貨物定價(jià),申請(qǐng)折扣,打印發(fā)票,寄送發(fā)票,試圖分解第四層的實(shí)際經(jīng)驗(yàn)表明達(dá)成一致是非常困難的,并越來(lái)越關(guān)系到某一業(yè)務(wù)是如何操作的,而并非該業(yè)務(wù)做什么,過(guò)程圖的第三層描述最后,第二層活動(dòng)可以分解為第三層的分組,14,目前為止定義的所有過(guò)程層次的過(guò)程圖,目前為止定義的所有過(guò)程層次的過(guò)程圖,15,822業(yè)務(wù)過(guò)程圖的應(yīng)用,能夠與業(yè)務(wù)人員一同構(gòu)建模型,不考慮計(jì)算機(jī)系統(tǒng)的操作,實(shí)際上是不考慮任何軟件設(shè)計(jì)問(wèn)題。,容易達(dá)成到三層的共識(shí)。,以這樣一種方式總結(jié)某一業(yè)務(wù),通常可以打印在一張單獨(dú)的 A4 紙上,并提供可管理的討論框架。,過(guò)程圖闡明了專有名詞。,利用從高層次視角了解業(yè)務(wù)運(yùn)作的人員,模型可以在 2 至 3 天內(nèi)構(gòu)架起來(lái)。,盡管這是業(yè)務(wù)的系統(tǒng)視圖,但不需要介紹就能夠使任何人都很容易理解。,過(guò)程圖達(dá)成了一致,并且強(qiáng)調(diào)了共性方面。,集中在功能方面,可以作為企業(yè)流程再造的基礎(chǔ),822業(yè)務(wù)過(guò)程圖的應(yīng)用能夠與業(yè)務(wù)人員一同構(gòu)建模型,不考慮計(jì)算,16,823繪制過(guò)程圖,研討會(huì)方法被證明是成功,方法如下:,需要有一個(gè)協(xié)調(diào)者,他清楚過(guò)程圖的概念。一組業(yè)務(wù)管理人員和或?qū)<揖奂谝黄?,在極短時(shí)間內(nèi)安排一系列的研討會(huì)。,每個(gè)研討會(huì)持續(xù)時(shí)間不超過(guò)半天,,要集中于模型的一層,或者確定頂層過(guò)程,或者確定一到兩個(gè)頂層過(guò)程對(duì)應(yīng)的第二層過(guò)程,或者確定一到兩個(gè)第二層過(guò)程對(duì)應(yīng)的第三層過(guò)程,823繪制過(guò)程圖研討會(huì)方法被證明是成功,方法如下:,17,823繪制過(guò)程圖,研討會(huì)需要嚴(yán)格地限定時(shí)間范圍(time boxed)。協(xié)調(diào)者要記下過(guò)程列表,并且得出單獨(dú)過(guò)程的簡(jiǎn)要總結(jié)。,協(xié)調(diào)者不應(yīng)對(duì)決定施加影響,823繪制過(guò)程圖研討會(huì)需要嚴(yán)格地限定時(shí)間范圍(time b,18,8.3 業(yè)務(wù)劇本分析,劇本是一系列的事件和活動(dòng)。,方法是將任何過(guò)程分解為簡(jiǎn)單的序列,劇本的多樣性,考慮從當(dāng)?shù)氐幕ǖ曩I花這一事件時(shí),可以有非常多的方式來(lái)完成該件事一一你可以去花店或是通過(guò)電話訂購(gòu);你可以自己取花,或是讓助手去取?;ㄒ部梢园b成各種不同的形式,可以附有問(wèn)候標(biāo)簽。你可以用現(xiàn)金、支票或信用卡支付;你既可以拿走這些花,也可以將它們遞送出去,搜集具有代表性的,將他們組織起來(lái),8.3 業(yè)務(wù)劇本分析劇本是一系列的事件和活動(dòng)。,19,沏茶的劇本,1 灌滿水壺,2 燒水,3 把茶葉放人茶壺,4 倒人開水,5 等 2 分鐘,6 把茶倒入茶杯,7 加奶和糖,并非所有人都這樣沏茶。有些人用袋茶在杯子里泡茶,有些人等不到 2 分鐘,有些人不加糖。,假如你設(shè)計(jì)一個(gè)沏茶系統(tǒng)那么你應(yīng)考慮許多劇本。,沏茶的劇本1 灌滿水壺,20,8.3.2 80/20 原則,銀行柜臺(tái)的大多數(shù)交易相當(dāng)迅速,但是,少數(shù)幾筆交易花費(fèi)了職員 4 到 5 倍的精力。,上班的路程大部分都可以順利通過(guò),但是,少數(shù)情況會(huì)花費(fèi) 2 倍的時(shí)間,并帶來(lái)很大損失。,通常,你忘在家里的什么東西會(huì)很快想起來(lái),但是,有時(shí)東西不在該在的地方會(huì)造成慌亂,耽誤時(shí)間。,8.3.2 80/20 原則銀行柜臺(tái)的大多數(shù)交易相當(dāng)迅速,但,21,主要路線,為適應(yīng)大多數(shù)情況,很可能相當(dāng)迅速的設(shè)計(jì)業(yè)務(wù)過(guò)程,或是構(gòu)建系統(tǒng),真正需要的是可擴(kuò)展的構(gòu)建良好系統(tǒng)的方法,主要路線為適應(yīng)大多數(shù)情況,很可能相當(dāng)迅速的設(shè)計(jì)業(yè)務(wù)過(guò)程,或是,22,主要路線,通常能確定一條帶有幾個(gè)分支的最常用的路線“快樂(lè)之路”(happy path),主要路線是大多數(shù)時(shí)候使用的路線,如果能識(shí)別出它,就可以使過(guò)程中的大多數(shù)用戶感到滿意。,降低的復(fù)雜性,阻止了“分析癱瘓”,主要路線通常能確定一條帶有幾個(gè)分支的最常用的路線“快樂(lè)之路”,23,替代路線,一旦知道了系統(tǒng)的主要路線,便可以尋找替代路線。這些是常規(guī)的細(xì)微變化,主要路線形成了一條有意義的核對(duì)單,能夠用來(lái)尋找替代路線,盡量使得替代路線返回主要路線,替代路線一旦知道了系統(tǒng)的主要路線,便可以尋找替代路線。這些是,24,面向?qū)ο蟮腏ava與UML課件第-8-章業(yè)務(wù)建模,25,835異常,異常通常是更為嚴(yán)重的替代路線。,替代路線是例行發(fā)生的,只是不像主要路線那樣頻繁,異常更為罕見(jiàn),需要不同層次的恢復(fù),替代路線允許通過(guò)另一路線實(shí)現(xiàn)目標(biāo),異常以從未實(shí)現(xiàn)的目標(biāo)告終,在網(wǎng)上訂購(gòu)系統(tǒng)中,或許有這樣一個(gè)例子:某人提交了騙來(lái)的信用卡。對(duì)這一情況的響應(yīng)也許是接受詳細(xì)信息和訂單,但不是發(fā)貨,而是通知警察。,835異常異常通常是更為嚴(yán)重的替代路線。,26,過(guò)程分析的基礎(chǔ),1 找出關(guān)鍵活動(dòng)(用例或業(yè)務(wù)過(guò)程,2 為每項(xiàng)活動(dòng)定義主要路線,3 使用主要路線尋找替代路線,4 補(bǔ)充替代路線,只要可能就返回到主要路線,5 使用主要路線和替代路線來(lái)標(biāo)識(shí)異常,記住這一序列,這就是“分析主要路線”。,過(guò)程分析的基礎(chǔ)1 找出關(guān)鍵活動(dòng)(用例或業(yè)務(wù)過(guò)程,27,使用活動(dòng)圖進(jìn)行業(yè)務(wù)建模,將由主要路線和替代路線得到的劇本轉(zhuǎn)化成UML活動(dòng)圖來(lái)描述業(yè)務(wù)。,活動(dòng)是業(yè)務(wù)過(guò)程中的一項(xiàng)任務(wù),是一段有實(shí)際意義的工作,打印發(fā)票,更改訂單,聯(lián)絡(luò)客戶,許多連在一起的活動(dòng)形成過(guò)程,工作流,使用活動(dòng)圖進(jìn)行業(yè)務(wù)建模將由主要路線和替代路線得到的劇本轉(zhuǎn)化成,28,轉(zhuǎn)換、事件與決策,工作流從一項(xiàng)活動(dòng)流向另一項(xiàng)活動(dòng),在活動(dòng)之間用箭頭表示,簡(jiǎn)單轉(zhuǎn)換,事件轉(zhuǎn)換,轉(zhuǎn)換、事件與決策工作流從一項(xiàng)活動(dòng)流向另一項(xiàng)活動(dòng),在活動(dòng)之間,29,轉(zhuǎn)換、事件與決策,有時(shí),替代路線由一些條件所決定。為了表示這一點(diǎn),圖中放置了一個(gè)決策點(diǎn),用菱形表示。轉(zhuǎn)換采用哪一條替代路線由寫在退出路線旁邊方括號(hào)內(nèi)的條件來(lái)決定。,轉(zhuǎn)換、事件與決策有時(shí),替代路線由一些條件所決定。為了表示這一,30,轉(zhuǎn)換、事件與決策,轉(zhuǎn)換、事件與決策,31,狀態(tài),狀態(tài)是一項(xiàng)什么也不發(fā)生的活動(dòng)。,狀態(tài)用圓角矩形表示,下圖給出了支付過(guò)程中的一個(gè)狀態(tài),過(guò)程在這一狀態(tài)等待顧客付款。,有兩種專門的狀態(tài)用于幫助表示過(guò)程。開始狀態(tài)是系統(tǒng)初始化,一幅圖中通常只有一個(gè)。終結(jié)狀態(tài)表示過(guò)程的結(jié)束。有時(shí),終結(jié)狀態(tài)多于一個(gè)。初始狀態(tài)用黑色圓點(diǎn)表示,終結(jié)狀態(tài)則用一個(gè)圈中套一個(gè)小實(shí)心圓來(lái)表示。,狀態(tài)狀態(tài)是一項(xiàng)什么也不發(fā)生的活動(dòng)。,32,實(shí)現(xiàn)獲得支付過(guò)程的簡(jiǎn)單活動(dòng)圖,實(shí)現(xiàn)獲得支付過(guò)程的簡(jiǎn)單活動(dòng)圖,33,泳 道,活動(dòng)圖的另一個(gè)特點(diǎn)是泳道,用來(lái)表示活動(dòng)發(fā)生的某些業(yè)務(wù)領(lǐng)域。泳道是活動(dòng)圖中的一列,其標(biāo)題代表了不同的業(yè)務(wù)領(lǐng)域,泳 道活動(dòng)圖的另一個(gè)特點(diǎn)是泳道,34,面向?qū)ο蟮腏ava與UML課件第-8-章業(yè)務(wù)建模,35,過(guò)程目錄,既然有了模型范圍,即過(guò)程圖、過(guò)程劇本和活動(dòng)圖,便可將它們組織成過(guò)程目錄。過(guò)程圖提供概貌,目錄則提供細(xì)節(jié)。每個(gè)與系統(tǒng)開發(fā)相關(guān)的過(guò)程在過(guò)程圖中都有相應(yīng)的條目。每個(gè)條目都包含下列信息:,主要路線,替代路線,異常,活動(dòng)圖,過(guò)程目錄既然有了模型范圍,即過(guò)程圖、過(guò)程劇本和活動(dòng)圖,便可將,36,名詞辨識(shí)法,業(yè)務(wù)對(duì)象,名詞辨識(shí)法業(yè)務(wù)對(duì)象,37,初步狀態(tài)圖建模,初步狀態(tài)圖建模,38,ICANDO,ICANDO 化學(xué)制品需要一個(gè)新系統(tǒng)來(lái)改善其銷售過(guò)程。特別