第9-12講 系統(tǒng)設(shè)計(jì)(系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述)_第1頁(yè)
第9-12講 系統(tǒng)設(shè)計(jì)(系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述)_第2頁(yè)
第9-12講 系統(tǒng)設(shè)計(jì)(系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述)_第3頁(yè)
第9-12講 系統(tǒng)設(shè)計(jì)(系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述)_第4頁(yè)
第9-12講 系統(tǒng)設(shè)計(jì)(系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(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、主講:宮小全主講:宮小全 副教授副教授單位:北方交通大學(xué)經(jīng)管學(xué)院信息管理系單位:北方交通大學(xué)經(jīng)管學(xué)院信息管理系第第9-129-12講講 管理信息系統(tǒng)的系統(tǒng)設(shè)計(jì)管理信息系統(tǒng)的系統(tǒng)設(shè)計(jì)( (系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)的詳細(xì)講述) )管 理 信 息 系 統(tǒng)2系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì) 如前所述,總體結(jié)構(gòu)設(shè)計(jì)的主要內(nèi)容之一是如前所述,總體結(jié)構(gòu)設(shè)計(jì)的主要內(nèi)容之一是系統(tǒng)模塊結(jié)構(gòu)系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì),其任務(wù)是設(shè)計(jì),其任務(wù)是合理地進(jìn)行模塊的分解和定義,把合理地進(jìn)行模塊的分解和定義,把每個(gè)子每個(gè)子系統(tǒng)劃分成一個(gè)個(gè)模塊系統(tǒng)劃分成一個(gè)個(gè)模塊,并通過(guò)模塊結(jié)構(gòu)圖把分解的模塊,并通過(guò)模塊結(jié)構(gòu)圖把分解的模

2、塊按層次結(jié)構(gòu)聯(lián)系起來(lái)。按層次結(jié)構(gòu)聯(lián)系起來(lái)。模塊與模塊分解模塊與模塊分解模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖 模塊結(jié)構(gòu)的標(biāo)準(zhǔn)形式模塊結(jié)構(gòu)的標(biāo)準(zhǔn)形式如何畫(huà)模塊結(jié)構(gòu)圖如何畫(huà)模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖的改進(jìn)模塊結(jié)構(gòu)圖的改進(jìn)高內(nèi)聚低耦合高內(nèi)聚低耦合在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題管 理 信 息 系 統(tǒng)3(一)(一)模塊與模塊分解模塊與模塊分解模塊是組成系統(tǒng)的基本單位,它的特點(diǎn)是可以組合、分模塊是組成系統(tǒng)的基本單位,它的特點(diǎn)是可以組合、分解和更換。解和更換。系統(tǒng)中任何一個(gè)處理功能都可以看成是一個(gè)模塊。根據(jù)系統(tǒng)中任何一個(gè)處理功能都可以看成是一個(gè)模塊。根據(jù)模塊功能具體化程度的不同,可以分為邏輯模塊和

3、物理模塊功能具體化程度的不同,可以分為邏輯模塊和物理模塊。模塊。在系統(tǒng)邏輯模型中定義的處理功能可視為邏輯模塊。在系統(tǒng)邏輯模型中定義的處理功能可視為邏輯模塊。物理模塊是邏輯模塊的具體化,可以是一個(gè)計(jì)算機(jī)程序、物理模塊是邏輯模塊的具體化,可以是一個(gè)計(jì)算機(jī)程序、子程序或若干條程序語(yǔ)句,也可以是人工過(guò)程的某項(xiàng)具子程序或若干條程序語(yǔ)句,也可以是人工過(guò)程的某項(xiàng)具體工作。體工作。1、概述、概述管 理 信 息 系 統(tǒng)4(一)(一)模塊與模塊分解模塊與模塊分解2、模塊的四個(gè)要素、模塊的四個(gè)要素輸入和輸出輸入和輸出處理功能處理功能內(nèi)部數(shù)據(jù)內(nèi)部數(shù)據(jù)程序代碼程序代碼管 理 信 息 系 統(tǒng)5(一)(一)模塊與模塊分解模

4、塊與模塊分解3 3、模塊分解、模塊分解系統(tǒng)邏輯模型中數(shù)據(jù)流圖中的模塊是邏輯處理模系統(tǒng)邏輯模型中數(shù)據(jù)流圖中的模塊是邏輯處理模塊,模型中沒(méi)有說(shuō)明模塊的物理構(gòu)成和實(shí)現(xiàn)途徑,塊,模型中沒(méi)有說(shuō)明模塊的物理構(gòu)成和實(shí)現(xiàn)途徑,同時(shí)也看不出模塊的層次分解關(guān)系,為此在系統(tǒng)同時(shí)也看不出模塊的層次分解關(guān)系,為此在系統(tǒng)結(jié)構(gòu)設(shè)計(jì)中要將數(shù)據(jù)流圖上的各個(gè)邏輯處理模塊結(jié)構(gòu)設(shè)計(jì)中要將數(shù)據(jù)流圖上的各個(gè)邏輯處理模塊進(jìn)一步分解,用模塊結(jié)構(gòu)圖確定系統(tǒng)的層次結(jié)構(gòu)進(jìn)一步分解,用模塊結(jié)構(gòu)圖確定系統(tǒng)的層次結(jié)構(gòu)關(guān)系,并將系統(tǒng)的邏輯模型轉(zhuǎn)變?yōu)槲锢砟P?。關(guān)系,并將系統(tǒng)的邏輯模型轉(zhuǎn)變?yōu)槲锢砟P?。?理 信 息 系 統(tǒng)6(一)(一)模塊與模塊分解模塊與模

5、塊分解3 3、模塊分解、模塊分解(1 1)劃分模塊的依據(jù))劃分模塊的依據(jù) 一個(gè)合理的子系統(tǒng)或模塊劃分,應(yīng)該是子系統(tǒng)或一個(gè)合理的子系統(tǒng)或模塊劃分,應(yīng)該是子系統(tǒng)或模塊內(nèi)部聯(lián)系強(qiáng),子系統(tǒng)或模塊間盡可能獨(dú)立,模塊內(nèi)部聯(lián)系強(qiáng),子系統(tǒng)或模塊間盡可能獨(dú)立,接口明確、簡(jiǎn)單,盡量適應(yīng)用戶(hù)的組織體系,有接口明確、簡(jiǎn)單,盡量適應(yīng)用戶(hù)的組織體系,有適當(dāng)?shù)墓灿眯浴_m當(dāng)?shù)墓灿眯?。?理 信 息 系 統(tǒng)7(一)(一)模塊與模塊分解模塊與模塊分解3 3、模塊分解、模塊分解(2)模塊分解的方式)模塊分解的方式 按邏輯劃分:把相類(lèi)似的處理邏輯功能放在一個(gè)模按邏輯劃分:把相類(lèi)似的處理邏輯功能放在一個(gè)模塊里。塊里。 按時(shí)間劃分按時(shí)間

6、劃分 按過(guò)程劃分按過(guò)程劃分 按通信劃分按通信劃分 按職能劃分按職能劃分按職能劃分按職能劃分子系統(tǒng)、按邏輯劃分子系統(tǒng)、按邏輯劃分模塊模塊所形成的系統(tǒng)所形成的系統(tǒng)處理1處理2處理3輸入模塊輸出模塊系統(tǒng)子系統(tǒng)1子系統(tǒng)2子系統(tǒng)3管 理 信 息 系 統(tǒng)9(二)模塊結(jié)構(gòu)圖(二)模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖是把分解的一個(gè)個(gè)模塊按層次結(jié)構(gòu)聯(lián)模塊結(jié)構(gòu)圖是把分解的一個(gè)個(gè)模塊按層次結(jié)構(gòu)聯(lián)系起來(lái)的圖。系起來(lái)的圖。模塊結(jié)構(gòu)圖是結(jié)構(gòu)化設(shè)計(jì)中描述系統(tǒng)結(jié)構(gòu)的圖形模塊結(jié)構(gòu)圖是結(jié)構(gòu)化設(shè)計(jì)中描述系統(tǒng)結(jié)構(gòu)的圖形工具。作為一種文檔,它必須嚴(yán)格地定義模塊的工具。作為一種文檔,它必須嚴(yán)格地定義模塊的名字、功能和接口,同時(shí)還應(yīng)當(dāng)在模塊結(jié)構(gòu)圖上名字、

7、功能和接口,同時(shí)還應(yīng)當(dāng)在模塊結(jié)構(gòu)圖上反映出結(jié)構(gòu)化設(shè)計(jì)的思想。反映出結(jié)構(gòu)化設(shè)計(jì)的思想。序號(hào)序號(hào)名稱(chēng)名稱(chēng)符符 號(hào)號(hào)含含 義義 說(shuō)說(shuō) 明明1 1模塊模塊表示一個(gè)功能模塊,模塊名稱(chēng)標(biāo)注在方框的內(nèi)部表示一個(gè)功能模塊,模塊名稱(chēng)標(biāo)注在方框的內(nèi)部2 2預(yù)定義預(yù)定義表示一個(gè)預(yù)先定義的模塊,模塊名稱(chēng)標(biāo)注在方框的內(nèi)部,預(yù)先定義表示一個(gè)預(yù)先定義的模塊,模塊名稱(chēng)標(biāo)注在方框的內(nèi)部,預(yù)先定義模塊是指不必在編程實(shí)現(xiàn)的模塊,通常是應(yīng)用程序中的一個(gè)程序。模塊是指不必在編程實(shí)現(xiàn)的模塊,通常是應(yīng)用程序中的一個(gè)程序。3 3調(diào)用調(diào)用表示模塊與模塊之間的調(diào)用關(guān)系,箭頭部分指示被調(diào)用模塊,箭尾表示模塊與模塊之間的調(diào)用關(guān)系,箭頭部分指示被調(diào)用

8、模塊,箭尾部分指示調(diào)用模塊。部分指示調(diào)用模塊。4 4數(shù)據(jù)數(shù)據(jù)表示模塊與模塊之間的數(shù)據(jù)流,數(shù)據(jù)項(xiàng)名稱(chēng)或編號(hào)標(biāo)注在旁邊。表示模塊與模塊之間的數(shù)據(jù)流,數(shù)據(jù)項(xiàng)名稱(chēng)或編號(hào)標(biāo)注在旁邊。5 5控制信息控制信息表示模塊與模塊之間的控制流,控制變量的名稱(chēng)或編號(hào)標(biāo)注在旁邊。表示模塊與模塊之間的控制流,控制變量的名稱(chēng)或編號(hào)標(biāo)注在旁邊。6 6判斷分支判斷分支表示模塊內(nèi)部包含有判斷邏輯,根據(jù)判定結(jié)果調(diào)用哪些功能模塊。表示模塊內(nèi)部包含有判斷邏輯,根據(jù)判定結(jié)果調(diào)用哪些功能模塊。7 7循環(huán)調(diào)用循環(huán)調(diào)用表示模塊內(nèi)部包含有循環(huán)調(diào)用某個(gè)或某些模塊的功能。表示模塊內(nèi)部包含有循環(huán)調(diào)用某個(gè)或某些模塊的功能。8 8轉(zhuǎn)接轉(zhuǎn)接模塊結(jié)構(gòu)圖需要轉(zhuǎn)

9、接到另外一張紙上,或?yàn)榱吮苊鈭D上線條交叉時(shí),模塊結(jié)構(gòu)圖需要轉(zhuǎn)接到另外一張紙上,或?yàn)榱吮苊鈭D上線條交叉時(shí),都可使用轉(zhuǎn)接符號(hào),圓圈內(nèi)加上標(biāo)號(hào)。都可使用轉(zhuǎn)接符號(hào),圓圈內(nèi)加上標(biāo)號(hào)。管 理 信 息 系 統(tǒng)11(二)模塊結(jié)構(gòu)圖(二)模塊結(jié)構(gòu)圖1、模塊、模塊 系統(tǒng)設(shè)計(jì)中所說(shuō)的模塊為物理模塊,通常是指用一個(gè)名系統(tǒng)設(shè)計(jì)中所說(shuō)的模塊為物理模塊,通常是指用一個(gè)名字就可以調(diào)用的一段程序語(yǔ)句。字就可以調(diào)用的一段程序語(yǔ)句。 用長(zhǎng)方形框表示一個(gè)模塊,對(duì)于現(xiàn)成的模塊,則以雙縱邊用長(zhǎng)方形框表示一個(gè)模塊,對(duì)于現(xiàn)成的模塊,則以雙縱邊矩形框表示。矩形框表示。 長(zhǎng)方形中間標(biāo)上模塊名,模塊名通常由一個(gè)動(dòng)詞和一個(gè)作長(zhǎng)方形中間標(biāo)上模塊名,模

10、塊名通常由一個(gè)動(dòng)詞和一個(gè)作為賓語(yǔ)的名詞組成。為賓語(yǔ)的名詞組成。 模塊的名字應(yīng)當(dāng)能夠表明該模塊的功能。模塊的名字應(yīng)當(dāng)能夠表明該模塊的功能。模塊的表示模塊的表示管 理 信 息 系 統(tǒng)12(二)模塊結(jié)構(gòu)圖(二)模塊結(jié)構(gòu)圖2 2、調(diào)用、調(diào)用在模塊結(jié)構(gòu)圖中,用聯(lián)接兩個(gè)模塊的箭頭表示調(diào)用,箭頭總是由調(diào)用在模塊結(jié)構(gòu)圖中,用聯(lián)接兩個(gè)模塊的箭頭表示調(diào)用,箭頭總是由調(diào)用模塊指向被調(diào)用模塊,但是應(yīng)該理解成被調(diào)用模塊執(zhí)行后又返回到調(diào)模塊指向被調(diào)用模塊,但是應(yīng)該理解成被調(diào)用模塊執(zhí)行后又返回到調(diào)用模塊。用模塊。如果一個(gè)模塊是否調(diào)用一個(gè)從屬模塊,決定于調(diào)用模塊內(nèi)部的判斷條如果一個(gè)模塊是否調(diào)用一個(gè)從屬模塊,決定于調(diào)用模塊內(nèi)部

11、的判斷條件,則該調(diào)用稱(chēng)為判斷調(diào)用。件,則該調(diào)用稱(chēng)為判斷調(diào)用。如果一個(gè)模塊通過(guò)其內(nèi)部的循環(huán)功能來(lái)循環(huán)調(diào)用一個(gè)或多個(gè)從屬模塊如果一個(gè)模塊通過(guò)其內(nèi)部的循環(huán)功能來(lái)循環(huán)調(diào)用一個(gè)或多個(gè)從屬模塊, ,則該調(diào)用稱(chēng)為循環(huán)調(diào)用則該調(diào)用稱(chēng)為循環(huán)調(diào)用。模塊調(diào)用模塊調(diào)用管 理 信 息 系 統(tǒng)13(二)模塊結(jié)構(gòu)圖(二)模塊結(jié)構(gòu)圖3 3、數(shù)據(jù)、數(shù)據(jù)當(dāng)一個(gè)模塊調(diào)用另一個(gè)模塊時(shí),調(diào)用模塊可以把數(shù)據(jù)傳送當(dāng)一個(gè)模塊調(diào)用另一個(gè)模塊時(shí),調(diào)用模塊可以把數(shù)據(jù)傳送到被調(diào)用模塊處供處理,而被調(diào)用模塊又可以將處理的結(jié)到被調(diào)用模塊處供處理,而被調(diào)用模塊又可以將處理的結(jié)果數(shù)據(jù)送回到調(diào)用模塊。果數(shù)據(jù)送回到調(diào)用模塊。管 理 信 息 系 統(tǒng)14(二)模塊

12、結(jié)構(gòu)圖(二)模塊結(jié)構(gòu)圖4 4、控制信息、控制信息為了指導(dǎo)程序下一步的執(zhí)行,模塊間有時(shí)還必須傳送某些為了指導(dǎo)程序下一步的執(zhí)行,模塊間有時(shí)還必須傳送某些控制信息,例如,數(shù)據(jù)輸入完成后給出的結(jié)束標(biāo)志,文件控制信息,例如,數(shù)據(jù)輸入完成后給出的結(jié)束標(biāo)志,文件讀到末尾所產(chǎn)生的文件結(jié)束標(biāo)志等。讀到末尾所產(chǎn)生的文件結(jié)束標(biāo)志等。控制信息與數(shù)據(jù)的主要區(qū)別是前者只反映數(shù)據(jù)的某種狀態(tài),控制信息與數(shù)據(jù)的主要區(qū)別是前者只反映數(shù)據(jù)的某種狀態(tài),不必進(jìn)行處理。不必進(jìn)行處理。管 理 信 息 系 統(tǒng)15(二)模塊結(jié)構(gòu)圖(二)模塊結(jié)構(gòu)圖5 5、轉(zhuǎn)接符號(hào)、轉(zhuǎn)接符號(hào)當(dāng)模塊結(jié)構(gòu)圖在一張圖面上畫(huà)不下,需要轉(zhuǎn)接到另外一張當(dāng)模塊結(jié)構(gòu)圖在一張圖面

13、上畫(huà)不下,需要轉(zhuǎn)接到另外一張紙上,或?yàn)榱吮苊鈭D上線條交叉時(shí),都可使用轉(zhuǎn)接符號(hào),紙上,或?yàn)榱吮苊鈭D上線條交叉時(shí),都可使用轉(zhuǎn)接符號(hào),圓圈內(nèi)加上標(biāo)號(hào),如圖所示。圓圈內(nèi)加上標(biāo)號(hào),如圖所示。 轉(zhuǎn)接符號(hào)的使用轉(zhuǎn)接符號(hào)的使用管 理 信 息 系 統(tǒng)16(三)模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式(三)模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式 一個(gè)系統(tǒng)的模塊結(jié)構(gòu)圖有兩種標(biāo)準(zhǔn)形式一個(gè)系統(tǒng)的模塊結(jié)構(gòu)圖有兩種標(biāo)準(zhǔn)形式: :變換型模塊結(jié)構(gòu)變換型模塊結(jié)構(gòu)事務(wù)型模塊結(jié)構(gòu)事務(wù)型模塊結(jié)構(gòu)管 理 信 息 系 統(tǒng)17(三)模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式(三)模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式1 1、變換型模塊結(jié)構(gòu)、變換型模塊結(jié)構(gòu)變換型模塊結(jié)構(gòu)描述的是變換型系統(tǒng),變換型系變換型模塊結(jié)構(gòu)描述的是

14、變換型系統(tǒng),變換型系統(tǒng)由三部分組成:統(tǒng)由三部分組成:輸入輸入數(shù)據(jù)加工(中心變換)數(shù)據(jù)加工(中心變換)輸出輸出變換型模塊的功能是將輸入的數(shù)據(jù)經(jīng)過(guò)加工后輸變換型模塊的功能是將輸入的數(shù)據(jù)經(jīng)過(guò)加工后輸出。出。變換型系統(tǒng)工作的順序:變換型系統(tǒng)工作的順序:首先主模塊受到控制,然后控制沿著結(jié)構(gòu)逐層達(dá)到底層的輸入模塊,當(dāng)?shù)讓幽K首先主模塊受到控制,然后控制沿著結(jié)構(gòu)逐層達(dá)到底層的輸入模塊,當(dāng)?shù)讓幽K輸入數(shù)據(jù)后,由下至上逐層傳送,逐步由輸入數(shù)據(jù)后,由下至上逐層傳送,逐步由“物理輸入物理輸入”變成變成“邏輯輸入邏輯輸入”C C;在主控模塊控制下,在主控模塊控制下, “ “邏輯輸入邏輯輸入”經(jīng)中心變換模塊轉(zhuǎn)換成經(jīng)中心

15、變換模塊轉(zhuǎn)換成“邏輯輸出邏輯輸出”D D,D D再由上至下逐層傳送,逐步把再由上至下逐層傳送,逐步把“邏輯輸出邏輯輸出”變成變成“物理輸出物理輸出”E E。 這里的這里的“邏輯輸入邏輯輸入”和和“邏輯輸出邏輯輸出”分別為系統(tǒng)主處理的輸入數(shù)據(jù)流和輸出數(shù)分別為系統(tǒng)主處理的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流,而據(jù)流,而“物理輸入物理輸入”和和“物理輸出物理輸出”是指系統(tǒng)輸入端和系統(tǒng)輸出端的數(shù)據(jù)。是指系統(tǒng)輸入端和系統(tǒng)輸出端的數(shù)據(jù)。管 理 信 息 系 統(tǒng)19(三)模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式(三)模塊結(jié)構(gòu)圖的標(biāo)準(zhǔn)形式2、事務(wù)型模塊結(jié)構(gòu)、事務(wù)型模塊結(jié)構(gòu)事務(wù)型系統(tǒng)由三層組成:事務(wù)型系統(tǒng)由三層組成:事務(wù)層事務(wù)層操作層操作層細(xì)節(jié)層

16、細(xì)節(jié)層 事務(wù)型模塊的功能是對(duì)接收的事務(wù),按其類(lèi)型選事務(wù)型模塊的功能是對(duì)接收的事務(wù),按其類(lèi)型選擇某一類(lèi)事務(wù)處理。擇某一類(lèi)事務(wù)處理。事務(wù)型系統(tǒng)工作的順序:事務(wù)型系統(tǒng)工作的順序:主模塊將按事務(wù)的類(lèi)型選擇調(diào)用某一事務(wù)處理模塊,主模塊將按事務(wù)的類(lèi)型選擇調(diào)用某一事務(wù)處理模塊,事務(wù)處理模塊又調(diào)用若干個(gè)操作模塊,而每個(gè)操作模塊又調(diào)用若干個(gè)細(xì)節(jié)模塊。事務(wù)處理模塊又調(diào)用若干個(gè)操作模塊,而每個(gè)操作模塊又調(diào)用若干個(gè)細(xì)節(jié)模塊。 在實(shí)際系統(tǒng)中,由于不同的事務(wù)可能有共同的操作,而不同操作又可能有共同在實(shí)際系統(tǒng)中,由于不同的事務(wù)可能有共同的操作,而不同操作又可能有共同的細(xì)節(jié),因此事務(wù)型系統(tǒng)的操作模塊和細(xì)節(jié)模塊可以達(dá)到一定程度

17、的共享。的細(xì)節(jié),因此事務(wù)型系統(tǒng)的操作模塊和細(xì)節(jié)模塊可以達(dá)到一定程度的共享。變換型和事務(wù)型模塊結(jié)構(gòu)都有較高的模塊內(nèi)聚和較低的塊間耦合,因此便于修變換型和事務(wù)型模塊結(jié)構(gòu)都有較高的模塊內(nèi)聚和較低的塊間耦合,因此便于修改和維護(hù)。在管理信息系統(tǒng)中,經(jīng)常將這兩種結(jié)構(gòu)結(jié)合使用。改和維護(hù)。在管理信息系統(tǒng)中,經(jīng)常將這兩種結(jié)構(gòu)結(jié)合使用。管 理 信 息 系 統(tǒng)21(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖 下面介紹通過(guò)下面介紹通過(guò)“變換分析變換分析”和和“事務(wù)分析事務(wù)分析”技術(shù),技術(shù),導(dǎo)出導(dǎo)出“變換型變換型”和和“事務(wù)型事務(wù)型”初始結(jié)構(gòu)圖的方法。初始結(jié)構(gòu)圖的方法。變換分析變換分析事務(wù)分析事務(wù)分析混合結(jié)

18、構(gòu)的分析混合結(jié)構(gòu)的分析管 理 信 息 系 統(tǒng)22(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖1、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)系統(tǒng)分析階段,我們采用結(jié)構(gòu)化分析方法得到了由數(shù)據(jù)流系統(tǒng)分析階段,我們采用結(jié)構(gòu)化分析方法得到了由數(shù)據(jù)流圖、數(shù)據(jù)字典和加工說(shuō)明等組成的系統(tǒng)的邏輯模型?,F(xiàn)在,圖、數(shù)據(jù)字典和加工說(shuō)明等組成的系統(tǒng)的邏輯模型?,F(xiàn)在,可根據(jù)一些規(guī)則從數(shù)據(jù)流圖導(dǎo)出系統(tǒng)初始的模塊結(jié)構(gòu)圖??筛鶕?jù)一些規(guī)則從數(shù)據(jù)流圖導(dǎo)出系統(tǒng)初始的模塊結(jié)構(gòu)圖。管理信息系統(tǒng)的數(shù)據(jù)流圖通常也可分為兩種典型的結(jié)構(gòu)管理信息系統(tǒng)的數(shù)據(jù)流圖通常也可分為兩種典型的結(jié)構(gòu):變換型結(jié)構(gòu)和事務(wù)型結(jié)構(gòu)。變換型結(jié)構(gòu)和事務(wù)型結(jié)

19、構(gòu)。管 理 信 息 系 統(tǒng)23(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖1、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)變換型結(jié)構(gòu)變換型結(jié)構(gòu): : 變換型結(jié)構(gòu)的數(shù)據(jù)流圖呈一種線性狀態(tài),它所描述的工作可變換型結(jié)構(gòu)的數(shù)據(jù)流圖呈一種線性狀態(tài),它所描述的工作可表示為:輸入、主處理、輸出。表示為:輸入、主處理、輸出。管 理 信 息 系 統(tǒng)24(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖1、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)事務(wù)型結(jié)構(gòu): : 事務(wù)型結(jié)構(gòu)的數(shù)據(jù)流圖則呈束狀形,即一束數(shù)據(jù)流平行流事務(wù)型結(jié)構(gòu)的數(shù)據(jù)流圖則呈束狀形,即一束數(shù)據(jù)流平行流入或流出,可能同

20、時(shí)有幾個(gè)事務(wù)要求處理。入或流出,可能同時(shí)有幾個(gè)事務(wù)要求處理。管 理 信 息 系 統(tǒng)25(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖1、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)、數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)上述兩種典型的數(shù)據(jù)流圖結(jié)構(gòu)分別可通過(guò)上述兩種典型的數(shù)據(jù)流圖結(jié)構(gòu)分別可通過(guò)“變換變換分析分析”和和“事務(wù)分析事務(wù)分析”技術(shù),導(dǎo)出技術(shù),導(dǎo)出“變換型變換型”和和“事務(wù)型事務(wù)型”初始的模塊結(jié)構(gòu)圖。初始的模塊結(jié)構(gòu)圖。這兩種方法的思想是首先設(shè)計(jì)頂層模塊,然后自這兩種方法的思想是首先設(shè)計(jì)頂層模塊,然后自頂向下,逐步細(xì)化,最后得到一個(gè)滿足數(shù)據(jù)流圖頂向下,逐步細(xì)化,最后得到一個(gè)滿足數(shù)據(jù)流圖所表示的用戶(hù)要求的系統(tǒng)的模塊結(jié)構(gòu)

21、圖,即系統(tǒng)所表示的用戶(hù)要求的系統(tǒng)的模塊結(jié)構(gòu)圖,即系統(tǒng)的物理模型。的物理模型。管 理 信 息 系 統(tǒng)26(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖 2 2、“變換分析變換分析”技術(shù)技術(shù) 因?yàn)樽儞Q型結(jié)構(gòu)由輸入,主處理和輸出三部分組因?yàn)樽儞Q型結(jié)構(gòu)由輸入,主處理和輸出三部分組成,所以從變換型結(jié)構(gòu)的數(shù)據(jù)流圖導(dǎo)出變換型模成,所以從變換型結(jié)構(gòu)的數(shù)據(jù)流圖導(dǎo)出變換型模塊結(jié)構(gòu)圖,可分三步進(jìn)行。塊結(jié)構(gòu)圖,可分三步進(jìn)行。找出系統(tǒng)的主加工找出系統(tǒng)的主加工設(shè)計(jì)頂層模塊和第一層模塊設(shè)計(jì)頂層模塊和第一層模塊設(shè)計(jì)中、下層模塊設(shè)計(jì)中、下層模塊(1 1)找出系統(tǒng)的主加工)找出系統(tǒng)的主加工為了處理方便,先不考慮數(shù)據(jù)流圖

22、中的一些支流,如出錯(cuò)處理等。為了處理方便,先不考慮數(shù)據(jù)流圖中的一些支流,如出錯(cuò)處理等。通常在數(shù)據(jù)流圖中多股數(shù)據(jù)流的匯合處理往往是系統(tǒng)的主加工。通常在數(shù)據(jù)流圖中多股數(shù)據(jù)流的匯合處理往往是系統(tǒng)的主加工。若沒(méi)有明顯的匯合處,則可先確定哪些數(shù)據(jù)流是邏輯輸入和邏輯輸出,若沒(méi)有明顯的匯合處,則可先確定哪些數(shù)據(jù)流是邏輯輸入和邏輯輸出,從而獲得主加工。從而獲得主加工。(2 2)設(shè)計(jì)頂層模塊和第一層模塊)設(shè)計(jì)頂層模塊和第一層模塊頂層模塊:頂層模塊:首先在與主加工對(duì)應(yīng)的位置上畫(huà)出主模塊首先在與主加工對(duì)應(yīng)的位置上畫(huà)出主模塊, ,主模塊的功能就是整個(gè)系統(tǒng)主模塊的功能就是整個(gè)系統(tǒng)要做的工作,主模塊又稱(chēng)為主控制模塊。要做

23、的工作,主模塊又稱(chēng)為主控制模塊。主模塊是模塊結(jié)構(gòu)圖的主模塊是模塊結(jié)構(gòu)圖的“頂頂”?,F(xiàn)在我們就可按現(xiàn)在我們就可按“自頂向下,逐步細(xì)化自頂向下,逐步細(xì)化”的思想來(lái)畫(huà)模塊結(jié)構(gòu)圖頂下的思想來(lái)畫(huà)模塊結(jié)構(gòu)圖頂下的各層了。每一層均需按輸入、變換、輸出等分支來(lái)處理。的各層了。每一層均需按輸入、變換、輸出等分支來(lái)處理。 為每一個(gè)邏輯輸入畫(huà)一個(gè)輸入模塊,其功能是向主模塊提供數(shù)據(jù)。為每一個(gè)邏輯輸入畫(huà)一個(gè)輸入模塊,其功能是向主模塊提供數(shù)據(jù)。 為每一個(gè)邏輯輸出畫(huà)一個(gè)輸出模塊,其功能是把主模塊提供的數(shù)據(jù)輸出。為每一個(gè)邏輯輸出畫(huà)一個(gè)輸出模塊,其功能是把主模塊提供的數(shù)據(jù)輸出。 為主處理畫(huà)一個(gè)變換模塊,其功能是把邏輯輸入變換成

24、邏輯輸出。為主處理畫(huà)一個(gè)變換模塊,其功能是把邏輯輸入變換成邏輯輸出。 至此,結(jié)構(gòu)圖第一層就完成了。在作圖時(shí)應(yīng)注意主模塊與第一層模塊之間至此,結(jié)構(gòu)圖第一層就完成了。在作圖時(shí)應(yīng)注意主模塊與第一層模塊之間傳送的數(shù)據(jù),要與數(shù)據(jù)流圖相對(duì)應(yīng)。傳送的數(shù)據(jù),要與數(shù)據(jù)流圖相對(duì)應(yīng)。(2 2)設(shè)計(jì)頂層模塊和第一層模塊)設(shè)計(jì)頂層模塊和第一層模塊第一層模塊第一層模塊(3 3)設(shè)計(jì)中層模塊和下層模塊)設(shè)計(jì)中層模塊和下層模塊因?yàn)檩斎肽K的功能是向調(diào)用它的模塊提供數(shù)據(jù),所以它自已也需要一個(gè)數(shù)因?yàn)檩斎肽K的功能是向調(diào)用它的模塊提供數(shù)據(jù),所以它自已也需要一個(gè)數(shù)據(jù)來(lái)源。此外,輸入模塊必須向調(diào)用模塊提供所需的數(shù)據(jù),因此它應(yīng)具有變據(jù)來(lái)

25、源。此外,輸入模塊必須向調(diào)用模塊提供所需的數(shù)據(jù),因此它應(yīng)具有變換功能,能夠?qū)⑤斎霐?shù)據(jù)按模塊的要求進(jìn)行變換后,再提交該調(diào)用模塊。從換功能,能夠?qū)⑤斎霐?shù)據(jù)按模塊的要求進(jìn)行變換后,再提交該調(diào)用模塊。從而,要為每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊,其中一個(gè)是輸入模塊,另一個(gè)是而,要為每個(gè)輸入模塊設(shè)計(jì)兩個(gè)下層模塊,其中一個(gè)是輸入模塊,另一個(gè)是變換模塊。變換模塊。同理,也為每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下層模塊,一個(gè)是變換模塊,將同理,也為每個(gè)輸出模塊設(shè)計(jì)兩個(gè)下層模塊,一個(gè)是變換模塊,將調(diào)用模塊所提供的數(shù)據(jù)變換成輸出的形式,另一個(gè)是輸出模塊,將變調(diào)用模塊所提供的數(shù)據(jù)變換成輸出的形式,另一個(gè)是輸出模塊,將變換后的數(shù)據(jù)輸出。該

26、過(guò)程由頂向下遞歸進(jìn)行,直到系統(tǒng)的物理輸入端換后的數(shù)據(jù)輸出。該過(guò)程由頂向下遞歸進(jìn)行,直到系統(tǒng)的物理輸入端或物理輸出端為止。或物理輸出端為止。每設(shè)計(jì)出一個(gè)新模塊,應(yīng)同時(shí)給它起一個(gè)能反映模塊功能的名字。每設(shè)計(jì)出一個(gè)新模塊,應(yīng)同時(shí)給它起一個(gè)能反映模塊功能的名字。管 理 信 息 系 統(tǒng)32(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖(四)如何畫(huà)初始的模塊結(jié)構(gòu)圖3、“事務(wù)分析事務(wù)分析”技術(shù)技術(shù) 當(dāng)數(shù)據(jù)流圖呈現(xiàn)當(dāng)數(shù)據(jù)流圖呈現(xiàn)“束狀束狀”結(jié)構(gòu)時(shí),應(yīng)采用事務(wù)分結(jié)構(gòu)時(shí),應(yīng)采用事務(wù)分析的設(shè)計(jì)方法。就步驟而言該方法與變換分析方法析的設(shè)計(jì)方法。就步驟而言該方法與變換分析方法大部分類(lèi)似,主要差別在于由數(shù)據(jù)流圖到模塊結(jié)構(gòu)大部分類(lèi)似,主要差

27、別在于由數(shù)據(jù)流圖到模塊結(jié)構(gòu)的影射方式不同。的影射方式不同。 進(jìn)行事務(wù)分析時(shí),通常采用以下四步:進(jìn)行事務(wù)分析時(shí),通常采用以下四步:確定以事務(wù)為中心的結(jié)構(gòu),包括找出事務(wù)中心和事務(wù)來(lái)源。如圖所示的典型事確定以事務(wù)為中心的結(jié)構(gòu),包括找出事務(wù)中心和事務(wù)來(lái)源。如圖所示的典型事務(wù)型數(shù)據(jù)流結(jié)構(gòu)為例,是事務(wù)中心,則為事務(wù)來(lái)源。務(wù)型數(shù)據(jù)流結(jié)構(gòu)為例,是事務(wù)中心,則為事務(wù)來(lái)源。按功能劃分事務(wù),將具備相同功能的事務(wù)分為同一類(lèi),建立事務(wù)模塊。按功能劃分事務(wù),將具備相同功能的事務(wù)分為同一類(lèi),建立事務(wù)模塊。為每個(gè)事務(wù)處理模塊建立全部的操作層模塊。其建立方法與變換分析方法類(lèi)似,為每個(gè)事務(wù)處理模塊建立全部的操作層模塊。其建立方法

28、與變換分析方法類(lèi)似,但事務(wù)處理模決可以共享某些操作模塊。但事務(wù)處理模決可以共享某些操作模塊。若有必要,則為操作層模塊定義相應(yīng)的細(xì)節(jié)模塊,并盡可能使細(xì)節(jié)模塊被多個(gè)若有必要,則為操作層模塊定義相應(yīng)的細(xì)節(jié)模塊,并盡可能使細(xì)節(jié)模塊被多個(gè)操作模塊共享。操作模塊共享。A AX X下圖是一個(gè)以事務(wù)為中心的數(shù)據(jù)流圖,顯然,加工下圖是一個(gè)以事務(wù)為中心的數(shù)據(jù)流圖,顯然,加工“確定事務(wù)類(lèi)型確定事務(wù)類(lèi)型”是它是它的事務(wù)中心,由該數(shù)據(jù)流圖經(jīng)事務(wù)分析可得到的模塊結(jié)構(gòu)圖如圖所示的事務(wù)中心,由該數(shù)據(jù)流圖經(jīng)事務(wù)分析可得到的模塊結(jié)構(gòu)圖如圖所示。4 4、混合結(jié)構(gòu)的分析、混合結(jié)構(gòu)的分析在規(guī)模較大的實(shí)際系統(tǒng)中,其數(shù)據(jù)流圖往往是變換型和

29、事在規(guī)模較大的實(shí)際系統(tǒng)中,其數(shù)據(jù)流圖往往是變換型和事務(wù)型的混合結(jié)構(gòu)。此時(shí)可把變換分析和事務(wù)分析應(yīng)用在同一務(wù)型的混合結(jié)構(gòu)。此時(shí)可把變換分析和事務(wù)分析應(yīng)用在同一數(shù)據(jù)流圖的不同部分。數(shù)據(jù)流圖的不同部分。例如,可以以例如,可以以“變換分析變換分析”為主,為主,“事務(wù)分析事務(wù)分析”為輔進(jìn)行為輔進(jìn)行設(shè)計(jì)。先找出主處理,設(shè)計(jì)出結(jié)構(gòu)圖的上層,然后根據(jù)數(shù)據(jù)設(shè)計(jì)。先找出主處理,設(shè)計(jì)出結(jié)構(gòu)圖的上層,然后根據(jù)數(shù)據(jù)流圖各部分的結(jié)構(gòu)特點(diǎn),適當(dāng)選用流圖各部分的結(jié)構(gòu)特點(diǎn),適當(dāng)選用“變換分析變換分析”或或“事務(wù)分事務(wù)分析析” ” 就可得出初始結(jié)構(gòu)圖的某個(gè)方案。就可得出初始結(jié)構(gòu)圖的某個(gè)方案。其中第一層是用變換分析得到的,而模塊其

30、中第一層是用變換分析得到的,而模塊“使使b b變成變成d”d”及及下層模塊和模塊下層模塊和模塊“變變d d為為g”g” 及下層模塊則是采用事務(wù)分析及下層模塊則是采用事務(wù)分析得到的。得到的。變換型和事務(wù)型混合變換型和事務(wù)型混合結(jié)構(gòu)的模塊結(jié)構(gòu)圖結(jié)構(gòu)的模塊結(jié)構(gòu)圖例題例題: :1.1.對(duì)對(duì)如下圖所示的數(shù)據(jù)流圖,請(qǐng)完成如下工作:如下圖所示的數(shù)據(jù)流圖,請(qǐng)完成如下工作: (1)(1)請(qǐng)指出該數(shù)據(jù)流圖的類(lèi)型結(jié)構(gòu)并指出主加工。請(qǐng)指出該數(shù)據(jù)流圖的類(lèi)型結(jié)構(gòu)并指出主加工。 (2)(2)將數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始模塊結(jié)構(gòu)圖。將數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始模塊結(jié)構(gòu)圖。BaCbEc1Fc2ef主加工主加工C,模塊結(jié)構(gòu)圖如下:,

31、模塊結(jié)構(gòu)圖如下: 主模塊輸入b轉(zhuǎn)換為c1、c2輸出c1輸出c2bbc1c2c1c2輸入aa變換為bab變換為ee輸出ec1e變換為ff輸出fc2f例題例題: :2.2.對(duì)對(duì)如下圖所示的數(shù)據(jù)流圖,請(qǐng)完成如下工作:如下圖所示的數(shù)據(jù)流圖,請(qǐng)完成如下工作: (1)(1)請(qǐng)指出該數(shù)據(jù)流圖的類(lèi)型結(jié)構(gòu)并指出主加工。請(qǐng)指出該數(shù)據(jù)流圖的類(lèi)型結(jié)構(gòu)并指出主加工。 (2)(2)將數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始模塊結(jié)構(gòu)圖。將數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始模塊結(jié)構(gòu)圖。AX1BX2CX3EY1FY2Z1Z2主加工主加工C,模塊結(jié)構(gòu)圖如下:,模塊結(jié)構(gòu)圖如下: 主 模 塊輸 入 X3轉(zhuǎn) 換 為 Y1、 Y2輸 出 Y1輸 出 Y2X3X3

32、Y1Y2Y1Y2輸 入 X2X2變 換 為 X3X2X3變 換 為 Z1Z1輸 出 Z1Y1Z1輸 入 X1X1變 換 為 X2X1X2變 換 為 Z2Z2輸 出 Z2Y2Z2課堂練習(xí)課堂練習(xí): :1.1.將下面給定的數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始將下面給定的數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始模塊結(jié)構(gòu)圖模塊結(jié)構(gòu)圖xy課堂練習(xí)課堂練習(xí): : 2.2.將下面給定的數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初將下面給定的數(shù)據(jù)流圖轉(zhuǎn)換為相應(yīng)的初始模塊結(jié)構(gòu)圖始模塊結(jié)構(gòu)圖HIJ1J2J3KLM1M2NOPhii1i2i3j1j2j3kl1l2m1m2nop管 理 信 息 系 統(tǒng)43(五)模塊結(jié)構(gòu)圖的改進(jìn)(五)模塊結(jié)構(gòu)圖的改進(jìn)1 1、模塊耦合和

33、內(nèi)聚的概念、模塊耦合和內(nèi)聚的概念一個(gè)模塊內(nèi)部的聯(lián)系稱(chēng)為塊內(nèi)聯(lián)系,穿越模塊一個(gè)模塊內(nèi)部的聯(lián)系稱(chēng)為塊內(nèi)聯(lián)系,穿越模塊邊界的聯(lián)系稱(chēng)為塊間聯(lián)系。邊界的聯(lián)系稱(chēng)為塊間聯(lián)系。耦合是表示模塊之間聯(lián)系的程度;內(nèi)聚則用來(lái)耦合是表示模塊之間聯(lián)系的程度;內(nèi)聚則用來(lái)表示模塊內(nèi)部各成分之間的聯(lián)系程度。表示模塊內(nèi)部各成分之間的聯(lián)系程度。緊密耦合表示模塊之間聯(lián)系非常強(qiáng),松散耦合表示緊密耦合表示模塊之間聯(lián)系非常強(qiáng),松散耦合表示模塊之間聯(lián)系比較弱,非耦合則表示模塊之間無(wú)任模塊之間聯(lián)系比較弱,非耦合則表示模塊之間無(wú)任何聯(lián)系,是完全獨(dú)立的。何聯(lián)系,是完全獨(dú)立的。模塊設(shè)計(jì)的標(biāo)準(zhǔn):高內(nèi)聚低耦合。模塊設(shè)計(jì)的標(biāo)準(zhǔn):高內(nèi)聚低耦合。管 理 信

34、息 系 統(tǒng)44(五)模塊結(jié)構(gòu)圖的改進(jìn)(五)模塊結(jié)構(gòu)圖的改進(jìn)2 2、模塊的耦合方式、模塊的耦合方式 數(shù)據(jù)耦合數(shù)據(jù)耦合 控制耦合控制耦合 非法耦合非法耦合(1 1)數(shù)據(jù)耦合)數(shù)據(jù)耦合如果兩個(gè)模塊之間的通信信息是若干數(shù)據(jù)項(xiàng),則這種耦合方如果兩個(gè)模塊之間的通信信息是若干數(shù)據(jù)項(xiàng),則這種耦合方式稱(chēng)為數(shù)據(jù)耦合。式稱(chēng)為數(shù)據(jù)耦合。例如,為了計(jì)算實(shí)發(fā)工資,例如,為了計(jì)算實(shí)發(fā)工資,“計(jì)算工資計(jì)算工資”模塊必須把工資模塊必須把工資總額和扣款數(shù)傳輸給總額和扣款數(shù)傳輸給“計(jì)算實(shí)發(fā)工資計(jì)算實(shí)發(fā)工資”模塊,而模塊,而“計(jì)算實(shí)計(jì)算實(shí)發(fā)工資發(fā)工資”模塊在算出實(shí)發(fā)工資后又送回到模塊在算出實(shí)發(fā)工資后又送回到“計(jì)算工資計(jì)算工資”模模塊

35、。塊。這種耦合對(duì)系統(tǒng)的影響比較小,是一種較好的耦合方式,這種耦合對(duì)系統(tǒng)的影響比較小,是一種較好的耦合方式,但為了減少接口的復(fù)雜性,應(yīng)盡量防止傳輸不必要的數(shù)據(jù)。但為了減少接口的復(fù)雜性,應(yīng)盡量防止傳輸不必要的數(shù)據(jù)。2、模塊的耦合方式、模塊的耦合方式(2 2)控制耦合)控制耦合如果兩個(gè)模塊之間傳輸?shù)男畔⑹强刂菩畔?,則該耦合稱(chēng)為控如果兩個(gè)模塊之間傳輸?shù)男畔⑹强刂菩畔ⅲ瑒t該耦合稱(chēng)為控制耦合。制耦合。傳送的控制信息可分成兩類(lèi),一類(lèi)是判定參數(shù),調(diào)用模傳送的控制信息可分成兩類(lèi),一類(lèi)是判定參數(shù),調(diào)用模塊通過(guò)該判定參數(shù)控制被調(diào)用模塊的工作方式,若判定塊通過(guò)該判定參數(shù)控制被調(diào)用模塊的工作方式,若判定參數(shù)出錯(cuò)則導(dǎo)致被

36、調(diào)用模塊按另一種方式工作。參數(shù)出錯(cuò)則導(dǎo)致被調(diào)用模塊按另一種方式工作。另一種是地址參數(shù),調(diào)用模塊直接轉(zhuǎn)向被調(diào)用模塊內(nèi)部另一種是地址參數(shù),調(diào)用模塊直接轉(zhuǎn)向被調(diào)用模塊內(nèi)部的某一些地址,這時(shí)若改動(dòng)一個(gè)模塊則必將影響另一模的某一些地址,這時(shí)若改動(dòng)一個(gè)模塊則必將影響另一模塊。塊。因?yàn)榭刂岂詈戏绞降鸟詈铣潭容^高,應(yīng)盡量避免采用地因?yàn)榭刂岂詈戏绞降鸟詈铣潭容^高,應(yīng)盡量避免采用地址參數(shù)的方式。址參數(shù)的方式。2、模塊的耦合方式、模塊的耦合方式(3)非法耦合)非法耦合 兩個(gè)模塊之間,不經(jīng)過(guò)調(diào)用關(guān)系,彼此直接使用或修改對(duì)兩個(gè)模塊之間,不經(jīng)過(guò)調(diào)用關(guān)系,彼此直接使用或修改對(duì)方的數(shù)據(jù)。方的數(shù)據(jù)。2、模塊的耦合方式、模塊的耦

37、合方式管 理 信 息 系 統(tǒng)48(五)模塊結(jié)構(gòu)圖的改進(jìn)(五)模塊結(jié)構(gòu)圖的改進(jìn)3 3、模塊的內(nèi)聚方式、模塊的內(nèi)聚方式功能內(nèi)聚功能內(nèi)聚順序內(nèi)聚順序內(nèi)聚通信內(nèi)聚通信內(nèi)聚過(guò)程內(nèi)聚過(guò)程內(nèi)聚邏輯內(nèi)聚邏輯內(nèi)聚巧合內(nèi)聚巧合內(nèi)聚耦合度耦合度 性能性能低低 好好高高 壞壞(1 1)功能內(nèi)聚)功能內(nèi)聚功能內(nèi)聚表示模塊中各成分的聯(lián)系是功能性的,功能內(nèi)聚表示模塊中各成分的聯(lián)系是功能性的,即一個(gè)模塊執(zhí)行一個(gè)功能,且完成該功能所必須即一個(gè)模塊執(zhí)行一個(gè)功能,且完成該功能所必須的全部成分都包含在模塊中。的全部成分都包含在模塊中。例如,計(jì)算工資、打印月報(bào)表等。由于這類(lèi)模例如,計(jì)算工資、打印月報(bào)表等。由于這類(lèi)模塊的功能明確、模塊間

38、的耦合簡(jiǎn)單,所以便于塊的功能明確、模塊間的耦合簡(jiǎn)單,所以便于維護(hù)。我們?cè)谙到y(tǒng)設(shè)計(jì)時(shí)應(yīng)力求按功能劃分模維護(hù)。我們?cè)谙到y(tǒng)設(shè)計(jì)時(shí)應(yīng)力求按功能劃分模塊。塊。3、模塊的內(nèi)聚方式、模塊的內(nèi)聚方式(2 2)順序內(nèi)聚)順序內(nèi)聚順序內(nèi)聚是指模塊中各成分有順序關(guān)系,某一成分順序內(nèi)聚是指模塊中各成分有順序關(guān)系,某一成分的輸出是另一成分的輸入。的輸出是另一成分的輸入。 例如,例如,“錄入和匯總錄入和匯總”模塊、模塊、“統(tǒng)計(jì)和打印統(tǒng)計(jì)和打印”模塊都是順序內(nèi)聚模塊。順序內(nèi)聚的模塊中有可模塊都是順序內(nèi)聚模塊。順序內(nèi)聚的模塊中有可能包含幾個(gè)功能,因而會(huì)給維護(hù)帶來(lái)不便。能包含幾個(gè)功能,因而會(huì)給維護(hù)帶來(lái)不便。3、模塊的內(nèi)聚方式、

39、模塊的內(nèi)聚方式(3 3)通信內(nèi)聚)通信內(nèi)聚通信內(nèi)聚是指模塊中各成分引用或產(chǎn)生共同的數(shù)通信內(nèi)聚是指模塊中各成分引用或產(chǎn)生共同的數(shù)據(jù)。據(jù)。例如報(bào)表打印模塊,各成分都從若干共同的數(shù)例如報(bào)表打印模塊,各成分都從若干共同的數(shù)據(jù)來(lái)源接收數(shù)據(jù),然后轉(zhuǎn)換、匯總并打印出各據(jù)來(lái)源接收數(shù)據(jù),然后轉(zhuǎn)換、匯總并打印出各種報(bào)表。種報(bào)表。3、模塊的內(nèi)聚方式、模塊的內(nèi)聚方式(4 4)過(guò)程內(nèi)聚)過(guò)程內(nèi)聚過(guò)程內(nèi)聚是指一個(gè)模塊內(nèi)各組成部分的處理動(dòng)作各不相同,過(guò)程內(nèi)聚是指一個(gè)模塊內(nèi)各組成部分的處理動(dòng)作各不相同,彼此也沒(méi)有什么關(guān)系,但他們受同一個(gè)控制流支配,決定他彼此也沒(méi)有什么關(guān)系,但他們受同一個(gè)控制流支配,決定他們的執(zhí)行次序。們的執(zhí)

40、行次序。過(guò)程內(nèi)聚是由一段公共的處理過(guò)程組合成的模塊。過(guò)程內(nèi)聚是由一段公共的處理過(guò)程組合成的模塊。例如,把處理過(guò)程中的所有循環(huán)部分,判定部分和順序執(zhí)例如,把處理過(guò)程中的所有循環(huán)部分,判定部分和順序執(zhí)行部分劃分到一個(gè)模塊,則它們都是過(guò)程內(nèi)聚的,過(guò)程內(nèi)行部分劃分到一個(gè)模塊,則它們都是過(guò)程內(nèi)聚的,過(guò)程內(nèi)聚的內(nèi)部結(jié)構(gòu)一般是由程序流程圖直接演變出來(lái)的。聚的內(nèi)部結(jié)構(gòu)一般是由程序流程圖直接演變出來(lái)的。顯然,采用過(guò)程內(nèi)聚時(shí),模塊間的耦合度比較高。顯然,采用過(guò)程內(nèi)聚時(shí),模塊間的耦合度比較高。 3、模塊的內(nèi)聚方式、模塊的內(nèi)聚方式(5 5)邏輯內(nèi)聚)邏輯內(nèi)聚邏輯內(nèi)聚是指模塊各成分的邏輯功能是相似的。邏輯內(nèi)聚是指模塊各

41、成分的邏輯功能是相似的。例如,把系統(tǒng)中與例如,把系統(tǒng)中與“輸出輸出”有關(guān)的操作抽取出有關(guān)的操作抽取出來(lái)組成一個(gè)模塊,包括將數(shù)據(jù)在屏幕上顯示、來(lái)組成一個(gè)模塊,包括將數(shù)據(jù)在屏幕上顯示、從打印機(jī)上打印、拷貝到磁盤(pán)上等,則該模塊從打印機(jī)上打印、拷貝到磁盤(pán)上等,則該模塊就是邏輯內(nèi)聚的。就是邏輯內(nèi)聚的。邏輯內(nèi)聚的內(nèi)聚程度稍強(qiáng)于巧合內(nèi)聚,但仍不邏輯內(nèi)聚的內(nèi)聚程度稍強(qiáng)于巧合內(nèi)聚,但仍不利于修改和維護(hù)。利于修改和維護(hù)。3、模塊的內(nèi)聚方式、模塊的內(nèi)聚方式(6 6)巧合內(nèi)聚)巧合內(nèi)聚巧合內(nèi)聚是指模塊各成分之間毫無(wú)聯(lián)系整巧合內(nèi)聚是指模塊各成分之間毫無(wú)聯(lián)系整個(gè)模塊如同一盤(pán)散沙,不易修改或維護(hù)個(gè)模塊如同一盤(pán)散沙,不易修改

42、或維護(hù)。3、模塊的內(nèi)聚方式、模塊的內(nèi)聚方式管 理 信 息 系 統(tǒng)55(五)模塊結(jié)構(gòu)圖的改進(jìn)(五)模塊結(jié)構(gòu)圖的改進(jìn)4 4、耦合和內(nèi)聚的關(guān)系、耦合和內(nèi)聚的關(guān)系一般說(shuō)來(lái),在系統(tǒng)中各模塊的內(nèi)聚越大,則模塊一般說(shuō)來(lái),在系統(tǒng)中各模塊的內(nèi)聚越大,則模塊間的耦合越小。但這種關(guān)系并不是絕對(duì)的。間的耦合越小。但這種關(guān)系并不是絕對(duì)的。耦合小使得模塊間盡可能相對(duì)獨(dú)立,從而各模塊耦合小使得模塊間盡可能相對(duì)獨(dú)立,從而各模塊可以單獨(dú)開(kāi)發(fā)和維護(hù)??梢詥为?dú)開(kāi)發(fā)和維護(hù)。內(nèi)聚大使得模塊的可理解性和維護(hù)性大大增強(qiáng)。內(nèi)聚大使得模塊的可理解性和維護(hù)性大大增強(qiáng)。管 理 信 息 系 統(tǒng)56(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題(六)在改進(jìn)模

43、塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題 作用范圍與控制范圍作用范圍與控制范圍 模塊的扇入和扇出數(shù)模塊的扇入和扇出數(shù) 模塊分解和模塊的大小模塊分解和模塊的大小 消除重復(fù)的功能消除重復(fù)的功能 補(bǔ)充、完善和修改補(bǔ)充、完善和修改管 理 信 息 系 統(tǒng)57(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題1 1、作用范圍與控制范圍、作用范圍與控制范圍 一個(gè)判定的一個(gè)判定的作用范圍作用范圍是指所有是指所有受這個(gè)判定影響的模塊。按照受這個(gè)判定影響的模塊。按照規(guī)定:若模塊中只有一小部分規(guī)定:若模塊中只有一小部分加工依賴(lài)于某個(gè)規(guī)定,則該模加工依賴(lài)于某個(gè)規(guī)定,則該模塊僅僅本身屬于這個(gè)判定的作塊僅僅本身

44、屬于這個(gè)判定的作用范圍;若整個(gè)模塊的執(zhí)行取用范圍;若整個(gè)模塊的執(zhí)行取決于這個(gè)判定,則該模塊的調(diào)決于這個(gè)判定,則該模塊的調(diào)用模塊也屬于這個(gè)判定作用范用模塊也屬于這個(gè)判定作用范圍。圍。 一個(gè)模塊的一個(gè)模塊的控制范圍控制范圍是指模塊是指模塊本身及其所有的下屬模塊。本身及其所有的下屬模塊。M MA AG GB BC CD DF FE E管 理 信 息 系 統(tǒng)58(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題分析判定的作用范圍和模塊的控制范圍之間的關(guān)系,分析判定的作用范圍和模塊的控制范圍之間的關(guān)系,可以較好地處理系統(tǒng)的模塊關(guān)系,合理地分解模塊??梢暂^好地處理系統(tǒng)的模塊關(guān)系,

45、合理地分解模塊。因此,在分解模塊時(shí)應(yīng)該滿足以下要求:因此,在分解模塊時(shí)應(yīng)該滿足以下要求:判定的作用范圍應(yīng)該在判定所在模塊的控制范圍之內(nèi);判定的作用范圍應(yīng)該在判定所在模塊的控制范圍之內(nèi);判定所在模塊在模塊層次結(jié)構(gòu)中的位置不能太高;判定所在模塊在模塊層次結(jié)構(gòu)中的位置不能太高;根據(jù)以上兩點(diǎn)可知,最理想的模塊分解是判定范圍根據(jù)以上兩點(diǎn)可知,最理想的模塊分解是判定范圍由判定所在模塊及其直接下層模塊組成。由判定所在模塊及其直接下層模塊組成。頂頂1頂頂122(a)(b)作用范圍和控制范圍的四種關(guān)系作用范圍和控制范圍的四種關(guān)系頂頂XY12頂頂XY12(c)(d)作用范圍和控制范圍的四種關(guān)系作用范圍和控制范圍的四種關(guān)系管 理 信 息 系 統(tǒng)61(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題(六)在改進(jìn)模塊結(jié)構(gòu)圖時(shí)還應(yīng)注意的問(wèn)題當(dāng)出現(xiàn)作用范圍不在控制范圍之內(nèi)時(shí),可以當(dāng)出現(xiàn)作用范圍不在控制范圍之內(nèi)時(shí),可以用以下措施糾正:用以下措施糾正:把判定所在的模塊合并至上層模塊中,或把判定所在的模塊合并至上層模塊中,或從低層模塊移到高層模塊使判定的位置提從低層

溫馨提示

  • 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)論