計算機常識結(jié)構(gòu)設(shè)計方法
與結(jié)構(gòu)化需求分析方法相對應(yīng)的是結(jié)構(gòu)化設(shè)計方法。結(jié)構(gòu)化設(shè)計就是采用最佳的可能方法設(shè)計系統(tǒng)的各個組成部分以及各成分之間的內(nèi)部聯(lián)系的技術(shù)。也就是說,結(jié)構(gòu)設(shè)計是這樣一個過程,它決定用哪些方法把哪些部分聯(lián)系起來,才能解決好某個具體有清楚定義的問題。
結(jié)構(gòu)化設(shè)計方法的基本思想是將軟件設(shè)計成由相對獨立、單一功能的模塊組成的結(jié)構(gòu)。
山東計算機常識-軟件設(shè)計的基本原理
軟件設(shè)計遵循軟件工程的基本目標和原則,建立了適用于在軟件設(shè)計中應(yīng)該遵循的基本原理和與軟件設(shè)計有關(guān)的概念。
(1)抽象
抽象是一種思維工具,就是把事物本質(zhì)的共同特性提取出來而不考慮其他細節(jié)。軟件設(shè)計中考慮模塊化解決方案時,可以定出多個抽象級別。抽象的層次從概要設(shè)計到詳細設(shè)計逐步聊低。在軟件概要設(shè)計中的模塊分層也是由抽象到具體逐步分析和構(gòu)造出來的。
(2)模塊化
模塊化是指把一個待開發(fā)的軟件分解成若干個小的`簡單的部分。如高級語言中的過程、函數(shù)、子程序等。每個模塊可以完成一個特定的子功能,各個模塊可以按一定的方法組裝起來成為一個整體,從而實現(xiàn)整個系統(tǒng)的功能。
模塊化是指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。
為了解決復(fù)雜的問題,在軟件設(shè)計中必須把整個問題進行分解來降低復(fù)雜性,這樣就可以減少開發(fā)工作量并降低開發(fā)成本和提高軟件生產(chǎn)率。但是劃分模塊并不是越多越好,因為這會增加模塊之間接口的工作量,所以劃分模塊層次和數(shù)量應(yīng)該避免過多或過少。
(3)信息隱蔽
信息隱蔽是指,在一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。
(4)模塊獨立性
模塊獨立性是指,每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。是評價設(shè)計好壞的重要度量標準。衡量軟件的模塊獨立性作用耦合性和內(nèi)聚性兩個定性的度量標準
○1內(nèi)聚性:內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結(jié)合的緊密程度的度量。內(nèi)聚是從功能角度來度量模塊內(nèi)的聯(lián)系。
內(nèi)聚有如下的種類,它們之間的內(nèi)聚性由弱到強排列為:
偶然內(nèi)聚 邏輯內(nèi)聚 時間內(nèi)聚 過程 通信內(nèi)聚 順序內(nèi)聚 功能內(nèi)聚
內(nèi)聚性是信息隱蔽和局部化概念的自然擴展。一個模塊的內(nèi)聚性越強則該模塊的模塊獨立性越強。作為軟件結(jié)構(gòu)設(shè)計的設(shè)計原則,要求生一個模塊的內(nèi)部都具有很強的內(nèi)聚性,它的各個組成部分彼此都密切相關(guān)。
○2耦合性:耦合性是模塊間互相連接的緊密程度的度量。
耦合性取決于各個模塊之間接口的復(fù)雜度、調(diào)用方式以及哪些信息通過接口。耦合可以分為下列幾種,它們之間的耦合度由高到低排列為:
內(nèi)容耦合:如一個模塊直接訪問另一模塊的內(nèi)容,則這兩個模塊稱為內(nèi)容耦合。
公共耦合:若一組模塊都有訪問同一全局數(shù)據(jù)結(jié)構(gòu),則它之間的耦合稱之為公共耦合。
外部耦合:一組模塊都訪問同一全局簡單變量(而不是同一全局數(shù)據(jù)結(jié)構(gòu)),且不通過參數(shù)表傳遞該全局變量的信息,則稱為外部耦合。
控制耦合:若一模塊明顯地把開頭量、名字等信息送入另一模塊,控制另一模塊的功能,則為控制耦合。
標記耦合:若兩個以上的模塊都需要其余某一數(shù)據(jù)結(jié)構(gòu)子結(jié)構(gòu)時,不使用其余全局變量的方式而是用記錄傳遞的方式,即兩模塊間通過數(shù)據(jù)結(jié)構(gòu)變換信息,這樣的耦合稱為標記耦合。
數(shù)據(jù)耦合:若一個模塊訪問另一個模塊,被訪問模塊的輸入和輸出都數(shù)據(jù)項參數(shù),即兩模塊間通過數(shù)據(jù)參數(shù)交換信息,則這兩個模塊為數(shù)據(jù)耦合。
非直接耦合:若兩個模塊沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實現(xiàn)的,則稱這兩個模塊為非直接耦合。非直接耦合獨立性最強。
耦合性越強,獨立性越弱,希望模塊之間的耦合表現(xiàn)為非直接耦合方式。但是,由于問題所固有的復(fù)雜性和結(jié)構(gòu)化設(shè)計的原則,非直接耦合往往是不存在的。
耦合性與內(nèi)聚性是模塊獨立性的兩個定性標準,耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強,則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計,應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有得提高模塊的獨立性。
【計算機常識結(jié)構(gòu)設(shè)計方法】相關(guān)文章:
計算機CopyFile 方法解析11-24
清除計算機痕跡方法11-23
計算機故障與處理方法11-21
計算機故障修復(fù)的方法11-20
計算機病毒防治方法11-16
消除計算機風扇噪音方法11-28
清除計算機病毒的方法11-24