九十學年度第一學期系統分析與設計(實習)2-1第七章企業流程塑模個案九十學年度第一學期系統分析與設計(實習)2-2內容大綱學習目標7.1導論7.2需求分析7.3資料流程圖建置7.4處理規格描述與程式範例7.5資料流程圖轉HIPO圖7.6結論九十學年度第一學期系統分析與設計(實習)2-37.1導論•本章以夢幻公司之管理資訊系統(以下簡稱夢幻系統)為例,首先應用第3章之需求表達工具描述夢幻系統之需求,再應用第5章之企業流程塑模的概念與工具,將需求分析之結果進行企業流程之系統分析與設計。九十學年度第一學期系統分析與設計(實習)2-47.1導論(c.2)•夢幻公司是一家經營汽機車零件買賣之貿易公司,該公司亦擁有工廠,自行生產部份之零件。本系統之範圍包括銷售、生產管理與採購等三部份,其中銷售包括訂單、送貨、銷退、請款與登帳等作業;生產管理包括領料、退料、繳庫與盤點等作業,而採購包括訂貨、進貨與退貨等作業。九十學年度第一學期系統分析與設計(實習)2-57.2個案之需求分析•根據對使用者之需求訪談結果得知夢幻公司之銷售管理作業如下:(1)業務部負責接訂貨單,接到客戶訂貨通知時須先進行訂貨資料登錄,並做成品庫存檢核,若成品庫存充足,則直接進行送貨處理;若成品庫存不足,則送生產需求通知給生產部以便進行產品之生產計畫。(2)業務部亦負責送貨與進行送貨資料處理,如計算金額、送成品等,並產出送貨單給客戶確認。九十學年度第一學期系統分析與設計(實習)2-67.2個案之需求分析(c.2)(3)業務部收到客戶欲退回已銷售之成品通知(銷退單),需記錄客戶編號及銷退之成品數量、單價,並計算銷退單銷退總金額等。(4)業務部向客戶請款:a.每月請款一次,請款日期為每月25日。b.針對各客戶之本期送貨資料計算出本期應收帳款。c.合計上期未收款項及本期應收帳款列印請款單,請客戶付款。(5)業務部收到客戶之付款單,登錄客戶編號及付款資料。九十學年度第一學期系統分析與設計(實習)2-7圖7-1訂單送貨流程圖訂單處理訂單成品庫存足夠?生產需求送貨處理送貨單是客戶業務部生產部否九十學年度第一學期系統分析與設計(實習)2-87.2個案之需求分析(c.5)•處理描述1-1–以上述夢幻公司訂單送貨流程圖上之訂單處理為例(參圖7-1),其資料來源為客戶之訂單且產出為生產部之生產需求或通知出貨。–訂單處理之處理描述名稱可命名為訂單處理描述,該處理描述之執行程序與規則可從上述需求擷取之結果摘述如表7-1。九十學年度第一學期系統分析與設計(實習)2-9表7-1訂單處理描述九十學年度第一學期系統分析與設計(實習)2-107.2個案之需求分析(c.8)•藍圖1-1–以上述夢幻公司之訂單處理為例(參圖7-1),其訂單之藍圖可以該公司目前之訂單報表為基礎,再進一步對訂單上之每一欄位以由左至右與由上而下之原則編號,例如客戶編號為A、地址為B,依序至總金額為O等,詳如表7-2。九十學年度第一學期系統分析與設計(實習)2-11表7-2訂單藍圖九十學年度第一學期系統分析與設計(實習)2-127.2個案之需求分析(c.10)•資料詞彙1-1–如上所述,一張藍圖就應有一份資料詞彙,且藍圖中之每一欄位在資料詞彙中應有一記錄描述之,因此以夢幻公司之訂單藍圖為例(參表7-2),且採用第三章之資料詞彙樣板(參表3-3),再經由訪談整理,其訂單藍圖之資料詞彙可整理如表7-3。九十學年度第一學期系統分析與設計(實習)2-13表7-3訂單資料詞彙九十學年度第一學期系統分析與設計(實習)2-147.2個案之需求分析(c.12)•流程圖2,3與4之分析步驟與原則均與流程圖1相同,因此不再贅述,結果請參考課本內容。九十學年度第一學期系統分析與設計(實習)2-157.3個案之系統分析與設計—企業流程塑模•完成了需求分析之工作,接下來是如何從分析結果進行企業流程塑模,以分析與設計該系統之各子系統。•本章以資料流程圖為工具,並採用第5章所述由中往外策略進行夢幻公司之企業流程塑模。進行步驟如下:九十學年度第一學期系統分析與設計(實習)2-167.3個案之系統分析與設計—企業流程塑模(c.2)步驟一–首先,從需求分析之結果(1)找出外部實體(2)找出處理(3)找出資料儲存(4)找出資料流九十學年度第一學期系統分析與設計(實習)2-177.3個案之系統分析與設計—企業流程塑模(c.3)步驟二:向上整合以建立資料流程圖–本個案之向上整合依管理功能之原則將步驟一之處理分成五群(1.0)銷售管理、(2.0)生產管理、(3.0)採購管理、(4.0)基礎項目管理與(5.0)綜合報表管理等。–訂貨、送貨、銷退、請款與登帳等處理可整合成一企業程序,以完成該公司銷售管理之功能,其餘詳如表7-11。九十學年度第一學期系統分析與設計(實習)2-18–第零階DFD‧處理‧資料儲存‧外部實體‧資料流處理訂單資料送貨單資料銷退單資料請款單資料付款單資料客戶基本資料成品資料稅率資料客戶業務部訂單處理↓↓↓↓↓送貨處理↓↓↓↓↓↓銷退處理↓↓↓↓↓↓請款處理↓↓↓↓↓登帳處理↓↓↓↓↓整合處理訂單資料送貨單資料銷退單資料請款單資料付款單資料客戶基本資料成品資料稅率資料客戶業務部銷售管理↓↓↓↓↓↓↓↓↓↓九十學年度第一學期系統分析與設計(實習)2-19–第零階DFD部分範例客戶D5稅率資料D1客戶基本資料D2訂單資料D3送貨單資料D4銷退單資料D6請款單資料D7付款單資料D8成品資料業務部銷售管理1.0九十學年度第一學期系統分析與設計(實習)2-20–完整之第零階範例銷售管理1.0D6請款單資料客戶D7付款單資料D8成品資料D1客戶基本資料D2訂單資料D3送貨單資料D4銷退單資料D5稅率資料業務部採購管理3.0廠商業務部D10廠商基本資料D11訂貨單資料D13退貨單資料基礎項目管理4.0綜合報表管理5.0主管D1客戶基本資料D4銷退單資料D8成品資料D9原物料資料D14生產計畫資料D15領料單資料D16退料單資料生產管理2.0D16退料單資料生產部D17繳庫單資料D18盤點單資料倉庫D1客戶基本資料D5稅率資料D8成品資料D9原物料資料D17繳庫單資料D18盤點單資料D10廠商基本資料D13退貨單資料D9原料物資料D8成品資料D12進貨單資料D15領料單資料D14生產計畫資料九十學年度第一學期系統分析與設計(實習)2-217.3個案之系統分析與設計—企業流程塑模(c.7)步驟三:向下分解以建立低層資料流程圖–向下分解之原則可依內聚力或程式碼之多寡(例如不要超過200行)來判定。–以銷售管理子系統之送貨處理為例,送貨處理為步驟一產生之處理,從巨觀的角度來看,送貨處理僅做一件訂單相關之事情,已符合所謂的功能內聚力,可不必再分解,但若該處理中還包括新增、修改、刪除、查詢與列印等操作處理,則建議將送貨處理再依操作向下分解至第二階。九十學年度第一學期系統分析與設計(實習)2-22–第二階DFD以送貨單處理為例,其第二階DFD分析如下:(1)處理(2)資料儲存(3)實體(4)資料流九十學年度第一學期系統分析與設計(實習)2-23圖7-8銷售管理子系統第二階DFD(1.2送貨處理)D2訂單資料D1客戶基本資料D5稅率資料D3送貨單資料業務部客戶新增送貨單1.2.1修改送貨單1.2.2刪除送貨單1.2.3列印送貨單1.2.5查詢送貨單1.2.4D8成品資料九十學年度第一學期系統分析與設計(實習)2-24–第三階DFD‧某些較複雜之第二階處理而言,其程式碼數量可能過大,若再加入偵錯或例外狀況處理則將更大,因此可考慮將該之分解成更細之處理。‧以新增送貨單為例,可再分解成六個子處理,其第三階DFD分析如下:(1)處理(2)資料儲存(3)實體(4)資料流九十學年度第一學期系統分析與設計(實習)2-25圖7-9銷售管理子系統第三階DFD(1.2.1新增送貨單)業務部稅率處理1.2.1.2D5稅率資料送貨金額處理1.2.1.4送貨單資料偵錯處理1.2.1.5送貨單資料儲存處理1.2.1.6送貨單基本資料處理1.2.1.1送貨單成品明細處理1.2.1.3D2訂單資料D1客戶基本資料D3送貨單資料業務部D8成品資料確認後的送貨資料D3送貨單資料九十學年度第一學期系統分析與設計(實習)2-267.4處理規格描述與程式範例(c.2)•處理規格描述–以送貨金額處理為例Procedure1.2.1.4送貨金額處理Begin{11.計算送貨明細加總金額}{7.計算稅前總金額}{9.設定稅金額}{8.計算稅後金額}End;{***11.計算送貨明細加總金額***}Begin移動送貨單的送貨明細資料到第一筆記錄將送貨單的送貨明細加總金額初設為0當送貨單的送貨明細資料還沒超過最後一筆時重複以下動作Begin送貨單的送貨明細加總金額=送貨明細(數量×售價)+原送貨單的送貨明細加總金額移動送貨單的送貨明細資料到下一筆記錄End;End;九十學年度第一學期系統分析與設計(實習)2-277.5資料流程圖轉HIPO圖•請參閱圖7-10a~圖7-10d九十學年度第一學期系統分析與設計(實習)2-287.6結論•需求分析之結果是SA&D的主要輸入,因此需求分析之表達是否完整,對SA&D之成敗有關鍵性影響。•對結構化之SA&D而言,流程塑模是程式設計之基礎,遵循科學化之方法論以進行流程塑模,可提升程式模組化與結構化程度,對程式之再用性與維護性有很大的幫助。•本章以夢幻系統之範例,從需求分析至流程塑模,以幫助讀者瞭解整個方法論之應用。