分而治之这个思想,我们在先前的算法学习中已经接触过了,他就是分治法。那么我们先来温习下分治法。
分治法主要由两部分构成:
1)分(divide):递归解决较小的问题
2)治(conquer):然后从子问题的解构建原问题的解
分治法的三个步骤:
1)分解(Divide):将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
2)解决(Conquer):若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;
3)合并(Combine):将各个子问题的解合并为原问题的解。
在算法中,分而治之就是将一个无序的数列一直一分为二,直到分到序列中只有一个数的时候,这个序列肯定是有序的,因为只有一个数,然后将两个只含有一个数字的序列合并为含有两个数字的有序序列,这样一直进行下去,最后就变成了一个大的有序数列。
在软件工程中,WBS就用了分而治之的思想。将一个项目逐步分解,以便于我们能更好的完成工作。在我们进行软件开发的时候,有许多环节需要运用到分而治之的思想,例如软件的体系结构设计、模块化设计。WBS就是工作分解结构。就是把一个项目,按一定的原则分解,项目分解成项目,任务在分解成一项项工作,再把一项项工作分配给每个人。创建WBS是把项目工作按阶段可交付成果分解成较小的,更易于管理的组成部分的过程。
WBS主要用途
1、WBS是一个清晰地表示各项目工作之间的相互联系的结构设计工具。
2、WBS是一个展现项目全貌,详细说明为完成项目所必须完成的各项工作的计划工具。
3 、WBS定义了里程碑事件,可以向高级管理层和客户报告项目完成情况,作为项目状况的报告工具。
4、WBS防止遗漏项目的可交付成果。
5、 WBS帮助项目经理关注项目目标和澄清职责。主要用途