軟件設(shè)計是把許多事物和問題抽象起來,并且抽象它們不同的層次和角度。建議用數(shù)學(xué)語言來抽象事務(wù)和問題,因為數(shù)學(xué)是最好的抽象語言,并且它的本質(zhì)就是抽象。將復(fù)雜的問題分解成可以管理的片斷會更容易。將問題或事物分解并模塊化這使得解決問題變得容易,分解的越細(xì)模塊數(shù)量也就越多,它的副作用就是使得設(shè)計者考慮更多的模塊之間耦合度的情況。
設(shè)計要素
軟件設(shè)計包括軟件的結(jié)構(gòu)設(shè)計,數(shù)據(jù)設(shè)計,接口設(shè)軟件設(shè)計和過程設(shè)計。
結(jié)構(gòu)設(shè)計是指:定義軟件系統(tǒng)各主要部件之間的關(guān)系。
數(shù)據(jù)設(shè)計是指:將模型轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的定義。
接口設(shè)計是指:軟件內(nèi)部,軟件和操作系統(tǒng)間以及軟件和人之間如何通信。
過程設(shè)計是指:系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。
設(shè)計原則
一、設(shè)計對于分析模型應(yīng)該是可跟蹤的:軟件的模塊可能被映射到多個需求上。
二、設(shè)計結(jié)構(gòu)應(yīng)該盡可能的模擬實際問題。
三、設(shè)計應(yīng)該表現(xiàn)出一致性。
四、不要把設(shè)計當(dāng)成編寫代碼。
五、在創(chuàng)建設(shè)計時就應(yīng)該能夠評估質(zhì)量。
六、評審設(shè)計以減少語義性的錯誤。