版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第四章第四章 系統(tǒng)設計系統(tǒng)設計 系統(tǒng)設計就是根據(jù)目標系統(tǒng)的邏輯模型建立系統(tǒng)設計就是根據(jù)目標系統(tǒng)的邏輯模型建立物理物理模型模型,即根據(jù)目標系統(tǒng)邏輯功能的要求,考,即根據(jù)目標系統(tǒng)邏輯功能的要求,考慮實際情況,詳細地確定目標系統(tǒng)的結構和具體慮實際情況,詳細地確定目標系統(tǒng)的結構和具體的的實施方案實施方案?;仡櫥仡?系統(tǒng)分析階段的主要工作及程序:系統(tǒng)分析階段的主要工作及程序: 系統(tǒng)初步調查;系統(tǒng)初步調查; 詳細調查和需求分析;詳細調查和需求分析; 提出新系統(tǒng)建議方案提出新系統(tǒng)建議方案提出新系統(tǒng)建議方案提出新系統(tǒng)建議方案:通過系統(tǒng)調查和分析,對現(xiàn)行系:通過系統(tǒng)調查和分析,對現(xiàn)行系統(tǒng)的工作流程、信息特征、處
2、理方法、存在問題等有了深入統(tǒng)的工作流程、信息特征、處理方法、存在問題等有了深入了解以后,就應提出系統(tǒng)建議方案,主要包括:了解以后,就應提出系統(tǒng)建議方案,主要包括:系統(tǒng)目標系統(tǒng)目標、系統(tǒng)規(guī)格系統(tǒng)規(guī)格、系統(tǒng)流程圖系統(tǒng)流程圖、系統(tǒng)數(shù)據(jù)處理方式系統(tǒng)數(shù)據(jù)處理方式、選定計算機類選定計算機類型型、經(jīng)濟效果評價經(jīng)濟效果評價等。等。系統(tǒng)流程圖:系統(tǒng)流程圖:系統(tǒng)流程圖是將表達各個處理單位數(shù)據(jù)關系系統(tǒng)流程圖是將表達各個處理單位數(shù)據(jù)關系的數(shù)據(jù)關系圖綜合起來,用以表達整個系統(tǒng)數(shù)據(jù)關系的總圖。的數(shù)據(jù)關系圖綜合起來,用以表達整個系統(tǒng)數(shù)據(jù)關系的總圖。它是在分析和研究現(xiàn)行系統(tǒng)工作流程圖的基礎上提出的它是在分析和研究現(xiàn)行系統(tǒng)工作
3、流程圖的基礎上提出的: 根根據(jù)輸入數(shù)據(jù)可能產(chǎn)生的中間數(shù)據(jù)和最后輸出信息,畫出每個據(jù)輸入數(shù)據(jù)可能產(chǎn)生的中間數(shù)據(jù)和最后輸出信息,畫出每個處理單位的數(shù)據(jù)關系圖,加以歸納形成系統(tǒng)流程圖。處理單位的數(shù)據(jù)關系圖,加以歸納形成系統(tǒng)流程圖。例如利用結構化系統(tǒng)分析方法建立例如利用結構化系統(tǒng)分析方法建立數(shù)據(jù)流圖數(shù)據(jù)流圖、數(shù)據(jù)詞典數(shù)據(jù)詞典。數(shù)據(jù)流圖:數(shù)據(jù)流圖:數(shù)據(jù)流圖運用數(shù)據(jù)流圖運用“數(shù)據(jù)流數(shù)據(jù)流”、“文件文件”和和“加工加工”等概等概念描述信息處理系統(tǒng)的各個處理環(huán)節(jié)及處理環(huán)節(jié)之間信息的傳遞念描述信息處理系統(tǒng)的各個處理環(huán)節(jié)及處理環(huán)節(jié)之間信息的傳遞關系,從而直觀地反映出系統(tǒng)的各個組成部分和不同組成部分之關系,從而直觀
4、地反映出系統(tǒng)的各個組成部分和不同組成部分之間的相互關系。間的相互關系。數(shù)據(jù)詞典:數(shù)據(jù)詞典:是關于數(shù)據(jù)信息的集合,是在數(shù)據(jù)流圖的基礎上,對是關于數(shù)據(jù)信息的集合,是在數(shù)據(jù)流圖的基礎上,對其中出現(xiàn)的每個數(shù)據(jù)流、加工、文件和數(shù)據(jù)項、外部項進行定義其中出現(xiàn)的每個數(shù)據(jù)流、加工、文件和數(shù)據(jù)項、外部項進行定義的工具。數(shù)據(jù)詞典的作用也正是在軟件分析和設計的過程中給人的工具。數(shù)據(jù)詞典的作用也正是在軟件分析和設計的過程中給人提供關于數(shù)據(jù)的描述信息。提供關于數(shù)據(jù)的描述信息。 第一節(jié)第一節(jié) 概述概述 系統(tǒng)設計的原則、任務和步驟系統(tǒng)設計的原則、任務和步驟第二節(jié)第二節(jié) 結構化設計方法結構化設計方法 總體設計總體設計 模塊結
5、構圖模塊結構圖第三節(jié)第三節(jié) 詳細設計的工具詳細設計的工具 詳細設計詳細設計第四節(jié)第四節(jié) 詳細設計的主要工作詳細設計的主要工作 代碼設計、輸出設計、輸入設計代碼設計、輸出設計、輸入設計 處理過程設計、數(shù)據(jù)存貯設計處理過程設計、數(shù)據(jù)存貯設計第五節(jié)第五節(jié) 系統(tǒng)設計說明書的組成系統(tǒng)設計說明書的組成本章主要內容本章主要內容第一節(jié)第一節(jié) 概述概述一、系統(tǒng)設計的原則一、系統(tǒng)設計的原則二、系統(tǒng)設計的任務和步驟二、系統(tǒng)設計的任務和步驟三、計算機設備的選擇三、計算機設備的選擇一、系統(tǒng)設計的原則一、系統(tǒng)設計的原則 系統(tǒng)設計的優(yōu)劣直接影響到目標系統(tǒng)的質量和經(jīng)濟系統(tǒng)設計的優(yōu)劣直接影響到目標系統(tǒng)的質量和經(jīng)濟效益,為了使所
6、設計的目標系統(tǒng)成為一個滿足用戶需效益,為了使所設計的目標系統(tǒng)成為一個滿足用戶需要的、具有較強生命力的系統(tǒng),在系統(tǒng)設計時必須遵要的、具有較強生命力的系統(tǒng),在系統(tǒng)設計時必須遵循以下原則:循以下原則: 簡單性簡單性 靈活性和適應性靈活性和適應性 一致性和完整性一致性和完整性 可靠性可靠性 經(jīng)濟性經(jīng)濟性簡單性簡單性靈活性和適應性靈活性和適應性一致性和完整性一致性和完整性可靠性可靠性經(jīng)濟性經(jīng)濟性 在達到預定的目標、具備所需要的功能的在達到預定的目標、具備所需要的功能的前提下,系統(tǒng)應當盡量簡單。這樣可減少處理前提下,系統(tǒng)應當盡量簡單。這樣可減少處理費用,提高系統(tǒng)效益,同時也便于管理。費用,提高系統(tǒng)效益,同
7、時也便于管理。簡單性簡單性靈活性和適應性靈活性和適應性一致性和完整性一致性和完整性可靠性可靠性經(jīng)濟性經(jīng)濟性 現(xiàn)代化企業(yè)的特點之一,就是其對外界環(huán)現(xiàn)代化企業(yè)的特點之一,就是其對外界環(huán)境的變化有很強的適應能力。作為企業(yè)的管理境的變化有很強的適應能力。作為企業(yè)的管理信息系統(tǒng)也必須具有相當?shù)撵`活性,以便適應信息系統(tǒng)也必須具有相當?shù)撵`活性,以便適應外界環(huán)境的不斷變化。外界環(huán)境的不斷變化。例例1:將各類參數(shù):將各類參數(shù)(如利率、貼現(xiàn)率、如利率、貼現(xiàn)率、)放到文件放到文件而不是固定在程序中,同時在系統(tǒng)中提供修改而不是固定在程序中,同時在系統(tǒng)中提供修改參數(shù)的工具。參數(shù)的工具。例例2:菜單項可增減甚至定制:菜單
8、項可增減甚至定制例例3:某項功能放到:某項功能放到DLL中,需要變更時僅替中,需要變更時僅替換換DLL簡單性簡單性靈活性和適應性靈活性和適應性一致性和完整性一致性和完整性可靠性可靠性經(jīng)濟性經(jīng)濟性 一致性有利于子系統(tǒng)之間、多系統(tǒng)之間的聯(lián)系一致性有利于子系統(tǒng)之間、多系統(tǒng)之間的聯(lián)系與合作。因此,系統(tǒng)中信息與合作。因此,系統(tǒng)中信息編碼編碼、采集、信息通信、采集、信息通信要具備要具備一致性一致性,設計規(guī)范應標準。由于系統(tǒng)是作為,設計規(guī)范應標準。由于系統(tǒng)是作為一個統(tǒng)一的整體而存在的,所以系統(tǒng)的一個統(tǒng)一的整體而存在的,所以系統(tǒng)的功能功能應當盡應當盡量量完整完整。 例例1:學校的學工處、圖書館、醫(yī)院、食堂等的
9、信:學校的學工處、圖書館、醫(yī)院、食堂等的信息管理系統(tǒng),確定學生身份采用統(tǒng)一的息管理系統(tǒng),確定學生身份采用統(tǒng)一的“學號學號”(教職工也采用統(tǒng)一編碼的方式,保證各子系統(tǒng)間(教職工也采用統(tǒng)一編碼的方式,保證各子系統(tǒng)間的聯(lián)系)。的聯(lián)系)。例例2:身份證編碼采用國家規(guī)定統(tǒng)一規(guī)范、土地分:身份證編碼采用國家規(guī)定統(tǒng)一規(guī)范、土地分類采用國土資源局規(guī)定分類規(guī)范類采用國土資源局規(guī)定分類規(guī)范簡單性簡單性靈活性和適應性靈活性和適應性一致性和完整性一致性和完整性可靠性可靠性經(jīng)濟性經(jīng)濟性 只有可靠的系統(tǒng),才能保證系統(tǒng)的質只有可靠的系統(tǒng),才能保證系統(tǒng)的質量并得到用戶的信任。因此,系統(tǒng)必須是穩(wěn)量并得到用戶的信任。因此,系統(tǒng)必
10、須是穩(wěn)定的可靠的,否則就沒有使用價值。定的可靠的,否則就沒有使用價值。 例例1:程序運行結果可靠?:程序運行結果可靠?例例2:程序運行狀態(tài)?數(shù)據(jù)量超過一定值:程序運行狀態(tài)?數(shù)據(jù)量超過一定值死機、長時間等待死機、長時間等待例例3:突然斷電,數(shù)據(jù)丟失?:突然斷電,數(shù)據(jù)丟失?良好的數(shù)據(jù)良好的數(shù)據(jù)備份機制備份機制例例4:密碼、數(shù)據(jù)安全?:密碼、數(shù)據(jù)安全?銀行卡銀行卡簡單性簡單性靈活性和適應性靈活性和適應性一致性和完整性一致性和完整性可靠性可靠性經(jīng)濟性經(jīng)濟性 系統(tǒng)應該給用戶帶來相應的經(jīng)濟效益。系統(tǒng)應該給用戶帶來相應的經(jīng)濟效益。系統(tǒng)的投資和經(jīng)營費用應當?shù)玫窖a償。需要系統(tǒng)的投資和經(jīng)營費用應當?shù)玫窖a償。需要指
11、出的是,這種補償有時是間接的或不能定指出的是,這種補償有時是間接的或不能定量計算的。特別是對于管理信息系統(tǒng),它的量計算的。特別是對于管理信息系統(tǒng),它的效益當中,有很大一部分效益不能以貨幣來效益當中,有很大一部分效益不能以貨幣來商量。商量。 二、系統(tǒng)設計的任務和步驟二、系統(tǒng)設計的任務和步驟 系統(tǒng)設計的任務,是將分析階段所獲得的系統(tǒng)說明書,轉換系統(tǒng)設計的任務,是將分析階段所獲得的系統(tǒng)說明書,轉換成一個具體的計算機實現(xiàn)方案。成一個具體的計算機實現(xiàn)方案。 系統(tǒng)設計由總體設計和詳細設計兩部分組成。系統(tǒng)設計由總體設計和詳細設計兩部分組成。 總體設計總體設計也稱初步設計或結構設計。在總體設計過程中要確也稱初
12、步設計或結構設計。在總體設計過程中要確定系統(tǒng)模塊結構,并畫出模塊結構圖。定系統(tǒng)模塊結構,并畫出模塊結構圖。 詳細設計詳細設計是在總體設計基礎上,確定每個模塊內部的詳細執(zhí)是在總體設計基礎上,確定每個模塊內部的詳細執(zhí)行過程,包括局部數(shù)據(jù)組織、控制流、每一步的具體加工要求等。行過程,包括局部數(shù)據(jù)組織、控制流、每一步的具體加工要求等。1總體設計總體設計 也稱初步設計或結構設計。在總體設計過程中要確定系統(tǒng)也稱初步設計或結構設計。在總體設計過程中要確定系統(tǒng)模塊結構,并畫出模塊結構圖。模塊結構,并畫出模塊結構圖。 在總體設計階段必須考慮以下幾個問題:在總體設計階段必須考慮以下幾個問題: 如何將一個系統(tǒng)或子系
13、統(tǒng)劃分成多個模塊;如何將一個系統(tǒng)或子系統(tǒng)劃分成多個模塊; 如何確定模塊間傳送的數(shù)據(jù)及其調用關系;如何確定模塊間傳送的數(shù)據(jù)及其調用關系; 如何評價并改進模塊結構的質量。如何評價并改進模塊結構的質量。設計方法:結構化設計設計方法:結構化設計2詳細設計詳細設計 在總體設計基礎上,詳細設計是要確定每個模塊內部的詳細執(zhí)在總體設計基礎上,詳細設計是要確定每個模塊內部的詳細執(zhí)行過程,包括局部數(shù)據(jù)組織、控制流、每一步的具體加工要求等。行過程,包括局部數(shù)據(jù)組織、控制流、每一步的具體加工要求等。 方法:方法:詳細設計的關鍵是用一種合適的方式來描述每個模塊的詳細設計的關鍵是用一種合適的方式來描述每個模塊的執(zhí)行過程,
14、常用的有流程圖、問題分析圖、執(zhí)行過程,常用的有流程圖、問題分析圖、IPO圖和過程設計語言。圖和過程設計語言。3 系統(tǒng)設計階段的結果系統(tǒng)設計階段的結果v系統(tǒng)設計階段的結果是系統(tǒng)設計說明書,系統(tǒng)設計階段的結果是系統(tǒng)設計說明書,它主要由它主要由模塊結構圖和模塊說明書模塊結構圖和模塊說明書兩部分兩部分組成。模塊結構圖說明系統(tǒng)由哪些模塊組組成。模塊結構圖說明系統(tǒng)由哪些模塊組成和各模塊間的聯(lián)系情況,模塊說明書則成和各模塊間的聯(lián)系情況,模塊說明書則詳細描述了每一模塊的詳細描述了每一模塊的輸入輸出數(shù)據(jù)、功輸入輸出數(shù)據(jù)、功能、算法能、算法等。等。三、計算機設備的選擇三、計算機設備的選擇模塊結構圖設計完畢以后,模
15、塊結構圖設計完畢以后,總體設計總體設計的另一個任務就是的另一個任務就是選擇適合于該系統(tǒng)的計算機設備,確定具體的配置方案。選擇適合于該系統(tǒng)的計算機設備,確定具體的配置方案。一個管理信息系統(tǒng)的計算機設備的選擇,主要應該根據(jù)一個管理信息系統(tǒng)的計算機設備的選擇,主要應該根據(jù)用戶環(huán)境的特點、性能的要求、投資的情況用戶環(huán)境的特點、性能的要求、投資的情況等因素來確等因素來確定。既要考慮到當前系統(tǒng)的信息量和對各種數(shù)據(jù)的處理定。既要考慮到當前系統(tǒng)的信息量和對各種數(shù)據(jù)的處理功能,又要考慮到系統(tǒng)將來可能發(fā)展和擴展的功能。功能,又要考慮到系統(tǒng)將來可能發(fā)展和擴展的功能。具體說來,系統(tǒng)設備的配置應從以下方面來考慮:具體說
16、來,系統(tǒng)設備的配置應從以下方面來考慮:(1)客觀條件的約束)客觀條件的約束: 包括投資、原有機房條件、位置、開發(fā)包括投資、原有機房條件、位置、開發(fā)技術力量、系統(tǒng)運行和維護的技術力量。技術力量、系統(tǒng)運行和維護的技術力量。(2)處理方式)處理方式: 采取的是批處理還是實時處理方式。采取的是批處理還是實時處理方式。(3)終端需求數(shù))終端需求數(shù): 由聯(lián)機數(shù)據(jù)輸入量、屏幕顯示量和地理位置由聯(lián)機數(shù)據(jù)輸入量、屏幕顯示量和地理位置的需要,確定終端需求數(shù)。的需要,確定終端需求數(shù)。(4)聯(lián)機存貯量)聯(lián)機存貯量: 根據(jù)應用軟件、系統(tǒng)軟件的規(guī)模,管理信息根據(jù)應用軟件、系統(tǒng)軟件的規(guī)模,管理信息系統(tǒng)所存儲的數(shù)據(jù)量和數(shù)據(jù)庫
17、文件的輔助開銷來估算出聯(lián)機系統(tǒng)所存儲的數(shù)據(jù)量和數(shù)據(jù)庫文件的輔助開銷來估算出聯(lián)機存貯量需求,一般還得在此基礎上加上一定的擴充余量。存貯量需求,一般還得在此基礎上加上一定的擴充余量。(5)打印機)打印機: 根據(jù)系統(tǒng)輸出量的要求和地理位置的情況決定打根據(jù)系統(tǒng)輸出量的要求和地理位置的情況決定打印機的數(shù)量和型號。印機的數(shù)量和型號。(6)其他設備)其他設備: 若需要遠程通信,則要考慮調制解調器、通信若需要遠程通信,則要考慮調制解調器、通信控制器等設備。此外還有空調器、穩(wěn)壓電源或不間斷電源等機控制器等設備。此外還有空調器、穩(wěn)壓電源或不間斷電源等機房設備也需作相應考慮。房設備也需作相應考慮。(7)軟件)軟件:
18、 在確定硬件的同時就必須對相應的軟件進行計劃,在確定硬件的同時就必須對相應的軟件進行計劃,包括操作系統(tǒng)、高級語言和數(shù)據(jù)庫系統(tǒng)等。包括操作系統(tǒng)、高級語言和數(shù)據(jù)庫系統(tǒng)等。例例1:某系統(tǒng):某系統(tǒng)例例2例例4:選擇:選擇GIS平臺軟件平臺軟件硬件:硬件: 服務器服務器 + 客戶端客戶端 輸入:掃描儀、數(shù)字化儀輸入:掃描儀、數(shù)字化儀 輸出:打印機、繪圖儀輸出:打印機、繪圖儀 存儲:刻錄機、磁帶機、磁盤陣列存儲:刻錄機、磁帶機、磁盤陣列 網(wǎng)絡:服務器網(wǎng)絡:服務器 + 其他網(wǎng)絡設備其他網(wǎng)絡設備 其他其他 軟件:軟件: 操作系統(tǒng)操作系統(tǒng) 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng) GIS平臺或開發(fā)包平臺或開發(fā)包 開發(fā)語言開發(fā)語言
19、第二節(jié)第二節(jié) 結構化設計方法結構化設計方法結構化設計結構化設計Structured Design,簡稱,簡稱SD是使用最廣的一種設計方法,由美國是使用最廣的一種設計方法,由美國IBM公司的公司的W. STEVENS, G. MYERS和和L. CONSTANTINE等人提等人提出。出。該方法該方法適合于軟件系統(tǒng)的總體設計適合于軟件系統(tǒng)的總體設計,通常與結構化分,通常與結構化分析析(SA)方法銜接起來使用。方法銜接起來使用。特點:特點:(1)相對獨立、功能單一的模塊結構)相對獨立、功能單一的模塊結構。結構化設計的。結構化設計的基本思想是將系統(tǒng)設計成由相對獨立、單一功能的?;舅枷胧菍⑾到y(tǒng)設計成由
20、相對獨立、單一功能的模塊組成的結構。塊組成的結構。 由于模塊之間相對獨立,每一模塊就可以單獨地由于模塊之間相對獨立,每一模塊就可以單獨地被理解、編寫、測試、排錯和修改。從而有效地防止被理解、編寫、測試、排錯和修改。從而有效地防止錯誤在模塊之間擴散蔓延,提高了系統(tǒng)的質量錯誤在模塊之間擴散蔓延,提高了系統(tǒng)的質量(可維護可維護性、可靠性等性、可靠性等),同時,系統(tǒng)研制工作也大大簡化。,同時,系統(tǒng)研制工作也大大簡化。特點:特點:(2)塊內聯(lián)系大、塊間聯(lián)系?。K內聯(lián)系大、塊間聯(lián)系小。模塊內部聯(lián)系要大,。模塊內部聯(lián)系要大,模塊之間聯(lián)系要小,這是結構化設計中衡量模塊之間聯(lián)系要小,這是結構化設計中衡量相對獨立
21、相對獨立性能的標準。事實上,塊內聯(lián)系和塊間聯(lián)系是同一件性能的標準。事實上,塊內聯(lián)系和塊間聯(lián)系是同一件事的兩個方面,系統(tǒng)中各組成成分之間是有聯(lián)系的,事的兩個方面,系統(tǒng)中各組成成分之間是有聯(lián)系的,若把聯(lián)系密切的成分組織在同一模塊中,塊內聯(lián)系高若把聯(lián)系密切的成分組織在同一模塊中,塊內聯(lián)系高了,則塊間聯(lián)系也少了。反之,若把密切相關的一些了,則塊間聯(lián)系也少了。反之,若把密切相關的一些成分分散在各個模塊中,勢必造成很高的塊間聯(lián)系。成分分散在各個模塊中,勢必造成很高的塊間聯(lián)系。特點:特點:(3)采用模塊結構圖的描述方式。)采用模塊結構圖的描述方式。結構化設結構化設計方法使用的描述方式是模塊結構圖。模塊結計方
22、法使用的描述方式是模塊結構圖。模塊結構圖不僅描述了系統(tǒng)的分層模塊結構,清楚地構圖不僅描述了系統(tǒng)的分層模塊結構,清楚地表示了每個模塊的功能,而且直觀地反映了塊表示了每個模塊的功能,而且直觀地反映了塊內聯(lián)系和塊間聯(lián)系等特性。內聯(lián)系和塊間聯(lián)系等特性。步驟:步驟:第一步,建立一個滿足系統(tǒng)說明書的初始結構圖。第一步,建立一個滿足系統(tǒng)說明書的初始結構圖。第二步,對結構圖作逐步改進。即在圖中找出塊間第二步,對結構圖作逐步改進。即在圖中找出塊間聯(lián)系和塊內聯(lián)系尚可改進之處,然后對有關部分做聯(lián)系和塊內聯(lián)系尚可改進之處,然后對有關部分做適當修改和調整。適當修改和調整。一、模塊結構圖一、模塊結構圖二、模塊結構的質量標
23、準二、模塊結構的質量標準三、模塊結構的標準形式三、模塊結構的標準形式四、從數(shù)據(jù)流圖導出初始結構圖四、從數(shù)據(jù)流圖導出初始結構圖五、模塊結構圖的改進五、模塊結構圖的改進一、模塊結構圖一、模塊結構圖 是結構化設計中描述系統(tǒng)結構的圖形工具,是結構化設計中描述系統(tǒng)結構的圖形工具,由模塊、調用、數(shù)據(jù)、由模塊、調用、數(shù)據(jù)、控制和轉接等五種基本符號組成控制和轉接等五種基本符號組成。 作為一種文檔,它必須嚴格地定義作為一種文檔,它必須嚴格地定義模塊名稱、功能和接口,同時還應當在圖上反映出設計思想。模塊名稱、功能和接口,同時還應當在圖上反映出設計思想。1. 模塊模塊通常指用一個名字代表的可以被調用的一段程序代碼通
24、常指用一個名字代表的可以被調用的一段程序代碼(程序塊)。(程序塊)。例:(例:(1)函數(shù)調用)函數(shù)調用 (2)過程調用)過程調用 一個模塊一般要具備以下要素:一個模塊一般要具備以下要素:(1)輸入和輸出。)輸入和輸出。模塊的輸入來源和輸出去向都是同一個模塊的輸入來源和輸出去向都是同一個調用者,即一個模塊從調用者那兒取得輸入,進行加工后再調用者,即一個模塊從調用者那兒取得輸入,進行加工后再把輸出返回調用者。把輸出返回調用者。(2)功能。)功能。指模塊把輸入轉換成輸出所做的工作。指模塊把輸入轉換成輸出所做的工作。(3)內部數(shù)據(jù)。)內部數(shù)據(jù)。指僅供該模塊本身引用的數(shù)據(jù)。指僅供該模塊本身引用的數(shù)據(jù)。(
25、4)程序代碼。)程序代碼。指用來實現(xiàn)模塊功能的程序。指用來實現(xiàn)模塊功能的程序。 前兩個要素是模塊的外部特性,即反映了模塊的外貌。前兩個要素是模塊的外部特性,即反映了模塊的外貌。后兩個要素是模塊的內部特性。在結構化設計中。首先關心后兩個要素是模塊的內部特性。在結構化設計中。首先關心的是外部特性,其內部特性只做必要了解。的是外部特性,其內部特性只做必要了解。外部數(shù)據(jù)外部數(shù)據(jù)外表功能外表功能內部數(shù)據(jù)內部數(shù)據(jù)內部功能內部功能2. 調用調用 在模塊結構圖中,用連接兩個模在模塊結構圖中,用連接兩個模塊的箭頭表示調用,箭頭由調用模塊指塊的箭頭表示調用,箭頭由調用模塊指向被調用模塊。含義應理解為被調用模向被調
26、用模塊。含義應理解為被調用模塊執(zhí)行后又返回到調用模塊。塊執(zhí)行后又返回到調用模塊。 如果一個模塊是否調如果一個模塊是否調用一個從屬模塊,決定于用一個從屬模塊,決定于調用模塊內部的判斷條件,調用模塊內部的判斷條件,則該調用稱為模塊間的則該調用稱為模塊間的判判斷調用斷調用,采用菱形符號表,采用菱形符號表示。示。 如果一個模塊通過其內部的循環(huán)功能來循環(huán)調用如果一個模塊通過其內部的循環(huán)功能來循環(huán)調用一個或多個從屬模塊,則該調用稱為一個或多個從屬模塊,則該調用稱為循環(huán)調用循環(huán)調用,用弧形,用弧形箭頭表示。箭頭表示。3. 數(shù)據(jù)數(shù)據(jù) 當一個模塊調用另一個模塊時,當一個模塊調用另一個模塊時,調用模塊可以把數(shù)據(jù)傳
27、送到被調用模調用模塊可以把數(shù)據(jù)傳送到被調用模塊處供處理,而被調用模塊又可以將塊處供處理,而被調用模塊又可以將處理的結果數(shù)據(jù)送回到調用模塊。處理的結果數(shù)據(jù)送回到調用模塊。 模塊間傳送的數(shù)據(jù),用與調用箭模塊間傳送的數(shù)據(jù),用與調用箭頭平行的帶空心圓的箭頭表示,并在頭平行的帶空心圓的箭頭表示,并在旁邊標上數(shù)據(jù)名。旁邊標上數(shù)據(jù)名。4. 控制信息控制信息 為了指導程序下一步的執(zhí)行,模塊間有時還必須傳為了指導程序下一步的執(zhí)行,模塊間有時還必須傳送某些控制信息送某些控制信息,控制信息與數(shù)據(jù)的主要區(qū)別是前者只反,控制信息與數(shù)據(jù)的主要區(qū)別是前者只反映數(shù)據(jù)的某種狀態(tài),不必進行處理。圖中用帶實心圓點的映數(shù)據(jù)的某種狀態(tài)
28、,不必進行處理。圖中用帶實心圓點的箭頭表示控制信息。箭頭表示控制信息。 例,數(shù)據(jù)輸入中的結束標志,例,數(shù)據(jù)輸入中的結束標志, 文件結束標志。文件結束標志。5. 轉接符號轉接符號 當模塊結構圖當模塊結構圖在一張圖面上畫不下在一張圖面上畫不下,需要轉接到另,需要轉接到另外一張紙上,或為了外一張紙上,或為了避免圖上線條交叉時避免圖上線條交叉時,都可使用轉接,都可使用轉接符號。符號?!坝嬎愎べY程序計算工資程序”的模塊結構圖示例,的模塊結構圖示例,4個模塊個模塊“模塊結構圖模塊結構圖”與與“框圖框圖” 的關系的關系 一個軟件系統(tǒng)具有過程性一個軟件系統(tǒng)具有過程性(處理動作的順序處理動作的順序)和層次性和層
29、次性(系統(tǒng)的各組成部分的管轄范圍系統(tǒng)的各組成部分的管轄范圍)特征。特征。模塊結構圖描述的模塊結構圖描述的是系統(tǒng)的層次性,而通常的是系統(tǒng)的層次性,而通常的“框圖框圖”則描述的是系統(tǒng)的過則描述的是系統(tǒng)的過程性。程性?!澳K結構圖模塊結構圖”與與 “數(shù)據(jù)流圖數(shù)據(jù)流圖”的關系的關系 數(shù)據(jù)流圖是從數(shù)據(jù)在系統(tǒng)中的流動情況來考慮系統(tǒng)數(shù)據(jù)流圖是從數(shù)據(jù)在系統(tǒng)中的流動情況來考慮系統(tǒng)的,而模塊結構圖則從功能的層次關系上來考察系統(tǒng)。的,而模塊結構圖則從功能的層次關系上來考察系統(tǒng)。前者從數(shù)據(jù)流著眼,后者從控制層次著眼。模塊結構圖前者從數(shù)據(jù)流著眼,后者從控制層次著眼。模塊結構圖是由一個總的抽象的系統(tǒng)功能出發(fā),逐步加入具體
30、的實是由一個總的抽象的系統(tǒng)功能出發(fā),逐步加入具體的實現(xiàn)方法,最后獲得一個物理模型?,F(xiàn)方法,最后獲得一個物理模型。二、模塊結構的質量標準二、模塊結構的質量標準 在結構化設計中,采用自頂向下,逐步細化的方法在結構化設計中,采用自頂向下,逐步細化的方法將系統(tǒng)分解成為一些相對獨立、功能單一的模塊。評價模將系統(tǒng)分解成為一些相對獨立、功能單一的模塊。評價模塊質量的標準是塊質量的標準是“耦合小,內聚大耦合小,內聚大”。 耦合是表示模塊之間聯(lián)系的程度耦合是表示模塊之間聯(lián)系的程度。緊密耦合表。緊密耦合表示模塊之間聯(lián)系非常強,松散耦合表示聯(lián)系比較弱,示模塊之間聯(lián)系非常強,松散耦合表示聯(lián)系比較弱,非耦合則表示模塊之
31、間無任何聯(lián)系,是完全獨立的。非耦合則表示模塊之間無任何聯(lián)系,是完全獨立的。耦合小就是模塊間盡可能相對獨立,從而各模塊可以耦合小就是模塊間盡可能相對獨立,從而各模塊可以單獨開發(fā)和維護。單獨開發(fā)和維護。 內聚是表示模塊內部各成分之間的聯(lián)系程度內聚是表示模塊內部各成分之間的聯(lián)系程度。內聚大就使得模塊的可理解性和維護性大大增強。內聚大就使得模塊的可理解性和維護性大大增強。1. 模塊的耦合方式模塊的耦合方式 數(shù)據(jù)耦合數(shù)據(jù)耦合 控制耦合控制耦合 非法耦合非法耦合(1)數(shù)據(jù)耦合)數(shù)據(jù)耦合 如果兩個模塊之間的通信信息是若干如果兩個模塊之間的通信信息是若干數(shù)據(jù)項,則這種耦合方式稱為數(shù)據(jù)耦合。數(shù)據(jù)項,則這種耦合方
32、式稱為數(shù)據(jù)耦合。這種耦合對系統(tǒng)的影響比較小,是一種較這種耦合對系統(tǒng)的影響比較小,是一種較好的耦合方式,但為了減少接口的復雜性,好的耦合方式,但為了減少接口的復雜性,應盡量防止傳輸不必要的數(shù)據(jù)。應盡量防止傳輸不必要的數(shù)據(jù)。例:例:FLOAT Calculate_SUM(FLOAT A, FLOAT B);(2)控制耦合)控制耦合 如果兩個模塊之間傳輸?shù)男畔⑹强刂菩湃绻麅蓚€模塊之間傳輸?shù)男畔⑹强刂菩畔ⅲ瑒t該耦合稱為控制耦合。息,則該耦合稱為控制耦合。傳送的控制信息可分為:判定參數(shù)(調用模塊通過該傳送的控制信息可分為:判定參數(shù)(調用模塊通過該判定參數(shù)控制被調用模塊的工作方式);地址參數(shù)判定參數(shù)控制被
33、調用模塊的工作方式);地址參數(shù)(調用模塊直接轉向被調用模塊內部的某一地址)(調用模塊直接轉向被調用模塊內部的某一地址)例:例:CALCULATE_SUM(A,B,MODE);MODE = 1,2,N表示表示N種計算模式,如要求返回整數(shù)、種計算模式,如要求返回整數(shù)、2位小數(shù)、位小數(shù)、%形式數(shù)值等。注意,此時如果主模塊中的形式數(shù)值等。注意,此時如果主模塊中的MODE含義變化,則需對應修改被調用的模塊。含義變化,則需對應修改被調用的模塊。(3)非法耦合)非法耦合 主要是指兩個模塊之間,不經(jīng)過調主要是指兩個模塊之間,不經(jīng)過調用關系,彼此直接使用或修改對方的數(shù)用關系,彼此直接使用或修改對方的數(shù)據(jù)。據(jù)。這
34、是最差的耦合方式,在結構化設計時不允許出這是最差的耦合方式,在結構化設計時不允許出現(xiàn)這種情況。從程序設計角度看,應做到各模塊現(xiàn)這種情況。從程序設計角度看,應做到各模塊只使用自身的局部變量,盡量不使用全局變量,只使用自身的局部變量,盡量不使用全局變量,模塊之間必不可少的數(shù)據(jù)聯(lián)系都必須以參數(shù)形式模塊之間必不可少的數(shù)據(jù)聯(lián)系都必須以參數(shù)形式明確指定。明確指定。2. 模塊的內聚方式模塊的內聚方式 巧合內聚巧合內聚 邏輯內聚邏輯內聚 過程內聚過程內聚 通信內聚通信內聚 順序內聚順序內聚 功能內聚功能內聚(1)巧合內聚:)巧合內聚:模塊各成分之間毫無聯(lián)系,不易模塊各成分之間毫無聯(lián)系,不易修改或維護;修改或維
35、護;(2)邏輯內聚:)邏輯內聚:模塊各成分的邏輯功能是相似的。模塊各成分的邏輯功能是相似的。如系統(tǒng)中與如系統(tǒng)中與“輸出輸出”有關的操作抽取出來組成一個有關的操作抽取出來組成一個模塊,包括將數(shù)據(jù)在屏幕、打印機上輸出及拷貝到模塊,包括將數(shù)據(jù)在屏幕、打印機上輸出及拷貝到磁盤上,則該模塊就是邏輯內聚的;磁盤上,則該模塊就是邏輯內聚的;(3)過程內聚)過程內聚:是由一段公共的處理過程組合成的:是由一段公共的處理過程組合成的模塊。如一個框圖中的所有循環(huán)部分、判定部分和計模塊。如一個框圖中的所有循環(huán)部分、判定部分和計算部分劃分成三個模塊,則它們都是過程內聚的;算部分劃分成三個模塊,則它們都是過程內聚的;(4
36、)通信內聚)通信內聚:指模塊中各成分引用或產(chǎn)生共同的:指模塊中各成分引用或產(chǎn)生共同的數(shù)據(jù)。例報表打印模塊,各成分都從若干共同的數(shù)據(jù)數(shù)據(jù)。例報表打印模塊,各成分都從若干共同的數(shù)據(jù)來源接收數(shù)據(jù),然后轉換、匯總并打印出各種報表;來源接收數(shù)據(jù),然后轉換、匯總并打印出各種報表;(5)順序內聚)順序內聚:指模塊中各成分有順序關系,某一成:指模塊中各成分有順序關系,某一成分的輸出是另一成分的輸入;分的輸出是另一成分的輸入;(6)功能內聚)功能內聚:表示模塊中各成分的聯(lián)系是功能性的,:表示模塊中各成分的聯(lián)系是功能性的,即一個模塊執(zhí)行一個功能,且完成該功能所必須的全即一個模塊執(zhí)行一個功能,且完成該功能所必須的全
37、部成分都包含在模塊中。這類模塊的功能明確、模塊部成分都包含在模塊中。這類模塊的功能明確、模塊間的耦合簡單,便于維護,系統(tǒng)設計時應力求按功能間的耦合簡單,便于維護,系統(tǒng)設計時應力求按功能劃分模塊。劃分模塊。三、模塊結構的標準形式三、模塊結構的標準形式1. 變換型結構變換型結構2. 事務型結構事務型結構1. 變換型變換型變換型系統(tǒng)由輸入、數(shù)據(jù)加工(中心變換)和輸出變換型系統(tǒng)由輸入、數(shù)據(jù)加工(中心變換)和輸出組成,它的功能是組成,它的功能是將輸入的數(shù)據(jù)經(jīng)過加工后輸出將輸入的數(shù)據(jù)經(jīng)過加工后輸出。從主模塊沿著模塊結構逐層達到底層的輸入模塊,當?shù)讓幽K輸從主模塊沿著模塊結構逐層達到底層的輸入模塊,當?shù)讓幽?/p>
38、塊輸入數(shù)據(jù)入數(shù)據(jù)A后,后,A由下至上逐層傳送,逐步由物理輸入變成邏輯輸由下至上逐層傳送,逐步由物理輸入變成邏輯輸入入C,接著在主控模塊控制下,接著在主控模塊控制下,C經(jīng)中心變換模塊轉換成邏輯輸經(jīng)中心變換模塊轉換成邏輯輸出出D,D再由上至下逐層傳送,逐步把邏輯輸出變成物理輸出再由上至下逐層傳送,逐步把邏輯輸出變成物理輸出E。注:上面結構圖的功能簡單理解為注:上面結構圖的功能簡單理解為“ 輸入輸入A處理處理輸出輸出E ”注:上面結構圖的功能簡單理解為注:上面結構圖的功能簡單理解為“ 輸入輸入X1,Y1處理處理輸出輸出Z2,S3 ”2. 事務型事務型事務型系統(tǒng)由三層組成:事務型系統(tǒng)由三層組成: 事務
39、層事務層 操作層操作層 細節(jié)層細節(jié)層它的功能是它的功能是對所接收的事務按其類型進行處理對所接收的事務按其類型進行處理。工作時,主模塊將按事務的類型選擇調用某一事務處理模塊,事工作時,主模塊將按事務的類型選擇調用某一事務處理模塊,事務處理模塊又調用若干個操作模塊,每個操作模塊又調用若干個務處理模塊又調用若干個操作模塊,每個操作模塊又調用若干個細節(jié)模塊。在實際系統(tǒng)中,由于不同的事務可能有共同的操作,細節(jié)模塊。在實際系統(tǒng)中,由于不同的事務可能有共同的操作,而不同操作又可能有共同的細節(jié),因此事務型系統(tǒng)的操作摸決和而不同操作又可能有共同的細節(jié),因此事務型系統(tǒng)的操作摸決和細節(jié)模塊可能有一定程度的共享。細節(jié)
40、模塊可能有一定程度的共享。四、從數(shù)據(jù)流圖導出初始結構圖四、從數(shù)據(jù)流圖導出初始結構圖數(shù)據(jù)流圖(運用數(shù)據(jù)流圖(運用“數(shù)據(jù)流數(shù)據(jù)流”、“文件文件”和和“加工加工”等概等概念描述信息處理系統(tǒng)的各個處理環(huán)節(jié)及處理環(huán)節(jié)之間信念描述信息處理系統(tǒng)的各個處理環(huán)節(jié)及處理環(huán)節(jié)之間信息的傳遞關系,系統(tǒng)分析階段使用)息的傳遞關系,系統(tǒng)分析階段使用)初始模塊結構圖(初始模塊結構圖(系統(tǒng)設計階段系統(tǒng)設計階段)方法方法: 根據(jù)數(shù)據(jù)流圖的結構(與模塊結構類似,同樣有變根據(jù)數(shù)據(jù)流圖的結構(與模塊結構類似,同樣有變換型、事務型兩種典型結構)而定。換型、事務型兩種典型結構)而定。變換型結構的數(shù)據(jù)流圖變換型結構的數(shù)據(jù)流圖呈一種線性狀態(tài)
41、,它所描述的工作呈一種線性狀態(tài),它所描述的工作可表示為:輸入、主處理、輸出。可表示為:輸入、主處理、輸出。事務型結構的數(shù)據(jù)流圖事務型結構的數(shù)據(jù)流圖則呈束狀形,即一束數(shù)據(jù)流平行流則呈束狀形,即一束數(shù)據(jù)流平行流入或流出,可能同時有幾個事務要求處理。入或流出,可能同時有幾個事務要求處理。數(shù)據(jù)流圖數(shù)據(jù)流圖初始模塊結構圖初始模塊結構圖 方法方法兩種典型的結構分別通過兩種典型的結構分別通過“變換分析變換分析”和和“事務分析事務分析”技術,導出技術,導出“變換型變換型”和和“事務型事務型”初始的模塊結構圖。初始的模塊結構圖。這兩種方法都是首先設計頂層模塊,然后自頂向下,逐這兩種方法都是首先設計頂層模塊,然后
42、自頂向下,逐步細化,最后得到一個滿足數(shù)據(jù)流圖所表示的用戶要求步細化,最后得到一個滿足數(shù)據(jù)流圖所表示的用戶要求的系統(tǒng)模塊結構圖。的系統(tǒng)模塊結構圖。 1. 變換分析變換分析步驟:步驟: 找出系統(tǒng)的主加工;找出系統(tǒng)的主加工; 設計頂層模塊和第一層模塊設計頂層模塊和第一層模塊 ; 設計中、下層模塊設計中、下層模塊找出系統(tǒng)的主加工:找出系統(tǒng)的主加工:通常在數(shù)據(jù)流圖中多股數(shù)據(jù)流的匯合處。若沒有明顯的匯合處,通常在數(shù)據(jù)流圖中多股數(shù)據(jù)流的匯合處。若沒有明顯的匯合處,則可先確定哪些數(shù)據(jù)流是邏輯輸入和邏輯輸出,從而獲得主加工則可先確定哪些數(shù)據(jù)流是邏輯輸入和邏輯輸出,從而獲得主加工(從物理輸入端一步步向系統(tǒng)中間移動
43、,直至到達這樣一個數(shù)據(jù)流,它再不能被(從物理輸入端一步步向系統(tǒng)中間移動,直至到達這樣一個數(shù)據(jù)流,它再不能被作為系統(tǒng)的輸入,則其前一個數(shù)據(jù)流就是系統(tǒng)的邏輯輸入。類似地,從物理輸出作為系統(tǒng)的輸入,則其前一個數(shù)據(jù)流就是系統(tǒng)的邏輯輸入。類似地,從物理輸出端一步步向系統(tǒng)中間移動,則離物理輸出端最遠的,但仍可視為系統(tǒng)輸出的那個端一步步向系統(tǒng)中間移動,則離物理輸出端最遠的,但仍可視為系統(tǒng)輸出的那個數(shù)據(jù)流就是邏輯輸出。邏輯輸入和邏輯輸出之間的加工就是主加工)數(shù)據(jù)流就是邏輯輸出。邏輯輸入和邏輯輸出之間的加工就是主加工)設計頂層模塊和第一層模塊:設計頂層模塊和第一層模塊:首先在與主加工對應的位置上畫出主模塊,按輸
44、入、變換、輸出等首先在與主加工對應的位置上畫出主模塊,按輸入、變換、輸出等分支來處理結構圖的第一層,同時注意主模塊與第一層模塊之間傳分支來處理結構圖的第一層,同時注意主模塊與第一層模塊之間傳送的數(shù)據(jù)應與數(shù)據(jù)流圖相對應:送的數(shù)據(jù)應與數(shù)據(jù)流圖相對應:為每一個邏輯輸入畫一個輸入模塊,其功能是向主模塊提供數(shù)據(jù);為每一個邏輯輸入畫一個輸入模塊,其功能是向主模塊提供數(shù)據(jù);為每一個邏輯輸出畫一個輸出模塊,其功能是把主模塊提供的數(shù)據(jù)輸出;為每一個邏輯輸出畫一個輸出模塊,其功能是把主模塊提供的數(shù)據(jù)輸出;為主處理畫一個變換模塊,其功能是把邏輯輸入變換成邏輯輸出。為主處理畫一個變換模塊,其功能是把邏輯輸入變換成邏輯
45、輸出。設計中、下層模塊:設計中、下層模塊:為每個輸入模塊設計為每個輸入模塊設計兩個兩個下層模塊,其中一個是下層模塊,其中一個是輸入輸入模塊,模塊,另一個是另一個是變換變換模塊模塊(注,輸出實際上傳遞到了上層)(注,輸出實際上傳遞到了上層)。同理,也為每個輸出模塊設計兩個下層模塊,一個是變換同理,也為每個輸出模塊設計兩個下層模塊,一個是變換模塊,另一個是輸出模塊模塊,另一個是輸出模塊(輸入由上層傳入)(輸入由上層傳入)。該過程由頂向。該過程由頂向下遞歸進行,直到系統(tǒng)的物理輸入端或物理輸出端為止。下遞歸進行,直到系統(tǒng)的物理輸入端或物理輸出端為止。2. 事務分析事務分析當數(shù)據(jù)流圖呈當數(shù)據(jù)流圖呈“束狀
46、束狀”時,采用事務分析方法:時,采用事務分析方法:(1)確定事務中心)確定事務中心。(2)按功能劃分事務)按功能劃分事務,將具備相同功能的事務,分為同一,將具備相同功能的事務,分為同一類,建立事務模塊。類,建立事務模塊。(3)為每個事務處理模塊建立全部的操作層模塊)為每個事務處理模塊建立全部的操作層模塊。(4)若有必要,則為操作層模塊定義相應的)若有必要,則為操作層模塊定義相應的細節(jié)模塊細節(jié)模塊,并,并盡可能使細節(jié)模塊被多個操作模塊共享。盡可能使細節(jié)模塊被多個操作模塊共享。確定事務中心確定事務中心按功能劃分事務,建立事務模塊按功能劃分事務,建立事務模塊建立操作層模塊建立操作層模塊五、模塊結構圖
47、的改進五、模塊結構圖的改進在系統(tǒng)分析階段,加工說明中所反映的用戶要求在系統(tǒng)分析階段,加工說明中所反映的用戶要求(例如,出例如,出錯處理,過程信息以及種種限制等錯處理,過程信息以及種種限制等)不能完全在數(shù)據(jù)流圖反不能完全在數(shù)據(jù)流圖反映。映。然而,在系統(tǒng)設計階段的系統(tǒng)模塊結構圖中,然而,在系統(tǒng)設計階段的系統(tǒng)模塊結構圖中,必須體現(xiàn)出用必須體現(xiàn)出用戶的所有要求戶的所有要求。因此,由數(shù)據(jù)流圖導出的初始模塊結構圖必須進行因此,由數(shù)據(jù)流圖導出的初始模塊結構圖必須進行補充和修補充和修改改,才能達到上述要求。,才能達到上述要求。對初始模塊結構圖進行補充和修改,應注意以下問題對初始模塊結構圖進行補充和修改,應注意
48、以下問題: 1模塊的扇入和扇出數(shù)模塊的扇入和扇出數(shù) 2模塊的大小模塊的大小 3除重復的功能除重復的功能1模塊的扇入和扇出數(shù)模塊的扇入和扇出數(shù)扇入數(shù):扇入數(shù):指模塊的直接上層模塊的個數(shù)。指模塊的直接上層模塊的個數(shù)。扇出數(shù):扇出數(shù):指一個模塊擁有的直接下層模塊的個數(shù)。指一個模塊擁有的直接下層模塊的個數(shù)。 如果一個規(guī)模很小的底層模塊的扇入數(shù)為如果一個規(guī)模很小的底層模塊的扇入數(shù)為1,則可以把它,則可以把它合并到它的上層模塊中去;合并到它的上層模塊中去; 若它的扇入數(shù)較大,就不能向上合并,否則將導致對該模若它的扇入數(shù)較大,就不能向上合并,否則將導致對該模塊做多次編碼和排錯。塊做多次編碼和排錯。 如果一個
49、模塊具有多功能,應考慮做進一步分解。如果一個模塊具有多功能,應考慮做進一步分解。 反之,對某個扇出數(shù)過低的模塊,也應進行檢查(是否可反之,對某個扇出數(shù)過低的模塊,也應進行檢查(是否可以并入下層)以并入下層)。2模塊的大小模塊的大小為了提高可讀性和方便修改,一個基本模塊的程序量以能為了提高可讀性和方便修改,一個基本模塊的程序量以能印在一張打印紙上印在一張打印紙上(或者能夠在一屏上顯示或者能夠在一屏上顯示)為宜。為宜。此外,模塊的功能也是決定模塊大小的一個重要出發(fā)點。此外,模塊的功能也是決定模塊大小的一個重要出發(fā)點。有時即使語句數(shù)量遠超出上述范圍,也不應生硬地將它們有時即使語句數(shù)量遠超出上述范圍,
50、也不應生硬地將它們分成幾個小模塊分成幾個小模塊,例如,對一個復雜數(shù)學公式的計算模塊,例如,對一個復雜數(shù)學公式的計算模塊。3除重復的功能除重復的功能設計過程中若發(fā)現(xiàn)幾個模塊的功能是相似的,則應設法消去其設計過程中若發(fā)現(xiàn)幾個模塊的功能是相似的,則應設法消去其中的重復功能中的重復功能。因為同一功能的程序段多次出現(xiàn),不僅浪費了。因為同一功能的程序段多次出現(xiàn),不僅浪費了編碼時間,而且會給調試和維護帶來困難。編碼時間,而且會給調試和維護帶來困難。 例如,假設圖例如,假設圖(a)中模塊中模塊Q1和和Q2具有類似的功能但又不完全相具有類似的功能但又不完全相同。首先對同。首先對Q1和和Q2進行分析,找出重復部分
51、,如果這部分可進行分析,找出重復部分,如果這部分可以構成一個內聚較強的單獨模塊,我們就將其分離出來構成一以構成一個內聚較強的單獨模塊,我們就將其分離出來構成一個公共的下層模塊個公共的下層模塊(圖圖 (b)進一步,如果分離后剩下的部分進一步,如果分離后剩下的部分Q1,Q2所含語句很少,且功所含語句很少,且功能也很簡單,則可合并到它們各自的調用模塊中去能也很簡單,則可合并到它們各自的調用模塊中去(圖圖(c)(d) 第三節(jié)第三節(jié) 詳細設計的工具詳細設計的工具詳細設計的任務,就是詳細設計的任務,就是在總體設計所建立的系統(tǒng)模塊結構的基在總體設計所建立的系統(tǒng)模塊結構的基礎上,給出模塊的實現(xiàn)方法的細節(jié),對模
52、塊的輸入、輸出和處礎上,給出模塊的實現(xiàn)方法的細節(jié),對模塊的輸入、輸出和處理過程作詳細描述,理過程作詳細描述,從而在程序設計階段可以把這個描述直接從而在程序設計階段可以把這個描述直接“翻譯翻譯”成用某種程序設計語言書寫的程序。成用某種程序設計語言書寫的程序。描述程序處理過程的工具稱為詳細設計的工具描述程序處理過程的工具稱為詳細設計的工具,它們可分,它們可分為圖形、表格和語言三類。不論是哪種工具,它們的基本為圖形、表格和語言三類。不論是哪種工具,它們的基本功能都是能提供對設計的確切描述。功能都是能提供對設計的確切描述。詳細設計不僅僅要求從邏輯上正確地實現(xiàn)每個模塊的功能,詳細設計不僅僅要求從邏輯上正
53、確地實現(xiàn)每個模塊的功能,而且要求設計出的處理過程盡可能簡明易懂。而且要求設計出的處理過程盡可能簡明易懂。結構化程序結構化程序設計設計是實現(xiàn)這個目標的有效技術,其描述工具有是實現(xiàn)這個目標的有效技術,其描述工具有控制流程控制流程圖圖(FC)、問題分析圖、問題分析圖(PAD)、過程設計語言等、過程設計語言等。一、結構化程序設計一、結構化程序設計二、控制流程圖二、控制流程圖(FC) 三、問題分析圖三、問題分析圖(PAD) 四、四、IPO圖圖(輸入輸入-加工加工-輸出輸出)五、過程設計語言五、過程設計語言(PDL)一、結構化程序設計一、結構化程序設計結構定理結構定理(鮑赫門、加柯皮尼(鮑赫門、加柯皮尼,
54、1996證明):任何程序結構都證明):任何程序結構都可以用順序、選擇和循環(huán)這三種基本結構來表示??梢杂庙樞颉⑦x擇和循環(huán)這三種基本結構來表示。 結構化程序設計結構化程序設計(Structured Programming,簡稱,簡稱SP) :一般認為,結構化程序設計是一種設計程序的技術,它采一般認為,結構化程序設計是一種設計程序的技術,它采用用自頂向下自頂向下逐步求精的設計方法和逐步求精的設計方法和單入口單出口單入口單出口的控制技的控制技術。按照這個思想,對于一個執(zhí)行過程模糊不清的模塊,術。按照這個思想,對于一個執(zhí)行過程模糊不清的模塊,可以采用順序、選擇和循環(huán)方式對該過程進行分解??梢圆捎庙樞颉⑦x
55、擇和循環(huán)方式對該過程進行分解。 二、控制流程圖二、控制流程圖(FC)控制流程圖控制流程圖(FLOW CHART,簡稱,簡稱FC),又稱框圖,是最常,又稱框圖,是最常用的程序細節(jié)描述工具之一,它包括三種基本成分:用的程序細節(jié)描述工具之一,它包括三種基本成分: 處理步驟處理步驟(用矩形框表示用矩形框表示); 條件判斷條件判斷(用菱形框表示用菱形框表示); 控制流控制流(用箭頭表示用箭頭表示)。條件?條件?補充說明補充說明初始化的前提是?初始化的前提是?框圖的特點是框圖的特點是清晰易懂,便于掌握清晰易懂,便于掌握。主要缺點:主要缺點:箭頭是框圖中的一個隱患箭頭是框圖中的一個隱患,人們可以使用框圖,人
56、們可以使用框圖中的箭頭實現(xiàn)向任何位置的轉移中的箭頭實現(xiàn)向任何位置的轉移(即即GOTO語句語句),如果使,如果使用不當時,框圖就可能非常難懂,而且無法進行維護。用不當時,框圖就可能非常難懂,而且無法進行維護。三、問題分析圖三、問題分析圖(PAD) 問題分析圖(問題分析圖(Problem Analysis Diagram,簡稱,簡稱PAD)也是)也是一種支持結構化程序設計的圖形工具,問題分析圖僅僅具有一種支持結構化程序設計的圖形工具,問題分析圖僅僅具有順順序、選擇和循環(huán)序、選擇和循環(huán)這三種基本成分,正好與結構化程序設計中的這三種基本成分,正好與結構化程序設計中的基本結構相對應?;窘Y構相對應。 P
57、AD與與FC的比較的比較?有無問題?有無問題?問題分析圖的一個獨特之處在于:以問題分析因為基礎,按照問題分析圖的一個獨特之處在于:以問題分析因為基礎,按照一個機械的變換規(guī)則就可編寫出計算機程序。該規(guī)則稱為一個機械的變換規(guī)則就可編寫出計算機程序。該規(guī)則稱為“走走樹樹”(TREE WALK):順著問題分析圖所呈的樹形結構移動,依:順著問題分析圖所呈的樹形結構移動,依次將遇到的次將遇到的PAD基本成分變換成相應的程序結構?;境煞肿儞Q成相應的程序結構。 問題分析圖有著邏輯結構清晰、圖形標準化及與人們所熟問題分析圖有著邏輯結構清晰、圖形標準化及與人們所熟悉的控制流程圖比較相似等優(yōu)點,更重要的是它引導設
58、計悉的控制流程圖比較相似等優(yōu)點,更重要的是它引導設計人員使用結構化程序設計方法,從而提高了程序的質量。人員使用結構化程序設計方法,從而提高了程序的質量。同時,通過比較確定的規(guī)則可以由問題分析圖直接產(chǎn)生程同時,通過比較確定的規(guī)則可以由問題分析圖直接產(chǎn)生程序,有利于程序設計的自動化。序,有利于程序設計的自動化。四、四、IPO圖圖IPO圖是輸入圖是輸入-加工加工-輸出輸出(INPUT-PROCESS-OUTPUT)圖的簡圖的簡稱,它是由美國稱,它是由美國IBM公司發(fā)起并逐漸完善起來的一種工具。在公司發(fā)起并逐漸完善起來的一種工具。在系統(tǒng)的模塊結構圖形成過程中,產(chǎn)生了大量的模塊,開發(fā)者應系統(tǒng)的模塊結構圖
59、形成過程中,產(chǎn)生了大量的模塊,開發(fā)者應為每一個模塊寫一份說明。為每一個模塊寫一份說明。IPO圖就是用來表述每個模塊的輸圖就是用來表述每個模塊的輸入、輸出數(shù)據(jù)和數(shù)據(jù)加工的重要工具。入、輸出數(shù)據(jù)和數(shù)據(jù)加工的重要工具。IPO圖的主體是圖的主體是算法說明部分算法說明部分,該部分可采用多種方法(如,該部分可采用多種方法(如判定表、判定樹、控制流程圖、問題分析圖、過程設計語言判定表、判定樹、控制流程圖、問題分析圖、過程設計語言等)進行描述,只要能夠準確而簡明地描述模塊執(zhí)行細節(jié)就等)進行描述,只要能夠準確而簡明地描述模塊執(zhí)行細節(jié)就可以。可以。IPO圖中的圖中的輸入、輸出數(shù)據(jù)輸入、輸出數(shù)據(jù)來源于數(shù)據(jù)詞典。來源
60、于數(shù)據(jù)詞典。局部數(shù)據(jù)項局部數(shù)據(jù)項是指個別模塊內部使用的數(shù)據(jù),與系統(tǒng)的其他部是指個別模塊內部使用的數(shù)據(jù),與系統(tǒng)的其他部分無關,僅由本模塊定義、存貯和使用。分無關,僅由本模塊定義、存貯和使用。注釋注釋是對本模塊有關問題做必要的說明。是對本模塊有關問題做必要的說明。五、過程設計語言五、過程設計語言(PDL)過程設計語言過程設計語言 PROCESS DESIGN LANGUAGE PROGRAM DESIGN LANGUAGE PROGRAM DESCRIPTION LANGUAGE簡稱簡稱PDL過程設計語言用于描述模塊中算法和加工的具體細節(jié),以便在過程設計語言用于描述模塊中算法和加工的具體細節(jié),以便
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- BIM工程師-全國《BIM應用技能資格》考前沖刺1
- 北師大版小學四年級上冊數(shù)學教案(全冊)
- 蘇教版一年級數(shù)學下冊教案
- 2024高中地理第1章地理環(huán)境與區(qū)域發(fā)展第1節(jié)地理環(huán)境對區(qū)域發(fā)展的影響精練含解析新人教版必修3
- 2024高中語文第5單元莊子蚜第1課無端崖之辭練習含解析新人教版選修先秦諸子蚜
- 2024高中語文第六單元文無定格貴在鮮活種樹郭橐駝傳訓練含解析新人教版選修中國古代詩歌散文欣賞
- 2024高考化學一輪復習專練28熱化學方程式的書寫及正誤判斷含解析新人教版
- 2024高考化學一輪復習第一部分考點16元素周期表強化訓練含解析
- 2024高考歷史一輪復習方案專題四世界政治制度的演變與發(fā)展第11講民主政治的擴展教學案+練習人民版
- 2024高考地理一輪復習第二章第1講冷熱不均引起大氣運動教案含解析新人教版
- 大學生職業(yè)生涯規(guī)劃-自我認知-課件
- 化工設備安裝預算定額庫
- 硬件研發(fā)產(chǎn)品規(guī)格書mbox103gs
- 2022年三級反射療法師考試題庫
- 新防偽標簽識別方法
- 16cm水泥穩(wěn)定碎石層施工方案
- 直升機結構與系統(tǒng)版
- 青春期教育-女生版青春期性教育-青春期性教育自慰課件
- 新生兒疾病診療規(guī)范診療指南診療常規(guī)2022版
- 金庸群俠傳x最完整攻略(實用排版)
- 兒科學 新生兒顱內出血
評論
0/150
提交評論