系統設計知識:系統設計的基本原理介紹

             

 

 

1、抽象

抽象主要用來將複雜的現象簡化到可以分析、實驗或者可以理解的程度。抽象的最低層就是實現該軟件的源程序代碼。在進行模塊化設計也可以有多個抽象層次,最高抽象層次的模塊用概括的方式描述問題的解決方案。較低層次的模塊是對更高抽象層次模塊對問題描述的細化。

2、模塊化

模塊在程序中是數據說明、可執行語句等程序對象的集合,或者是單獨命名和編址的元素。比如高級語言的函數、子程序等。在軟件的體系結構中,模塊是可組合、分解、更換的單元。

模塊化就是將一個待開發的項目系統分解成若干個簡單模塊。每個模塊可以獨立的開發、測試,最後組裝成完整程序。採用分而治之的原則。模塊化的目的是使程序的結構清晰,容易閱讀、理解、測試、修改。

3、信息隱蔽

信息隱蔽是開發整體程序結構時使用的法則,即將每個程序的成分隱蔽或封裝在一個單一的設計模塊中,定義每一個模塊時儘可能少地顯露其內部的處理。在設計時首先列出一些可能發生變化的因素,在劃分模塊時將一個可能發生變化的因素隱蔽在個某個模塊的內部,使其他模塊與這個因素無關。在這個因素髮生變化時,只需修改含有這個因素的模塊。而與其他模塊無關。

信息隱蔽原則對提高軟件的可修改性、可測試性、可移植性都有重要的作用。

4、模塊獨立

模塊獨立是指每個模塊完成一個相對的特定子功能、並且與其他模塊之間的聯繫簡單。衡量模塊獨立程度標準有兩個:耦合性、內聚性。

4.1 耦合 

耦合性是指模塊之間聯繫的緊急程度。耦合性越高,則模塊的獨立性越差。模塊間耦合的高低取決於模塊間接口的複雜性、調用的方式及傳遞的信息。

  • 無直接耦合:指兩個模塊間沒有直接的關係,它們分別從屬於不同模塊的控制與調用它們之間不傳遞任何信息。模塊間耦合性最弱,模塊獨立性最高。

  • 數據耦合:指兩個模塊之間有調用關係,傳遞的是簡單的數據值,類似於高級語言中的值傳遞。耦合度較低、模塊間的獨立性較高。

  • 標記耦合:指兩個模塊之間傳遞的數據結構。如高級編程語言中的數據組名、記錄名、文件名等這些名字即爲標記,其實傳遞的是這個數據結構的地址。

  • 控制耦合:指一個模塊調用另一個模塊時,傳遞的是控制變量,被調模塊通過該控制變量的指有選擇地執行塊內的某一功能。

  • 公共耦合:通過一個公共數據環境相互作用的那些模塊之間的耦合。

  • 內容耦合:屬於程度最高的耦合。當一個模塊直接使用另一個模塊的內部數據,或通過非正常入口而轉入另一個模塊內部,這種模塊之間的耦合爲內容耦合,常常會出現在彙編程序設計當中。

4.2 內聚

  • 內聚是指模塊內部各元素之間聯繫的緊密程度。內聚度越低,模塊的獨立性越差。

  • 偶然內聚:指一個模塊內的各個處理元素之間沒有任何聯繫。

  • 邏輯內聚:指模塊內執行幾個邏輯上相似的功能,通過參數確定該模塊完成哪一個功能。

  • 時間內聚:把需要同時執行的動作組合在一起形式的模塊。

  • 通信內聚:指模塊內所有處理元素都在同一個數據結構上操作,或者指各處理使用相同的輸入數據或產生相同的輸出數據。

  • 順序內聚:指一個模塊中各個處理元素都密切相關於同一功能且必須順序執行,前者的元素的輸出是下一個元素的輸入。

  • 功能內聚:是最強的內聚,指模塊內所有元素共同完成一個功能,缺一不可。

系統劃分模塊時,儘量做到高內聚、低耦合從而提高軟件模塊的獨立性。

IT技術分享社區

個人博客網站:https://programmerblog.xyz

文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章