軟件結(jié)構(gòu)
1.什么是軟件結(jié)構(gòu)
軟件結(jié)構(gòu)是指一種層次表況,由軟件組成成分構(gòu)造軟件的過程、方法和表示。
軟件結(jié)構(gòu)主要包括程序結(jié)構(gòu)和文檔結(jié)構(gòu)。程序結(jié)構(gòu)有兩層含義,一是指程序的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu);另一是指由比程序低一級(jí)的程序單位(模塊)組成程序的過程、方法和表示。在后者含義下,具有代表性的是塊結(jié)構(gòu)和嵌套結(jié)構(gòu)兩種。塊結(jié)構(gòu)比較自然,各個(gè)部分之間通過一些公用變量取得聯(lián)系,嵌套結(jié)構(gòu)是在嵌套分程序的基礎(chǔ)上引進(jìn)局部性和動(dòng)態(tài)性,以減少程序的初始信息量,嵌套結(jié)構(gòu)不如塊結(jié)構(gòu)直觀,調(diào)試不方便。
軟件結(jié)構(gòu)包括構(gòu)成系統(tǒng)的設(shè)計(jì)元素的描述、設(shè)計(jì)元素之間的交互、設(shè)計(jì)元素的組合模式以及在這些模式中的約束。一個(gè)系統(tǒng)由一組構(gòu)件以及它們之間的交互關(guān)系組成,這種系統(tǒng)本身又可以成為一個(gè)更大的系統(tǒng)的組成元素。
2.軟件結(jié)構(gòu)的要求
軟件結(jié)構(gòu)主要包括程序結(jié)構(gòu)和文檔結(jié)構(gòu)。
?。?)劃分模塊時(shí),盡量做到高內(nèi)聚、低耦合,保持模塊的相對(duì)獨(dú)立性,并以此原側(cè)優(yōu)化初始的軟件結(jié)構(gòu)。
?。?)一個(gè)模塊的作用范圍應(yīng)在其控制范圍之內(nèi),且判定所在的模塊應(yīng)與受其影響的模塊在層次上盡量靠近。
?。?)軟件結(jié)構(gòu)的深度、寬度、扇入、扇出應(yīng)適當(dāng)。
?。?)模塊的大小要適中。