软件设计为什么要模块化?
软件模块化的目的是建立可重用的软件组件,在不需要修改或仅作少量修改的情况下,可再次用来组建新的软件系统,提高软件的开发周期和可靠性。在我们生活中到处都可以看到模块化设计的例子,比如汽车、电脑、家具都是由一些零件组合成小部件,然后在由这些小部件组合成模块,再由模块组合成成品。这些部件可以更换、添加、移除而不影响整体设计。软件设计注意事项明确要做什么,即是分析需求的过程。我们应该尽量做到将需求功能化,从粗枝大叶的需求扩展为明确的功能。要做成什么样子就是就我们的功能以系统原型的方式进行呈现。在这个过程中,我们一定要有详细的交互流程。我们要考虑客户的交互请求如何在客户端和服务端流转,是否需要其他服务支持。这个过程就开始思考我们前端和后端的框架结构的问题了。
模块化设计的产品优点
(一)对企业产品研发的贡献由于模块化推进了创新的速度,使得企业领导者对竞争者的举动做出的反应时间大大缩短。作为一条规则,管理者不得不更加适应产品设计上的各种发展,仅仅了解直接竞争厂商的竞争战略是远远不够的,这个产品的其他模块的创新及行业内部易变的联盟都有可能招致激烈的竞争。模块是产品知识的载体,模块的重用就是设计知识的重用,大量利用已有的经过试验、生产和市场验证的模块,可以降低设计风险,提高产品的可靠性和设计质量。模块功能的独立性和接口的一致性,使模块研究更加专业化和深入,可以不断通过升级自身性能来提高产品的整体性能和可靠性,而不会影响到产品其他模块。模块功能的独立性和接口的一致性,使各个模块可以相对独立地设计和发展,可以进行并行设计、开发和并行试验、验证。模块的不同组合能满足用户的多样性需求,易于产品的配置和变型设计,同时又能保证这种配置变型可以满足企业批量化生产的需求。(二)对企业工作效率和成本控制的贡献设计和零部件的重用可以大大缩短设计周期;并行的产品开发和测试可以大大缩短设计周期;利用已有成熟模块可大大缩短采购周期、物流周期和生产制造周期,从而加快产品上市时间;如果划分模块时考虑到企业售后服务的特定需求,同样可以缩短服务周期和耗费资源时间。模块和知识的重用可以大大降低设计成本;采用成熟的经过验证的模块,可以提高采购批量,降低采购和物流成本;采用成熟的经过生产验证的模块,可以大大减少由于新产品的投产对生产系统调整的频率,使新产品更容易生产制造,可以降低生产制造成本;产品平台中及平台之间存在大量的互换模块,可以降低售后服务成本。(三)对企业组织的贡献模块化有利于企业研发团队分工,规范不同团队间的信息接口,进行更为深入的专业化研究和不同模块系统的并行开发;抽象平台和模块的建立,可以实现企业组织结构与产品模块结构之间的交互,使并行工程拥有实施的根基,工艺、财务、采购和售后服务可以在产品研发早期就介入产品研发项目;标准规范的模块接口有利于形成产品的供应商规范,有利于产业分工的细化。