1.改进软件结构,提高模块独立性(易于合作开发、系统维护);

2. 顶层扇出高,中间扇出少,底层高扇入;

什么是扇入和扇出? 
在软件设计中,扇入和扇出的概念是指应用程序模块之间的层次调用情况。
按照结构化设计方法,一个应用程序是由多个功能相对独立的模块所组成。
扇入:是指直接调用该模块的上级模块的个数(即被调用)。扇入大表示模块的复用程序高。
扇出:是指该模块直接调用的下级模块的个数(即调用)。扇出大表示模块的复杂度高,需要控制和协调过多的下级模块;
一个模块的扇出数过大或过小都不理想,过大比过小更严重。一般认为扇出的上限不超过7 .扇出过大一般是因为缺乏中间层次,应该适当增加中间层次的模块。

3.模块规模应适中;

4.模块的作用范围(影响范围)保持在该模块的控制范围内;

5.接口设计:
  降低接口复杂程度(接口设计应使得信息传递简单并且与模块功能一致)
  单入口单出口(以避免内容耦合,易于理解和维护)
  相同的输入应该具有相同的输出

模块化设计的一般准则相关推荐

  1. 产品模块化设计的前世今生

    ​模块设计最早源自软件设计的基本概念,在早期的软件设计中提出了针对产品功能的模块化设计. 在设计好软件的体系结构后,就已经在宏观上明确了各个模块应具有什么功能,应放在体系结构的哪个位置.我们习惯地从功 ...

  2. PCB模块化设计15——RF接口模块PCB布局布线设计规范

    目录 PCB模块化设计15--RF接口模块PCB布局布线设计规范 1.天线设计指南 2.天线基础知识 3.天线类型 5. 知识分享 PCB模块化设计15--RF接口模块PCB布局布线设计规范 在硬件设 ...

  3. 模拟物流快递系统程序设计java_路辉物流设备:大件快递自动分拣系统的模块化设计...

    物流企业运营所需的能源.劳动力.土地价格持续上涨,依赖"高投入.低产出"传统物流运作模式难以为继,面临着降低成本.提高效率.可持续发展的转型要求.快递行业对于新兴的大件快递消费需求 ...

  4. 基于ASP.NET Core的模块化设计: 虚拟文件系统

    土牛亲自录制的本文介绍视频 Abp中文网(https://cn.abp.io/)提供翻译字幕 基于ASP.NET Core的模块化设计: 虚拟文件系统 简介 创建模块化的应用程序很困难. 构建模块化的 ...

  5. 单片机sleep函数的头文件_单片机代码模块化设计思想浅谈

    前言:前段时间分享的文章[单片机裸机代码框架设计思路],很多读者给我留言,觉得很不错,对于初学者而言,这是一个进阶的技巧,对于我而言,这是对自己总结和表达能力的一个提升. 本文章我们再谈谈单片机代码的 ...

  6. dll模块化设计与编程_FPGA设计原则经验分享

    一.面积和速度如何折中  面积和速度是芯片设计中一对相互制约.影响成本和性能的指标,贯穿FPGA设计的始终.在FPGA设计中,面积是指一个设计消耗的FPGA内部逻辑资源的数量,可以用消耗的触发器和查 ...

  7. 单片机c语言模块化实例程序设计,单片机C语言模块化设计

    原标题:单片机C语言模块化设计 keil中实现 模块化编程.doc 在使用 KEIL 的时候,我们习惯上在一个.c 的文件中把自己要写的东西按照 自己思路的顺序进行顺序书写.这样是很普遍的写法,当程序 ...

  8. 如何模块化设计B端系统?

    前言: 咱们都希望能做出一个可复用性强.灵活性好的B端系统出来. 那么,模块化设计就是其中一个很好的方法. 本文目录: 一.为什么要模块化设计? 二.适不适合模块化设计? 三.如何模块化设计B端系统? ...

  9. (15)FPGA模块化设计原则

    (15)FPGA模块化设计原则 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA模块化设计原则 5)结语 1.2 FPGA简介 FPGA(Field Progra ...

最新文章

  1. gvim中进行verilog语言信号追踪、显示拓扑插件
  2. Count SIN Numbers
  3. 802.1X学习笔记
  4. 图像种类的基本概念整理
  5. C++,Java编程空指针的一个小细节
  6. oracle failover 区别,Oracle DG failover 实战
  7. 回调函数总结(个人见解)
  8. 前端学习(2772):uni图片预览
  9. python微博评论爬虫_详解用python写网络爬虫-爬取新浪微博评论 基于Python的新浪微博爬虫研究...
  10. mac mysql密码错误_解决mac 下mysql安装后root用户登录密码错误问题
  11. 使用Disentangling形式的损失函数回归2D和3D目标框
  12. java transient 应用场景_关于java:transient关键字的用途是什么以及何时使用它?...
  13. 打印机质量测试软件,打印质量测试
  14. GPS 相关知识科普
  15. Hadoop环境搭建 MYSQL环境配置
  16. PING用一生诠释了TCP/IP------二三层转发为PING劈荆斩棘(转载)
  17. javac提示信息变成英文
  18. 直播间几万人助力砍价到小数点后6位,依旧失败,拼多多再陷“砍价”风波
  19. 维特根斯坦思想概述南京大学陈亚军
  20. 期刊投稿状态_SCI 稿件在线投稿时遇到的几中状态

热门文章

  1. 打印插件LODOP使用介绍
  2. plt.subplot 用法
  3. 给力!腾讯正布局长沙!互联网指数,长沙全国第6,中部第1
  4. USBCopyer 插上优盘自动复制文件 v3.5
  5. 脚本录制软件python 按键精灵 tc_如何使用按键精灵录制脚本
  6. NOR和NAND的区别
  7. php常用取整函数详解
  8. 程序员薅羊毛神器来了!
  9. Eclipse启动慢解决方案
  10. 《C游记》 第叁章 - 一朝函数思习得 模块思维世间生(贰)