概述
本文介绍如何利用项目的特性指标来选择生命周期模型。 文档定义了11个项目的特性指标,在下面的描述中对每一个特性指标都有相关的描述来说明该指标的含义以及它对选择模型的影响和作用。
在2.1节中描述了项目特性指标与生命周期模型的选择矩阵,在选择模型的时候收集项目特性指标信息以及该指标是否在当前项目中适用,然后根据项目特性指标权重赋值,最后根据计算的最高的得分来决定采用哪一种模型作为项目的软件开发的生命周期。
项目特性指标项目特性指标定义特征指标1 - 工作量:
项目的工作量指标是指完成这个项目估计需要的工作量。 一般来说工作量比较大的项目需要选择更加严格和正规的软件生命周期模型。
特征指标2 - 代码规模:
这个指标是标志软件的规模, 对不同的项目要使用不同的代码行规模估计的方法和技术,这样估计的结果才能真正反应一个项目的代码行规模。 可以使用项目的复杂度和项目的工作量结合起来代替代码行规模的指标。
特征指标3 - 开发团队规模:
通常对于大规模的开发团队,就要选用更加严格和正式的软件生命周期模型,因为随着团队规模的增加会导致由于人员之间的依赖和沟通而引发的风险。(人员数量是指项目各个阶段的投入人数的高峰值)
特征指标4 - 项目周期:
这个指标指项目从开始计划到项目最终结束所花费的时间。 项目周期的长短影响对软件生命周期模型的选择,比如只有1-2个月的项目就不适合选择比较严格和正规的生命周期。
特征指标5–项目复杂度:
项目的复杂度指标表明了一个项目的复杂程度。 复杂度是与规模的大小、软件的功能多少、接口的数量相关的。 对高复杂度的项目来说,推荐使用正规的、严格的生命周期来为项目管理提供更加严格和有效的控制机制。
特征指标6 - 关键程度:
项目的关键程度是指被开发的系统的业务的关键程度。 比如:金融联机交易软件等。 对于涉及关键业务的重要的软件,应该使用严格的、正式的生命周期模型,不建议采用四阶段的V模型。
特征指标7 - 需求明确程度:
该指标是衡量项目组和用户对需求的理解程度。 如果需求比较明确并被项目组和用户正确理解,有助于减少项目开发中间的需求的变更和中间阶段的返工和修改,从而降低项目的风险。 如果项目组和用户对需求的理解程度不高,需求在很大程度上是不明确的, 选择一个进化型或原型的生命周期模型可以帮助需求在每次的迭代和演化过程中得到逐步的明确和被确认,从而最终降低项目的风险。
特征指标8 - 需求稳定度:
需求稳定度是项目预期的需求的变化程度。 如果需求不是特别稳定,就需要选择复合型或者原型的生命周期模型,如增量开发模型或者进化开发模型。 这样可以确保需求在在一定范围内比较稳定。
特征指标9–对技术/架构的熟悉程度:
是指在该项目组中对采用的某种专门技术的熟悉和了解程度。
特征指标10 - 是否考虑软件的可重用性:
项目开发组考虑当前开发的软件是否可重用,如果开发的软件要求是可重用的,那就要选择一个比较正式的和严格的生命周期模型来指导开发。
特征指标11 - 是否使用现成的软件:
该指标是指是否在该项目开发中使用现成的软件, 可能是商业出售的软件、免费的软件或者是其他的软件。
项目特性指标与生命周期特征对应表
附:增量模型的详细说明
对于应用集成项目,因为涉及到多个产品,在开发过程中,会将需求分解到各个产品中。各产品项目依照分配的需求进行开发,开发完成后,提交统一进行测试。开发过程中,如果采取增量式开发,增量开发的次数一般由以下因素来决定:
应用集成大项目的要求,项目组现有资源;需求分几次进行获取;当前产品研发所处阶段;每次增量的周期,一般来说,每次增量开发的周期不宜少于两个月。
总结
感谢每一个认真阅读我文章的人!!!
如果下面这些资料用得到的话可以直接拿走:
1、自学开发或者测试必备的完整项目源码与环境
2、测试工作中所有模板(测试计划、测试用例、测试报告等)
3、软件测试经典面试题
4、Python/Java自动化测试实战.pdf
5、Jmeter/postman接口测试全套视频获取
6、Python学习路线图
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的点击下方名片加入群聊免费领取,群里还有大佬免费帮忙解答问题。