在计算机科学中，分解（，或），是将一个复杂的问题或系统，先区分成小部份的过程，其目的是使这个问题变得更容易构造、思考、理解，以利于编程及维持。分解程序的目标是创建多个模块，使这些模块本身就成为能够以简单而又明确的方法进行相互耦合的小型程序。如果达到这个目标，则开发人员能够在不需要许多交流的情况下，独立开发不同的模块，而最终能够将这些模块整合起来成为系统。
概述.在分解一个问题的时候，按照以下原则将其分解成几个可再分的子问题：抽象然后分解是程序设计中的经典内容，程序设计师用分解