軟件設(shè)計(jì)
軟件設(shè)計(jì)基本原則:
1、信息隱蔽:每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)對(duì)于其他模塊來說是隱蔽的,模塊中所包含的信息不允許其他模塊使用。信息隱蔽技術(shù)提高了軟件的可維護(hù)性,改善了軟件的可靠性。
2、模塊獨(dú)立性:是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體子功能,和其他的模塊接口是簡(jiǎn)單的,一般采用兩個(gè)準(zhǔn)則度量模塊獨(dú)立性:模塊間耦合和模塊內(nèi)聚。
耦合是程序結(jié)構(gòu)中模塊間相互關(guān)聯(lián)緊密程度的度量,耦合程度取決于各個(gè)模塊間接口的復(fù)雜程度、調(diào)用模塊的方式,以及接口的信息量。耦合分為七種:
1、非直接耦合:兩個(gè)模塊之間沒有直接關(guān)系,它們之間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)的,非直接耦合的模塊獨(dú)立性最強(qiáng)
2、數(shù)據(jù)耦合:一個(gè)模塊訪問另一個(gè)模塊時(shí),彼此之間是通過簡(jiǎn)單變量(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)和外部變量)來交換輸入、輸出信息的,這種耦合為數(shù)據(jù)耦合
3、標(biāo)記耦合:一組模塊通過參數(shù)表傳遞記錄信息,就是標(biāo)記耦合,這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變更。
4、控制耦合:一個(gè)模塊通過傳送開關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,稱為控制耦合
5、外部耦合:一組模塊都訪問同一全局簡(jiǎn)單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱為外部耦合。
6、公共耦合:若一組模塊都訪問同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)。
7、內(nèi)容耦合:一個(gè)模塊直接訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù);一個(gè)模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部;兩個(gè)模塊有一部分程序代碼重疊;一個(gè)模塊有多個(gè)入口。
內(nèi)聚是一個(gè)模塊內(nèi)部各個(gè)元素彼此結(jié)合的緊密程度的度量,各元素之間的聯(lián)系越緊密,內(nèi)聚性越高,與其他模塊間的耦合性就越低,而模塊獨(dú)立性就越強(qiáng)。
在設(shè)計(jì)模塊時(shí)應(yīng)盡量爭(zhēng)取高內(nèi)聚,內(nèi)聚性分為七種:
1、功能內(nèi)聚:實(shí)現(xiàn)一個(gè)功能,內(nèi)聚性最強(qiáng)
2、信息內(nèi)聚:完成多個(gè)功能,各個(gè)功能在同一數(shù)據(jù)結(jié)構(gòu)上操作
3、通信內(nèi)聚:模塊內(nèi)各功能部分使用了相同的輸入數(shù)據(jù)或產(chǎn)生相同的輸出數(shù)據(jù)
4、過程內(nèi)聚:把流程圖中某一部分劃出組成模塊,即過程內(nèi)聚,如循環(huán)部分、判定部分、計(jì)算部分分成三個(gè)模塊
5、時(shí)間內(nèi)聚:又稱為經(jīng)典內(nèi)聚,大多為多功能模塊,模塊的各個(gè)功能的執(zhí)行與時(shí)間有關(guān),如初始化模塊和終止模塊
6、邏輯內(nèi)聚:把幾種相關(guān)的功能組合在一起,由傳送給模塊的判定參數(shù)來確定執(zhí)行哪一種功能。
7、巧合內(nèi)聚:模塊內(nèi)各部分之間沒有聯(lián)系,或即使有聯(lián)系,也很松散,是內(nèi)聚程序最低的模塊。
結(jié)構(gòu)化設(shè)計(jì)方法
四種模塊:傳入模塊、傳出模塊、變換模塊、協(xié)調(diào)模塊
結(jié)構(gòu)圖著重反映模塊間的隸屬關(guān)系,著眼于軟件系統(tǒng)的總體結(jié)構(gòu),即模塊間的調(diào)用關(guān)系和層次關(guān)系。程序流程圖著重表達(dá)程序執(zhí)行的順序,以及執(zhí)行順序所依賴的條件。
常用的系統(tǒng)結(jié)構(gòu)圖包括:變換型系統(tǒng)結(jié)構(gòu)圖、事務(wù)型系統(tǒng)結(jié)構(gòu)圖、混合型事務(wù)結(jié)構(gòu)圖
用戶界面設(shè)計(jì)
好的用戶界面應(yīng)具有如下特點(diǎn):
1、可使用性:使用簡(jiǎn)單、術(shù)語標(biāo)準(zhǔn)化、響應(yīng)快、具有容錯(cuò)能力、具有HELP功能
2、靈活性:能夠滿足不同用戶的要求、可根據(jù)需要制定和修改界面方式
3、復(fù)雜性和可靠性:無故障使用的間隔時(shí)間。
設(shè)計(jì)評(píng)審
在開發(fā)時(shí)期的每個(gè)階段,特別是設(shè)計(jì)階段結(jié)束時(shí)要進(jìn)行嚴(yán)格的技術(shù)評(píng)審,盡量不讓錯(cuò)誤傳播到下一個(gè)階段,設(shè)計(jì)評(píng)審一般采用評(píng)審會(huì)議的形式來進(jìn)行。
設(shè)計(jì)評(píng)審一般涉及到的人員包括:設(shè)計(jì)負(fù)責(zé)人、高級(jí)管理人員(確定主審員、審批評(píng)審記錄)、主審員、評(píng)審組