複製鏈接
請複製以下鏈接發送給好友

軟件結構

鎖定
軟件結構(Software Structure)是指一種層次表況,由軟件組成成分構造軟件的過程、方法和表示。軟件結構主要包括程序結構和文檔結構。程序結構有兩層含義,一是指程序的數據結構和控制結構;另一是指由比程序低一級的程序單位(模塊)組成程序的過程、方法和表示。在後者含義下,具有代表性的是塊結構和嵌套結構兩種。塊結構比較自然,各個部分之間通過一些公用變量取得聯繫,嵌套結構是在嵌套分程序的基礎上引進局部性和動態性,以減少程序的初始信息量,嵌套結構不如塊結構直觀,調試不方便。
中文名
軟件結構
外文名
Software Structure
組成成分
構造軟件的過程、方法和表示
主要包括
程序結構和文檔結構

軟件結構簡介

所謂模塊,是指具有相對獨立性的,由數據説明,執行語句等程序對象構成的集合。程序中的每個模塊都需要單獨命名,通過名字可實現對指定模塊的訪問。在高級語言中,模塊具體表現為函數,子程序,過程等,一個模塊具有輸入/輸出(接口)、功能、內部數據和程序代碼四個特徵。輸入/輸出用於實現模塊與其他模塊間的數據傳送,即向模塊傳入所需的原始數據及從模塊傳出得到得到結果數據。功能指模塊所完成的工作。模塊的輸入/輸出和功能構成了模塊的外部特徵。內部數據是指僅能在模塊內部使用的局部量。 [1] 
有些程序是單模塊結構,有些是多模塊結構。這些模塊在程序的邏輯上是不可分離的,可以用不同的程序設計語言編寫,可以由相應的編譯程序分別編譯,可以和其它的程序單位組合並裝入計算機內運行。由於編寫大程序的需要,且模塊可以多次使用,實行模塊化是一個很好的手段。 由一組模塊組成的大型程序可有三種結構,即順序結構、併發結構和分佈結構。順序結構的程序是最古老的,所採用的程序設計語言是順序程序設計語言,如ALGOL、FORTRAN、C等。併發結構的程序由若干個可以同時執行的模塊組成。這些模塊可以在多台處理機並行執行,也可以在同一台處理機上交叉執行,所採用的程序設計語言是併發程序設計語言,如併發PASCAL、Modula-2等。分佈結構的程序由若干個可獨立運行的模塊組成,這些模塊可以分佈於一個分佈式系統中,在幾台計算機上同時運行,所採用的程序設計語言分佈式程序設計語言。對於大型程序,也可以是這三種結構的混合。

軟件結構結構原則

軟件結構軟件結構設計的啓發式規則

(1)模塊功能的完善化
執行規定功能部分;出錯處理部分;需返回給調用者數據時,返回是否正確結束標誌。
(2)消除重複功能
(3)將模塊的影響限制在模塊的控制範圍內
(4)深度、寬度、扇出和扇入適中
(5)模塊大小適中
模塊過大:可理解程度下降。模塊過小:開銷大於有效操作系統接口複雜。
(6)降低模塊接口的複雜性
接口傳遞信息應簡單且和模塊功能一致。
(7)模塊功能可預測
模塊看成黑盒子,相同輸入產生相同輸出,其功能為可預測的。模塊帶有內部狀態其功能可能是不可預測的。難理解、難測試、難維護。
(8)避免模塊的病態連接
防止指向模塊中間的分支或引用(針對內容耦合)。
(9)根據設計約束和可移植性要對軟件打包
打包指用來為特定環境組裝軟件的技術。 [2] 

軟件結構目錄結構清楚

目錄結構清楚,不宜過深,複雜,路徑最好用相對地址
什麼樣的目錄放什麼樣的內容,這樣便於管理,使WEB程序的目錄結構,清楚明瞭,一看便知道某個文件夾下存儲了哪些功能模塊與內容。若隨便存放,時間一長久自己都將不從瞭解某目錄是用來做什麼的。如:經常要使用的可執行文件最要存放在(項目根目錄)根目錄,這樣做主要是便於瞭解其作用,同時也為在程序中少輸入些地址字符。程序所用到的圖片統一存放在根目錄下images目錄中,若項目較大,分枝較多,可再在其目錄下建立也分枝程序相關的目錄名,存儲相關的圖片內容。程序的配置文件與常用共公函數類庫存放在include目錄中,存放在此目錄下的函數類庫文件擴展名得命名為:.php切不命名為.inc .ini之類為擴展名的文件,主要是防此此類文件可供用户下載,或查閲其源碼內容,這樣對其調用方便明確。模板文件應存儲在根目錄下templates目錄中,擴展名為.html,如果項目較大,分類較多,模板文件可分類存放在下極目錄中。臨時文件存儲在根目錄tmp目錄中,此目錄通常設置為任何人都可讀可寫。使用相對地址主要是方便程序移植。

軟件結構命名適當

命名最好是以程序用來作什麼用來命名。若一個單詞就要描述則用小寫單詞來命名,若要用多個單詞方能代表,也以小寫單詞之間加下劃線連接。要注意命名不可過長,這樣就不方便了,雖然能表達的更明確,但打字難打啊。程序中函數命名也可與此相同。

軟件結構常變內容、界面使模板較好

常變內容、界面使用模板較好,如果是按照傳統的製作將HTML頁面內容放在程序中處理輸入時,較麻煩非得要更改程序不可,這可能會帶來較大的不便。

軟件結構共公信息統一存儲

共公信息統一存儲,這主要為了方便團隊開發時都能進行調用用的最常的函數,不用每個開發人員都複製一份或自己寫一份存儲在程序文件中,這樣做浪費空間同時效率效果也不好。

軟件結構Include文件不可嵌入較多

Include文件不可嵌入較多,這是因為每次程序include某個文件時,是要打開讀取這個文件的,這是要時間的哦,再就是説處理路徑時可能會遇到較難發現的BUG問題。

軟件結構目錄下不可存儲太多內容文件

如果文件較多較大時最好是分目錄分盤符來處理。

軟件結構數據結構要設計合理

數據結構要設計合理、精簡明瞭。

軟件結構數據校驗應在服務器端

數據校驗應在服務器端,但這樣做也有他不好之處,那就是當數據量大時,服務器會負載運行,審核數據完整性是可開銷時間與系統資源的。在客户端就不會佔用服務器太多的資源,因為佔用的是用户的資源。

軟件結構連接數據庫近晚,斷開連接近早

盡晚連接,儘早斷開連接,能使佔用系統資源最少,為下一次連接提供條件。

軟件結構儘量少使用SESSION與COOKIE

儘量少使用SESSION與COOKIE,因為使用SESSION是要佔用系統資源的,SESSION是存儲在服務器端的,每次讀取SESSION中的數據是要較大開銷的。COOKIE雖然不佔用服務器資源,但COOKIE不太安全。
參考資料