目录
第5章 软件过程的技术管理
5.1 软件过程的技术架构
5.1.1 过程技术架构的层次和内容
5.1.2 软件过程资源的管理
5.2 软件过程的问题分析和决策方法
5.2.1 过程问题解决的系统方法
5.2.2 原因分析和缺陷分析
- 在开发周期的每个阶段实施根本原因分析(root cause analysis),为有效开展缺陷预防活动提供依据 。
- 通过制订原因分析计划、选择缺陷分析数据而找出原因、实施建议措施、评价变更的效果、记录数据等多个环节,最终完成这一活动 。
- 经常使用的工具有:数据库系统、过程建模工具、统计分析包。
5.2.3 决策分析与决定
- 选择决策技术和结构层次,制订决策分析与决定的计划;
- 建立作为决策基础的评价准则;
- 建立并运用决策分析指导原则,确定推荐的候选方案;
- 选择评价方法,对照准则评价候选方案。
- 选择解决方案
5.3 软件过程的技术路线
5.3.1 软件项目过程的技术解决流程
- 制订技术解决计划。
- 系统定义、候选方案和评估准则。
- 系统操作概念和使用场景。
- 系统架构设计。
- 系统构件的详细设计。
- 实现设计——完成编程和单元测试。
- 通过复审、测试完成对系统的验证。
- 软件发布或部署。
- 软件的操作和维护。
技术解决流程示意图
5.3.2 技术解决计划的建立和实施
- 建立并维护技术解决的组织方针,反复进行产品构件的选择、产品和产品构件的设计以及产品构件设计的实现、验证工作。
- 设计技术路线,确定技术路线中关键的难题和初步的解决办法。
- 根据项目的规模以及财力,确定技术解决人力资源、硬件资源和技术解决工具。
- 技术解决方案准则应该包含对软件生命周期设计问题的处理。
- 为每个候选解决方案拟订产品运行和用户交互作用的时间场景。
- 应充分考虑新技术所带来的风险,要计划好一些应急的措施或备用的成熟的技术。
技术工具
- 设计规范工具。
- 仿真程序和建模工具。
- 原型设计工具。
- 场景定义和管理工具。
- 需求跟踪工具。
- 交互式文档编制工具。
5.3.3 开发设计
- 系统定义
- 设计标准和准则的属性
- 设计方法
- 产品构件设计
- 设计文档
5.3.4 编程和单元测试
- 主要的编程思想
- 推荐的编程方法
- 编程准则和规范
- 单元测试方法
- 代码重构
5.3.5 验证、确认与测试
- 验证(verification)是指验证或检验软件是否已正确地实现了产品规格书所定义的系统功能和特性,验证过程提供证据表明,软件相关产品与所有生命周期活动的要求相一致。
- 确认(validation)是为了保证所生产的软件可追溯到用户需求的一系列活动,确认过程提供证据,表明软件是否满足客户需求,并解决了相应问题。
- 测试(testing)是为了发现软件的缺陷,减少产品质量的潜在风险。测试是实现验证活动和确认活动的最有效的手段和途径。
5.4 知识传递
- 纵向传递是一个具有很强时间顺序性的接力过程,指软件产品和技术知识从需求分析阶段到设计阶段、从设计阶段到编程阶段、从开发阶段到维护阶段、从产品上一个版本到当前版本的知识传递过程。
- 横向传递是指软件产品和技术知识在不同团队之间的传递过程
- 知识传递的有效方法
5.5 软件过程管理工具
5.5.1 需求管理工具
- IBM-Rational AnalystStudio
- Telelogic DOORS
- Borland Caliber
5.5.2 面向对象的分析设计工具
- IBM-Rational Rose是面向对象技术分析设计工具的代表,是可视化的建模工具
- 面向对象技术分析设计工具很多,如表5-5所示,其中SVG是W3C的一种图形矢量标准,可以在网上快速加载矢量图和UML图,强大的事件及脚本功能,也使得UML图具有更强的交互性和更为丰富的表达能力。
5.5.3 配置管理和变更管理工具
- 配置管理的主要工作包括通过创建软件配置管理库、定义配置项(包括需求、分析设计模型、代码、文档、测试用例、测试数据等)以及建立和维护软件的基线。
- 变更请求管理的主要工作包括控制和记录配置项内容的变更,建立和维护一个系统并使其追踪和管理变更请求及问题报告。
- (1) 开源工具CVS(Concurrent Versions System,并发版本系统)是网络透明的版本控制系统。
- (2) IBM-Rational ClearCase。
- (3) 青鸟软件配置管理系统(简称JBCM系统)是基于构件复用的配置管理系统。
- (4) IBM-Rational ClearQuest是需求变更管理工具