您如何用简单的术语描述DSM?

时间:2009-04-05 14:56:18

标签: matrix structure dependencies

您如何用简单的术语描述DSM?

2 个答案:

答案 0 :(得分:2)

简单来说,DSM是一种与框和箭头图不同的可视方式来表示图形。有趣的是,虽然框和箭头图擅长显示具有几十个节点且没有太多连接(稀疏图)的小图,但DSM优于框和箭头图显示更大的图形。为此,我们说 DSM会扩展。缺点是DSM不像框和箭头图那样直观,并且带有学习曲线。

框和箭头图相比,DSM特别适合使结构模式显而易见。具体而言,在此博客文章Identify Code Structure Patterns at a Glance中,解释了如何使用依赖关系结构矩阵来识别代码结构模式。屏幕截图是使用工具NDepend的Dependency Structure Matrix完成的。以下是一些模式:

分层代码(没有循环的代码,当然是DSM一眼就能看到的最酷的东西)
alt text

具有依赖性周期的代码
alt text

高内聚/低耦合


alt text

饥饿的来电者 alt text

受欢迎的Callee
alt text

相互耦合
alt text

数据对象
alt text

答案 1 :(得分:1)

DSM背后的基本思想是它以表格形式表示“依赖”或“使用”关系。 Parnas定义了A和B之间的“使用”关系,这样当B“使用”A时,就意味着B依赖于A对其自身正确操作的正确操作。

使用关系在真实系统中形成图形。 DSM是该图的矩阵表示,即所谓的“incidence matrix”,其中如果组件之间存在使用关系,则标记每个单元。因此,如果DSM D 中有 n 组件,则 D i,j = 1 iff < / em> j “使用” i