【问题标题】:How would you describe DSM in simple terms?您如何简单地描述 DSM?
【发布时间】:2010-09-01 21:49:07
【问题描述】:

您会如何简单地描述 DSM?

【问题讨论】:

  • 为什么不去维基百科查一下呢?
  • 好吧,维基百科的文章可能更简单。
  • 我一直在寻找开发人员用他们自己的话来说。谢谢。

标签: matrix structure dependencies


【解决方案1】:

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

方框图和箭头图相比,DSM 尤其擅长使结构模式变得明显。具体来说,在这篇博文Identify Code Structure Patterns at a Glance 中,解释了如何使用依赖结构矩阵来识别代码结构模式。截图是使用工具 NDepend 的Dependency Structure Matrix 完成的。以下是一些模式:

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

具有依赖循环的代码

高内聚/低耦合

饥饿的来电者

受欢迎的被叫者

相互耦合

数据对象

【讨论】:

  • 写得很好,但我认为我的问题的关键是“简单的术语”——就像你要向你的配偶解释 DSM。
【解决方案2】:

DSM 背后的基本思想是它以表格形式表示“依赖”或“使用”关系。 Parnas 定义了 A 和 B 之间的“使用”关系,因此当 B“使用”A 时,意味着 B 依赖于 A 的正确操作来实现自己的正确操作。

uses 关系在实际系统中形成一个图。 DSM 是该图的矩阵表示,即所谓的“incidence matrix”,如果组件之间存在使用关系,则标记每个单元格。所以如果一个 DSM D 中有 n 个组件,Di,j = 1 iff j “使用”i.

【讨论】:

  • 很好地翻译成每个人应该都更熟悉的东西(即图论),但我确实认为你的意思是邻接矩阵,因为它表示从顶点到顶点的关系.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-17
  • 2011-10-24
  • 1970-01-01
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多