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