项目计划阶段:主要是制定项目总体研发计划,树立项目里程碑节点,输出项目计划书;
需求分析阶段:明确客户的需求定义,并对这个定义进行清晰的描述,是充分理解客户需求,描述产品功能的重要阶段,这个阶段会输出产品的需求规格说明书;
软件设计阶段:则会根据需求的定义,来确定产品实现的方案,包括定义软件硬件的结构,组建模块的实现方法,接口、界面、数据如何进行组织,这个阶段会输出包括概要设计,详细设计在内的多份说明书;
程序开发阶段:这个阶段是开发团队根据需求和设计具体实现我们的产品,来根据编程规范,构建我们的组件模块,最后输出我们的产品版本;
软件测试阶段则是通过独立的测试小组或者QI团队评估我们的产品是否满足需求的定义,最后输出测试结果报告,
集成维护阶段则是产品经过测试以后,交付给用户,根据用户的使用情况,再对产品进行维护,及必要的修改升级等操作。
优点:
强调需求,设计的作用;
前一阶段完成后只需关注后续阶段;
为项目提供按阶段划分的检查点,里程碑清晰
文档规范
缺点:
线性研发过程难以适应需求的频繁变化,
项目周期后段才可看到成果,用户要到末期才能看到开发结果,增加了开发的风险
强制的里程碑,对于开发过程中出现的变化,适应能力较差,
文档工作量较大,测试在项目的后期,文档的开发带来很大的工作量。
需求分析阶段:明确客户的需求定义,并对这个定义进行清晰的描述,是充分理解客户需求,描述产品功能的重要阶段,这个阶段会输出产品的需求规格说明书;
软件设计阶段:则会根据需求的定义,来确定产品实现的方案,包括定义软件硬件的结构,组建模块的实现方法,接口、界面、数据如何进行组织,这个阶段会输出包括概要设计,详细设计在内的多份说明书;
程序开发阶段:这个阶段是开发团队根据需求和设计具体实现我们的产品,来根据编程规范,构建我们的组件模块,最后输出我们的产品版本;
软件测试阶段则是通过独立的测试小组或者QI团队评估我们的产品是否满足需求的定义,最后输出测试结果报告,
集成维护阶段则是产品经过测试以后,交付给用户,根据用户的使用情况,再对产品进行维护,及必要的修改升级等操作。
优点:
强调需求,设计的作用;
前一阶段完成后只需关注后续阶段;
为项目提供按阶段划分的检查点,里程碑清晰
文档规范
缺点:
线性研发过程难以适应需求的频繁变化,
项目周期后段才可看到成果,用户要到末期才能看到开发结果,增加了开发的风险
强制的里程碑,对于开发过程中出现的变化,适应能力较差,
文档工作量较大,测试在项目的后期,文档的开发带来很大的工作量。