370 likes | 493 Views
結構化系統分析與設計. 第十二章 系統建置 系統設計定讞後,整個系統即可進入系統建置 (System Development) 階段,其步驟如下: ( 一 ) 擬定系統建置計畫。 ( 二 ) 程式定義。 ( 三 ) 程式邏輯規劃。 ( 四 ) 程式設計。 ( 五 ) 測試。. 12-1 擬定系統建置計畫. 系統建置計畫應包括「擬定工作進度」與「分配工作」兩項,也就是要確定整個系統所需之工作項目,人力與時間,然後將各項工作分派給工作人員,所用工具為甘特圖 (Gantt Chart) 與要徑圖 (Critical Path Method, 簡稱 GPM) 。
E N D
結構化系統分析與設計 第十二章 系統建置 系統設計定讞後,整個系統即可進入系統建置(System Development)階段,其步驟如下: (一)擬定系統建置計畫。 (二)程式定義。 (三)程式邏輯規劃。 (四)程式設計。 (五)測試。
12-1 擬定系統建置計畫 • 系統建置計畫應包括「擬定工作進度」與「分配工作」兩項,也就是要確定整個系統所需之工作項目,人力與時間,然後將各項工作分派給工作人員,所用工具為甘特圖(Gantt Chart)與要徑圖(Critical Path Method, 簡稱GPM)。 • 「專案管理小組」應由資訊中心主管、系統分析師與程式設計員組成,並指定一位主管或資深系統分析師為負責人。
12-1 擬定系統建置計畫 圖:工作進度預定表
預計日期 實際日期 起 迄 人日 起 迄 12-1 擬定系統建置計畫 工作分配表 系統/子系統代號 填寫人 頁次 之 系統/子系統名稱 主管 日期 負責人姓名 工作代號 工作名稱 人日
12-2 程式定義 • 程式定義(Program Definition)就是要詳細描述每一個程式的輸出入資料檔(或資料庫)與處理需求(Processing Requirement),前者包括輸入資料規範、輸出資料規範、資料檔或資料庫格式(File Layout or Data Base Layout)及資料內容、性質等。
12-2 程式定義 12-2.1 程式規範書內容與格式 • 程式概要 • 處理規範 • 輸入規範 • 輸出規範 • 檔案(或資料庫)規範 • 代號規範 • 測試規範 • 附錄
程 式 規 範 書 系統/子系統代號填寫人頁次之 系統/子系統名稱日期/ / 程式代號程式名稱 1.輸入規範 2輸出規範 3.處理需求 4.邏輯規範 5.指令規範 6.測試規範 7.備 註 12-2 程式定義 圖:程式規範書
12-3 程式邏輯規劃 12-3.1 模組設計 • 所謂「模組設計」(Module Design)就是使用由上而下設計法(Top-Down Design Method),將程式的功能予以分類,首先應分成幾個大類,然後再將每一大類功能分解成小類功能,如此逐層細分下去,直到每一功能單元(亦稱模組)之內容變為很單純為止。當功能全部分解完成以後,再依據各個大小功能的層次關係,由上而下,由左而右予以結合,繪成一結構圖。
12-3 程式邏輯規劃 12-3.1 模組設計 • 結構圖: 結構圖(Structure Chart)是電腦科學大師Edward Yourdon所研究發明的結構化系統設計(Structured Design)工具,它以圖形表示各個模組(Module)間的層次關係及相互介面(Interfaces),所使用之圖號及代表意義如下:
12-3 程式邏輯規劃 圖 號 意 義 代表模組,模組的功能應標示於圖號內。 代表傳遞資料參數,"O"表示發送端,"→"表示接收端。 代表傳遞控制參數,""為發送端,"→"為接收端。 表示呼叫其他模組 表示條件呼叫,亦即在某種條件下才呼叫其他模組。 表示重複呼叫某一模組。
12-3 程式邏輯規劃 圖 號 意 義 表示共用模組,模組功能應標示於圖號內。 表示結構圖之轉頁或連接。。 表示更新作業。
12-3 程式邏輯規劃 圖: 結構圖
12-3 程式邏輯規劃 12-3.1 模組設計 • 模組設計方法: 繪製結構圖時,應先將該程式功能分成數個大類,然後再將每一大類功能分割成數個小類功能,如此逐層細分,直到每一功能單元(通稱為模組)之處理邏輯單純化為止。 • 繪製結構圖時,應依照下列原理辦理: • 分割原理:每一個程式的功能,必須依其層次關係,逐層細分,務使每一模組之功能趨於單純化。
12-3 程式邏輯規劃 • 耦合性原理:所謂耦合性(Coupling)是指模組與模組間的相互關係程度;模組的耦合性應愈弱愈好。 圖:耦合性弱 圖: 耦合性強
A B C D E F G A P Q B C D E F G 12-3 程式邏輯規劃 • 內聚力原理:所謂內聚力(Chesion)是指模組功能的單純化程度;模組的內聚力應愈強愈好。 • 控制幅度原理:當某一模組的控制幅度(Control Span)很大時(亦即組支出很多),可在它們的中間增加一層模組,以減少其控制幅度。
12-3 程式邏輯規劃 • 共用模組原理:儘量增加叢聚模組(Fan-in),可減少程式指令的重複。所謂叢聚模組是指可供多組模組呼叫之模組,亦即共用模組(Common Module)。 • 標識原理:每一模組均應清楚地註明其功能名稱及收受訊息名稱。 圖: 結構圖
12-3 程式邏輯規劃 • 模組設計實例 圖: 國光公司印表程式結構圖
12-3 程式邏輯規劃 12-3.2 模組描述 • 每一模組之詳細處理邏輯,可使用決策表、決策樹、虛擬碼、程式流程圖、IPO圖或N-S圖(Nassi-Shneiderman Chart)予以表示。 • 程式流程圖: • 使用公認的標準圖形繪製,且在每一圖形內應以文字說明其所代表的意義。 • 依照解決問題的步驟或程序,由上而下,由左而右順序繪製。
START STOP 12-3 程式邏輯規劃 • 流程圖的起點與終點應分別繪製一個起止圖形,其架構如下:
圖 形 名 稱 用 法 起止(Terminal) 處理(Process) 判斷(Decision) 輸入/輸出(Input/Output) 凡指揮電腦執行輸入或輸出作業時,應使用此種符號。如 A = B 連接(Connector) 用以表示處理步驟的連接。 箭頭(Arrow Line) 用以表示處理步驟的進行方向或程序。 12-3 程式邏輯規劃 1.應用在流程圖的起點,如 2.應用在流程圖的終點或出口,如 START EXIT 凡指揮電腦執行運算或整理資料等工作時,應使用此種符號,如 A = B A=A+B 或 凡指揮電腦執行「判斷」時使用之。所謂判斷係測試某一特定條件是否成立的意思,因此在測試後,必定會有「條件成立」或「條件不成立」兩種情形,這兩種情形應分別以Yes(True)或NO(False)表示之。如 Yes No READ INPUT DATA WRITE OUTPUT DATA 或
12-3 程式邏輯規劃 • 處理及輸入/輸出圖形,其轉入與轉出箭頭均各限一個。
12-3 程式邏輯規 • 判斷圖形之轉出箭頭應有兩個或三個,至於轉入箭頭亦只限一個。
12-3 程式邏輯規劃 (例一)圖: 程式流程圖
12-3 程式邏輯規劃 (例二)圖: 程式流程圖
12-3 程式邏輯規劃 • N-S圖: 此圖是由I.Nassi與Shneiderman兩人於西元1937年所創,以一個大方塊代表一個模組的處理內容,其中包含有長方形及倒立三角形,長方形表示順序指令,倒立三角形表示選擇指令,三角形右下方的長方形是表示條件成立時應執行的指令,左下方則表示條件不成立時應執行的指令。
12-3 程式邏輯規劃 • 順序架構 Action 1 Action 2 Action 3 Action 4 ………
Action 1 Action 1 Action 2 Action 2 Action 3 Action 3 Action 4 True 12-3 程式邏輯規劃 • 選擇架構 Condition False
12-3 程式邏輯規劃 • 重複架構
12-3 程式邏輯規劃 False Condition True • 個案架構
12-3 程式邏輯規劃 (例一)圖:N-S圖
12-3 程式邏輯規劃 (例二)圖:N-S圖
12-4 程式設計 • 程式規範書撰寫完成,程式設計人員可依照規範書內容,著手程式設計工作(Programming)。 • 此項工作可劃分為「規劃程式邏輯」與「撰寫指令」(Coding)兩個部分: • 規劃程式邏輯 • 撰寫程式指令: • 標準化 • 模組化 • 美觀 • 選擇程式語言
Program1 Program2 Program3 Program4 Program5 Program6 Program7 Program8 12-5 測試 • 測試可分為「個別程式測試」(Program Testing)、「相關程式測試」(String Testing)與「系統測試」(System Testing)三種。 個別程式測試 相關程式測試 系統測試 圖: 各種測試之相互關係 (系統分析師) (程式設計員) (程式設計員與系統分析師)
12-5 測試 12-5.1 個別程式測試 • 測試方式 • 白箱測試(White-Box testing) • 黑箱測試(Black-Box Testing) • 結構化程式之測試 為簡化其測試工作,我們可採用單元測試方式(亦即 模組測試)。
12-5 測試 000-MAIN-RTN OPEN INPUT INF OUTPUT PINF. PERFORM 100-INTITE-RTN. PERFORM 200-PROCESS-RTN UNTIL EOF-SW="Y". CLOSE INF PINF. STOP RUN. 100-INITITE-RTN. MOVE 0 TO TOTAL. MOVE CURRENT-DAE TO DATE MOVE 1 TO PAG. 真實指令
12-5 測試 • 虛擬段落內之DISPLAY陳述,係用以指出控制系統以執行至該段落;MOVE陳述,係用以滿足PERFORM 200-PROCESS-RTN UNTIL EOF-SW="Y"之條件,否則該PERFORM陳述將一直重複執行,永不停止。至於EXHIBIT陳述,係用以顯出處理後之結果,以便研判處理結果的正誤。 200-PROCESS-RTN DISPLAY"200-PROCESS-RTN". MOVE "Y"TO EOF-SW. EXHIBIT NAMED DATE. 虛擬指令