​模块设计最早源自软件设计的基本概念,在早期的软件设计中提出了针对产品功能的模块化设计。

在设计好软件的体系结构后,就已经在宏观上明确了各个模块应具有什么功能,应放在体系结构的哪个位置。我们习惯地从功能上划分模块,保持“功能独立”是模块化设计的基本原则。因为,“功能独立”的模块可以降低开发、测试、维护等阶段的代价。但是“功能独立”并不意味着模块之间保持绝对的孤立。

一个系统要完成某项任务,需要各个模块相互配合才能实现,此时模块之间就要进行信息交流。

模块通常是“由元件或零部件组合而成的、具有独立功能的、可成系列单独制造标准化单元,通过不同形式的接口与其他单元组成产品,且可分、可合、可互换”。这个定义描述了模块的如下特征:

(1)模块不同于一般产品的部件,它是一种具有独立功能,可单独制造、销售的产品。

(2)模块通常由各种元器件组合而成,高层模块还可包含低层模块(即由模块组成模块)。

(3)它是构成产品系统的完整单元一(要素),它与产品系统的其他要素可分、可合。

(4)模块通过各种形式的接门(刚性、柔性)和连接方式(单向、双向、多向)实现模块间的连接与组合。

(5)模块通常是标准化产品,可成系列设计和制造。

模块的种类

按照模块的用途和特征可以划分许多种类,其中常见的有:

功能模块:按照价值工程的功能分析方法,可将产品系统分为具有不同功能的单元,执行这些功能的模块称功能模块。功能模块又可分为基本功能模块、辅助功能模块、特殊功能模块等,而它们又可根据产品的特点进一步细分为功能更具体的模块。

结构模块:依据模块在产品系统中所处的地位和模块之间的关系,可将模块划分为不同等级,叫做分级模块,在这个分级体系中通常包括高层模块、分模块(或子模块),或一级模块、二级模块、三级模块等。

高层模块通常是由相应分级系统中低一级的模块组成;最低等级的模块则由元件或分元件组成,元件或分元件的构成要素叫做负分元件,它是分级体系中最基本的模块元件。

此外还可以依据模块的通用程度分为通用模块、专用模块、特别模块等。

--通用模块是指该类模块的通用化程度高,它不仅用于某一种产品中,而且能在该类产品系列中通用,甚至能做到跨系列、跨大类产品通用,这种模块通常是成系列开发、成批制造,不断产生派生、变型产品,其应用面广、生命周期长经济效益好。

--专用模块是为某种产品或某项用途而专门设计制造的,一般需单独研制。

--特别模块是根据系统的特殊要求而特殊设计的。

模块化: 把程序划分成若干个模块, 每个模块完成一个子功能, 把这些模块集总起来组成一个整体,可以完成指定的功能,满足问题的功能。

模块: 一个拥有明确定义的输入、输出和特性的程序实体。

模块化设计

模块化是好的软件设计的一个基本准则,可减小设计所需要的总工作:

功能划分模块的原则

1. 分解

2. 模块独立性

模块化产品设计

(一)模块化设计的目的

模块化产品设计的目的是以少变应多变,以尽可能少的投入生产尽可能多的产品,以最为经济的方法满足各种要求。由于模块具有不同的组合可以配置生成多样化的满足用户需求的产品的特点,同时模块又具有标准的几何连接接口和一致的输入输出接口,如果模块的划分和接口定义符合企业批量化生产中采购、物流、生产和服务的实际情况,这就意味着按照模块化模式配置出来的产品是符合批量化生产的实际情况的,从而使定制化生产和批量化生产这对矛盾得到解决。

模块化设计有两种情形:

一种是为生产某种复杂产品或为完成某项工程,采用模块组合的方法,根据该产品或工程系统的功能要求,选择、设计相应的模块,确立它们的组合方式;

另一种是在对各种不同类型、不同用途、不同规格产品进行功能分析的基础上,从中提炼出共性较强的功能,据此设计功能模块,目的不仅仅是满足某种产品的需要,而是要它在更广的范围内通用。

模块化设计的主要方式有:

1)横系列模块化设计。不改变产品主参数,利用模块发展变形产品。这种方式是易实现,应用最广。常是在基型品种上更换或添加模块,形成新的变形品种。例如,更换端面铣床的铣头,可以加装立铣头、卧铣头、转塔铣头等,形成立式铣床卧式铣床或转塔铣床等。

2)纵系列模块化设计。在同一类型中对不同规格的基型产品进行设计。主参数不同,动力参数也往往不同,导致结构形式和尺寸不同,因此较横系列模块化设计复杂。若把与动力参数有关的零部件设计成相同的通用模块,势必造成强度或刚度的欠缺或冗余,欠缺影响功能发挥,冗余则造成结构庞大、材料浪费。因而,在与动力参数有关的模块设计时,往往合理划分区段,只在同一区段内模块通用;而对于与动力或尺寸无关的模块,则可在更大范围内通用。

3)横系列和跨系列模块化设计。除发展横系列产品之外,改变某些模块还能得到其它系列产品者,便属于横系列和跨系列模块化设计了。德国沙曼机床厂生产的模块化镗铣床,除可发展横系列的数控及各型镗铣加工中心外,更换立柱、滑座及工作台,即可将镗铣床变为跨系列的落地镗床。

4)全系列模块化设计。全系列包括纵系列和横系列。例如,德国某厂生产的工具铣,除可改变为立铣头、卧铣头、转塔铣头等形成横系列产品外,还可改变床身、横梁的高度和长度,得到三种纵系列的产品。

5)全系列和跨系列模块化设计。主要是在全系列基础上用于结构比较类似的跨产品的模块化设计上。例如,全系列的龙门铣床结构与龙门刨、龙门刨床和龙门导轨磨床相似,可以发展跨系列模块化设计。

界面层的模块化设计

案例:电商活动UI设计模块化

电商平台,活动作为较为日常的运营模式,呈现出页面基数大、上线时间短、更新速度快3大特征。活动会场模块化,是将活动会场拆解成一个一个可拼装组件,之后将多个组件聚类归纳和整理,形成一套「模版库」,并在多次活动中不断扩充迭代便于使用,提升活动搭建效率及设计品质。

「会场模块化」详细设计

拆分的过于琐碎,每个模块至少都是「有含义」的。以京东618主会场为例,通过对「会场、品牌、关键词」等元素进行组合拼装,结合业务场景,快速产出了3套会场楼层组合。

产品模块化设计的前世今生相关推荐

  1. 编程思想-模块化-产品模块化设计:产品模块化设计

    ylbtech-编程思想-模块化-产品模块化设计:产品模块化设计 产品模块化设计就是将产品分成几个部分,也就是几个模块,每一部分都是具有独立功能,具有一致的几何连接接口和一致的输入.输出接口的单元,相 ...

  2. 产品设计:产品设计中模块化设计的再认识与思考

    模块化是在传统设计基础上发展起来的一种新的设计思想,现已成为一种新技术被广泛应用,尤其是信息时代电子产品不断推陈出新,模块化设计的产品正在不断涌现.如何使产品的模块化设计全方位地满足市场的多样化需求, ...

  3. SaaS平台产品架构设计

    当我们去搜索"架构",可以得到很多的架构图片,比如组织架构.业务架构.数据架构.技术架构.安全架构.产品架构.部署架构等. 什么是架构,通常大家说架构一般指软件架构,架构是指软件的 ...

  4. 大型 SaaS 平台产品架构设计

    更多内容关注微信公众号:fullstack888 当我们去搜索"架构",可以得到很多的架构图片,比如组织架构.业务架构.数据架构.技术架构.安全架构.产品架构.部署架构等. 什么是 ...

  5. 编程思想-模块化-模块化设计:模块化设计

    ylbtech-编程思想-模块化-模块化设计:模块化设计 模块化设计,简单地说就是程序的编写不是开始就逐条录入计算机语句和指令,而是首先用主程序.子程序.子过程等框架把软件的主要结构和流程描述出来,并 ...

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

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

  7. 女生做产品经理好吗_产品经理如何做产品架构设计

    编辑导语:对于产品经理来说,发展到一定阶段后,日常的工作内容往往离不开产品架构设计.这是一个极其细致的活,需要产品经理有很强的架构能力.那么,产品经理如何才能摸清产品的底层逻辑.提升对产品的认知,做好 ...

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

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

  9. 软件工程 3:模块化设计

    文章目录 软件工程 3 面向过程:模块化设计 模块设计原则:高内聚.低耦合 函数设计:不知道如何下手怎么办 错误处理:每个函数都有错误处理 模块的编译和链接 面向对象:万事万物皆对象 类:一组相似事物 ...

最新文章

  1. typescript 入门例子 Hello world——ts就是一个宿主机语言
  2. 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单
  3. QT 托盘图标退出延迟解决方案
  4. vscode 设置缩进为4_VS Code 设置缩进为4个空格
  5. 聚类 python 代码_不足 20 行 Python 代码,高效实现 k-means 均值聚类算法
  6. mysql中创建唯一索引的关键字_mysql中唯一索引的关键字是什么
  7. python treeview显示多列_Python Gtk TreeView列数据显示
  8. Android 使用 sendevent 模拟鼠标和键盘事件
  9. MATLAB线型英文名字
  10. 云开发数据库update函数控制台显示更新成功,但数据库中的数据并没有更新(已解决)
  11. [转]ASP.NET 安全认证(三): 用Form 表单认证实现单点登录
  12. 1.5 极限的存在准则和两个重要极限
  13. jquery的ajax的使用!
  14. 通过NFS服务器将设备目录挂载到Windows目录
  15. Redis 分布式锁笔记
  16. vlad用python实现_HF-Net(一)基于NetVLAD的global descriptor的特征提取
  17. texstudio深色主题设置
  18. 语音合成(speech synthesis)方向六:歌唱合成(singing voice synthesis)
  19. 超级推荐,Mac 端ssh连接工具termius
  20. 干货:何小鹏给你数数移动互联网不得不看的5个大坑

热门文章

  1. 人工智能正在改变市场营销的行为方式
  2. 微信小程序真机预览图片图标无法显示
  3. 湖南省银河计算机专修学院,湖南计算机专修学院
  4. 大家都在学Python,你和别人的差距在哪?
  5. DCM4CHEE-ARC-LIGHT
  6. python 画图 平滑曲线_用Python平滑曲线
  7. LaTeX插入大尺寸JPG图片出现纵横比异常水平被压缩的解决方法
  8. emouse思·睿—评论与观点整理之二
  9. best-time-to-buy-and-sell-stock
  10. Unity3D 绑定机械传动 插件包