【软件设计】模块设计耦合的七种类型

news/2025/1/19 9:53:05/

一.什么是高内聚、低耦合?

        在结构化分析与模块设计方法中,模块化是一个很重要的概念,它是将一个待开发的软件分解成为若干个小的模块,每个模块可以独立地开发、测试。使得复杂问题的“分而治之”,令程序的结构清晰、易于测试与修改。而模块的独立性通常要求每个模块能尽可能完成一个相对独立的子功能,并且与其他模块少点联系,软件设计上用耦合(模块之间联系的紧密程度)内聚(模块内部各元素之间联系的紧密程度)两个标准来衡量,所以设计的目标就是高内聚、低耦合

二.耦合的七种类型

        模块的耦合性类型通常分为7 种,根据耦合度从低到高排序,如图下所示:

         非直接耦合最为简单,就是一个拥有着独立思维做好自己少别管别人的好模块:

        数据耦合可以理解为通过传送数据变量来进行数据传递,例如一些简单的int、float之类的变量:

         而标记耦合则是通过一些数据结构进行模块间的数据传递,例如结构体、链表等等:

         模块之间传递信息中包含用于控制模块内部的信息被称为控制耦合,例如模块A中的if语句需要模块B来决定究竟走哪边,有种生死大权仍由别人决定的感觉:

         外部耦合为多个模块共同访问相同的全局变量:

         公共耦合则是多个模块共同访问一些全局数据结构,类似结构体之类的:

        内容耦合属于你中有我,我中有你,模块A可以通过走后门将数据传递给模块B,不按正常步骤来,也可以是模块与模块之间有代码重叠等等:


http://www.ppmy.cn/news/457225.html

相关文章

Win10+GeForce 940M(CUDA8.0)+Visual Studio 2015的GPU环境配置步骤

需要安装windows操作系统;破解Windows操作系统;升级windows操作系统;下载显卡驱动;安装显卡驱动;下载Visual Studio 2015;安装Visual Studio 2015;下载CUDA8.0;安装CUDA8.0&#xff…

LeetCode·每日一题·940.不同的子序列 || · 动态规划

链接:https://leetcode.cn/problems/distinct-subsequences-ii/solutions/1891268/di-gui-hui-su-dong-tai-gui-hua-zhu-shi-c-m6ac/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请…

win7 theano 和 Keras 安装记录

最近需要用lstm做脑电信号的分类, 没有找到MATLAB相关程序,所以今天 尝试使用theano来做, 安装过程还是比价顺利, 下面记录一下安装过程。 Windows7安装Theano 2015年11月9日 深度学习开发工具theano在Anacodna下的安装&#xff0…

Ubuntu18.04下安装Nvidia驱动和CUDA10.1+CUDNN7.6.5

首先,Ubuntu下查看Nvidia显卡的详细信息: nvidia-smi$ nvidia-smi Fri Aug 16 08:46:25 2019 ----------------------------------------------------------------------------- | NVIDIA-SMI 430.26 Driver Version: 430.26 CUDA Ver…

java 我的世界 反编译_基于mcp940反编译Minecraft源代码

引言 Minecraft中文叫“我的世界”,没怎么深入玩过,来试试把它源代码反编译出来吧。 我用的是最新的mcp940,对应版本是1.12。 遇到问题及解决 因为我的是Mac系统,遇到一些坑,下面简要说明一下。 客户端下载 因为官方客户端需要mojang账号才能登陆,而mojang账号注册点击没…

java解析MT940报文,swift MT报文解析处理

swift 官方资料:https://www2.swift.com/knowledgecentre/publications/us5mc_20180720/2.0?topic=alec.htm#genalec swift 百科:https://baike.baidu.com/item/SWIFT/1108075 prowide - swift 报文处理 开源框架:https://www.prowidesoftware.com/resources/quickstarts p…

Nvidia Graphics Card Drive Download 英伟达显卡驱动花屏问题解决处理方式

打开英伟达官网(N卡): https://www.geforce.cn/drivers 然后点击驱动程序,选择你当前英伟达(N卡)型号 第二个选项栏目是所有的型号系列 例如1050显卡 台式电脑选择GeForce 10 Series,笔记本电脑选择GeF…

戴尔r940服务器系统安装,戴尔 PowerEdge R940 机架式服务器:服务器 | Dell 中国大陆...

处理器 多达四个英特尔至强可扩展处理器,多达28个核心 操作系统选项 Canonical Ubuntu LTS Citrix XenServer Microsoft Windows Server,带Hyper-V Red Hat Enterprise Linux SUSE Linux Enterprise Server VMware ESXi 机箱包含项 可选的液晶屏或安全挡…