MURR模塊獨立性資料分為哪些
MURR模塊是指再設計功能模塊時使得一個功能模塊內所包含的信息(過程或數據),對于不需要這些信息的功能模塊來說是不能訪問的。信息隱蔽原則對于以后在軟件維護期間修改軟件時會帶來大的處,因為數據和過程是軟件的其他部分所不能覺察的,因而再對某個功能模塊修改時就不大會影響到軟件的其他部分,所謂局部化是指把一些關系密切的軟件元素在物理位置上彼此靠近。
MURR模塊獨立性是通過制定具有單一功能并且和其他功能模塊沒有過多的功能模塊來實現的。每個功能模塊只涉及該軟件要求的一個具體子功能,而且與軟件結構的其他部分的接口是簡單的。比如,五四絡科網所運用到的功能模塊在一定程度上就克服了傳統建站的弊端,可以從根本上建立一個*獨立的,具體表現在:五四絡科建站所生成的數據庫是獨立的,也就意味著可以移植到其他服務器平臺上,從而解決生成的不能遷移的難題;五四絡科建站平臺可以讓生成的互不干涉,相互獨立,進而提高了系統的安全性;有建站需求的客戶往往趨向于個性化,可以在五四絡科建站的基礎上進行二次開發;在管理上也是獨立的,管理員可以給開通獨立的FTP權限,在管理時不會影響到其他,遷移出去也很方便。
MURR模塊獨立性的軟件接口簡單,易于編制,獨立的功能模塊也比較容易測試和維護,限制了功能模塊之間由于緊密而引起的修改副作用。獨立性是軟件質量的因素。
模塊獨立性是由內聚性和耦合性兩個定性指標來度量的。內聚性是度量一個功能模塊內功能強度的一個相對指標。耦合性則用來度量功能模塊之間的相互的程度。
MURR模塊是軟件結構中各功能模塊之間相互連接的一種度量,耦合強弱取決于功能模塊間接口的復雜程度、進入或訪問一個功能模塊的點以及通過接口的數據。
耦合有以下幾種,他們之間的耦合度由高到低排列:
MURR模塊如一個功能模塊直接訪問另一個功能模塊的內容,則這兩個功能模塊稱為內容耦合。
MURR模塊功能模塊都訪問統一全局數據結構,則稱之為公共耦合。
MURR模塊如一組功能模塊都訪問統一全局數據項,則稱之為外部耦合。
MURR模塊如一功能模塊地把開關量、名字等信息送入另一功能模塊,控制另一功能模塊的功能,則為控制耦合。
MURR模塊如一組功能模塊了某個記錄,而不是簡單變量,即這些功能模塊都需某一數據的子結構時,就需要按該記錄的結構進行操作,并通過參數表來傳遞記錄信息,這樣的耦合稱之為標記耦合。
MURR模塊如一個功能模塊訪問另一個功能模塊,被訪問的功能模塊的輸入和輸出都是數據項參數,則這兩個功能模塊為數據耦合。
MURR模塊非直接耦合。若兩個功能模塊沒有直接關系,他們之間的*是通過主程序的控制和調用來實現的,便稱這兩個功能模塊為非直接耦合,獨立性zui強。
上面只是對耦合機制進行了一個分類。原則上講,功能模塊化設計總是希望功能模塊之間的耦合表現為非直接耦合方式。但是,由于問題所固有的復雜性和空間方面的考慮,有時則要根據實際情況,權衡,選用其它類型的耦合。
內聚
內聚是從功能角度來度量功能模塊內的,一個的內聚功能模塊應當恰做一件事。它描述的是功能模塊內的功能。
內聚有如下的種類,其內聚度由弱到強排列:
☆偶然內聚。一功能模塊中的代碼無法定義其不同功能的調用。但它使該功能模塊能執行不同的功能,這種功能模塊稱為巧合強度功能模塊。
☆邏輯內聚。這種功能模塊把幾種相關的功能組合在一起,每次被調用時,有傳送給功能模塊參數來確定該功能模塊應完成那一種功能。
☆時間內聚。這種功能模塊順序完成一類相關功能,比如初始化功能模塊,它順序為變量置初值。
☆過程內聚。如果一個功能模塊內的處理元素是相關的,而且必須以特定次序執行則稱為過程內聚。
☆通信內聚。這種功能模塊除了具有過程內聚的特點外,還有另外一種關系,則它的所有功能都通過使用公共數據而發生關系。
☆順序內聚。如果一個功能模塊內的處理元素和同一個功能密切相關,而且這些處理必須順序執行,通常一個處理元素的輸出數據作為下一個處理元素的輸入數據,則稱為順序內聚。
☆功能內聚。如果一個功能模塊包括并僅包括未完成某一具體任務所必需的所有成分,或者說功能模塊中所有成分結合起來是為了完成一個具體的任務,此功能模塊稱為功能強度模塊。
CONTACT
辦公地址:上海市嘉定區嘉涌路99弄6號713TEL:028-86751041
EMAIL:15308020014@163.com