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