Jus*_*ner 62
功能分解是指采用复杂过程并将其分解为更小,更简单的部分的过程.
例如,考虑使用ATM.您可以将流程分解为:
走到自动取款机
插入您的银行卡
输入您的图钉
嗯......你明白了.
您可以考虑以相同的方式编程.想想运行该ATM的软件:
读卡代码
PIN验证
转移处理
其中每一个都可以进一步细分.一旦到达子系统中分解最多的部分,就可以考虑如何开始编写这些部分.然后,您将这些小部件组成更大的整体.看看这篇维基百科文章:
功能分解的好处是,一旦开始编码,您就可以使用可以为您的应用程序使用的最简单的组件.因此,开发和测试这些组件变得更加容易(更不用说您能够更好地构建代码和项目以满足您的需求).
明显的缺点是时间投资.要在复杂系统上执行功能分解,在编码开始之前需要花费大量时间.
就个人而言,我认为这段时间非常值得.
它与WorkBreakDown Structures(WBS),mindMapping和自上而下的开发相同 - 基本上将大问题分解为更小,更易于理解的子部分.
优点
缺点 - 在进行分解时没有真正的CONS,但是有一些常见的错误