溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

軟件架構設計的目的

發布時間:2020-06-16 16:47:39 來源:網絡 閱讀:383 作者:Chizcloud 欄目:軟件技術

軟件架構設計的目的簡單說就是在保持軟件內在聯系的前提下,分解軟件系統,降低軟件系統開發的復雜性,而分解軟件系統的基本方法無外乎分層和分割。但是在保持軟件內在聯系的前提下,如何分層分割系統,分層分割到什么樣的粒度,并不是一件容易的事,這方面有各種各樣的分解方法,比如:關注點分離,面向方面,面向對象,面向接口,面向服務,依賴注入,以及各種各樣的設計原則等,

耦合可以分為以下幾種,它們之間的耦合度由高到低排列如下:

(1) 內容耦合:一個模塊直接訪問另一模塊的內容,則稱這兩個模塊為內容耦合。

若在程序中出現下列情況之一,則說明兩個模塊之間發生了內容耦合:

1. 一個模塊直接訪問另一個模塊的內部數據。

2. 一個模塊不通過正常入口而直接轉入到另一個模塊的內部。

3. 兩個模塊有一部分代碼重疊(該部分代碼具有一定的獨立功能)。

4. 一個模塊有多個入口。

內容耦合可能在匯編語言中出現。大多數高級語言都已設計成不允許出現內容耦合。這種耦合的耦合性最強,模塊獨立性最弱。

(2) 公共耦合:一組模塊都訪問同一個全局數據結構,則稱之為公共耦合。公共數據環境可以是全局數據結構、共享的通信區、內存的公共覆蓋區等。如果模塊只是向公共數據環境輸入數據,或是只從公共數據環境取出數據,這屬于比較松散的公共耦合;如果模塊既向公共數據環境輸入數據又從公共數據環境取出數據,這屬于較緊密的公共耦合。

公共耦合會引起以下問題:

1. 無法控制各個模塊對公共數據的存取,嚴重影響了軟件模塊的可靠性和適應性。

2. 使軟件的可維護性變差。若一個模塊修改了公共數據,則會影響相關模塊。

3. 降低了軟件的可理解性。不容易清楚知道哪些數據被哪些模塊所共享,排錯困難。

一般地,僅當模塊間共享的數據很多且通過參數傳遞很不方便時,才使用公共耦合。

(3) 外部耦合:一組模塊都訪問同一全局簡單變量,而且不通過參數表傳遞該全局變量的信息,則稱之為外部耦合。

(4) 控制耦合:模塊之間傳遞的不是數據信息,而是控制信息例如標志、開關量等,一個模塊控制了另一個模塊的功能。

(5) 標記耦合:調用模塊和被調用模塊之間傳遞數據結構而不是簡單數據,同時也稱作特征耦合。表就和的模塊間傳遞的不是簡單變量,而是像高級語言中的數據名、記錄名和文件名等數據結果,這些名字即為標記,其實傳遞的是地址。

(6) 數據耦合:調用模塊和被調用模塊之間只傳遞簡單的數據項參數。相當于高級語言中的值傳遞。

(7) 非直接耦合:兩個模塊之間沒有直接關系,它們之間的聯系完全是通過主模塊的控制和調用來實現的。耦合度最弱,模塊獨立性最強。

總結:耦合是影響軟件復雜程度和設計質量的一個重要因素,為提高模塊的獨立性,應建立模塊間盡可能松散的系統,在設計上我們應采用以下原則:若模塊間必須存在耦合,應盡量使用數據耦合,少用控制耦合,慎用或有控制地使用公共耦合,并限制公共耦合的范圍,盡量避免內容耦合。

 軟件架構設計的目的

紫云(深圳)軟件有限公司

云數據時代引領者

微信:Chizcloud

微博:http://weibo.com/Chizcloud

官網:http://www.chizcloud.com/

聯系&投稿:service@chizcloud.com

軟件架構設計的目的


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女