在平時的軟件開發(fā)和方案總體設計中,往往需要繪制各種各樣的流程圖,比如業(yè)務流程圖、數據流程圖、系統流程圖等等。由于各種圖所反應的側重點不一樣,這三種圖所使用的場景也會有差異,本文介紹了各種圖的使用場合和繪制方法,以及各種圖之間的區(qū)別,以便于在具體的應用場景中靈活使用。 首先要搞清楚什么是流程。流程是一個或一系列連續(xù)有規(guī)律的行動,這些行動以確定的方式發(fā)生或執(zhí)行,促使特定結果的實現。ISO9001:2000質量管理體系標準中給出的定義是:“流程是一組將輸入轉化為輸出的相互關聯或相互作用的活動”。流程不可或缺的因素包括六個:參與者(對象)、活動(動作)、次序、輸入、輸出、標準化。各要素的定義如下所示: 活動(動作):一個處理動作,具體做了什么事,比如點餐、結帳等活動。 次序:這些事情發(fā)生的前后順序如何,哪個任務是其他任務的前置條件?比如客人不結帳,就不會產生送他優(yōu)惠卡的活動。 輸入:每項活動開始取決于什么樣的輸入物或數據,比如做飯的師傅開始做菜時,需要拿到具體的點菜單。 輸出:每項活動結束后,會輸入什么樣的文檔或數據傳遞給下一方,比如師傅做好菜后,如何讓負責傳菜的人知道菜已經做好? 標準化:采用一套標準化的符號傳遞你的流程圖,從而使受眾更快明白。 而流程圖是將流程表達清楚的圖形,即用圖形表示什么對象在什么前置條件下執(zhí)行了什么操作,產生了什么結果。 接下來對軟件開發(fā)與設計領域中常用的幾種流程圖分別介紹如下: 業(yè)務流程圖由于信息系統的目標是盡可能解放人在工作中的作用,強調自動化,為了實現自動化,就有必要從用戶的視角梳理業(yè)務流程是什么樣子,通過業(yè)務流程的梳理,提供系統了簡單扼要的“縮略俯瞰圖”,幫助觀眾快速了解業(yè)務如何運轉。它包含了幾個關鍵詞:誰,什么時候,在什么條件下,做了什么事情,輸入什么,輸出什么,輸出給誰。 業(yè)務流程圖應該是拿到業(yè)務需求(或BRD)后,首先輸出的文檔,但并不是一成不變的,會在多次討論中不斷補充完善,最后成為整個項目的標桿文件,在構建技術架構和技術分工時,將其作為主要參考。所以,繪制業(yè)務流程圖時,一定要邏輯清晰,不能遺漏任何一個重要部分。 與系統流程不同,業(yè)務流程更關注于業(yè)務本身如何運作,講的是業(yè)務故事,包含的是業(yè)務規(guī)則。而系統流程則是滿足業(yè)務流程,實現部分流程或全部流程的信息化和系統化。 表示方法一般業(yè)務流程圖一般用泳道進行是泳道表示,可以有橫向的泳道,也會有縱向的泳道。泳道圖在某些文檔里會被稱為“以活動為單位的流程圖”,浮在泳道中的都是一個個活動。能夠較好的表現出各個活動之間的關系一個各個部門之間的責任。 泳道圖的畫法: 一個示例通常情況下,一個業(yè)務需求不僅僅對應一個功能需求,而是由多個功能需求組成的,舉例來說:業(yè)務需求是注冊,那么功能需求就包括填寫信息的正則校驗,驗證碼的生成與校驗,注冊協議查看(和勾選),此外,后臺還要有賬戶生成與信息記錄的功能,需要手機注冊的還要有短信的發(fā)送與驗證功能(郵箱注冊同理)。可見,業(yè)務需求要求概括精煉,功能需求要求詳細具體。一個業(yè)務需求通常涵蓋多個功能需求,涉及前端展示、后臺記錄等多個部分,所以業(yè)務流程圖通常復雜詳細,盡量能夠涵蓋各種異常情況(每種異常情況都有相應的前、后臺解決方案)。 業(yè)務流程圖的繪制思路: 下面是以電商購物為例繪制的一份業(yè)務流程圖: 數據流程圖數據流圖,作為一種圖形化的設計方法,用來說明業(yè)務處理過程、系統邊界內所包含的功能和系統中的數據流。它是從數據的傳遞和加工角度,以圖形方式來表達系統的邏輯功能,數據在系統內部的邏輯流向和邏輯交換過程,是結構化系統分析方法的主要表達工具及用于表示軟件模型的一種圖示放大。它是描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。 表示方法在DFD中,通常會出現四種基本符號,分別是數據流,加工,數據存儲和外部實體(數據源和數據終點)。數據流是具有名字和流向的數據,用標有箭頭的名字表示。數據流是具有名字和流向的數據,加工是對數據流的轉換,用圓圈表示。數據存儲是可以訪問的存儲信息,用直線段表示。外部實體是位于被建模系統之外的信息生產者和消費者,是不能由計算機處理的部分,表示數據處理的來源和去向。用標有名字的方框表示: 數據流圖繪制說明如下: 一個示例下圖是一個辦理取款手續(xù)數據流程圖的例子 系統流程圖系統流程圖是描繪系統物理模型的傳統工具,它的基本思想是用圖形符號以黑盒子的形式描繪系統理念的每個部件,包括程序,文件,數據庫,表格,人工過程等,表達信息在給個部件之間流動的情況,而不是表示對信息進行加工處理的控制過程。系統流程圖是在系統分析員在做系統構架階段,或者說,在接觸實際系統時,對未來構建的信息處理系統的一種描述。這種描述是相對簡單且完全的,涉及到未來系統中使用的處理部件,如磁盤,顯示器,用戶輸入以及處理過程的先后順序表示等,標準的系統流程圖應該有10種圖元。 一個示例表示方法各個圖之間的區(qū)別系統流程圖、業(yè)務流程圖、數據流程圖三者區(qū)別如下: 業(yè)務流程圖與數據流程圖的區(qū)別1.描述對象不同 業(yè)務是指企業(yè)管理中必要且邏輯上相關的、為了完成某種管理功能的一系列相關的活動。在系統調研時,通過了解組織結構和業(yè)務功能,我們對系統的主要業(yè)務有了一個大概的認識。但由此我們得到的對業(yè)務的認識是靜態(tài)的,是由組織部門映射到業(yè)務的。而實際的業(yè)務是流動的,我們稱之為業(yè)務流程。一項完整的業(yè)務流程要涉及到多個部門和多項數據。例如,生產業(yè)務要涉及從采購到財務,到生產車間,到庫存等多個部門;會產生從原料采購單,應收付賬款,入庫單等多項數據表單。因此,在考察一項業(yè)務時我們應將該業(yè)務一系列的活動即整個過程為考察對象,而不僅僅是某項單一的活動,這樣才能實現對業(yè)務的全面認識。將一項業(yè)務處理過程中的每一個步驟用圖形來表示,并把所有處理過程按一定的順序都串起來就形成了業(yè)務流程圖。 數據流程圖是對業(yè)務流程的進一步抽象與概括。抽象性表現在它完全舍去了具體的物質,只剩下數據的流動、加工處理和存儲;概括性表現在它可以把各種不同業(yè)務處理過程聯系起來,形成一個整體。 2.功能作用不同 數據流程分析主要包括對信息的流動、傳遞、處理、存儲等的分析。數據流程分析的目的就是要發(fā)現和解決數據流通中的問題,這些問題有:數據流程不暢,前后數據不匹配,數據處理過程不合理等。通過對這些問題的解決形成一個通暢的數據流程作為今后新系統的數據流程。數據流程圖比起業(yè)務流程圖更為抽象,它舍棄了業(yè)務流程圖中的一些物理實體,更接近于信息系統的邏輯模型。對于較簡單的業(yè)務,我們可以省略其業(yè)務流程圖直接繪制數據流程圖。 3.基本符號不同 處理邏輯加工也稱為處理或功能,它包括兩方面的內容:一是改變數據結構;二是在原有數據內容基礎上增加新的內容,形成新的數據。一般用一個長方形表示處理邏輯,圖形下部填寫處理的名字,上部填寫該處理的標志。 關于業(yè)務流程圖和數據流程圖的基本符號很多教材上都不完全一致,還沒有形成一個統一的標準。例如,有的教材上用圓形表示外部實體,有的用矩形表示外部實體。二者所使用的符號不同,但代表的含義都相同。業(yè)務流程圖中的業(yè)務處理和存儲這兩個符號和數據流程圖中的相應的符號基本一致;業(yè)務流程圖和數據流程圖中都有箭頭線的符號,但含義不同:業(yè)務流程圖中的箭頭線表示信息流向,它沒有名稱;數據流程圖中的箭頭線表示某一數據流,它有名稱,通常寫在數據流的上方。 4.繪制過程不同 數據流程圖的繪制方法較為復雜,它是按照“自頂向下,逐層求精”的方法進行的,也就是將整個系統當成一個處理功能,畫出它和周圍實體的數據聯系過程,即一個粗略的數據流程圖(頂層數據流程圖),然后逐層向下分析,直到把系統分解為詳細的低層次的數據流程圖。 業(yè)務流程圖和數據流程圖的聯系1.業(yè)務流程圖和數據流程圖都是從流程的角度動態(tài)地去考察分析對象,都是用圖形符號抽象地表示調查結果。 參考文獻http://www.jianshu.com/p/52f671846f26 |
|
來自: 年年有俞otk8ql > 《數字政府》