是什么取代了SADT?

Mar*_*urg 5 architecture analysis case-tools

在一切都成为"企业"之前,有一段时间,一切都是"结构化"的.大约20年前,结构化分析和结构化设计(SADT)以及CASE工具承诺为许多IT专业人员提供救助.

当时的炒作 - 就像任何其他宣传一样 - 来了又去了,我惊讶地看到几乎没有SADT的痕迹了.实际上,我认为值得这样的命运并不是那么糟糕.我特别喜欢它,它强调系统的功能方面,即你将清楚地了解系统产生什么(你不能指定使用SADT的只写系统),这种范式在函数式编程中也是无处不在的.

我的问题是:

  • 什么是SADT的现代等价物?
  • 是否有一种UML绘图样式(除了上下文关系图)提供了类似的抽象级别和可比较的细化可能性.
  • 你知道为什么世界放弃了SADT吗?
  • 你知道任何允许做SADT的CASE工具,它不仅仅是绘图工具,例如允许一致性检查的分层图

Hip*_*nor 8

"几乎看不到SADT的痕迹":关键字是"虚拟".我们的"现代"概念,如" 凝聚力 "和" 耦合 ",主要来自SADT [Edward Yourdon-Larry L.Contantine].甚至还有从现代软件文献到旧SADT文献的有趣参考.例如,Kent Beck在他的实施专家书的参考书目部分中说:

Edward Yourdan和Larry Constantine,结构设计,......,1979.

本书介绍了软件设计的物理定律,并讨论了发展经济学的讨论.[Kent Beck,Implementation Patterns]

雅典和康斯坦丁在那本书中说:

结构化设计是以最佳方式设计系统组件和这些组件之间相互关系的艺术.

而Meilir Page-Jones说:

  • 结构化设计使用工具,尤其是图形工具,使系统易于理解.[Meilir Page-Jones-结构化系统设计实用指南]

今天在软件开发方面我们的目标仍然相同...... :-)

为什么世界放弃了SADT?

嗯,我们有比时尚界更多的变化:-).

我们今天建立的系统和约束条件与二十多年前不同.我认为当我们开始开发更多"面向数据"的系统时,功能复杂性不那么令人担忧,SADT的结构图 - 数据流图这样的实践"失去了"它们对某些系统的效率.然后,面向对象的风格带有它自己的方法论和陈述.

但实体关系(ER)图和数据字典的概念仍然存在.

有关Yourdon的一个有趣观点,请查看他的博客:看"敏捷"......

有趣的是,Yourdon仍在结构化设计材料上进行更新.检查: 现代结构化分析

是什么取代了SADT?

那么......对于面向对象的系统..

假设我们有责任驱动设计[其中内聚和耦合仍然很重要],以便在我们的系统中找到最佳组件及其互连.UML通常为我们提供了良好的视觉思维工具,可用于查找这些组件和关系.

现在我们知道软件开发是实验活动.我们应该根据进化要求进行迭代和增量开发.

似乎没有神奇的"方法"可以像成功的"收据"一样被遵循.

一般建模:

图表 - 模型只是思考工具.

用UML或其他符号在纸上设计整个系统是不现实的.实际上我们的真实模型是可以执行和测试的"源代码".

有一些尝试,如MDA(模型驱动架构)试图自动从模型生成可执行代码:所以我们只需要对系统建模,然后一切都将自动生成.但我们意识到这也是不现实的.现在,这只是一些工具供应商的梦想.现在我们更关注领域特定语言,这更加实用和现实.