软件生命周期描述1. 使用软件生命周期的作用提高产品质量降低项目管理难度易于跟踪项目状态为过程改进和度量提供基线改善组织级的过程弱势,提高过程能力成熟度级别2. 软件生命周期模型2.1 V 形模型(V-shaped Model)2.1.1 定义2.1.2 特点使用简单强调测试阶段/过程与开发过程的对应关系不必认真考虑实际的开发活动- 可以不考虑过程的反复- 不必随时列出管理和支持过程2.1.3 适合的软件项目需求是预知的软件实现方法是成熟的 需求架构设计系统设计单元/组件设计编码单元/组件测试系统测试网络集成确认测试2.2 瀑布模型(Waterfall Model)2.2.1 定义瀑布模型又称线性模型。它规定了以下各项软件工程活动:制定开发计划、进行需求分析、软件设计、程序编码、测试及运行维护,参见下图。这些软件开发活动自上而下、相互衔接,应满足以下特征:(1) 从上一项活动接受该项开发活动的工作对象,作为输入;(2) 利用这一输入实施该项开发活动完成的内容;(3) 给出该项开发活动的工作成果,作为下一项开发活动输出;(4) 对该项开发活动实施的工作进行评审。若评审通过,则继续进行下一项开发活动;否则返回前项。2.2.2 特点易懂易用不需认真考虑实际的开发活动,如过程的反复需要准备并紧密控制:- 良好定义的计划- 冻结交付的工作产品- 定义质量控制规程产品的运行版本直到项目开发晚期方可见由于一次性开发出一个完整的系统,因而存在预算问题用户直到项目结束后方能了解产品的质量,不能逐步地了解无法预知变化情况- 开发者常因项目“堵塞状态”而等待组内其他成员完成任务- 需求反馈困难2.2.3 适合的软件项目需求是预知的软件实现方法是成熟的项目周期较短2.3 原型模型(Prototyping Model)2.3.1 定义原型模型从需求收集开始,软件开发组与目标用户一起定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域。然后是“快速设计”。快速设计建立软件中对用户可见的部分,即“原型”。原型由用户评估,并据此进一步精化待开发软件的需求。逐步调整原型使其满足用户的要求,同时也使开发组对该软件有更好的理解,这个过程是迭代的。2.3.2 特点在需求定义之前可快速构建系统用户可向开发者提供反馈根据用户反馈意见修改系统需求以满足用户需要当需求不清楚时可抛弃已开发出的原型开发人员和用户了解某些需求,但仍有许多不能关闭的问题2.3.3 ...