[置顶] 面向业务开发应用
?????? 自從計算機出現(xiàn)后,快速便捷的從太平洋一樣的文海中找到水滴大小的資料真正成為了可能,而能夠幫助人們實現(xiàn)這一愿望的程序員就像中世紀(jì)的航海家一樣用神秘的代碼程序指引著計算機一步一步實現(xiàn)的需求。而他們所用的被稱之為“程序”的序列組合,在一般人眼中,有如天書般難讀難懂。
即使對于程序員來說,實現(xiàn)復(fù)雜的業(yè)務(wù)需求也不是一件容易的事情,這很大程度上歸咎于現(xiàn)有的軟件設(shè)計模式并不科學(xué)。在《探索流程的奧秘之三-如何樹立業(yè)務(wù)流程》中,我們了解到用戶關(guān)注的是結(jié)果(交付物)及結(jié)果的狀態(tài),而軟件設(shè)計關(guān)注的是操作,而很不幸的是,程序員也是人,這種錯位的思考模式很難讓人輕易理解。
面向業(yè)務(wù)開發(fā)應(yīng)用的方式修正了這種情況,它的主要出發(fā)點如下:
1.?所有的應(yīng)用都是由若干業(yè)務(wù)流程組成
2.?人們在使用應(yīng)用時,會對所操作的業(yè)務(wù)流程產(chǎn)生出業(yè)務(wù)數(shù)據(jù)來,如每次請假時會產(chǎn)生請假申請信息及執(zhí)行信息。
3.?業(yè)務(wù)流程的產(chǎn)生業(yè)務(wù)數(shù)據(jù)是分步驟生成的,且根據(jù)步驟的執(zhí)行情況會生成不同的數(shù)據(jù),如請假申請只有批準(zhǔn)后才會有執(zhí)行信息。
4.?一個業(yè)務(wù)流程的業(yè)務(wù)數(shù)據(jù)會被另一個流程使用,是因為業(yè)務(wù)流程之間存在步驟流轉(zhuǎn),比如啟動報銷流程是因為有了出差業(yè)務(wù),且出差業(yè)務(wù)中發(fā)生了消費。
5.?業(yè)務(wù)間的關(guān)聯(lián)在數(shù)據(jù)關(guān)系上體現(xiàn)的是A業(yè)務(wù)記錄中包含B業(yè)務(wù)記錄中某項數(shù)據(jù)的集合,如出差活動的出差人集合。
6.?有時業(yè)務(wù)之間的關(guān)聯(lián)是由我們并不注意的中間業(yè)務(wù)擔(dān)當(dāng)?shù)摹?/p>
下面我們以差旅應(yīng)用為例,來看一看面向業(yè)務(wù)設(shè)計軟件的過程:
?
圖一 差旅應(yīng)用業(yè)務(wù)流程關(guān)系圖
人們在日常出差時,最直觀的感受到出差、借款及報銷這幾項業(yè)務(wù),各公司針對其均有相應(yīng)的審批流程及辦事流程,但這三個業(yè)務(wù)流程間的關(guān)系如何呢?從圖一可以看出:
1.? 這三項業(yè)務(wù)都與人員有關(guān)
2.? 借款是直接掛在每個員工上的,但每次出差可能不止一個人出行,因此就需要增加"D02員工的出差活動"這個隱含意義的業(yè)務(wù)流程。
3.? 每次借款和報銷的發(fā)生實際上是通過發(fā)起的。
4.? 很多公司在報銷時往往要求填寫報銷明細,雖然每項報銷明細并沒有獨立的審批過程,但其體現(xiàn)了集合關(guān)系,因此可以將報銷明細看作特殊的沒有審批步驟的業(yè)務(wù)流程。
確定了業(yè)務(wù)流程的關(guān)系后,我們就探究一下每項業(yè)務(wù)流程的特性。
?
圖二出差業(yè)務(wù)簡單流程圖
圖二是一個簡單的出差業(yè)務(wù)管理流程圖,與一般的框圖不同,這張圖反映了更多的我們傳統(tǒng)軟件開發(fā)模式下未考慮的細節(jié):
1.??步驟的執(zhí)行可以造成其他步驟跳轉(zhuǎn)的失效,比如我們允許即使提交了申請,在未審批情況也可以修改申請時,修改申請的操作會造成原先提交申請?zhí)D(zhuǎn)自動失效。
2. 步驟的操作人可能來自于業(yè)務(wù)流程自身,(我們稱其為動態(tài)步驟操作人),比如取消出差活動的操作人為出差申請的申請人或?qū)徟恕?/p>
3.??任何步驟執(zhí)行后都有可能產(chǎn)生多個跳轉(zhuǎn),也可能不產(chǎn)生任何跳轉(zhuǎn)。
4.? 如果跳轉(zhuǎn)到交互步驟(需要操作人介入的步驟),則操作人有執(zhí)行業(yè)務(wù)步驟的選擇權(quán),如果跳轉(zhuǎn)定義了通知操作人,則被通知人的待處理隊列中應(yīng)該出現(xiàn)該步驟。
5.?如果跳轉(zhuǎn)到自動執(zhí)行步驟,計算機應(yīng)該自動執(zhí)行該步驟,并進行后續(xù)跳轉(zhuǎn),直到?jīng)]有后續(xù)的自動執(zhí)行步驟或遇到結(jié)束節(jié)點。
6.?業(yè)務(wù)記錄的數(shù)據(jù)是在各個步驟中漸次獲取的,可能多個步驟都對同一個數(shù)據(jù)操作,如創(chuàng)建申請、修改申請、調(diào)整出差活動都可修改出差期限。
7.?對于每個步驟的執(zhí)行,除了傳統(tǒng)的賦值計算操作,還會包括特定操作,比如通過審批處理時會針對出差人清單自動創(chuàng)建“出差人活動”業(yè)務(wù)記錄,用于后續(xù)的借款、報銷處理。
?
利用普知杰的協(xié)同應(yīng)用系統(tǒng)平臺,可以輕松的實現(xiàn)面向業(yè)務(wù)的應(yīng)用構(gòu)建,比如步驟跳轉(zhuǎn)的操作如下:
圖三: 流程設(shè)置時步驟跳轉(zhuǎn)設(shè)置案例
?
對于使用者,只需要找到對應(yīng)的業(yè)務(wù)記錄后右鍵,即可進行相應(yīng)的操作,如圖,可以看到由于圖三設(shè)置的目標(biāo)跳轉(zhuǎn)有4個交互步驟跳轉(zhuǎn),都設(shè)置了動態(tài)操作人為時間發(fā)起人,操作人發(fā)起的這條記錄可以有4個操作,其在右鍵操作時可以選擇四個步驟中的任一個進行操作:
圖四: 業(yè)務(wù)記錄的步驟操作舉例
而換另一個操作人時,對于同樣的記錄,他是執(zhí)行人,根據(jù)動態(tài)操作人的設(shè)置,他只能進行一個操作
?
?
特別要提及的是,經(jīng)過此方式整理出來的業(yè)務(wù)記錄數(shù)據(jù),相互間是有關(guān)聯(lián)關(guān)系的,如從員工可以查出其所有的出差、報銷、借款記錄來。這樣就有利于我們快速的查詢我們需要的任何信息。普知杰的協(xié)同應(yīng)用系統(tǒng)通過自定義視圖的設(shè)置,可以快速的實現(xiàn)這種需求。
面向業(yè)務(wù)開發(fā)應(yīng)用還有很多有意思的特性,利用這些特性可以找到軟件設(shè)計的通用規(guī)律,進而實現(xiàn)自動化的應(yīng)用系統(tǒng)開發(fā),讓我們遠離繁復(fù)的代碼編程,我們后續(xù)會推出一個系列文章,歡迎大家指正。有興趣的人也可以到普知杰網(wǎng)站下載評估版軟件進行試用。這個地址可以下載到9個并發(fā)數(shù)不限期限的試用版系統(tǒng)和說明文檔.
轉(zhuǎn)載于:https://www.cnblogs.com/louisding/archive/2012/10/15/2763677.html
總結(jié)
以上是生活随笔為你收集整理的[置顶] 面向业务开发应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 栀子花百花瓣是哪首歌啊?
- 下一篇: 上海欢乐谷完美风暴刺激吗