第六章系統(tǒng)設(shè)計(jì)_第1頁(yè)
第六章系統(tǒng)設(shè)計(jì)_第2頁(yè)
第六章系統(tǒng)設(shè)計(jì)_第3頁(yè)
第六章系統(tǒng)設(shè)計(jì)_第4頁(yè)
第六章系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩192頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)運(yùn)行和維護(hù)系統(tǒng)運(yùn)行和維護(hù) 系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃 系統(tǒng)實(shí)施系統(tǒng)實(shí)施 系統(tǒng)分析系統(tǒng)分析 開(kāi)發(fā)開(kāi)發(fā) 設(shè)計(jì)設(shè)計(jì) 初步初步 調(diào)查調(diào)查 可行性可行性 研究研究 審批審批 系統(tǒng)系統(tǒng) 評(píng)價(jià)評(píng)價(jià) 系統(tǒng)系統(tǒng) 維護(hù)維護(hù) 總體總體 設(shè)計(jì)設(shè)計(jì) 詳細(xì)詳細(xì) 設(shè)計(jì)設(shè)計(jì) 審計(jì)審計(jì) 審查審查 編程編程 調(diào)試調(diào)試 系統(tǒng)系統(tǒng) 轉(zhuǎn)換轉(zhuǎn)換 驗(yàn)收驗(yàn)收 詳細(xì)詳細(xì) 調(diào)查調(diào)查 邏輯邏輯 設(shè)計(jì)設(shè)計(jì) 階段階段回答的中心問(wèn)題回答的中心問(wèn)題成果成果系統(tǒng)分析系統(tǒng)分析“做什么做什么”明確系統(tǒng)功能明確系統(tǒng)功能邏輯模型邏輯模型系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)“怎么做怎么做”如何實(shí)現(xiàn)系統(tǒng)說(shuō)明如何實(shí)現(xiàn)系統(tǒng)說(shuō)明書(shū)規(guī)定的系統(tǒng)功能書(shū)規(guī)定的系統(tǒng)功能物理模型物

2、理模型第一節(jié)第一節(jié) 系統(tǒng)設(shè)計(jì)的任務(wù)系統(tǒng)設(shè)計(jì)的任務(wù)系統(tǒng)邏輯模型系統(tǒng)邏輯模型數(shù)據(jù)集中性選擇數(shù)據(jù)集中性選擇計(jì)算模式設(shè)計(jì)計(jì)算模式設(shè)計(jì)系統(tǒng)運(yùn)行平臺(tái)設(shè)計(jì)系統(tǒng)運(yùn)行平臺(tái)設(shè)計(jì)用戶(hù)界面設(shè)計(jì)用戶(hù)界面設(shè)計(jì)安全設(shè)計(jì)安全設(shè)計(jì)編寫(xiě)系統(tǒng)設(shè)計(jì)報(bào)告編寫(xiě)系統(tǒng)設(shè)計(jì)報(bào)告存儲(chǔ)設(shè)計(jì)存儲(chǔ)設(shè)計(jì)軟件設(shè)計(jì)軟件設(shè)計(jì)系統(tǒng)設(shè)計(jì)流程系統(tǒng)設(shè)計(jì)流程1 1、把總?cè)蝿?wù)分解為許多基本的、具體的任務(wù)、把總?cè)蝿?wù)分解為許多基本的、具體的任務(wù) 具體的任務(wù)合理組織構(gòu)成總?cè)蝿?wù)。又稱(chēng)為總體設(shè)計(jì)具體的任務(wù)合理組織構(gòu)成總?cè)蝿?wù)。又稱(chēng)為總體設(shè)計(jì)(architectural designarchitectural design), ,或概要設(shè)計(jì)(或概要設(shè)計(jì)(preliminary pre

3、liminary designdesign)。其基本任務(wù):)。其基本任務(wù): 系統(tǒng)軟件體系結(jié)構(gòu)系統(tǒng)軟件體系結(jié)構(gòu) 系統(tǒng)計(jì)算模式系統(tǒng)計(jì)算模式 系統(tǒng)運(yùn)行平臺(tái)系統(tǒng)運(yùn)行平臺(tái) 系統(tǒng)軟件結(jié)構(gòu)系統(tǒng)軟件結(jié)構(gòu)信息系統(tǒng)流程圖信息系統(tǒng)流程圖功能結(jié)構(gòu)圖功能結(jié)構(gòu)圖功能模塊圖功能模塊圖6.1.1 系統(tǒng)設(shè)計(jì)的主要任務(wù)系統(tǒng)設(shè)計(jì)的主要任務(wù)2 2、詳細(xì)設(shè)計(jì)、詳細(xì)設(shè)計(jì)為各個(gè)具體任務(wù)選擇適當(dāng)?shù)募夹g(shù)手段和處理方法。包括:為各個(gè)具體任務(wù)選擇適當(dāng)?shù)募夹g(shù)手段和處理方法。包括:代碼(編碼)設(shè)計(jì)代碼(編碼)設(shè)計(jì)數(shù)據(jù)存儲(chǔ)設(shè)計(jì):數(shù)據(jù)庫(kù)的設(shè)計(jì)、數(shù)據(jù)庫(kù)安全設(shè)計(jì)等數(shù)據(jù)存儲(chǔ)設(shè)計(jì):數(shù)據(jù)庫(kù)的設(shè)計(jì)、數(shù)據(jù)庫(kù)安全設(shè)計(jì)等計(jì)算機(jī)處理過(guò)程的設(shè)計(jì)。包括輸出設(shè)計(jì)、輸入設(shè)計(jì)、計(jì)算機(jī)

4、處理過(guò)程的設(shè)計(jì)。包括輸出設(shè)計(jì)、輸入設(shè)計(jì)、 人機(jī)對(duì)話設(shè)計(jì)等。人機(jī)對(duì)話設(shè)計(jì)等。6.1.1 系統(tǒng)設(shè)計(jì)的主要任務(wù)系統(tǒng)設(shè)計(jì)的主要任務(wù) 系統(tǒng)是作為統(tǒng)一整體而存在的,因此,在系統(tǒng)系統(tǒng)是作為統(tǒng)一整體而存在的,因此,在系統(tǒng)設(shè)計(jì)中,要從設(shè)計(jì)中,要從 整個(gè)系統(tǒng)的角度進(jìn)行考慮,系統(tǒng)的代整個(gè)系統(tǒng)的角度進(jìn)行考慮,系統(tǒng)的代碼要統(tǒng)一,設(shè)計(jì)規(guī)范要標(biāo)準(zhǔn),傳遞語(yǔ)言要碼要統(tǒng)一,設(shè)計(jì)規(guī)范要標(biāo)準(zhǔn),傳遞語(yǔ)言要 盡可能一盡可能一致,對(duì)系統(tǒng)的數(shù)據(jù)采集要做到數(shù)出一處、全局共享,致,對(duì)系統(tǒng)的數(shù)據(jù)采集要做到數(shù)出一處、全局共享,使一次輸入得到使一次輸入得到 多次利用。多次利用。 6.1.2 系統(tǒng)設(shè)計(jì)的原則系統(tǒng)設(shè)計(jì)的原則 實(shí)用性指以全新的設(shè)計(jì)理念、全新

5、的技術(shù)架構(gòu)、全實(shí)用性指以全新的設(shè)計(jì)理念、全新的技術(shù)架構(gòu)、全新的供應(yīng)模式,來(lái)滿(mǎn)足企業(yè)的實(shí)際需要的、動(dòng)態(tài)變化的、新的供應(yīng)模式,來(lái)滿(mǎn)足企業(yè)的實(shí)際需要的、動(dòng)態(tài)變化的、不斷增長(zhǎng)的需求。不斷增長(zhǎng)的需求。 系統(tǒng)設(shè)計(jì)充分考慮用戶(hù)當(dāng)前各業(yè)務(wù)層次、各環(huán)節(jié)管理中數(shù)據(jù)處系統(tǒng)設(shè)計(jì)充分考慮用戶(hù)當(dāng)前各業(yè)務(wù)層次、各環(huán)節(jié)管理中數(shù)據(jù)處理的方便性和可行性;理的方便性和可行性; 總體設(shè)計(jì),分步實(shí)施(低總體設(shè)計(jì),分步實(shí)施(低高);高); 人機(jī)操作設(shè)計(jì)考慮用戶(hù)的實(shí)際需要;人機(jī)操作設(shè)計(jì)考慮用戶(hù)的實(shí)際需要; 界面設(shè)計(jì)界面設(shè)計(jì)6.1.2 系統(tǒng)設(shè)計(jì)的原則系統(tǒng)設(shè)計(jì)的原則 采用當(dāng)今國(guó)內(nèi)、國(guó)際上成熟的信息技術(shù),以保采用當(dāng)今國(guó)內(nèi)、國(guó)際上成熟的信息技術(shù),

6、以保證系統(tǒng)的科學(xué)性,使新系統(tǒng)在最大限度地適應(yīng)今后證系統(tǒng)的科學(xué)性,使新系統(tǒng)在最大限度地適應(yīng)今后企業(yè)運(yùn)作和管理發(fā)展變化的前提下滿(mǎn)足技術(shù)發(fā)展變企業(yè)運(yùn)作和管理發(fā)展變化的前提下滿(mǎn)足技術(shù)發(fā)展變化的需要。化的需要。 技術(shù)先進(jìn)性應(yīng)該適度;技術(shù)先進(jìn)性應(yīng)該適度; 先進(jìn)性和實(shí)用性之間平衡先進(jìn)性和實(shí)用性之間平衡6.1.2 系統(tǒng)設(shè)計(jì)的原則系統(tǒng)設(shè)計(jì)的原則 為保持系統(tǒng)的長(zhǎng)久生命力,要求系統(tǒng)具有很強(qiáng)為保持系統(tǒng)的長(zhǎng)久生命力,要求系統(tǒng)具有很強(qiáng)的環(huán)境適應(yīng)性,的環(huán)境適應(yīng)性, 為此,系統(tǒng)應(yīng)具有較好的開(kāi)放性和為此,系統(tǒng)應(yīng)具有較好的開(kāi)放性和結(jié)構(gòu)的可變性。在系統(tǒng)設(shè)計(jì)中,應(yīng)盡量采用結(jié)構(gòu)的可變性。在系統(tǒng)設(shè)計(jì)中,應(yīng)盡量采用,提高各模塊的獨(dú)立性,盡

7、可能減少模塊間的,提高各模塊的獨(dú)立性,盡可能減少模塊間的數(shù)據(jù)耦合,使各子系數(shù)據(jù)耦合,使各子系 統(tǒng)間的數(shù)據(jù)依賴(lài)減至最低限度。統(tǒng)間的數(shù)據(jù)依賴(lài)減至最低限度。這樣,既便于模塊的修改,又便于增加新的內(nèi)這樣,既便于模塊的修改,又便于增加新的內(nèi) 容,容,提高系統(tǒng)適應(yīng)環(huán)境變化的能力。提高系統(tǒng)適應(yīng)環(huán)境變化的能力。 6.1.2 系統(tǒng)設(shè)計(jì)的原則系統(tǒng)設(shè)計(jì)的原則 可靠性是指系統(tǒng)抵御外界干擾的能力及受外界可靠性是指系統(tǒng)抵御外界干擾的能力及受外界干擾時(shí)的恢復(fù)干擾時(shí)的恢復(fù) 能力。一個(gè)成功的管理信息系統(tǒng)必須能力。一個(gè)成功的管理信息系統(tǒng)必須具有較高的可靠性,如安全保密性、檢錯(cuò)具有較高的可靠性,如安全保密性、檢錯(cuò) 及糾錯(cuò)能及糾錯(cuò)能

8、力、抗病毒能力等。力、抗病毒能力等。 6.1.2 系統(tǒng)設(shè)計(jì)的原則系統(tǒng)設(shè)計(jì)的原則第二節(jié)第二節(jié) 系統(tǒng)運(yùn)行平臺(tái)設(shè)計(jì)系統(tǒng)運(yùn)行平臺(tái)設(shè)計(jì)6.2.1 系統(tǒng)平臺(tái)設(shè)計(jì)依據(jù)系統(tǒng)平臺(tái)設(shè)計(jì)依據(jù) 系統(tǒng)運(yùn)行平臺(tái)是指管理信息系統(tǒng)運(yùn)行所依系統(tǒng)運(yùn)行平臺(tái)是指管理信息系統(tǒng)運(yùn)行所依賴(lài)的硬件和軟件賴(lài)的硬件和軟件,因此其設(shè)計(jì)就是針對(duì)新系統(tǒng)的目標(biāo),因此其設(shè)計(jì)就是針對(duì)新系統(tǒng)的目標(biāo),在各種技術(shù)手段和實(shí)施方法中權(quán)衡利弊,合理地利用各在各種技術(shù)手段和實(shí)施方法中權(quán)衡利弊,合理地利用各種資源,選擇適當(dāng)?shù)挠?jì)算機(jī)硬件、網(wǎng)絡(luò)通訊設(shè)備及其它種資源,選擇適當(dāng)?shù)挠?jì)算機(jī)硬件、網(wǎng)絡(luò)通訊設(shè)備及其它輔助設(shè)備軟件,以滿(mǎn)足新系統(tǒng)邏輯模型的需要和技術(shù)需輔助設(shè)備軟件,以滿(mǎn)足新系

9、統(tǒng)邏輯模型的需要和技術(shù)需求。求。系統(tǒng)硬件平臺(tái)系統(tǒng)硬件平臺(tái)系統(tǒng)網(wǎng)絡(luò)配置系統(tǒng)網(wǎng)絡(luò)配置系統(tǒng)軟件平臺(tái)系統(tǒng)軟件平臺(tái)6.2.1 系統(tǒng)平臺(tái)設(shè)計(jì)依據(jù)系統(tǒng)平臺(tái)設(shè)計(jì)依據(jù)系統(tǒng)平臺(tái)系統(tǒng)平臺(tái)設(shè)計(jì)依據(jù)設(shè)計(jì)依據(jù)信息技術(shù)信息技術(shù)環(huán)境環(huán)境可用的技術(shù)和產(chǎn)品詳細(xì)調(diào)查詳細(xì)調(diào)查的信息的信息信息處理量、存儲(chǔ)量現(xiàn)有現(xiàn)有平臺(tái)平臺(tái)企業(yè)可能企業(yè)可能投資投資新系統(tǒng)的新系統(tǒng)的邏輯模型邏輯模型系統(tǒng)的用戶(hù)、功能數(shù)據(jù)的數(shù)據(jù)的集中性集中性6.2.2 系統(tǒng)平臺(tái)的設(shè)計(jì)方法系統(tǒng)平臺(tái)的設(shè)計(jì)方法 系統(tǒng)平臺(tái)的設(shè)計(jì)應(yīng)該建立在對(duì)企業(yè)現(xiàn)有的計(jì)算系統(tǒng)平臺(tái)的設(shè)計(jì)應(yīng)該建立在對(duì)企業(yè)現(xiàn)有的計(jì)算機(jī)系統(tǒng)硬件、軟件、網(wǎng)絡(luò)設(shè)備以及市場(chǎng)充分了解的機(jī)系統(tǒng)硬件、軟件、網(wǎng)絡(luò)設(shè)備以及市場(chǎng)充分了解的基礎(chǔ)

10、上,根據(jù)系統(tǒng)的要求和用戶(hù)的實(shí)際情況,分析基礎(chǔ)上,根據(jù)系統(tǒng)的要求和用戶(hù)的實(shí)際情況,分析各種系統(tǒng)平臺(tái)設(shè)計(jì)的配置、結(jié)構(gòu)、報(bào)價(jià)和優(yōu)缺點(diǎn),各種系統(tǒng)平臺(tái)設(shè)計(jì)的配置、結(jié)構(gòu)、報(bào)價(jià)和優(yōu)缺點(diǎn),提出包含若干方案的系統(tǒng)平臺(tái)設(shè)計(jì)報(bào)告,然后經(jīng)過(guò)提出包含若干方案的系統(tǒng)平臺(tái)設(shè)計(jì)報(bào)告,然后經(jīng)過(guò)有關(guān)人員的充分討論,選擇一個(gè)最佳方案。有關(guān)人員的充分討論,選擇一個(gè)最佳方案。1 1、類(lèi)比法、類(lèi)比法 類(lèi)比法是指考察類(lèi)似系統(tǒng)的平臺(tái)設(shè)計(jì)方案,比較其優(yōu)缺點(diǎn)以及與新系統(tǒng)的異同點(diǎn),并根據(jù)具體情況作出相應(yīng)的改進(jìn)或改動(dòng)。 優(yōu)點(diǎn):簡(jiǎn)單、方便、直觀,可以充分吸取其它平臺(tái)設(shè)計(jì)方法的經(jīng)驗(yàn)教訓(xùn); 缺點(diǎn):應(yīng)用范圍有限。6.2.2 系統(tǒng)平臺(tái)的設(shè)計(jì)方法系統(tǒng)平臺(tái)的設(shè)計(jì)

11、方法2 2、招投標(biāo)法、招投標(biāo)法 首先根據(jù)新系統(tǒng)的邏輯模型,以及各投標(biāo)公司提供的系統(tǒng)平臺(tái)設(shè)計(jì)方案,在綜合價(jià)格、質(zhì)量、培訓(xùn)、售后服務(wù)等因素后,確定中標(biāo)公司。 優(yōu)點(diǎn):專(zhuān)業(yè)公司的專(zhuān)業(yè)知識(shí);選擇的權(quán)力;降低成本。 缺點(diǎn):篩選出的方案未必最佳。6.2.2 系統(tǒng)平臺(tái)的設(shè)計(jì)方法系統(tǒng)平臺(tái)的設(shè)計(jì)方法 管理對(duì)計(jì)算機(jī)的基本要求是速度快、容管理對(duì)計(jì)算機(jī)的基本要求是速度快、容量大、通道能力強(qiáng)、操作靈活方便,但計(jì)算量大、通道能力強(qiáng)、操作靈活方便,但計(jì)算機(jī)的性能越高,其價(jià)格也就愈昂貴,因此,機(jī)的性能越高,其價(jià)格也就愈昂貴,因此,在計(jì)算機(jī)硬件的選擇上應(yīng)全面考慮。在計(jì)算機(jī)硬件的選擇上應(yīng)全面考慮。 6.2.3 計(jì)算機(jī)硬件的選擇計(jì)算

12、機(jī)硬件的選擇1 1、數(shù)據(jù)的處理方式、數(shù)據(jù)的處理方式主計(jì)算機(jī)主計(jì)算機(jī)前端處理機(jī)前端處理機(jī)TCTC.集中式數(shù)據(jù)處理集中式數(shù)據(jù)處理6.2.3 計(jì)算機(jī)硬件的選擇計(jì)算機(jī)硬件的選擇2 2、應(yīng)用軟件對(duì)計(jì)算機(jī)處理能力的需求、應(yīng)用軟件對(duì)計(jì)算機(jī)處理能力的需求(1)(1)計(jì)算機(jī)主存計(jì)算機(jī)主存; ;(2)CPU(2)CPU時(shí)鐘時(shí)鐘; ;(3)(3)輸入、輸出和通信的通道數(shù)目輸入、輸出和通信的通道數(shù)目; ;(4)(4)顯示方式顯示方式; ;(5)(5)外接轉(zhuǎn)儲(chǔ)設(shè)備及其類(lèi)型。外接轉(zhuǎn)儲(chǔ)設(shè)備及其類(lèi)型。6.2.3 計(jì)算機(jī)硬件的選擇計(jì)算機(jī)硬件的選擇1 1、網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)總線型總線型星型星型環(huán)型環(huán)型混合型混合型6.

13、2.4 計(jì)算機(jī)網(wǎng)絡(luò)的選擇計(jì)算機(jī)網(wǎng)絡(luò)的選擇網(wǎng)絡(luò)拓樸結(jié)構(gòu)網(wǎng)絡(luò)拓樸結(jié)構(gòu)2 2、網(wǎng)絡(luò)的邏輯設(shè)計(jì)、網(wǎng)絡(luò)的邏輯設(shè)計(jì)3 3、網(wǎng)絡(luò)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)UNIXUNIXNetwareNetwareWindows NT Windows NT 6.2.4 計(jì)算機(jī)網(wǎng)絡(luò)的選擇計(jì)算機(jī)網(wǎng)絡(luò)的選擇6.2.5 軟件選型軟件選型1.1.軟件選型的原則軟件選型的原則 符合開(kāi)放式系統(tǒng)的發(fā)展方向符合開(kāi)放式系統(tǒng)的發(fā)展方向 必要和足夠的軟件工具支持必要和足夠的軟件工具支持 對(duì)新技術(shù)的支持能力對(duì)新技術(shù)的支持能力 購(gòu)買(mǎi)成本購(gòu)買(mǎi)成本6.2.5 軟件選型軟件選型2.2.軟件選型的內(nèi)容軟件選型的內(nèi)容 操作系統(tǒng)操作系統(tǒng) 數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)

14、 對(duì)實(shí)用軟件對(duì)實(shí)用軟件 數(shù)據(jù)庫(kù)管理系統(tǒng)的選擇數(shù)據(jù)庫(kù)管理系統(tǒng)的選擇在數(shù)據(jù)庫(kù)管理系統(tǒng)的選擇上,主要考慮:(1)(1)數(shù)據(jù)庫(kù)的性能數(shù)據(jù)庫(kù)的性能; ;(2)(2)數(shù)據(jù)庫(kù)管理系統(tǒng)的系統(tǒng)平臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng)的系統(tǒng)平臺(tái); ;(3)(3)數(shù)據(jù)庫(kù)管理系統(tǒng)的安全保密性能數(shù)據(jù)庫(kù)管理系統(tǒng)的安全保密性能; ;(4)(4)數(shù)據(jù)的類(lèi)型。數(shù)據(jù)的類(lèi)型。 6.2.5 軟件選型軟件選型 應(yīng)用軟件的選擇應(yīng)用軟件的選擇1 1軟件是否能夠滿(mǎn)足用戶(hù)的需求。軟件是否能夠滿(mǎn)足用戶(hù)的需求。 2 2軟件是否具有足夠的靈活性。軟件是否具有足夠的靈活性。 3 3軟件的技術(shù)支持軟件的技術(shù)支持 6.2.5 軟件選型軟件選型第三節(jié)第三節(jié) 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法結(jié)

15、構(gòu)化系統(tǒng)設(shè)計(jì)方法 結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign,SD)方法,是各種設(shè)計(jì)方法中最受重視、使用最廣泛的一種方法。是系統(tǒng)設(shè)計(jì)的有力工具,它與結(jié)構(gòu)化系統(tǒng)分析前后呼應(yīng),結(jié)合成一體,是MIS設(shè)計(jì)中常用的一種成功的方法。 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法為建立一個(gè)系統(tǒng)的良好結(jié)構(gòu),研究了系統(tǒng)在分解模塊(即組成系統(tǒng)的基本單位)時(shí)的各種影響,并在此基礎(chǔ)上提出了評(píng)價(jià)模塊結(jié)構(gòu)質(zhì)量的兩個(gè)指標(biāo)兩個(gè)指標(biāo)模塊的內(nèi)聚和模塊間的耦合。 6.3 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)方法1. 系統(tǒng)的結(jié)構(gòu)系統(tǒng)的結(jié)構(gòu) MIS的軟件系統(tǒng)是一個(gè)由模塊組成的分層結(jié)構(gòu)。如圖所示。的軟件系統(tǒng)是一個(gè)由模塊組成的分層結(jié)構(gòu)。如圖所示。 這種系統(tǒng)的層次結(jié)構(gòu)

16、是通過(guò)系統(tǒng)的自頂向下逐層分解而得到的這種系統(tǒng)的層次結(jié)構(gòu)是通過(guò)系統(tǒng)的自頂向下逐層分解而得到的 系系 統(tǒng)統(tǒng) M1M2 M1.1 M1.2 M2.1M2.2M2.3系統(tǒng)的深度系統(tǒng)的深度系統(tǒng)的寬度系統(tǒng)的寬度系統(tǒng)的分層結(jié)構(gòu)圖系統(tǒng)的分層結(jié)構(gòu)圖結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則2. 模塊的屬性模塊的屬性 模塊定義了一組邏輯上相關(guān)聯(lián)的對(duì)象,這組對(duì)象是一組數(shù)據(jù)和對(duì)這組數(shù)據(jù)的操作。 模塊的屬性有內(nèi)部屬性和外部屬性模塊的屬性有內(nèi)部屬性和外部屬性。 內(nèi)部屬性?xún)?nèi)部屬性:描述模塊內(nèi)中各元素之間的關(guān)系,可用模描述模塊內(nèi)中各元素之間的關(guān)系,可用模塊的內(nèi)聚來(lái)評(píng)價(jià)塊的內(nèi)聚來(lái)評(píng)價(jià)。 外部屬性外部屬性:是將模塊看成黑盒

17、子,只注意它與外部其是將模塊看成黑盒子,只注意它與外部其它模塊的聯(lián)系,即模塊的輸入和輸出。模塊的外部屬性它模塊的聯(lián)系,即模塊的輸入和輸出。模塊的外部屬性可通過(guò)模塊間的耦合程度來(lái)評(píng)價(jià)可通過(guò)模塊間的耦合程度來(lái)評(píng)價(jià)。結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則3. 模塊之間的耦合模塊之間的耦合 耦合耦合:是對(duì)一個(gè)系統(tǒng)內(nèi)不同模塊之間相互依賴(lài)程度的是對(duì)一個(gè)系統(tǒng)內(nèi)不同模塊之間相互依賴(lài)程度的度量。度量。換句話說(shuō),就是指各模塊間接口的復(fù)雜程度。耦合是模塊設(shè)計(jì)的重要指標(biāo)。一個(gè)好的系統(tǒng),應(yīng)該盡可能地降低模塊之間的耦合程度、提高模塊的獨(dú)立性。這樣做的優(yōu)點(diǎn)有:優(yōu)點(diǎn)有:1) 便于程序設(shè)計(jì),使程序之間接口簡(jiǎn)單便于程序

18、設(shè)計(jì),使程序之間接口簡(jiǎn)單;2) 便于程序測(cè)試和維護(hù),在對(duì)一個(gè)程序測(cè)試和維護(hù)時(shí),便于程序測(cè)試和維護(hù),在對(duì)一個(gè)程序測(cè)試和維護(hù)時(shí),不必考慮對(duì)別的程序的影響。不必考慮對(duì)別的程序的影響。結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則 模塊的內(nèi)聚是指模塊內(nèi)部元素之間的彼此結(jié)合的模塊的內(nèi)聚是指模塊內(nèi)部元素之間的彼此結(jié)合的緊密程度。緊密程度。 模塊的內(nèi)聚可分為七個(gè)種類(lèi),按由低到高的順序,這七個(gè)種類(lèi)有偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過(guò)偶然內(nèi)聚、邏輯內(nèi)聚、時(shí)間內(nèi)聚、過(guò)程內(nèi)聚、通訊內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚程內(nèi)聚、通訊內(nèi)聚、順序內(nèi)聚和功能內(nèi)聚。 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的目標(biāo)是使模塊具有功能內(nèi)聚的結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的目標(biāo)是使模塊具

19、有功能內(nèi)聚的模塊。模塊。 結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則4. 模塊的內(nèi)聚模塊的內(nèi)聚1)偶然內(nèi)聚)偶然內(nèi)聚 如果一個(gè)模塊完成一組任務(wù),這些任務(wù)彼此間的聯(lián)系是很松散的,這就是偶然內(nèi)聚。偶然內(nèi)聚的模塊存在難以給它適當(dāng)?shù)拿?、含義不易理解、調(diào)試?yán)щy、修改困難等缺點(diǎn)。 2)邏輯內(nèi)聚)邏輯內(nèi)聚 如果一個(gè)模塊完成的任務(wù)在邏輯上屬于相同或相似的一類(lèi)操作,則稱(chēng)此模塊為邏輯內(nèi)聚。例如,用一個(gè)模塊完成各種報(bào)表的打印輸出,這個(gè)模塊就屬于邏輯內(nèi)聚型模塊。這種模塊中各元素之間的聯(lián)系很松散,為了節(jié)省存儲(chǔ),不同功能合用某一段程序,因此造成修改與測(cè)試的困難。當(dāng)調(diào)用該模塊時(shí),需要將整個(gè)模塊調(diào)入內(nèi)存,而執(zhí)行的只是

20、其中的一部分。結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則3)時(shí)間內(nèi)聚)時(shí)間內(nèi)聚 如果一個(gè)模塊包含的任務(wù)必須在同一時(shí)間內(nèi)執(zhí)行,就叫時(shí)間內(nèi)聚。例如,初始化模塊需要在月初或年初對(duì)幾個(gè)數(shù)據(jù)庫(kù)文件進(jìn)行初始化處理。4)過(guò)程內(nèi)聚)過(guò)程內(nèi)聚 如果一個(gè)模塊的處理元素是相關(guān)的,而且必須以特定次序執(zhí)行則稱(chēng)為過(guò)程內(nèi)聚。這是一種中等聯(lián)系的內(nèi)聚。結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則5)通信內(nèi)聚)通信內(nèi)聚 如果模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù),并產(chǎn)生同一個(gè)輸出數(shù)據(jù),則稱(chēng)之為通信內(nèi)聚。通信內(nèi)聚的例子見(jiàn)圖。圖中各方塊都屬于同一個(gè)模塊的元素,它們都使用文件T的數(shù)據(jù),并產(chǎn)生同一個(gè)輸出結(jié)果。通信內(nèi)聚也屬于中等聯(lián)系

21、的內(nèi)聚。文件T讀文件數(shù)據(jù)X數(shù)據(jù)Y計(jì)算A計(jì)算B合并輸出結(jié)果A結(jié)果B通信內(nèi)聚例圖結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則6)順序內(nèi)聚)順序內(nèi)聚 如果一個(gè)模塊內(nèi)的處理元素和同一功能密切相關(guān),而且這些處理必須順序執(zhí)行,則稱(chēng)為順序內(nèi)聚。通常這種內(nèi)聚模塊中一個(gè)處理元素的輸出數(shù)據(jù)作為下一個(gè)處理元素的數(shù)據(jù)。如圖所示。圖中四個(gè)處理元素是密切相關(guān)并順序執(zhí)行,共同完成一個(gè)功能。 順序內(nèi)聚屬于高等聯(lián)系的內(nèi)聚。 文件T讀文件累加計(jì)算百分比編制報(bào)表 順序內(nèi)聚例圖結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則7)功能內(nèi)聚)功能內(nèi)聚 如果模塊內(nèi)所有處理元素均屬于一個(gè)整體,完成一個(gè)單一的功能,則稱(chēng)之為功能內(nèi)聚。 功能

22、內(nèi)聚中模塊內(nèi)各元素間聯(lián)系最緊密,是最高等的內(nèi)聚模塊。由于它功能單一,所以定義該模塊名字時(shí),應(yīng)該是明確而具體的。如工資計(jì)算、打印工資表、登記總帳等。綜上所述,綜上所述,內(nèi)聚分為松散、中等和高等三個(gè)等級(jí)。以功內(nèi)聚分為松散、中等和高等三個(gè)等級(jí)。以功能內(nèi)聚為最好能內(nèi)聚為最好。結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則結(jié)構(gòu)化系統(tǒng)設(shè)計(jì)的基本原則第四節(jié)第四節(jié) 系統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的物理結(jié)構(gòu)是使用結(jié)構(gòu)化設(shè)計(jì)工具HIPO(Hierarchical Input, Processing and Output)圖或系統(tǒng)結(jié)構(gòu)圖(也可稱(chēng)為功能結(jié)構(gòu)圖)描述的。系系統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)的依據(jù)是系統(tǒng)的邏輯模型。統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)的

23、依據(jù)是系統(tǒng)的邏輯模型。6.4.1. 系統(tǒng)的物理結(jié)構(gòu)的表示系統(tǒng)的物理結(jié)構(gòu)的表示系統(tǒng)的物理結(jié)構(gòu)描述的是構(gòu)成一個(gè)系統(tǒng)的各物理組成部分(即模塊)及模塊之間的關(guān)系。這是一個(gè)樹(shù)型結(jié)構(gòu)圖,它體現(xiàn)了自頂向下的思想,樹(shù)根模塊表示系統(tǒng)總的功能,第一層模塊是根模塊的功能的分解,以下各個(gè)層次的模塊,都是上一層模塊的功能分解。上一層模塊調(diào)用它直接的下層模塊。具體說(shuō),在軟件工程中常用HIPO圖,在MIS中經(jīng)常介紹系統(tǒng)結(jié)構(gòu)圖,而在實(shí)際中常用功能結(jié)構(gòu)圖。這些圖,僅是在表示方法上有點(diǎn)不同,而實(shí)質(zhì)上是相同的。下面以學(xué)生成績(jī)管理為例,用不同的表示方式給出。6.4 系統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的物理結(jié)構(gòu)設(shè)計(jì)學(xué)生成績(jī)管理輸入成績(jī)單成績(jī)處理重

24、修處理留級(jí)處理成績(jī)統(tǒng)計(jì)報(bào)表輸出輸出重修通知輸出留級(jí)通知輸出成績(jī)統(tǒng)計(jì)表成績(jī)查詢(xún)查詢(xún)重修通知查詢(xún)留級(jí)通知查詢(xún)成績(jī)統(tǒng)計(jì)表系統(tǒng)維護(hù)代碼維護(hù)數(shù)據(jù)維護(hù)系統(tǒng)管理學(xué)生成績(jī)管理系統(tǒng)HIPO圖6.4.1 系統(tǒng)的物理結(jié)構(gòu)的表示系統(tǒng)的物理結(jié)構(gòu)的表示學(xué)生成績(jī)管理報(bào)表輸出成績(jī)查詢(xún)系統(tǒng)維護(hù)成績(jī)處理輸入成績(jī)單重修處理留級(jí)處理成績(jī)統(tǒng)計(jì)輸出重修通知輸出留級(jí)通知輸出成績(jī)統(tǒng)計(jì)表查詢(xún)重修通知查詢(xún)留級(jí)通知查詢(xún)成績(jī)統(tǒng)計(jì)表代碼維護(hù)數(shù)據(jù)維護(hù)系統(tǒng)管理學(xué)生成績(jī)管理系統(tǒng)結(jié)構(gòu)圖6.4.1 系統(tǒng)的物理結(jié)構(gòu)的表示系統(tǒng)的物理結(jié)構(gòu)的表示學(xué)生成績(jī)管理輸入成績(jī)單成績(jī)處理報(bào)表輸出成績(jī)查詢(xún)重修處理留級(jí)處理成績(jī)統(tǒng)計(jì)輸出重修通知輸出留級(jí)通知輸出成績(jī)統(tǒng)計(jì)表查詢(xún)重修通知查詢(xún)

25、留級(jí)通知查詢(xún)成績(jī)統(tǒng)計(jì)系統(tǒng)維護(hù)代碼維護(hù)數(shù)據(jù)維護(hù)系統(tǒng)管理學(xué)生成績(jī)管理功能結(jié)構(gòu)圖 并非一個(gè)系統(tǒng)的物理結(jié)構(gòu)圖一定要用一張圖來(lái)表示并非一個(gè)系統(tǒng)的物理結(jié)構(gòu)圖一定要用一張圖來(lái)表示,完全可以使用以上三種方式的任意一種將它拆分為多個(gè)圖。下面還以學(xué)生成績(jī)管理為例,用多圖的形式,給出它的物理結(jié)構(gòu)。這種表示,對(duì)于一圖分為多頁(yè)表示是很有利的。 6.4.1 系統(tǒng)的物理結(jié)構(gòu)的表示系統(tǒng)的物理結(jié)構(gòu)的表示成績(jī)處理重修處理留級(jí)處理成績(jī)統(tǒng)計(jì)學(xué)生成績(jī)管理報(bào)表輸出成績(jī)查詢(xún)系統(tǒng)維護(hù)成績(jī)處理輸入成績(jī)單報(bào)表輸出輸出重修通知輸出留級(jí)通知輸出成績(jī)統(tǒng)計(jì)表成績(jī)查詢(xún)查詢(xún)重修通知查詢(xún)留級(jí)通知查詢(xún)成績(jī)統(tǒng)計(jì)表系統(tǒng)維護(hù)代碼維護(hù)數(shù)據(jù)維護(hù)系統(tǒng)管理(a)(b)(c)

26、(d)(e)學(xué)生成績(jī)管理系統(tǒng)HIPO圖在結(jié)構(gòu)化設(shè)計(jì)中,DFD是系統(tǒng)結(jié)構(gòu)圖設(shè)計(jì)的依據(jù)。由數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖的方法有三種由數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖的方法有三種: :(1)(1)事務(wù)分析法事務(wù)分析法: :通常用于將高層數(shù)據(jù)流圖轉(zhuǎn)換為系統(tǒng)通常用于將高層數(shù)據(jù)流圖轉(zhuǎn)換為系統(tǒng)結(jié)構(gòu)圖,其優(yōu)點(diǎn)是能把一個(gè)大的、復(fù)雜的系統(tǒng)分解成若結(jié)構(gòu)圖,其優(yōu)點(diǎn)是能把一個(gè)大的、復(fù)雜的系統(tǒng)分解成若干個(gè)較小的、簡(jiǎn)單的系統(tǒng)。干個(gè)較小的、簡(jiǎn)單的系統(tǒng)。(2)變換分析法變換分析法: :變換分析通常用于將底層的數(shù)據(jù)流圖變換分析通常用于將底層的數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖,將結(jié)構(gòu)圖中的一個(gè)功能模塊分解成具有轉(zhuǎn)換為結(jié)構(gòu)圖,將結(jié)構(gòu)圖中的一個(gè)功能模塊分解成具有輸入

27、、變換中心、輸出功能的簡(jiǎn)單模塊輸入、變換中心、輸出功能的簡(jiǎn)單模塊6.4.2 由數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖的方法由數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖的方法(3)(3)數(shù)據(jù)流圖映射法數(shù)據(jù)流圖映射法: :DFDDFD映射法是將映射法是將DFDDFD的各個(gè)層次的圖中的的各個(gè)層次的圖中的處理,分別與結(jié)構(gòu)圖的各個(gè)層次相對(duì)應(yīng)而得到系統(tǒng)物理的結(jié)處理,分別與結(jié)構(gòu)圖的各個(gè)層次相對(duì)應(yīng)而得到系統(tǒng)物理的結(jié)構(gòu)圖。構(gòu)圖。該方法的特點(diǎn)是,抓住數(shù)據(jù)流圖逐級(jí)細(xì)化的特點(diǎn)及結(jié)構(gòu)圖逐層分解的特點(diǎn),將數(shù)據(jù)流圖的每一級(jí)細(xì)化圖與結(jié)構(gòu)圖相應(yīng)層建立一一對(duì)應(yīng)關(guān)系,對(duì)應(yīng)規(guī)則是確切的。6.4.2 由數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖的方法由數(shù)據(jù)流圖轉(zhuǎn)換為結(jié)構(gòu)圖的方法第五節(jié)第五節(jié) 模塊

28、設(shè)計(jì)模塊設(shè)計(jì)預(yù)備知識(shí)模塊的定義與屬性 模塊是可以組合、更換和分解的單元,是組成系統(tǒng)模塊是可以組合、更換和分解的單元,是組成系統(tǒng)的基本單元。的基本單元。模塊的屬性模塊的屬性屬性類(lèi)屬性說(shuō)明外部屬性功能模塊能夠完成的任務(wù)或?qū)崿F(xiàn)的操作模塊能夠完成的任務(wù)或?qū)崿F(xiàn)的操作輸入輸出數(shù)據(jù)模塊使用的條件和模塊之間的關(guān)系模塊使用的條件和模塊之間的關(guān)系內(nèi)部屬性算法模塊內(nèi)部如何實(shí)現(xiàn)所要求的功能模塊內(nèi)部如何實(shí)現(xiàn)所要求的功能內(nèi)部變量算法中涉及的變量算法中涉及的變量模塊化原理 模塊化即是將復(fù)雜的系統(tǒng)分解成不同粒度的模塊的過(guò)模塊化即是將復(fù)雜的系統(tǒng)分解成不同粒度的模塊的過(guò)程,最小的模塊完成比較簡(jiǎn)單的、獨(dú)立的任務(wù)。程,最小的模塊完成

29、比較簡(jiǎn)單的、獨(dú)立的任務(wù)。ABCDIJK模塊設(shè)計(jì)模塊設(shè)計(jì)模塊設(shè)計(jì)是針對(duì)系統(tǒng)結(jié)構(gòu)圖中的每個(gè)模塊定義其外部及內(nèi)部特性的工作,即模塊說(shuō)明。 在軟件工程中,模塊說(shuō)明也稱(chēng)模塊IPO圖,主要從模塊的輸入、處理、輸出三部分加以描述,并主要對(duì)工作模塊(即結(jié)構(gòu)圖的最底層模塊)進(jìn)行說(shuō)明。6.5 模塊設(shè)計(jì)模塊設(shè)計(jì)模塊說(shuō)明與數(shù)據(jù)字典的數(shù)據(jù)處理卡有對(duì)應(yīng)關(guān)系。數(shù)據(jù)處理卡從功能上定義了處理所完成的功能,包括加工處理的過(guò)程、方法等,主要內(nèi)容與模塊說(shuō)明是一致的。但二者是有區(qū)別的但二者是有區(qū)別的。在邏輯設(shè)計(jì)階段,重點(diǎn)考慮邏輯功能重點(diǎn)考慮邏輯功能,尤其是從管理業(yè)務(wù)出發(fā),按業(yè)務(wù)要求詳細(xì)描述各處理的功能,如學(xué)生成績(jī)統(tǒng)計(jì)處理,就應(yīng)詳細(xì)說(shuō)明

30、統(tǒng)計(jì)方法、項(xiàng)目、特殊情況處理等。而在物理設(shè)計(jì)階段,重點(diǎn)考慮物理實(shí)現(xiàn)重點(diǎn)考慮物理實(shí)現(xiàn),側(cè)重描述在計(jì)算機(jī)上實(shí)現(xiàn)模塊功能的方法、步驟及注意事項(xiàng)等。如學(xué)生成績(jī)統(tǒng)計(jì)模塊的模塊說(shuō)明,應(yīng)具體指明哪些數(shù)據(jù)庫(kù)文件中的哪些記錄的哪些字段進(jìn)行什么計(jì)算、結(jié)果寫(xiě)入哪個(gè)數(shù)據(jù)庫(kù)文件的哪個(gè)記錄的哪個(gè)字段等。IPO圖的一般格式如圖所示。 6.5 模塊設(shè)計(jì)模塊設(shè)計(jì)對(duì)IPO圖的格式的說(shuō)明:“模塊代碼”最好是該模塊的程序名。在此需統(tǒng)一考慮系統(tǒng)中程序的命名。程序名當(dāng)然應(yīng)該使用字母、數(shù)字及下劃線組成的字符串為好,一般不使用漢字。程序名應(yīng)能反映出它的功能、所屬子系統(tǒng)及層次等含義。例如程序名CJ-PO表示成績(jī)管理的主控模塊,用CJ-P1、C

31、J-P2等表示第一層模塊的程序名,用CJ-P11、CJ-P12等表示CJ-P1的下級(jí)模塊的程序名,其他類(lèi)同。“模塊名稱(chēng)”應(yīng)該與系統(tǒng)結(jié)構(gòu)圖中模塊名稱(chēng)(漢字的)一一對(duì)應(yīng),而且是唯一的?!疤幚怼笔悄K說(shuō)明的核心,需要詳細(xì)、準(zhǔn)確地描述該模塊的處理內(nèi)容。 模塊模塊IPO圖第圖第 號(hào)號(hào)系統(tǒng)名稱(chēng): 子系統(tǒng)名稱(chēng):模塊名稱(chēng): 模塊代碼:調(diào)用的模塊: 被調(diào)用的模塊:輸入:輸出:處理:IPO圖的一般格式6.5 模塊設(shè)計(jì)模塊設(shè)計(jì)下面給出其中的“重修處理”的IPO圖,如圖所示。6.5 模塊設(shè)計(jì)模塊設(shè)計(jì)模塊IPO圖 第2 號(hào)系統(tǒng)名稱(chēng):學(xué)生管理 子系統(tǒng)名稱(chēng):學(xué)生成績(jī)管理模塊名稱(chēng):重修處理 模塊代碼:CJ-P21調(diào)用的模塊:

32、無(wú) 被調(diào)用的模塊:成績(jī)處理輸入:成績(jī)簿輸出:補(bǔ)考通知處理:在數(shù)據(jù)存儲(chǔ)“成績(jī)簿”(其字段有學(xué)號(hào)、科號(hào)、成績(jī))中,學(xué)號(hào)是關(guān)鍵字,但由于學(xué)生需要學(xué)習(xí)很多科課程,所以在該存儲(chǔ)中,每個(gè)學(xué)生會(huì)有多個(gè)記錄。 1. 打開(kāi)數(shù)據(jù)庫(kù)表“成績(jī)簿”和“重修通知”; 2. 從“成績(jī)簿”的第一個(gè)記錄開(kāi)始循環(huán)做判斷:IF 成績(jī)60 THEN 將該記錄寫(xiě)入存儲(chǔ)“重修通知”繼續(xù)判斷下個(gè)記錄,直到最后。 3. 關(guān)閉以上兩個(gè)數(shù)據(jù)庫(kù)表,結(jié)束操作。 圖 IPO圖的示例第六節(jié)第六節(jié) 代碼(編碼)設(shè)計(jì)代碼(編碼)設(shè)計(jì) 一、代(編)碼一、代(編)碼 代碼是用來(lái)表征客觀事物的一個(gè)或一組有序的符號(hào),代碼是用來(lái)表征客觀事物的一個(gè)或一組有序的符號(hào),它

33、應(yīng)易于計(jì)算機(jī)和人識(shí)別與處理。也簡(jiǎn)稱(chēng)為它應(yīng)易于計(jì)算機(jī)和人識(shí)別與處理。也簡(jiǎn)稱(chēng)為“碼碼”。 代碼就是用數(shù)字或字母代表事物。 例如:烽火臺(tái)傳遞的煙信號(hào)、電傳打字機(jī) 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì) 二、代碼的功能二、代碼的功能1 1、鑒別功能、鑒別功能 代碼的最基本的特性。任何代碼都必須具備這種基代碼的最基本的特性。任何代碼都必須具備這種基本特征。在一個(gè)分類(lèi)編碼標(biāo)準(zhǔn)中,一個(gè)代碼只能唯一本特征。在一個(gè)分類(lèi)編碼標(biāo)準(zhǔn)中,一個(gè)代碼只能唯一的標(biāo)識(shí)一個(gè)分類(lèi)對(duì)象,而一個(gè)分類(lèi)對(duì)象也只能有一個(gè)的標(biāo)識(shí)一個(gè)分類(lèi)對(duì)象,而一個(gè)分類(lèi)對(duì)象也只能有一個(gè)唯一的編碼。唯一的編碼。6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)2 2、分類(lèi)、分類(lèi) 當(dāng)按照分類(lèi)對(duì)象的屬性分

34、類(lèi),并分別賦予不同當(dāng)按照分類(lèi)對(duì)象的屬性分類(lèi),并分別賦予不同的類(lèi)別代碼時(shí),代碼又可以作為分類(lèi)對(duì)象類(lèi)別的標(biāo)的類(lèi)別代碼時(shí),代碼又可以作為分類(lèi)對(duì)象類(lèi)別的標(biāo)識(shí)。識(shí)。2001 169 0092001 169 009市場(chǎng)營(yíng)銷(xiāo)市場(chǎng)營(yíng)銷(xiāo)2001級(jí)級(jí)6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)3 3、排序、排序 當(dāng)按照分類(lèi)對(duì)象產(chǎn)生的時(shí)間、所占的空間或其它方當(dāng)按照分類(lèi)對(duì)象產(chǎn)生的時(shí)間、所占的空間或其它方面的順序關(guān)系分類(lèi),并賦予不同的代碼時(shí),代碼又可以面的順序關(guān)系分類(lèi),并賦予不同的代碼時(shí),代碼又可以作為排序的標(biāo)識(shí)。作為排序的標(biāo)識(shí)。6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)4 4、專(zhuān)用含義、專(zhuān)用含義 當(dāng)分類(lèi)對(duì)象需要采用一些專(zhuān)用的符號(hào)時(shí),代碼可以當(dāng)分類(lèi)對(duì)象需要

35、采用一些專(zhuān)用的符號(hào)時(shí),代碼可以提供一定的專(zhuān)門(mén)含義。提供一定的專(zhuān)門(mén)含義。6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)含義如下含義如下: : 漢語(yǔ)拼音的第一個(gè)字母表示自行車(chē)的用途漢語(yǔ)拼音的第一個(gè)字母表示自行車(chē)的用途, ,如如P P為普為普通車(chē)、通車(chē)、Q Q為輕便車(chē)、為輕便車(chē)、Z Z為載重為載重 車(chē)、車(chē)、X X為小輪車(chē)為小輪車(chē). . 漢語(yǔ)拼音的第二個(gè)字母代表自行車(chē)的車(chē)輪直徑漢語(yǔ)拼音的第二個(gè)字母代表自行車(chē)的車(chē)輪直徑,A,A、E E、G G、MM分別指輪徑分別指輪徑2828、 26 26 、2424、2020英寸的女式車(chē)英寸的女式車(chē). . 最后最后, ,漢語(yǔ)拼音后面的阿拉伯?dāng)?shù)字如漢語(yǔ)拼音后面的阿拉伯?dāng)?shù)字如PA-12PA-1

36、2型的型的12,12,是工廠設(shè)計(jì)的順序號(hào)是工廠設(shè)計(jì)的順序號(hào). . 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì) 三、代碼的種類(lèi)三、代碼的種類(lèi)( (一一) ) 順序碼順序碼 順序碼適宜中最簡(jiǎn)單、最常用的代碼。這種代順序碼適宜中最簡(jiǎn)單、最常用的代碼。這種代碼是將順序的自然數(shù)或字母賦予分類(lèi)對(duì)象。碼是將順序的自然數(shù)或字母賦予分類(lèi)對(duì)象。6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)例如:按照例如:按照GB2261-80規(guī)定:規(guī)定: 1為男性為男性 2為女性為女性?xún)?yōu)點(diǎn):短而簡(jiǎn)單,記錄的定位方法簡(jiǎn)單,易于管理;優(yōu)點(diǎn):短而簡(jiǎn)單,記錄的定位方法簡(jiǎn)單,易于管理; 缺點(diǎn):代碼本身沒(méi)有給出對(duì)象的任何其它信息缺點(diǎn):代碼本身沒(méi)有給出對(duì)象的任何其它信息( (沒(méi)有邏

37、沒(méi)有邏輯基礎(chǔ)輯基礎(chǔ)) )6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)(二)區(qū)間碼(二)區(qū)間碼 區(qū)間碼把數(shù)據(jù)項(xiàng)分成若干組,每一區(qū)間代表一區(qū)間碼把數(shù)據(jù)項(xiàng)分成若干組,每一區(qū)間代表一個(gè)組,碼中數(shù)字的個(gè)組,碼中數(shù)字的值值和和位置位置 都代表一定意義。都代表一定意義。 4 3 0 0 8 14 3 0 0 8 16.6 代碼設(shè)計(jì)代碼設(shè)計(jì)( (三三) )助憶碼助憶碼 助憶碼用文字、數(shù)字或文字?jǐn)?shù)字結(jié)合起來(lái)描述,其助憶碼用文字、數(shù)字或文字?jǐn)?shù)字結(jié)合起來(lái)描述,其特點(diǎn)是,可以通過(guò)聯(lián)想幫助記憶。特點(diǎn)是,可以通過(guò)聯(lián)想幫助記憶。 例如:例如: 用用W-B-l2代表代表12英時(shí)黑白電視機(jī)英時(shí)黑白電視機(jī) 用用W-C-20代表代表 20英時(shí)彩色電視

38、機(jī)。英時(shí)彩色電視機(jī)。6.6 代碼設(shè)計(jì)代碼設(shè)計(jì) 四、代碼的設(shè)計(jì)四、代碼的設(shè)計(jì)1 1、唯一性、唯一性 代碼的唯一性是代碼設(shè)計(jì)的首要要求,它要求一代碼的唯一性是代碼設(shè)計(jì)的首要要求,它要求一個(gè)編碼只能代表一個(gè)實(shí)體或一個(gè)屬性。個(gè)編碼只能代表一個(gè)實(shí)體或一個(gè)屬性。2 2、合理性、合理性 代碼在邏輯上必須能滿(mǎn)足用戶(hù)的需要,在結(jié)構(gòu)上應(yīng)代碼在邏輯上必須能滿(mǎn)足用戶(hù)的需要,在結(jié)構(gòu)上應(yīng)當(dāng)與處理的方法相一致。當(dāng)與處理的方法相一致。 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)3 3、可擴(kuò)充性、可擴(kuò)充性 代碼設(shè)計(jì)時(shí),要預(yù)留足夠的位置,以適應(yīng)不斷變代碼設(shè)計(jì)時(shí),要預(yù)留足夠的位置,以適應(yīng)不斷變化的需要?;男枰?。4 4、系統(tǒng)性、系統(tǒng)性 代碼要系統(tǒng)化

39、,代碼的編制應(yīng)盡量標(biāo)準(zhǔn)化,從而代碼要系統(tǒng)化,代碼的編制應(yīng)盡量標(biāo)準(zhǔn)化,從而在整個(gè)系統(tǒng)中具有通用性。在整個(gè)系統(tǒng)中具有通用性。 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)5 5、要注意避免引起誤解,不要使用易于混、要注意避免引起誤解,不要使用易于混淆的字符。淆的字符。 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì) a a、當(dāng)代碼長(zhǎng)于、當(dāng)代碼長(zhǎng)于4 4個(gè)字母或個(gè)字母或5 5個(gè)數(shù)字字符時(shí),應(yīng)分成小個(gè)數(shù)字字符時(shí),應(yīng)分成小段;段; 如注冊(cè)碼:如注冊(cè)碼:J2MV9-JYYQ6-JM44K-QMYTH-8RB2WJ2MV9-JYYQ6-JM44K-QMYTH-8RB2W b b、采用不易出錯(cuò)的代碼結(jié)構(gòu)。、采用不易出錯(cuò)的代碼結(jié)構(gòu)。 如:字母如:字母-

40、 -字母字母- -數(shù)字?jǐn)?shù)字 (WW3WW3) 字母字母- -數(shù)字?jǐn)?shù)字- -字母字母 (W2WW2W)6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)五、代碼校驗(yàn)方五、代碼校驗(yàn)方法法 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)6.6 代碼設(shè)計(jì)代碼設(shè)計(jì) 校驗(yàn)碼是根據(jù)事先規(guī)定好的數(shù)學(xué)方法及代校驗(yàn)碼是根據(jù)事先規(guī)定好的數(shù)學(xué)方法及代碼本體計(jì)算出來(lái)的。碼本體計(jì)算出來(lái)的。6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)C1 C2C3.Cn代碼本體代碼本體P1 P2P3.Pn加權(quán)因子加權(quán)因子加權(quán)因子可以為:加權(quán)因子可以為:自然數(shù)自然數(shù) 1,2,3, 幾何級(jí)數(shù)幾何級(jí)數(shù) 2,4,8,16 質(zhì)數(shù)質(zhì)數(shù) 3,5,7,13,176.6 代碼設(shè)計(jì)代碼設(shè)計(jì)C1 C2C3.Cn校驗(yàn)位校驗(yàn)位代碼

41、本體代碼本體6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)1、算術(shù)級(jí)數(shù)法、算術(shù)級(jí)數(shù)法 以算術(shù)級(jí)數(shù)作為代碼本體的加權(quán)因子以算術(shù)級(jí)數(shù)作為代碼本體的加權(quán)因子12345代碼本體代碼本體65432加權(quán)因子加權(quán)因子50iipcS示例6)11mod(50)mod(MSR校驗(yàn)位代碼本體12345代碼本體代碼本體3216842加權(quán)因子加權(quán)因子114iipcS4)11mod(114)mod(MSR校驗(yàn)位代碼本體代碼本體代碼本體加權(quán)因子加權(quán)因子99iipcS0)11mod(99)mod(MSR校驗(yàn)位代碼本體案例:全國(guó)水資源綜合規(guī)劃代碼設(shè)計(jì)(行政區(qū)代碼案例:全國(guó)水資源綜合規(guī)劃代碼設(shè)計(jì)(行政區(qū)代碼 )“中華人民共和國(guó)行政區(qū)劃代碼” 國(guó)家標(biāo)準(zhǔn)

42、(GB/T 22602002);“縣以下行政區(qū)劃代碼編制規(guī)則” 國(guó)家標(biāo)準(zhǔn)(GB1011488)。 由9位數(shù)字組成,其含義如下:第12位表示?。ㄗ灾螀^(qū)、直轄市);第34位表示省直轄市,其中:0120, 5170表示省直轄市,2150表示地區(qū);第56位表示縣,其中:0118表示市轄區(qū)或地轄市,2180表示縣(旗),8199表示省直轄縣級(jí)市;第79位表示縣以下行政區(qū)劃,其中:001099表示街道,100199表示鎮(zhèn),200399表示鄉(xiāng);400599表示政企合一單位。 6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)代碼代碼行政區(qū)名行政區(qū)名代碼代碼行政區(qū)名行政區(qū)名440000000廣東省440303000深圳市福田區(qū)4401

43、00000廣東省廣州市440304000深圳市羅湖區(qū)440102000廣州市東山區(qū)440305000深圳市南山區(qū)6.6 代碼設(shè)計(jì)代碼設(shè)計(jì)區(qū)間碼的優(yōu)缺點(diǎn)信息處理比較可靠,排序分類(lèi)檢索等操作比較方便1、碼的長(zhǎng)度與它的分類(lèi)屬性的數(shù)量有關(guān),有時(shí)候造成很長(zhǎng)的碼;2、在很多情況下,碼有多余的數(shù);3、代碼的維修比較困難。第七節(jié)第七節(jié) 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 在系統(tǒng)分析階段,在DFD中設(shè)置了一系列的數(shù)據(jù)存儲(chǔ)。DFD是以處理功能為核心的,在DFD中,處理所需要的數(shù)據(jù)及處理的結(jié)果數(shù)據(jù)常常是用數(shù)據(jù)存儲(chǔ)表示在DFD中,這些數(shù)據(jù)存儲(chǔ)是系統(tǒng)分析員根據(jù)系統(tǒng)處理功能的需要而精心設(shè)計(jì)的。在DD中又進(jìn)一步對(duì)這些數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu)進(jìn)行了

44、定義,確定了這些數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)。這就完成了數(shù)據(jù)庫(kù)的需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)。應(yīng)該說(shuō),這些數(shù)據(jù)存儲(chǔ)是可以滿(mǎn)足系統(tǒng)對(duì)數(shù)據(jù)的需求的。6.7 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì) 這里的數(shù)據(jù)庫(kù)設(shè)計(jì)主要是指數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。數(shù)據(jù)庫(kù)物理設(shè)計(jì)的工作任務(wù)主要是在數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的基礎(chǔ)上,運(yùn)用關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論,設(shè)計(jì)出適合應(yīng)用環(huán)境的數(shù)據(jù)庫(kù)物理結(jié)構(gòu)。6.7 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)這里采用的是系統(tǒng)分析與系統(tǒng)設(shè)計(jì)相一致的方法。 一方面,在系統(tǒng)分析階段的DFD的設(shè)計(jì)中,既注意到系統(tǒng)功能的正確分解,同時(shí)也要認(rèn)真考慮數(shù)據(jù)存儲(chǔ)的合理設(shè)置,以保證數(shù)據(jù)存儲(chǔ)滿(mǎn)足處理邏輯的需要,使這一階段的工作完成了數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析、概念設(shè)計(jì)與邏輯設(shè)計(jì);

45、 另一方面,在系統(tǒng)設(shè)計(jì)階段的數(shù)據(jù)庫(kù)設(shè)計(jì)中,充分利用前一階段的設(shè)計(jì)成果,對(duì)已設(shè)計(jì)的數(shù)據(jù)存儲(chǔ),運(yùn)用關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論,完成數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。6.7 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)1. 數(shù)據(jù)的規(guī)范化形式數(shù)據(jù)的規(guī)范化形式在設(shè)計(jì)數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)時(shí),要盡可能提高數(shù)據(jù)組織的相對(duì)獨(dú)立性,簡(jiǎn)化其結(jié)構(gòu),以降低數(shù)據(jù)的維護(hù)成本,這就需要用規(guī)范化方法設(shè)計(jì)數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu),提高數(shù)據(jù)的可維護(hù)性、完整性和一致性。規(guī)范化理論以關(guān)系數(shù)據(jù)模型為背景。在規(guī)范化理論中,把關(guān)系看做是二維表,它有以下四個(gè)性質(zhì):1) 在任一列上,數(shù)據(jù)項(xiàng)應(yīng)該具有同一個(gè)屬性;2) 在這個(gè)表中所有的行都是不相同的,即不允許有重復(fù)的組項(xiàng)出現(xiàn);3) 在一個(gè)表中,行的順序是無(wú)關(guān)緊要

46、的;4) 在一個(gè)表中,每一個(gè)列(屬性)有不同的名稱(chēng),列的順序也無(wú)關(guān)緊要。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 下面討論數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中的第一規(guī)范式形式、第二規(guī)范式形式和第三規(guī)范式形式(第一范式即1NF、第二范式即2NF和第三范式即3NF)。2. 第一范式第一范式 在規(guī)范化理論中,關(guān)系必須是規(guī)范化的,所謂規(guī)范化是指在一個(gè)數(shù)據(jù)結(jié)構(gòu)中沒(méi)有重復(fù)出現(xiàn)的項(xiàng)組。任何一個(gè)規(guī)范化的關(guān)系都自動(dòng)稱(chēng)為第一規(guī)范化形式(First Normal Form),簡(jiǎn)稱(chēng)第一范式(1NF)。在建立關(guān)系數(shù)據(jù)模型時(shí),必須將非規(guī)范化形式規(guī)范化,表(a)所示關(guān)系為非規(guī)范化形式,而表(b)所示關(guān)系則為滿(mǎn)足第一范式的關(guān)系。6.7

47、.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論3. 第二范式第二范式先介紹函數(shù)依賴(lài)(function dependence)的概念。 在一個(gè)數(shù)據(jù)結(jié)構(gòu)R中,如果數(shù)據(jù)元素B的取值依賴(lài)于數(shù)據(jù)元素A的取值,則我們稱(chēng)B函數(shù)依賴(lài)于A。換句話說(shuō),A決定B,用“AB”表示。 第一范式是基本的,但存在一些問(wèn)題?,F(xiàn)在來(lái)分析表6.4所示關(guān)系,它符合第一范式。在表中反映了職工的姓名、年齡、性別、住址等一系列基本情況信息。假定職工號(hào)是每個(gè)職工的唯一標(biāo)識(shí),而工資完全由級(jí)別所確定。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 表中各個(gè)數(shù)據(jù)項(xiàng)(即屬性)之間有如圖6.14所示的相互依賴(lài)關(guān)系。 這表明姓名、級(jí)別、工資等的

48、取值依賴(lài)于職工號(hào),而畢業(yè)時(shí)間要由職工號(hào)與學(xué)歷兩個(gè)屬性才能唯一確定:(職工號(hào))姓名、級(jí)別、工資(職工號(hào)、學(xué)歷) 畢業(yè)時(shí)間6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論廠名生產(chǎn)情況(每月)產(chǎn)品名稱(chēng)數(shù)量F1P1P2P3P4P5P6300200400200100100F2P1P2300400F3P2200F4P2P3P4200300400 廠名產(chǎn)品名稱(chēng)每月產(chǎn)量F1F1F1F1F1F1F2F2F3F4F4F4P1P2P3P4P5P6P1P2P2P2P3P4300200400200100100300400200200300400表(a) 關(guān)系的非規(guī)范化形式示例 表(b) 關(guān)系的第一范式示例職工基本信

49、息表職工號(hào)姓名級(jí)別工資學(xué)歷畢業(yè)時(shí)間001001001002張三張三張三李四技10技10技10技1083838362中專(zhuān)大學(xué)研究生大學(xué)1957196819811970職工號(hào)學(xué) 歷畢業(yè)時(shí)間姓 名級(jí) 別工 資間接圖7.14 各屬性間的依賴(lài)關(guān)系職工號(hào)學(xué) 歷畢業(yè)時(shí)間姓 名級(jí) 別工 資間接各屬性間的依賴(lài)關(guān)系 因而,在這個(gè)關(guān)系中就無(wú)法找到一個(gè)或幾個(gè)屬性可以共同作為唯一標(biāo)識(shí)的主碼(也叫主關(guān)鍵字)以使其它非主屬性完全依賴(lài)于它而確定。 按此關(guān)系所建的數(shù)據(jù)庫(kù)有以下幾個(gè)缺點(diǎn): 1) 冗余度高。如張三這個(gè)職工的姓名等基本情況信息,由于他有三個(gè)學(xué)歷而要存儲(chǔ)三次,浪費(fèi)了存儲(chǔ)空間。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)

50、范化理論2) 維護(hù)困難。數(shù)據(jù)的修改、刪除、插入等操作都十分不便。例如:張三的級(jí)別等基本信息修改時(shí)必須同時(shí)修改多處,張三記錄的刪除要三個(gè)同時(shí)刪去;而對(duì)李四增加一個(gè)學(xué)歷就要把他的基本情況再寫(xiě)入一遍。3)數(shù)據(jù)不一致。由于數(shù)據(jù)多次存儲(chǔ),維護(hù)操作不便,稍有疏忽就會(huì)使同一數(shù)據(jù)在數(shù)據(jù)庫(kù)中的結(jié)果不同,同一個(gè)張三可能具有不同的工資,這就造成了數(shù)據(jù)庫(kù)數(shù)據(jù)的不一致。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 所以,第一范式的關(guān)系必須進(jìn)一步規(guī)范化為第二范式(2NF)。其方法是:從第一范式中分解出新的關(guān)系,使每個(gè)關(guān)系里都可確定一個(gè)或幾個(gè)屬性作為關(guān)系的主關(guān)鍵字,使該關(guān)系中的其他屬性都完全依賴(lài)于它而定,從而消去非

51、主屬性對(duì)主關(guān)鍵字的不完全依賴(lài)性消去非主屬性對(duì)主關(guān)鍵字的不完全依賴(lài)性。由此所得關(guān)系叫做第二范式關(guān)系。 表6.5(a)的關(guān)系中主關(guān)鍵字是職工號(hào)這一主屬性,表6.5(b)的關(guān)系里主關(guān)鍵字由(職工號(hào)、學(xué)歷)兩個(gè)主屬性共同構(gòu)成,這兩個(gè)關(guān)系中所有的非主屬都完全依賴(lài)于主關(guān)鍵字,因而均是第二范式的關(guān)系。對(duì)于表6.4,只要拆開(kāi)為表6.5(a)、表6.5(b),兩個(gè)關(guān)系就可以使之滿(mǎn)足第二范式。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 表6.5(a) 表6.5(b)職工號(hào)姓名級(jí)別工資001張三技1083002李四技1062職工號(hào)學(xué)歷畢業(yè)時(shí)間001中專(zhuān)1957001大學(xué)1968001研究生1981002大

52、學(xué)1970 表6.6(a) 表6.6(b)級(jí)別工資 職工號(hào)姓名級(jí)別 4. 第三范式先介紹“傳遞依賴(lài)”(transitive dependence)的概念。假設(shè)A、B、C分別是同一個(gè)數(shù)據(jù)結(jié)構(gòu)R中的三個(gè)數(shù)據(jù)元素,或分別是R中若干個(gè)數(shù)的集合,如果C函數(shù)依于B,即BC,而B(niǎo)函數(shù)依賴(lài)于A,即AB,那么顯然,C也依賴(lài)于A,我們稱(chēng)這種依賴(lài)關(guān)系為“傳遞依賴(lài)”,即“C傳遞依賴(lài)A”。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論第二范式仍然會(huì)造成一些麻煩。請(qǐng)看表6.5(a)這個(gè)關(guān)系,實(shí)際上可能很多人的級(jí)別都是技10級(jí)的,那么他們的工資應(yīng)當(dāng)也都是83元,如果現(xiàn)在要把技10級(jí)的工資改為87元,那么,技10級(jí)的職

53、工工資都要修改,有一個(gè)人改錯(cuò)了,就會(huì)造成同一級(jí)工資不一樣的錯(cuò)誤,因而, 這種關(guān)系也有數(shù)據(jù)冗余(同級(jí)工資存儲(chǔ)多次)和易造成數(shù)據(jù)的不一致等問(wèn)題,其原因就在于這些屬性間存在著如下所示的一種傳遞依賴(lài)關(guān)系:職工號(hào)級(jí)別,級(jí)別工資從而使:職工號(hào)級(jí)別工資也就是說(shuō),表6.5(a)中雖然級(jí)別與工資兩個(gè)屬性完全依賴(lài)于主屬性職工號(hào),但實(shí)際上是工資直接依賴(lài)于級(jí)別,由于級(jí)別依賴(lài)于職工號(hào)而使工資通過(guò)級(jí)別的傳遞作用間接依賴(lài)于職工號(hào)這個(gè)屬性。進(jìn)一步的規(guī)范化就是要消去非主屬性對(duì)主關(guān)鍵字的傳遞依賴(lài)性消去非主屬性對(duì)主關(guān)鍵字的傳遞依賴(lài)性,變?yōu)榈谌妒?3NF)。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 現(xiàn)在只要把第二范式的

54、關(guān)系恰當(dāng)拆開(kāi)為幾個(gè)關(guān)系即可達(dá)目的。如表6.5(a)的關(guān)系,拆開(kāi)為6.6(a)、6.6(b)兩個(gè)關(guān)系,它們都滿(mǎn)足第三范式了。 概括以上的規(guī)范化過(guò)程概括以上的規(guī)范化過(guò)程:先對(duì)二維表消去組合項(xiàng)與重復(fù)組項(xiàng)化先對(duì)二維表消去組合項(xiàng)與重復(fù)組項(xiàng)化為第一范式,再消去非主屬性對(duì)主關(guān)鍵字的非完全函數(shù)依賴(lài)性而變?yōu)闉榈谝环妒?,再消去非主屬性?duì)主關(guān)鍵字的非完全函數(shù)依賴(lài)性而變?yōu)榈诙妒?,再消去非主屬性?duì)主關(guān)鍵字的傳遞依賴(lài)就化為第三范式第二范式,再消去非主屬性對(duì)主關(guān)鍵字的傳遞依賴(lài)就化為第三范式。用第三范式的關(guān)系來(lái)定義數(shù)據(jù)庫(kù)會(huì)比直接用二維表所定義的數(shù)據(jù)庫(kù)要好得多。關(guān)系理論中還討論了其他范式,如BCN范式(BCNF),第四范式(

55、4NF),第五范式(5NF) ,一般的MIS要求規(guī)范到3NF即可滿(mǎn)足需要。6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 關(guān)系模型的規(guī)范化,是為了使數(shù)據(jù)庫(kù)在使用、維護(hù)、調(diào)整、更關(guān)系模型的規(guī)范化,是為了使數(shù)據(jù)庫(kù)在使用、維護(hù)、調(diào)整、更新、擴(kuò)展時(shí)保持?jǐn)?shù)據(jù)結(jié)構(gòu)的靈活、穩(wěn)定、可靠、數(shù)據(jù)的一致以及數(shù)據(jù)新、擴(kuò)展時(shí)保持?jǐn)?shù)據(jù)結(jié)構(gòu)的靈活、穩(wěn)定、可靠、數(shù)據(jù)的一致以及數(shù)據(jù)與程序的相對(duì)獨(dú)立性。與程序的相對(duì)獨(dú)立性。并非規(guī)范化程度越高越好。一般說(shuō),規(guī)范化程度高了,使用起來(lái)就不方便,同時(shí)又影響系統(tǒng)的運(yùn)行效率。因?yàn)?,?guī)范化要將數(shù)據(jù)分解,形成多個(gè)關(guān)系,而當(dāng)需要一個(gè)較全面的數(shù)據(jù)時(shí),還得將這些被分解了的關(guān)系中檢索同一事物在不同

56、關(guān)系中的記錄,這比起在一個(gè)關(guān)系中檢索這些數(shù)據(jù)要多用許多時(shí)間。因此,一般的MIS規(guī)范到3NF即可滿(mǎn)足需要,對(duì)于要求響應(yīng)速度快的查詢(xún)系統(tǒng),所操作的關(guān)系使用頻率很高,這時(shí)其規(guī)范化的要求可以降低一些。 6.7.1 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論 MIS的數(shù)據(jù)庫(kù)保存著組織的重要數(shù)據(jù)。因此,如何保護(hù)這些數(shù)據(jù),使之不受來(lái)自?xún)?nèi)部或外部的破壞,或一旦破壞,如何通過(guò)適當(dāng)?shù)拇胧┒杆俚玫交謴?fù),是數(shù)據(jù)庫(kù)管理系統(tǒng)中一個(gè)極重要的課題。6.7.2 數(shù)據(jù)庫(kù)的保護(hù)數(shù)據(jù)庫(kù)的保護(hù)1. 數(shù)據(jù)庫(kù)的完整性保護(hù)數(shù)據(jù)庫(kù)的完整性保護(hù) 數(shù)據(jù)庫(kù)的完整性保護(hù)是指防止和拒絕錯(cuò)誤數(shù)據(jù)的存儲(chǔ)和操作,保證并維護(hù)數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性。應(yīng)用程序編制中

57、的錯(cuò)誤及操作員的操作錯(cuò)誤是破壞數(shù)據(jù)完整性的主要原因,數(shù)據(jù)庫(kù)管理系統(tǒng)通常提供“完整性控制”的功能。用以檢查數(shù)據(jù)是否滿(mǎn)足規(guī)定條件(稱(chēng)為完整性約束條件),當(dāng)不滿(mǎn)足條件時(shí),意味著數(shù)據(jù)已經(jīng)受到破壞必須立即采取措施,以維護(hù)數(shù)據(jù)庫(kù)的完整性。 完整性約束條件從語(yǔ)義上體現(xiàn)了對(duì)數(shù)據(jù)或數(shù)據(jù)之間聯(lián)系的約束條件,這些條件通常在模式定義時(shí)做相應(yīng)的描述。以關(guān)系數(shù)據(jù)庫(kù)為例,完整性約束主要有: 6.7.2 數(shù)據(jù)庫(kù)的保護(hù)數(shù)據(jù)庫(kù)的保護(hù)1)關(guān)系的主關(guān)鍵字是唯一的,完整性控制必須保證關(guān)系中不存在兩個(gè)元素的關(guān)鍵字有相同的值。 2)某屬性的值必須屬于屬性所特有的域。如月份是兩位數(shù),其值的變化范圍為112。 3) 屬性的值集必須滿(mǎn)足某種統(tǒng)計(jì)

58、條件。如百分制計(jì)分,學(xué)生的平均成績(jī)應(yīng)小等于100分。 4) 對(duì)屬性間聯(lián)系的限制,包括同一實(shí)體間不同屬性的聯(lián)系限制及不同實(shí)體間屬性的聯(lián)系限制,如工資金額與工資級(jí)別這兩個(gè)屬性間有一定的聯(lián)系,一定的工資級(jí)別對(duì)應(yīng)工資金額的某一范圍,由此它們之間有一定的約束關(guān)系5) 數(shù)據(jù)的動(dòng)態(tài)約束,即數(shù)據(jù)庫(kù)從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪粻顟B(tài)時(shí),新的值之間所應(yīng)滿(mǎn)足的條件,如調(diào)整并增加工資時(shí),新工資必須大于或等于原工資。6.7.2 數(shù)據(jù)庫(kù)的保護(hù)數(shù)據(jù)庫(kù)的保護(hù)2. 數(shù)據(jù)庫(kù)的安全性保護(hù)數(shù)據(jù)庫(kù)的安全性保護(hù) 數(shù)據(jù)庫(kù)的安全性保護(hù)是指為了防止非法使用數(shù)據(jù)庫(kù),警惕非法用戶(hù)有目的地盜用數(shù)據(jù)或破壞數(shù)據(jù)庫(kù),而由系統(tǒng)采取的一系列措施。安全性和完整性有共同的

59、目標(biāo),都是為了保護(hù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。它們之間也有一定的差異,完整性側(cè)重于數(shù)據(jù)本身的保護(hù),對(duì)一切用戶(hù)有效,而安全性的側(cè)重點(diǎn)在于用戶(hù)對(duì)數(shù)據(jù)庫(kù)的操作權(quán)限,而合理地授予用戶(hù)使用規(guī)定數(shù)據(jù)的權(quán)限,只有“權(quán)限用戶(hù)”才能使用相應(yīng)的數(shù)據(jù),而非權(quán)限用戶(hù)就不能使用相應(yīng)的數(shù)據(jù),安全性保護(hù)的措施常用下列三種方法: 6.7.2 數(shù)據(jù)庫(kù)的保護(hù)數(shù)據(jù)庫(kù)的保護(hù)1) 使用權(quán)的鑒別使用權(quán)的鑒別 首先對(duì)有權(quán)使用數(shù)據(jù)庫(kù)的用戶(hù)授予一個(gè)保密口令(Password)。系統(tǒng)鑒別用戶(hù)是否能使用數(shù)據(jù)庫(kù),先詢(xún)問(wèn)用戶(hù)的口令,只有口令檢查是正確的,才允許使用數(shù)據(jù)庫(kù)。2) 使用范圍的限制使用范圍的限制 被允許使用數(shù)據(jù)庫(kù)的用戶(hù),并不是對(duì)數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)均要進(jìn)

60、行訪問(wèn),如一個(gè)MIS中,財(cái)務(wù)部門(mén)無(wú)權(quán)訪問(wèn)人事部門(mén)的數(shù)據(jù),特別是一些經(jīng)濟(jì)決策數(shù)據(jù),只對(duì)企業(yè)高層管理者提供,其它部門(mén)無(wú)權(quán)訪問(wèn)。因此,一個(gè)用戶(hù)使用數(shù)據(jù)庫(kù)的權(quán)限是有范圍限制的。一般可以用子模式的方法限制用戶(hù)使用數(shù)據(jù)庫(kù)的范圍。用戶(hù)只可以使用子模式定義范圍內(nèi)的數(shù)據(jù)。而子模式?jīng)]有定義的那些數(shù)據(jù),用戶(hù)無(wú)權(quán)使用。6.7.2 數(shù)據(jù)庫(kù)的保護(hù)數(shù)據(jù)庫(kù)的保護(hù)3) 存取控制權(quán)鑒別存取控制權(quán)鑒別 被允許使用數(shù)據(jù)庫(kù)中某子模式的用戶(hù)并不是允許他對(duì)此子模式的數(shù)據(jù)進(jìn)行一切操作,也不是能訪問(wèn)該子模式的所有區(qū)域。如MIS中財(cái)務(wù)部門(mén)的子模式只有其本部門(mén)人員才能修改其中的數(shù)據(jù),而設(shè)備部門(mén)可以查閱有關(guān)數(shù)據(jù),但無(wú)權(quán)修改數(shù)據(jù)。因此,對(duì)每個(gè)用戶(hù)規(guī)定

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論