产品设计:模块化设计思想的应用

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

流程设计变成模块组合,能帮助研发更好地优化代码,减少bug产生,模块化设计思想应贯彻产品设计的始终。

产品设计:模块化设计思想的应用

一、模块化设计思想起源

模块化做为一种现代化的设计方法,这个概念最早起源于生产制造行业。对工业技术发展起着重要作用。如今这个概念已经被各行各业来衍生应用,和我们最直接的就是在各种开发设计环节大量使用这种思想。

所谓的模块化设计,简单地说就是将产品的某些要素组合在一起,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块,可以与其他产品或要素进行多种组合,产生不同功能或应用的产品。

简单概括就是要像组装积木一样组合出不同产品。

二、模块化设计思想在实际生活中应用

模块化思想应用在我们身边的方方面面,简单介绍一下。

  • 大到美国F35战斗机,采用通用模块化设计,使海军型、陆军型、空军型,最大程度通用降低成本,降低维护。
  • 模块化设计在汽车领域得到非常彻底应用,从模块化配件,进化到平台化,再进化到架构化,都是模块化应用体现。
  • 宜家家居(IKEA)在家具设计、研发以及采购、生产上均采用模块化方式。

还包括电子设备、手机、集成电路,再到软件研发领域,模块化思想已经成为基础的架构思想。

三、模块化设计优势

回到正题,我们来讲讲模块化设计在软件产品中应用优势,模块化在研发领域也是很普及,下面是我用研发的思想去描述模块化的特征和优势。

模块化特征

(1)独立性

选取的模块要具有相对独立的,可重复使用的内容,进行单独的设计并分装。选取可重用内容比较有模块化价值。单独封装可单独调试,封装又是为了保证他的独立性,保证了独立性又可减少对他的修改,减少了修改又减少了bug的产生。

(2)相容性&通用性

模块接口结构、参数标准化,容易实现模块间的互换,就是说要给不同模块方便的组合使用。比如在网站后台使用插件、在不破坏原有结构的情况下灵活组合安装使用,那大家必须遵守一定规则标准。

有利于实现在不同场景、不同环境下,有相同业务需求的功能模块通用使用。也可以将相同业务需求的模块,在不同产品中使用。

模块化优势

让各模块之间“高内聚,低耦合”,降低代码复杂性,增加重用性、可扩展性,提高开发效率。

模块化产品设计的目的是以少变应多变,以尽可能少的投入,快速产出产品,以最为经济的方法满足各种要求。模块化可以方便的组合出不同的产品满足用户需求。

在研发中,模块化在思想进一步提升,演变出了插件化。模块化是在已知或已有的项目范围内进行,插件化是平台提供统一标准,所有插件按统一标准进行模块化封装,能达到后期接入不同应用功能。我们在框架、前端、后端,很多系统中都普遍使用。

四、模块化设计思想衍生应用

  • 模块化在页面设计中也得到充分利用
  • 模块化在业务流程、流程图中也可以很好的使用

业务流程模块化设计好处

为了让研发觉得我们产品专业精神,业务流程设计的时候就已经模块化,目的就是要让业务流程在设计的初始,就清晰拆解成模块,让拆解出来的模块在以后的项目里充分得到重用,特别在PC、APP、Wap各种应用场景下会有非常多的相同模块可以重用。

作为产品经理,大家自己也可以在工作中,自己积累制作出自己公司的业务模块,制作完后可以保存成控件,这样就可以在流程图设计中方便使用。这样做有很多好处,提高了生产效率,流程设计会变成模块组合,研发也能更好优化代码,减少bug产生。

产品设计:模块化设计思想的应用

自己设计的模块控件

简单流程图示例

业务流程不方便展示,放一个通用的简单流程示例

产品设计:模块化设计思想的应用

工作感悟

在多年互联网产品工作中,做了很多不同的项目,有很多情况是接手别人的项目,遇到过各种困扰的问题。因为各种原因业务时间紧迫,技术人手不够,研发更换了多拨等等,就会在不合理的功能上妥协,造成了业务流程混乱不清晰。架构师不是一般公司能有,重构机会其实也不多,多数是在补丁上打补丁。

处理这种复杂有很多遗留问题的项目,还是先要评估项目重要性,如果比较重要或在后期项目会有很多交叉点的,可以等待时机重构改版。重构不单单是研发的工作,在产品层面就需要先把所有业务逻辑重新梳理,清理历史流程,重复流程模块化整理等等。交付研发就已经是一个清晰和简洁流程功能。

现在还有很多打着用户体验的幌子来指点江山的,一指点就将几个业务功能交叉耦合,我觉得这个不是处理流程,先要处理人,产品工作很大部分是和人打交道,把人搞定要比搞定流程效果好。

还有就是要不断学习提升自己。

 

本文由 @燕陈华 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

随意打赏

提交建议
微信扫一扫,分享给好友吧。