460 likes | 749 Views
第五章 : 資料處理之分析模型. 1. 前言 三種分析工具 1) 資料流程圖 ( Data Flow Diagram : DFD ) 2) 結構化英文 ( Structured English ) 3) 決策表 ( Decision Table ) ( 研究顯示採用 分析工具可 提高 產品 品質 節省成本 ) ( 分析模型可經由 CASE 協助自動產生程式或系統 ). DFD 之分析內涵. 1) 系統架構 ( 系統與環境間之資料互動 ) 2) 現有系統之資料流動
E N D
第五章 : 資料處理之分析模型 1. 前言 • 三種分析工具 1) 資料流程圖 ( Data Flow Diagram : DFD ) 2) 結構化英文 ( Structured English ) 3) 決策表 ( Decision Table ) ( 研究顯示採用分析工具可提高產品品質節省成本 ) ( 分析模型可經由 CASE 協助自動產生程式或系統 )
DFD 之分析內涵 1) 系統架構 ( 系統與環境間之資料互動 ) 2) 現有系統之資料流動 3) 新系統之邏輯處理方式 ( 不考慮採用何種硬體.. ) 4) 每一個處理流程內之物件內容描述
2. DFD 介紹 • 四個繪製 DFD 之符號
四個 DFD 符號代表之意義 a) 資料流 ( Data Flow ) : 代表資料之流動 範例 : 傳票、記帳憑證、報表、資料庫查詢結果、螢幕上出現之結果、某項資料… b)資料儲存( Data Store ) : 各種人工或自動化之資料儲存方式 範例 : 資料夾、各式電腦檔案 ( 磁帶、磁碟、…. ) 、筆記本、….
c) 處理 ( Process ) : 各種加諸於資料之行動 ( 作業 ) , 並使得資料產生 改變、儲存、分割 之結果 d)外部實體 ( External Entities ; Source / Sink ): 發動或終止資料流動者 ; 可能為一個組織或單位、企業內部或外部人員、另一系統… 範例 : 客戶、行員、環保署、供銷商、..
將作業處理程序 轉換成DFD之 範例 客人 至 客戶服務處繳還 賒欠之款項 , 客戶服務處 將付款資料傳送至 會計處 ; 更新客戶之應付帳款金額 , 並製作收據 給 客人 ; 次日 客戶服務處 將收到之 現金 或 票據 存入 銀行。
利用 DFD 繪製處理流程 ( 將 會計處 包含在系統內 )
錯誤地將會計處視為外部實體 ( 擬開發之系統若不含會計處此圖形亦正確 )
繪製 DFD 時之注意事項 (1) : • 相關之 處理作業 ( process ) , 應標示其唯一的參考編號 ( 1.0 , 2.0 , …. ) • 相關之 資料儲存 ( data store ) 亦應標示其唯一的參考編號 ( D1 , D2 , …. )
以 漢堡速食店 訂單處理繪製 DFD 2.1. 系統架構圖 ( Context Diagram ) ( 界定系統之範圍並標示主要外部實體 )
2.2. 系統主要處理流程 ( level-0 diagram ) • 漢堡速食店 訂單處理概述 : 1) 以各種方式取得客戶之速食訂單交予廚房 2) 記錄銷售內容 ( ie. 二個起司漢堡一包薯條… ) 3) 根據銷售內容扣除庫存 ( ie. 二個圓麵包二個餡餅二片起司 … ) 4) 當日營業結束列印管理報表供餐廳經理參考
繪製 DFD 時之注意事項 (2) : • DFD 並未標示事件發生之時間、次數及資料發生之數量 • 繪製 DFD 之基本原則 ( 表 5-2 ; 圖 5-6 ) ( 圖 5-6 使用之 符號和教科書原先有異 )
繪製 DFD 時之注意事項 (3) : • 處理作業 之輸入或輸出 資料流 其內容或名稱應有差異 • DFD 內之所有 物件 名稱應具唯一性
2.3. 處理流程之細部分解 • level-1 diagram : 針對 level-0 圖形中某一處理予以細部分解 • 以 圖 5.5. 中之 作業 1.0 為例可細部分解為: 1) 取得客戶二聯式訂單 2) 製作收據給予客戶 3) 第一聯交給廚房製作食物 4) 第二聯做為當日銷售明細及庫存原料消耗之處理憑證
level-n diagram : 針對 level-n-1 圖形中某一處理予以細部分解 ; 其中n 為自然數 ( level-2 DFD 繪製 )
繪製 DFD 時之注意事項 (4) : • 每一張 DFD 圖形內之 處理作業( process)最好不要超過 7 個 • 分解至不能再分解之圖形稱為 “ primitive DFD “ • 處理作業 之第一個字必為動詞 ( verb ) ( ie. 收到、計算、製作、產生、… )
2.4.作業分解時之平衡 ( Balancing DFDs ) • 上一層之 DFD 作業處理 , 其輸出輸入資料流個數 , 必須和下一層 DFD相等 • 圖 5-5 及 圖 5-7 為一平衡之分解 (二個圖中之 1.0 作業均為 1 個輸入 4 個輸出)
不平衡之分解圖 ( 1 輸入 1 輸出 ==> 2 輸入 1 輸出 )
複合型資料之合成與分解( 此一 DFD 也視為平衡 )
3. 利用 DFD 進行處理分析 3.1. 繪製 DFD 之原則 1) 完整性 : 必須將作業處理之相關物件予以完整 納入 ( Completeness ) 2) 一致性 : 不同層次之處理描述應一致、平衡 ( Consistency )
3) 圖形之盲點 : 無法表達處理時間、週期、批次 作業、… 等工作 4) 在系統發展生命週期間須不斷地修正 5) 不易掌握何時停止圖形分解之工作 ( 6 個原則 ) 註 :1) 2) 及 4) 可經由電腦輔助軟體工具 ( CASE ) 協助達成
3.2. 將 DFD 視為重要的分析工具 • 舊有實體系統、未來邏輯系統之處理描述 • 二組以上流程之差異性分析(Gap Analysis) • 找出重覆性之處理流程或儲存資料 • 界定缺乏效率之處理流程 • 未來實體系統應採用何種硬體之沙盤推演 ( one logical DFD ==> several physical DFDs )
3.3. 使用 DFD 進行企業流程改造 ( BPR ) • 流程改造大師 Hammer & Champy 以 IBM 貸款公司為例 1) 改造前 : 多人參與、流程繁瑣、須 6個工 作天 … 2) 改造後 : 一般案件採單一窗口 ( 一位專才取代原先 5 個分工處理程序 ) ( 用人精簡、效率提高100倍、90分鐘完成 )
4. 如何表達某一作業之處理邏輯 • DFD 並未將處理邏輯予以表達應採用其他工具搭配 • 二種工具之介紹
4.1. 結構化英文 ( Structured English ) • 以類似英文之結構化語法描述處理邏輯 ( 期望讓非程式設計者了解程式之處理 ) • 保留程式語言中之關鍵字 ( ie. IF .. THEN .. ELSE .. , DO UNTIL …. ) • 不須考慮變數之設定或檔案之處理細節
結構化英文中包含名詞與動詞 ; 但不包含形容詞及副詞 • 與一般程式語言一樣須包含三種基本語法 • 順序 • 條件 ( IF … ELSE … ; SELECT CASE …. ) • 迴路 ( DO … UNTIL ; DO WHILE …. )
Note : 適應國內環境也可採用中文混合模式 條件敘述 ( IF 範例 ) IF 庫存量 < 安全庫存值 THEN 產生一筆新訂單交易 ENDIF
條件敘述 ( CASE 範例 ) 讀取 庫存量 記錄 SELECT CASE CASE 1 : ( 庫存量 > 安全庫存值 ) EXIT CASE 2 : ( 庫存量 = 安全庫存值 ) EXIT CASE 3 : ( 庫存量 < 安全庫存值 ) 產生一筆新訂單交易 CASE 4 : ( 庫存量 = 0 ) 產生一筆緊急訂單交易 ENDCASE
4.2. 決策表 ( Decision Table ) • 當某項處理邏輯 , 在諸多不同之條件或條件組合下 , 將採取不同之行動時 ; 使用結構化英文較不易清楚地表達 • 決策表 之架構 : 條件敘述 各種條件值組合 行動對策 各種組合對應之行動
決策表繪製範例 ( 圖 5-16 ) • 某公司有二類員工 ( 正式vs.按時計酬 ) 員工之週薪依其工作時數有三種分類 ; 六種組合下有四種不同之薪資給付方式
簡化決策表之繪製 ( 圖 5-17 ) • 由 圖 5-16 顯示 , 對正式員工而言不論其工作時數多寡其計酬方式均相同
漢堡速食店訂貨之決策表 • 影響漢堡速食店訂貨方式之因素有三 : 1) 貨品之易腐性 ( 容易腐敗者 / 不易腐敗者 ) 2) 訂貨之時點 ( 非週末 / 週末 ) 3) 季節性 ( 平常日 / 暑假期間 / 假日 ) • 此三項因素產生 2 × 2 × 3 = 12 種組合 , 並對應 5 種訂貨方案 ( 圖 5 - 18 )
簡化決策表之繪製 • 修正之理由 : 不易腐敗之貨品 諸如紙杯、吸管等 , 其訂貨方式不受時點及季節性等因素影響
5. PVF 公司之網路商店 • 網路商店之主要處理畫面及主處理流程 ( Table 5-4 ) • 必須與現有資訊系統結合 ( 結合 客戶訂購處理 及 客戶購物行為追蹤 ) • 網路商店必須能擷取現有資料庫之內容 ( 庫存資料 ) ; 並建構一個暫存檔案 (購物車)