小组软件开发过程

小组软件开发过程
作 者: Watts Humphrey 袁昱
出版社: 人民邮电出版社
丛编项: 计算机技术译林精选系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 软件开发
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:WattsS.Humphrey他在软件工程领域享有盛誉,被美国国防软件工程杂志CrossTalk评为近几百年来影响软件发展的十位大师之一。瓦茨·S·汉弗莱在IBM工作了27年,负责管理IBM全球产品研发。离任后,受美国国防部委托,加入卡内基·梅隆大学软件工程研究所(SEI),领导SEI过程研究计划,并提出了能力成熟模型(CMM)思想。在CMM浪潮席卷软件工业界之时,他又力推个人软件过程(PersonalSoftwareProcess,PSP)和团队软件过程(TeamSoftwareProcess,TSP),成为软件开发人员和开发团队的自修宝典。PSP(SM)软件工程师的自我改进过程(中文版)>>更多作品

内容简介

《小组软件开发过程》(简称“TSPi”)是美国Embry-Riddle Aeronautical大学为计算机科学系研究生和高年级本科生开设的一门软件工程课的教科书。这本书系统地论述了如何以开发小组的形式来进行软件的开发,并对开发过程作出了具体而详尽的指导,包括小组成员之间的协调、进度的管理、质量的控制等等令读者最感兴趣的方面。全书共四个部分:第一部分——绪论,包括前两章,是对理论的简单介绍,介绍了什么是TSPi、TSPi的组织结构等内容。第二部分——TSPi过程,包括第三章到第十章,则是整个小组研究周期的详细内容,详细解释了小组软件开发的步骤,并且给出了TSPi完整形式的例子。第三部分——小组角色,包括第十一章到第十五章,提供了小组成员角色的细致描述:小组领导者、开发经理、计划经理、质量/生产经理,以及技术支持经理。第四部分——使用TSPi,包括第十六章到第十八章,讲述了在使用本书的过程中需要注意的一些原则。全书内容难度适中,全面生动地阐述了软件工程的基本知识。本书实用性与可读性较强,适用于软件开发项目经理、程序员和一般编程爱好者在开发软件时参考,也可作为高等学校计算机软件工程课程的参考教材使用。

图书目录

第一部分 绪论

 第一章 TSPi简介

 1. 1 什么是TSPi

 1. 2 TSPi原则

 1. 3 TSPi的设计

 1. 3. 1 提供一个在PSP基础上建立的简单框架

 1. 3. 2 把产品的开发划分为数个周期

 1. 3. 3 建立标准的质量和效率评估机制

 1. 3. 4 为小组和学生们提供明确的评估标准

 1. 3. 5 进行角色和小组评估

 1. 3. 6 必要的开发纪律

 1. 3. 7 提供协同工作指导

 1. 4 TSPi的结构和流程

 1. 5 TSPi过程

 1. 6 课本结构和流程

 1. 7 小结

 第二章 小组软件开发逻辑

 2. 1 为什么工程会失败

 2. 2 常见小组问题

 2. 2. 1 领导不力

 2. 2. 2 无法协调或合作

 2. 2. 3 缺少参与

 2. 2. 4 拖延和缺少自信

 2. 2. 5 质量低劣

 2. 2. 6 随意增加功能

 2. 2. 7 无效的互评

 2. 3 小组是什么

 2. 3. 1 小组规模

 2. 3. 2 具有凝聚力的小组

 2. 3. 3 协同工作基本条件

 2. 4 建立高效的小组

 2. 4. 1 小组内聚力

 2. 4. 2 挑战性的目标

 2. 4. 3 反馈

 2. 4. 4 共同工作框架

 2. 5 小组是怎样发展的

 2. 6 TSPi是如何创建小组的

 2. 6. 1 目标

 2. 6. 2 角色

 2. 6. 3 计划

 2. 6. 4 交流

 2. 6. 5 对外交流

 2. 7 小结

第二部分 TSPi过程

 第三章 启动一个小组工程

 3. 1 为什么需要小组启动过程

 3. 2 小组目标

 3. 2. 1 制定目标需要考虑的事项

 3. 2. 2 制定小组目标

 3. 2. 3 TSPi的目标制定

 3. 3 小组成员目标

 3. 4 角色目标

 3. 4. 1 小组长目标

 3. 4. 2 开发经理目标

 3. 4. 3 计划经理目标

 3. 4. 4 质量/生产经理目标

 3. 4. 5 技术支持经理目标

 3. 5 TSPi启动流程

 3. 5. 1 学生信息

 3. 5. 2 产品目标

 3. 5. 3 小组分配

 3. 5. 4 小组目标

 3. 5. 5 小组会议和第一次小组会议

 3. 5. 6 数据需求

 3. 5. 7 工程开始

 3. 5. 8 项目手册

 3. 5. 9 TSPi支持工具

 3. 6 小结

 第四章 开发策略

 4. 1 计划第一

 4. 1. 1 工作前先计划

 4. 1. 2 为这门课程作计划

 4. 2 什么是策略

 4. 3 概念性的设计

 4. 4 风险管理

 4. 5 复用策略

 4. 6 策略草案

 4. 6. 1 开始条件

 4. 6. 2 确定策略标准

 4. 6. 3 完成概念性的设计

 4. 6. 4 选择开发策略

 4. 6. 5 进行初步规模估计

 4. 6. 6 进行初步时间估计

 4. 6. 7 估计风险

 4. 6. 8 把策略存档

 4. 6. 9 开发策略升级

 4. 6. 10 确定配置管理计划

 4. 6. 11 结束标准

 4. 7 小结

 第五章 开发设计

 5. 1 计划的必要性

 5. 1. 1 为什么要制订计划

 5. 1. 2 平衡的计划

 5. 1. 3 跟踪计划过程

 5. 1. 4 详细计划

 5. 1. 5 完成末计划的任务

 5. 1. 6 估计级别

 5. 1. 7 执行计划

 5. 2 TSPi计划过程

 5. 3 TSPi支持工具

 5. 4 开发计划草案

 5. 4. l 开始条件

 5. 4. 2 工程计划步骤2. 1

 5. 4. 3 工程计划步骤2. 2

 5. 4. 4 工程计划步骤3. 1

 5. 4. 5 工程计划步骤3. 2

 5. 4. 6 工程计划步骤4. 1

 5. 4. 7 工程计划步骤4. 2

 5. 4. 8 工程计划步骤5

 5. 4. 9 工程计划步骤6

 5. 4. 10 工程计划步骤7

 5. 4. 11 最终计划步骤

 5. 4. 12 结束条件

 5. 5 工作跟踪

 5. 5. 1 工程跟踪步骤1

 5. 5. 2 工程跟踪步骤2

 5. 5. 3 工程跟踪步骤3

 5. 5. 4 工程跟踪步骤4

 5. 5. 5 工程跟踪步骤5

 5. 5. 6 工程跟踪步骤6

 5. 5. 7 工程跟踪步骤7

 5. 5. 8 工程跟踪步骤8

 5. 6 质量计划

 5. 6. 1 主要比率

 5. 6. 2 无缺陷比率(PDF)

 5. 6. 3 缺陷数项

 5. 6. 4 缺陷数/KLOC

 5. 6. 5 缺陷比率

 5. 6. 6 开发时间比率

 5. 6. 7 A/FR

 5. 6. 8 复核与检查比率

 5. 6. 9 缺陷引入比率

 5. 6. 10 缺陷除去比率

 5. 6. 11 阶段成品率

 5. 6. 12 过程成品率

 5. 6. 13 处理劣质部分

 5. 6. 14 质量标准

 5. 7 小结

 第六章 定义需求

 6. 1 什么是需求

 6. 2 为什么需要需求

 6. 3 需求的变化

 6. 4 软件需求规格说明书(SRS)

 6. 4. 1 需求的可跟踪性

 6. 4. 2 平衡工作量

 6. 5 TSPi需求草案

 6. 5. 1 需要说明复核

 6. 5. 2 需要说明的澄清

 6. 5. 3 需求任务约分配

 6. 5. 4 需求分析文档

 6. 5. 5 系统测试计划

 6. 5. 6 需求和系统测试计划的检查

 6. 5. 7 需求的更新

 6. 5. 8 用户复查SRS

 6. 5. 9 需求的基准

 6. 5. 10 结束标准

 6. 6 小结

 第七章 小组设计

 7. 1 设计的原则

 7. 2 小组设计

 7. 2. 1 使用整个小组

 7. 2. 2 设计研究

 7. 2. 3 使用整个小组的才智

 7. 3 设计的标准

 7. 3. 1 设计表示的标准

 7. 3. 2 使用情形或PSP操作脚本

 7. 3. 3 状态机分析

 7. 3. 4 生成准确的设计

 7. 4 设计的复用

 7. 4. 1 复用界面标准

 7. 4. 2 复用文档标准

 7. 4. 3 复用部分的质量

 7. 4. 4 应用支持

 7. 5 可用性设计

 7. 6 可测性设计

 7. 7 设计的复核和检查

 7. 8 TSPi设计草案

 7. 8. 1 开始标准

 7. 8. 2 总体设计

 7. 8. 3 设计标准

 7. 8. 4 总体产品结构

 7. 8. 5 设计任务的分配

 7. 8. 6 设计详细说明

 7. 8. 7 集成测试计划

 7. 8. 8 设计的检查

 7. 8. 9 设计的更新

 7. 8. 10 设计基准

 7. 8. 11 结束标准

 7. 9 小结

 第八章产品实现

 8. 1 设计完成标准

 8. 1. 1 设计的层次

 8. 1. 2 并行的实现

 8. 2 实现标准

 8. 2. 1 标准的复核

 8. 2. 2 编码标准

 8. 2. 3 大小标准

 8. 2. 4 度量其他类型产品的大小

 8. 2. 5 缺陷标准

 8. 2. 6 预防缺陷

 8. 3 实现策略

 8. 3. 1 实现策略:复核

 8. 3. 2 实现策略:复用

 8. 3. 3 实现策略:测试

 8. 4 复核和检查

 8. 4. 1 随机缺陷

 8. 4. 2 对测试的影响

 8. 4. 3 详尽测试的困难

 8. 4. 4 对源程序的设计检查

 8. 5 IMP草案

 8. 5. 1 开始条件

 8. 5. 2 实现计划

 8. 5. 3 详细设计和设计复核

 8. 5. 4 测试的开发

 8. 5. 5 详细设计的检查

 8. 5. 6 编码和代码复核

 8. 5. 7 代码检查

 8. 5. 8 单元测试

 8. 5. 9 部件质量复核

 8. 5. 10 部件的放行

 8. 5. 11 结束标准

 8. 6 小结

 第九章 集成和系统测试

 9. 1 测试原则

 9. 2 TSPi测试策略

 9. 3 建立和集成策略

 9. 3. 1 Big—Bang策略

 9. 3. 2 每次一个策略

 9. 3. 3 聚类策略

 9. 3. 4 平面系统策略

 9. 4 系统测试策略

 9. 5 测试计划

 9. 6 跟踪和度量测试

 9. 6. 1 测试日志

 9. 6. 2 有缺陷倾向的模块

 9. 6. 3 模块缺陷数据

 9. 6. 4 追踪缺陷数据

 9. 7 文档

 9. 7. 1 文档的重要性

 9. 7. 2 文档的设计

 9. 7. 3 文档的提纲

 9. 7. 4 书写风格

 9. 7. 5 文档的复核

 9. 8 TSPi测试草案

 9. 8. 1 开始条件

 9. 8. 2 测试的开发

 9. 8. 3 建立

 9. 8. 4 集成

 9. 8. 5 系统测试

 9. 8. 6 回归测试

 9. 8. 7 文档化

 9. 8. 8 结束标准

 9. 9 小结

 第十章 后期维护

 10. 1 为什么我们需要一个后期维护

 10. 2 后期维护能为你做什么

 10. 3 过程改进建议

 10. 4 TSPi后期维护草案

 10. 4. 1 开始条件

 10. 4. 2 复核过程数据

 10. 4. 3 质量复核

 10. 4. 4 角色评价

 10. 4. 5 准备周期报告

 10. 4. 6 周期报告

 10. 4. 7 角色报告

 10. 4. 8 工程师报告

 10. 4. 9 制定报告

 10. 4. 10 角色评价

 10. 4. 11 角色评价意见

 10. 4. 12 结束标准

 10. 5 小结

 第三部分 小组角色

 第十一章 小组领导角色

 11. 1 小组领导的目标

 11. 1. 1 小组成员的共同目标

 11. 1. 2 小组领导目标1

 11. 1. 3 小组领导目标2

 11. 1. 4 小组领导目标3

 11. 1. 5 小组领导目标4

 11. 1. 6 小组领导目标5

 11. 2 对小组领导者有帮助的技能和能力

 11. 2. 1 有拥护者的领导者

 11. 2. 2 领导者需要的特性

 11. 2. 3 领导者克服困难

 11. 2. 4 领导者处理人际关系

 11. 3 小组领导主要活动

 11. 3. 1 小组领导主要活动1

 11. 3. 2 小组领导主要活动2

 11. 3. 3 小组领导主要活动3

 11. 3. 4 小组领导主要活动4

 11. 3. 5 小组领导主要活动5

 11. 3. 6 小组领导主要活动6

 11. 3. 7 小组领导主要活动7

 11. 3. 8 小组领导主要活动8

 11. 4 小组领导的工程活动

 11. 5 小结

 第十二章 开发经理角色

 12. 1 开发经理的目标

 12. 1. 1 小组成员的共同目标

 12. 1. 2 开发经理目标1

 12. 1. 3 开发经理目标2

 12. 2 对开发经理有帮助的技能和才干

 12. 3 开发经理的主要活动

 12. 3. 1 开发经理主要活动1

 12. 3. 2 开发经理主要活动2

 12. 3. 3 开发经理主要活动3

 12. 3. 4 开发经理主要活动4

 12. 3. 5 开发经理主要活动5

 12. 3. 6 开发经理主要活动6

 12. 3. 7 开发经理主要活动7

 12. 3. 8 开发经理主要活动8

 12. 3. 9 开发经理主要活动9

 12. 3. 10 开发经理主要活动10

 12. 3. 11 开发经理主要活动11

 12. 4 开发经理的工程活动

 12. 5 小结

 第十三章 计划经理角色

 13. 1 计划经理的目标

 13. 1. 1 小组成员的共同目标

 13. 1. 2 计划经理目标1

 13. 1. 3 计划经理目标2

 13. 2 对计划经理有帮助的技能和能力

 13. 3 计划经理的主要活动

 13. 3. 1 计划经理主要活动1

 13. 3. 2 计划经理主要活动2

 13. 3. 3 计划经理主要活动3

 13. 3. 4 计划经理主要活动4

 13. 3. 5 计划经理主要活动5

 13. 3. 6 计划经理主要活动6

 13. 4 计划经理的工程活动

 13. 5 小结

 第十四章 质量/生产经理角色

 14. 1 质量/生产经理的目标

 14. 1. 1 小组成员的共同目标

 14. 1. 2 质量/生产经理的目标1

 14. 1. 3 质量/生产经理的目标2

 14. 1. 4 质量/生产经理的目标3

 14. 1. 5 质量/生产经理的目标4

 14. 2 质量/生产经理应具备的技能与能力

 14. 3 质量/生产经理的主要活动

 14. 3. 1 质量/生产经理职能1

 14. 3. 2 质量/生产经理职能2

 14. 3. 3 质量/生产经理职能3

 14. 3. 4 质量/生产经理职能4

 14. 3. 5 质量/生产经理职能5

 14. 3. 6 质量/生产经理职能6

 14. 3. 7 质量/生产经理职能7

 14. 3. 8 质量/生产经理职能8

 14. 3. 9 质量/生产经理职能9

 14. 4 质量/生产经理的工程活动

 14. 5 小结

 第十五章 技术支持经理角色

 15. 1 技术支持经理的目标

 15. 1. 1 小组成员的共同目标

 15. 1. 2 技术支持经理目标1

 15. 1. 3 技术支持经理目标2

 15. 1. 4 技术支持经理目标3

 15. 1. 5 技术支持经理目标4

 15. 2 对技术支持经理有帮助的技能和能力

 15. 3 技术支持经理的主要活动

 15. 3. 1 技术支持经理主要活动1

 15. 3. 2 技术支持经理主要活动2

 15. 3. 3 技术支持经理主要活动3

 15. 3. 4 技术支持经理主要活动4

 15. 3. 5 技术支持经理主要活动5

 15. 3. 6 技术支持经理主要活动6

 15. 3. 7 技术支持经理主要活动7

 15. 3. 8 技术支持经理主要活动8

 15. 4 技术支持经理的工程活动

 15. 5 小结

 第四部分 使用TSPi

 第十六章 管理自我

 16. 1 对工作负责

 16. 1. 1 一个失败的工程

 16. 1. 2 履行责任

 16. 1. 3 决不放弃

 16. 1. 4 面对事实

 16. 1. 5 负责任所带来的风险

 16. 1. 6 陈述事实

 16. 1. 7 事实是在于辩论

 16. 2 努力为工作目标奋斗

 16. 2. 1 严格按时间表工作

 16. 2. 2 明确的工作目标带来了明确的工作目的

 16. 2. 3 你想让我做什么

 16. 3 处事的原则

 16. 3. 1 不与小组中其他人合作的后果

 16. 3. 2 如何遵循处事的几个原则

 16. 4 你对自己的看法

 16. 5 你对别人的看法

 16. 6 你努力工作的承诺

 16. 6. 1 优秀的工作是从你开始的

 16. 6. 2 养成遵守纪律的习惯

 16. 6. 3 愿望的产生

 16. 6. 4 提高自我

 16. 7 小结

 第十七章 小组中的互相协作

 17. 1 配合默契的小组

 17. 2 小组工作的责任

 17. 3 小组中成员的相互交流

 17. 3. 1 透明性

 17. 3. 2 玲听

 17. 3. 3 协商

 17. 3. 4 为什么有原则的协商是有效的

 17. 3. 5 花费足够的时间

 17. 4 小组中成员对整个小组的承诺和义务

 17. 4. 1 负责的承诺

 17. 4. 2 做出承诺

 17. 5 参与小组中的活动

 17. 5. 1 勇于发表自己的看法

 17. 5. 2 支持有自己想法的人

 17. 5. 3 唤起别人的注意

 17. 5. 4 对他人的意见要给予关注

 17. 6 小组建设的责任

 17. 7 接受并扮演小组所分配的角色

 17. 8 参与小组工作计划的制定并努力按照工十

 17. 9 小组的建设与维护

 17. 9. 1 难以相处的小组成员

 17. 9. 2 学术小组的问题

 17. 9. 3 寻求帮助

 17. 9. 4 支持

 17. 10 小结

 第十八章 小组工作

 附录A TSPi示例练习的需求说明

 A. 1 目 的

 A. 2 “变化计数器”功能需求说明

 A. 3 “程序分析器”功能需求说明

 A. 4 参考文献

 附录B 软件配置管理

 B. 1 软件配置管理问题

 B. 2 软件配置管理概要

 B. 3 SCM计划

 B. 3. 1 配置标识计划

 B. 3. 2 配置控制规程

 B. 3. 3 配置控制部

 B. 3. 4 变化申请表

 B. 4 系统基准

 B. 4. 1 基准化提交

 B. 4. 2 备份规程

 B. 4. 3 配置状态报告

 B. 5 SCM过程自动化

 B. 6 软件配置管理过程

 B. 6. 1 第一步:制定SCM计划

 B. 6. 2 第二步:管理系统基准

 B. 6. 3 第三步:管理修改

 B. 6. 4 第四步:报告SCM状态

 附录C 软件检查

 C. 1 什么是检查

 C. 1. 1 检查是如何进行的

 C. 1. 2 复核的时机

 C. 1. 3 使用规定的检查程序

 C. 2 什么使检查有效

 C. 2. 1 检查整个程序

 C. 2. 2 集思广益

 C. 2. 3 采取不同的角度

 C. 2. 4 提供发现错误的机会

 C. 2. 5 详细测试的重要性

 C. 2. 6 只检查复核过的产品

 C. 3 检查方法

 C. 3. 1 检查表

 C. 3. 2 角度

 C. 3. 3 产品侧重点

 C. 3. 4 检查习惯

 C. 4 检查数据

 C. 4. 1 检查速度

 C. 4. 2 开发系数

 C. 4. 3 检查效果

 C. 5 检查报告:研S表

 C. 6 估计遗留的缺陷数

 C. 6. 1 估计总数

 C. 6. 2 估计程序中的缺陷数

 C. 6. 3 软件检查中的捕获—再捕获方法

 C. 6. 4 2个工程师的估计范例

 C. 6. 5 3个工程师的估计范例

 C. 6. 6 注 意

 C. 6. 7 一些改进

 C. 7 个人高效果的重要性

 C. 8 安排检查时间

 C. 9 TSPi检查草案

 C. 9. 1 开始条件

 C. 9. 2 计划检查工作

 C. 9. 3 主持部署检查工作

 C. 9. 4 复核产品

 C. 9. 5 召开检查会议

 C. 9. 6 遍历产品

 C. 9. 7 估计遗留缺陷量

 C. 9. 8 总结检查会议

 C. 9. 9 修改产品, 解决缺陷

 C. 9. 10 结束条件

 C. 10 参考文献

 附录D TSPi草案

 附录E 角色表

 附录F TSPi表格和使用说明

 附录G TSPi标准和规范