【24h】

High Cohesion and Low Coupling: the Office Mapping Factor

机译:高凝聚力和低耦合:办公室映射因素

获取原文
获取原文并翻译 | 示例

摘要

This case observation describes how an embedded industrial software architecture was "mapped" onto an office layout. It describes a particular type of program architecture that does this mapping rather well. The more a programmer knows what to do, and so may withdraw to his office and do it, the higher the cohesion or completeness. The less s/he has to know about what is going on in other offices, the lower the coupling or disturbance. The project, which made us aware of this, was an embedded system built on the well-known process data-flow architecture. All interprocess communication that carried data was on synchronous, blocking channels. In this programming paradigm, it is possible for a process to refuse to "listen" on a channel while it is busy doing other things. We think that this in a way corresponds to closing the door to an office. When another process needs to communicate with such a process, it will simply be blocked (and descheduled). No queuing is done. The process, or the programmer, need not worry about holding up others. The net result seems to be good isolation of work and easier implementation. The isolation also enables faster pinpointing of where an error may be and, hence, in fixing the error in one place only. Even before the product was shipped, it was possible to keep the system with close to zero known errors. The paradigm described here has become a valuable tool in our toolbox. However, when this paradigm is used, one must also pay attention should complexity start to grow beyond expectations, as it may be a sign of too high cohesion or too little coupling.
机译:该案例观察描述了如何将嵌入式工业软件体系结构“映射”到办公室布局中。它描述了可以很好地完成这种映射的特定类型的程序体系结构。程序员知道该做什么的越多,因此可能退出他的办公室去做,其凝聚力或完整性就越高。他/她对其他办公室正在发生的事情了解得越少,耦合或干扰就越小。这个使我们意识到这一点的项目是一个基于众所周知的过程数据流体系结构的嵌入式系统。所有承载数据的进程间通信均位于同步阻塞通道上。在此编程范例中,进程可能在忙于执行其他操作时拒绝在频道上“监听”。我们认为这在某种意义上相当于关闭办公室的门。当另一个进程需要与此类进程进行通信时,它将被简单地阻塞(并重新安排)。没有排队完成。该过程或程序员无需担心牵制其他人。最终结果似乎是良好的工作隔离和更容易的实现。隔离还可以更快地精确定位错误的位置,从而将错误仅固定在一个位置。甚至在产品出厂之前,就有可能使系统的已知错误率接近于零。此处描述的范例已成为我们工具箱中的重要工具。但是,使用这种范例时,还必须注意,复杂性开始超出预期,因为这可能是内聚力太高或耦合太少的迹象。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号