
日志文章

软件设计中的耦合问题
|
软件设计中的耦合问题 中国软件评测中心 陈 兵 软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和软件设计有关的概念。最早的设计质量的标志之一就是耦合。它在最早的结构化设计中和内聚一起出现,并且从未消失过。我在考虑软件设计时仍然总是想到它。有几种方法描述耦合,不过它可以缩减成这样:如果在一个程序中的一个模块(或者类、包)的变化需要另一个模块(或者类、包)的变化,那么耦合存在了。这可能是两个模块在一点做相似的事情,因此在一个模块(或者类、包)中的代码是另一个模块(或者类、包)中的代码的有影响的重复。这是一个代码重复的最主要和明显的罪恶的例子。重复总是意味着耦合,因为一段重复代码的改变意味着另一段代码的改变。而且也很难找出重复代码,因为可能在两段代码间没有显而易见的关系。 耦合也出现在当在一个模块中的代码(或者类、包)使用了另外模块(或者类、包)的代码,可能通过调用一个函数或存取一些数据。在这一点上,变得很清楚,不像重复代码,你不能总是避免耦合。你能将一个程序分成许多模块,而这些模块需要用某种方式通信—否则,你只不过是有许多程序。耦合是需要的,因为如果你禁止模块之间的耦合,你只有将所有的东西放一个大模块中。那么, 将有大量的耦合—只是藏在地毯下。 因此耦合是我们需要控制的东西,不过怎样控制呢?我们需要任何地方都担心有耦合吗,或是不是在一些地方有比另外一些地方重要呢?哪个因素使耦合不好,哪些是可以允许的呢? 结构化设计中的耦合 在结构化软件设计中,耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。它取决于各个模块之间接口的复杂程度、调用模块的方式以及哪些信息通过接口。 一般模块之间可能的连接方式有七种,构成耦合性的七种类型,如图一所示。 全文详见附件的电子版本。 描述: 本文的电子全文版本 附件:
软件设计中的耦合问题.doc (129 K)
Tags:
软件开发、耦合、软件度量、重构
|



RSS订阅
手机访问
一共有 0 条评论