人类解决复杂问题时普遍采用的一个策略就是“各个击破”,也就是对问题进 行分解然后再分别解决各个子问题的策略。 软件工程采用的生存周期方法学就是从时间角度 对软件开发和维护的复杂问题进行分解, 把软件生存的漫长周期依次划分为若干个阶段, 每 个阶段有相对独立的任务, 然后逐步完成每个阶段的任务。 采用软件工程方法论开发软件的 时候,从对任务的抽象逻辑分析开始,一个阶段一个阶段地进行开发。前一个阶段任务的完 成是开始进行后一个阶段工作的前提和基础, 而后一阶段任务的完成通常是使前一阶段提出 的解法更进一步具体化,加进了更多的物理细节。