模块设计最早源自软件设计的基本概念,在早期的软件设计中提出了针对产品功能的模块化设计。
在设计好软件的体系结构后,就已经在宏观上明确了各个模块应具有什么功能,应放在体系结构的哪个位置。我们习惯地从功能上划分模块,保持“功能独立”是模块化设计的基本原则。因为,“功能独立”的模块可以降低开发、测试、维护等阶段的代价。但是“功能独立”并不意味着模块之间保持绝对的孤立。
一个系统要完成某项任务,需要各个模块相互配合才能实现,此时模块之间就要进行信息交流。
模块通常是“由元件或零部件组合而成的、具有独立功能的、可成系列单独制造标准化单元,通过不同形式的接口与其他单元组成产品,且可分、可合、可互换”。这个定义描述了模块的如下特征:
(1)模块不同于一般产品的部件,它是一种具有独立功能,可单独制造、销售的产品。
(2)模块通常由各种元器件组合而成,高层模块还可包含低层模块(即由模块组成模块)。
(3)它是构成产品系统的完整单元一(要素),它与产品系统的其他要素可分、可合。
(4)模块通过各种形式的接门(刚性、柔性)和连接方式(单向、双向、多向)实现模块间的连接与组合。
(5)模块通常是标准化产品,可成系列设计和制造。
模块的种类
按照模块的用途和特征可以划分许多种类,其中常见的有:
功能模块:按照价值工程的功能分析方法,可将产品系统分为具有不同功能的单元,执行这些功能的模块称功能模块。功能模块又可分为基本功能模块、辅助功能模块、特殊功能模块等,而它们又可根据产品的特点进一步细分为功能更具体的模块。
结构模块:依据模块在产品系统中所处的地位和模块之间的关系,可将模块划分为不同等级,叫做分级模块,在这个分级体系中通常包括高层模块、分模块(或子模块),或一级模块、二级模块、三级模块等。
高层模块通常是由相应分级系统中低一级的模块组成;最低等级的模块则由元件或分元件组成,元件或分元件的构成要素叫做负分元件,它是分级体系中最基本的模块元件。
此外还可以依据模块的通用程度分为通用模块、专用模块、特别模块等。
--通用模块是指该类模块的通用化程度高,它不仅用于某一种产品中,而且能在该类产品系列中通用,甚至能做到跨系列、跨大类产品通用,这种模块通常是成系列开发、成批制造,不断产生派生、变型产品,其应用面广、生命周期长经济效益好。
--专用模块是为某种产品或某项用途而专门设计制造的,一般需单独研制。
--特别模块是根据系统的特殊要求而特殊设计的。
模块化: 把程序划分成若干个模块, 每个模块完成一个子功能, 把这些模块集总起来组成一个整体,可以完成指定的功能,满足问题的功能。
模块: 一个拥有明确定义的输入、输出和特性的程序实体。
模块化设计
模块化是好的软件设计的一个基本准则,可减小设计所需要的总工作:
功能划分模块的原则
1. 分解
2. 模块独立性
模块化产品设计
(一)模块化设计的目的
模块化产品设计的目的是以少变应多变,以尽可能少的投入生产尽可能多的产品,以最为经济的方法满足各种要求。由于模块具有不同的组合可以配置生成多样化的满足用户需求的产品的特点,同时模块又具有标准的几何连接接口和一致的输入输出接口,如果模块的划分和接口定义符合企业批量化生产中采购、物流、生产和服务的实际情况,这就意味着按照模块化模式配置出来的产品是符合批量化生产的实际情况的,从而使定制化生产和批量化生产这对矛盾得到解决。
模块化设计有两种情形:
一种是为生产某种复杂产品或为完成某项工程,采用模块组合的方法,根据该产品或工程系统的功能要求,选择、设计相应的模块,确立它们的组合方式;
另一种是在对各种不同类型、不同用途、不同规格产品进行功能分析的基础上,从中提炼出共性较强的功能,据此设计功能模块,目的不仅仅是满足某种产品的需要,而是要它在更广的范围内通用。
模块化设计的主要方式有:
1)横系列模块化设计。不改变产品主参数,利用模块发展变形产品。这种方式是易实现,应用最广。常是在基型品种上更换或添加模块,形成新的变形品种。例如,更换端面铣床的铣头,可以加装立铣头、卧铣头、转塔铣头等,形成立式铣床卧式铣床或转塔铣床等。
2)纵系列模块化设计。在同一类型中对不同规格的基型产品进行设计。主参数不同,动力参数也往往不同,导致结构形式和尺寸不同,因此较横系列模块化设计复杂。若把与动力参数有关的零部件设计成相同的通用模块,势必造成强度或刚度的欠缺或冗余,欠缺影响功能发挥,冗余则造成结构庞大、材料浪费。因而,在与动力参数有关的模块设计时,往往合理划分区段,只在同一区段内模块通用;而对于与动力或尺寸无关的模块,则可在更大范围内通用。
3)横系列和跨系列模块化设计。除发展横系列产品之外,改变某些模块还能得到其它系列产品者,便属于横系列和跨系列模块化设计了。德国沙曼机床厂生产的模块化镗铣床,除可发展横系列的数控及各型镗铣加工中心外,更换立柱、滑座及工作台,即可将镗铣床变为跨系列的落地镗床。
4)全系列模块化设计。全系列包括纵系列和横系列。例如,德国某厂生产的工具铣,除可改变为立铣头、卧铣头、转塔铣头等形成横系列产品外,还可改变床身、横梁的高度和长度,得到三种纵系列的产品。
5)全系列和跨系列模块化设计。主要是在全系列基础上用于结构比较类似的跨产品的模块化设计上。例如,全系列的龙门铣床结构与龙门刨、龙门刨床和龙门导轨磨床相似,可以发展跨系列模块化设计。
界面层的模块化设计
案例:电商活动UI设计模块化
电商平台,活动作为较为日常的运营模式,呈现出页面基数大、上线时间短、更新速度快3大特征。活动会场模块化,是将活动会场拆解成一个一个可拼装组件,之后将多个组件聚类归纳和整理,形成一套「模版库」,并在多次活动中不断扩充迭代便于使用,提升活动搭建效率及设计品质。
「会场模块化」详细设计
拆分的过于琐碎,每个模块至少都是「有含义」的。以京东618主会场为例,通过对「会场、品牌、关键词」等元素进行组合拼装,结合业务场景,快速产出了3套会场楼层组合。