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