? ?
支持过程:包括文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、组织过程:包括基础设施过程、改进过程以及培训过程
审计过程以及问题解决过程
忽略过程容易造成工作效率低下,工作目的交叉重复,产品质量难以保证等问题;另一方面,如果过程过于严格、过于官僚同样会挫伤人员的积极性,或者由于执行过程的成本过高而影响实际的工作效率。
组织可以对现有的过程进行裁剪和调整,制定出适合特定项目的过程;或者可以为项目从头开始定义过程。无论是裁剪过程或是定义过程,应该把关注点放在以下几个方面:
1、 避免返工
软件项目节省时间一个最直接的方式就是确定过程,避免重复工作。如果在项目最后阶段改变需求,就可能不得不重新设计、编码和测试;如果直到系统测试阶段才发现设计有问题,就可能不得不扔掉已经细化的设计和编码。
2、 质量保证 质量保证有两个目的
? ?
确保交付的产品能够达到可接受的质量水平 在各阶段以最少的时间和成本代价查出错误
应尽早在错误发生的时候就查出来,错误在产品中停留的时间越长,清楚错误所花费的时间和成本就越多。质量保证是任何开发过程中必不可少的部分。
3、 开发基础
一系列的软件工程实践活动形成了开发基础,如:分析、设计、构建、集成和测试等。在过程中对开发基础加以关注,并定义良好的工作规范和任务集合能防止项目失控。
4、 风险管理
与进度相关的风险管理是开发过程必要的组成部分。风险管理虽然不能直接提高开发速度,但它是避免项目灾难的有效实践。
5、 资源目标
资源包括人力资源、环境资源和软硬件资源等。优化资源的调配有助于提高生产率。 6、 生命周期计划
生命周期计划是基本的管理计划,有助于确定软件项目要进行的活动集合和资源分配。每种周期模型都有其适用范围和缺点,为项目选择适当的生命周期模型能有效提高工作效率或降低项目风险。
图 2.2.2-1 纯瀑布模型
图 2.2.2-2 瀑布模型的另一种形式——鲑鱼生命期模型
图 2.2.2-3 编码修正模型(一种不规范的模型)
图 2.2.2-4 螺旋模型
图 2.2.2-5 生鱼片模型
图 2.2.2-6 包含子项目的瀑布模型
图 2.2.2-7 能够降低风险的瀑布模型(对需求分析和架构设计阶段采用螺旋模型)
图 2.2.2-8 渐进原型模型
图 2.2.2-9 阶段交付模型
图 2.2.2-10 面向进度模型
图 2.2.2-11 渐进交付模型

