U/C矩陣
1.什么是U/C矩陣
U/C矩陣是用來表達過程與數(shù)據(jù)兩者之間的關系。矩陣中的行表示數(shù)據(jù)類,列表示過程,并以字母U(Use)和C(Create)來表示過程對數(shù)據(jù)類的使用和產(chǎn)生。
U/C矩陣是MIS開發(fā)中用于系統(tǒng)分析階段的一個重要工具。提出了一種用關系數(shù)據(jù)庫實現(xiàn)U/C矩陣的方法,并對其存儲、正確性檢驗、表上作業(yè)等做了分析,同時利用結(jié)果關系進行了子系統(tǒng)劃分。
U/C矩陣是一張表格。它可以表數(shù)據(jù)/功能系統(tǒng)化分析的結(jié)果。它的左邊第一列列出系統(tǒng)中各功能的名稱,上面第一行列出系統(tǒng)中各數(shù)據(jù)類的名稱。表中在各功能與數(shù)據(jù)類的交叉處,填寫功能與數(shù)據(jù)類的關系。
2.U/C矩陣的正確性的檢驗
U/C矩陣的正確性,可由三方面來檢驗:
(1) 完備性檢驗。這是指每一個數(shù)據(jù)類必須有一個產(chǎn)生者(即“C”) 和至少有一個使用者(即“U”) ;每個功能必須產(chǎn)生或者使用數(shù)據(jù)類。否則這個U/C矩陣是不完備的。
(2) 一致性檢驗。這是指每一個數(shù)據(jù)類僅有一個產(chǎn)生者,即在矩陣中每個數(shù)據(jù)類只有一個“C”。如果有多個產(chǎn)生者的情況出現(xiàn),則會產(chǎn)生數(shù)據(jù)不一致的現(xiàn)象。
(3) 無冗余性檢驗。這是指每一行或每一列必須有“U” 或“C”,即不允許有空行空列。若存在空行空列,則說明該功能或數(shù)據(jù)的劃分是沒有必要的、冗余的。
將U/C矩陣進行整理,移動某些行或列,把字母“C” 盡量靠近U/C矩陣的對角線,可得到C符號的適當排列。
3.利用U/C矩陣方法劃分子系統(tǒng)的步驟
利用U/C矩陣方法劃分子系統(tǒng)的步驟如下。
1.用表的行和列分別記錄下企業(yè)住處系統(tǒng)的數(shù)據(jù)類和過程。表中功能與數(shù)據(jù)類交叉點上的符號C表示這類數(shù)據(jù)由相應功能產(chǎn)生,U表示這類功能使用相應的數(shù)據(jù)類。如下圖
2.對表做重新排列,把功能按功能組排列。然后調(diào)換“數(shù)據(jù)類”的橫向位置,使得矩陣中C最靠近對角線。如下圖
3.將U和C最密集的地方框起來,給框起個名字,就構成了子系統(tǒng)。落在框外的U說明了子系統(tǒng)之間的數(shù)據(jù)流。這樣就完成了劃分系統(tǒng)的工作。如下圖
4.U/C矩陣的主要功能
1.通過對U/C矩陣的正確性檢驗,及時發(fā)現(xiàn)前段分析和調(diào)查工作的疏漏和錯誤。
2.通過對U/C矩陣的正確性檢驗來分析數(shù)據(jù)的正確性和完整性。
3.通過對U/C矩陣的求解過程最終得到子系統(tǒng)的劃分。
4.通過對子系統(tǒng)之間的聯(lián)系(“U”)可以確定子系統(tǒng)之間的共享數(shù)據(jù)。
5.U/C矩陣的特點[1]
1.改進了SA方法,實現(xiàn)了系統(tǒng)的科學的結(jié)構化劃分
傳統(tǒng)的方法,結(jié)構劃分是單純以已有的人工系統(tǒng)為依據(jù),不是非常精確、科學。而U/C矩陣法是以數(shù)據(jù)使用的密集程度為主要依據(jù),結(jié)合其他一些因素對系統(tǒng)進行劃分。這樣劃分,數(shù)據(jù)的操作相對集中在某一個子系統(tǒng)中,子系統(tǒng)之間的數(shù)據(jù)文換比較少。這樣可以實現(xiàn)子系統(tǒng)之間的高內(nèi)聚,低藕合。
2.改進了E-R圖方法,實現(xiàn)了數(shù)據(jù)不同級別的保護
U/C矩陣法,將各層面、各子系統(tǒng)所涉及的數(shù)據(jù)庫進行了分析,有利于數(shù)據(jù)不同級別的保護,體現(xiàn)了各層面、各子系統(tǒng)對數(shù)據(jù)的專用性。
3.將系統(tǒng)分析階段的結(jié)構設計與數(shù)據(jù)庫設計有機結(jié)合
U/C矩陣法彌補了結(jié)構設計在理解、表達用戶數(shù)據(jù)需求方面的缺陷,也克服了一圖數(shù)據(jù)庫設計層次不明確,完全與操作相脫離的弱點。使結(jié)構設計與數(shù)據(jù)庫設計兩件工作合二為一,通過對U/C矩陣的分析可以一次完成,縮短了軟件開發(fā)周期。
4.U/C矩陣法形象直觀
通過U/C矩陣,形象地描繪出過程操作與數(shù)據(jù)類數(shù)據(jù)之間的關系。這樣,容易被用戶和程序員所接受,成為兩者溝通的橋梁,而且有利于用戶和程序員的共同合作,一起進行系統(tǒng)分析,彌補了原先工作方式的不足。