微众银行对新一代银行IT架构的设计与实现( 五 )

1、模块化理念

模块化是软件解决复杂问题所具备的手段,可降低软件的复杂性,减少开发工作量,从而降低开发成本,提高软件生产率。

"分而治之"的结论,把复杂的问题分解为很多容易解决的小问题,原来的问题也就容易解决,这就是模块化的依据。

当然,我们也要防止过度划分问题。当我们无限制划分软件,那么开发所需要的工作量会变得很小,但是其他因素开始起作用,整体成本不降反升。

如下图所示,开发单个软件模块所需要的工作量(成本)的确随着模块的数量的增加而下降,给定同样的需求,更多的模块意味着每个模块的尺寸更小。然而,随着模块数量的增长,集成模块所需要的工作量(成本)也在增大。这些特征导致其总成本的工作曲线成下述特征。存在一个模块数量M,可以导致最小的开发成本。一般无法预测M的值,但应该在模块化设计时尽量保持在M的附近,避免过高或过低的模块性。

微众银行对新一代银行IT架构的设计与实现

推荐阅读