U/C矩阵
1.什么是U/C矩阵
U/C矩阵是用来表达过程与数据两者之间的关系。矩阵中的行表示数据类,列表示过程,并以字母U(Use)和C(Create)来表示过程对数据类的使用和产生。
U/C矩阵是MIS开发中用于系统分析阶段的一个重要工具。提出了一种用关系数据库实现U/C矩阵的方法,并对其存储、正确性检验、表上作业等做了分析,同时利用结果关系进行了子系统划分。
U/C矩阵是一张表格。它可以表数据/功能系统化分析的结果。它的左边第一列列出系统中各功能的名称,上面第一行列出系统中各数据类的名称。表中在各功能与数据类的交叉处,填写功能与数据类的关系。
2.U/C矩阵的正确性的检验
U/C矩阵的正确性,可由三方面来检验:
(1) 完备性检验。这是指每一个数据类必须有一个产生者(即“C”) 和至少有一个使用者(即“U”) ;每个功能必须产生或者使用数据类。否则这个U/C矩阵是不完备的。
(2) 一致性检验。这是指每一个数据类仅有一个产生者,即在矩阵中每个数据类只有一个“C”。如果有多个产生者的情况出现,则会产生数据不一致的现象。
(3) 无冗余性检验。这是指每一行或每一列必须有“U” 或“C”,即不允许有空行空列。若存在空行空列,则说明该功能或数据的划分是没有必要的、冗余的。
将U/C矩阵进行整理,移动某些行或列,把字母“C” 尽量靠近U/C矩阵的对角线,可得到C符号的适当排列。
3.利用U/C矩阵方法划分子系统的步骤
利用U/C矩阵方法划分子系统的步骤如下。
1.用表的行和列分别记录下企业住处系统的数据类和过程。表中功能与数据类交叉点上的符号C表示这类数据由相应功能产生,U表示这类功能使用相应的数据类。如下图
2.对表做重新排列,把功能按功能组排列。然后调换“数据类”的横向位置,使得矩阵中C最靠近对角线。如下图
3.将U和C最密集的地方框起来,给框起个名字,就构成了子系统。落在框外的U说明了子系统之间的数据流。这样就完成了划分系统的工作。如下图
4.U/C矩阵的主要功能
1.通过对U/C矩阵的正确性检验,及时发现前段分析和调查工作的疏漏和错误。
2.通过对U/C矩阵的正确性检验来分析数据的正确性和完整性。
3.通过对U/C矩阵的求解过程最终得到子系统的划分。
4.通过对子系统之间的联系(“U”)可以确定子系统之间的共享数据。
5.U/C矩阵的特点[1]
1.改进了SA方法,实现了系统的科学的结构化划分
传统的方法,结构划分是单纯以已有的人工系统为依据,不是非常精确、科学。而U/C矩阵法是以数据使用的密集程度为主要依据,结合其他一些因素对系统进行划分。这样划分,数据的操作相对集中在某一个子系统中,子系统之间的数据文换比较少。这样可以实现子系统之间的高内聚,低藕合。
2.改进了E-R图方法,实现了数据不同级别的保护
U/C矩阵法,将各层面、各子系统所涉及的数据库进行了分析,有利于数据不同级别的保护,体现了各层面、各子系统对数据的专用性。
3.将系统分析阶段的结构设计与数据库设计有机结合
U/C矩阵法弥补了结构设计在理解、表达用户数据需求方面的缺陷,也克服了一图数据库设计层次不明确,完全与操作相脱离的弱点。使结构设计与数据库设计两件工作合二为一,通过对U/C矩阵的分析可以一次完成,缩短了软件开发周期。
4.U/C矩阵法形象直观
通过U/C矩阵,形象地描绘出过程操作与数据类数据之间的关系。这样,容易被用户和程序员所接受,成为两者沟通的桥梁,而且有利于用户和程序员的共同合作,一起进行系统分析,弥补了原先工作方式的不足。