從程式設計師的角度來看為什麼我們需要工作流

2022-01-28 18:53:10 字數 993 閱讀 8504

引用:

每乙個程式設計師,在接觸到工作流的時候,都會有這麼乙個疑問——我用一般的方法可以實現,為什麼還要用工作流?

我曾經也問過這個問題,不過現在稍微有點明白了。別著急要答案,看過下面的例子,或許你也就明白一些了。

這是乙個簡單的業務——訂貨流程:

客戶提交採購訂單

業務員執行訂單處理

如果缺貨,轉工廠生產 

倉庫出貨

物流發貨

如果不使用工作流技術,從頭開始開發這個訂購流程的業務邏輯,我們需要:

最終結果就是這樣:

這還不包括監視、控制、分析流程的部分。

但是,如果我們使用了工作流

這樣看起來就簡單多了。右側的工作流管理系統,接管了所有訂貨業務在流程方面的定義和執行。這樣做的好處很多:

所以在合適的專案中引入工作流技術,對於基礎開發來說,是非常有益處的:

通過使用諸如活動、流轉、狀態、行為這樣的術語,使得業務分析師和開發人員使用同一種語言交談成為可能。優秀的流程設計建模工具,甚至能使開發人員不必將使用者需求轉化成詳細設計文件。

應對業務流程經常變化的情況,使用工作流技術的最大好處是使業務流程的實現**,不再散落在各式各樣的業務系統中。

開發者不用再關注流程的參與者、活動節點的銜接、流轉控制……因為這些工作很多被工作流框架接管了。因而開發者開發起來更快、**出錯更少、系統更加容易維護。

如果系統中業務流程部分被硬編碼,就不容易更改,需求分析師就會花費很大的精力在開發前的業務分析中,並且希望一次成功。但可悲的是,在任何軟體專案開發中,這都很少能實現。工作流管理系統使得業務流程很容易部署和重新編排,業務流程相關的應用開發可以以一種「迭代/漸進」的方式推進,也就是說工作流技術在某種程度上支援「需求分析不必一次完全成功」。

從程式設計師的角度來看為什麼我們需要工作流

每乙個程式設計師,在接觸到工作流的時候,都會有這麼乙個疑問 我用一般的方法可以實現,為什麼還要用工作流?我曾經也問過這個問題,不過現在稍微有點明白了。別著急要答案,看過下面的例子,或許你也就明白一些了。這是乙個簡單的業務 訂貨流程 客戶提交採購訂單 業務員執行訂單處理 如果缺貨,轉工廠生產 倉庫出貨...

從程式設計師的角度來看為什麼我們需要工作流

每乙個程式設計師,在接觸到工作流的時候,都會有這麼乙個疑問 我用一般的方法可以實現,為什麼還要用工作流?我曾經也問過這個問題,不過現在稍微有點明白了。別著急要答案,看過下面的例子,或許你也就明白一些了。這是乙個簡單的業務 訂貨流程 客戶提交採購訂單 業務員執行訂單處理 如果缺貨,轉工廠生產 倉庫出貨...

從程式設計師角度來看資料庫優化

談到資料庫優化概念,總感覺很龐大,無從下手 最近,聽了一次dba的分享,感覺有些思路 整理成文字,強化記憶 僅僅是一些個人理解和資訊聚合,可能有所偏差,還望有所指正 b 為什麼需要資料庫優化?b 資料庫效能優化主要的目的無非就是降低資料庫響應時間,提公升資料庫響應能力tps b 資料庫響應時間 b ...