logo
分类于: 计算机基础 设计

简介

软件工程最佳实践

软件工程最佳实践 0.0分

资源最后更新于 2020-03-29 01:56:49

作者:〔(美)〕琼斯

译者:吴舜贤杨传辉韩生亮

出版社:出版社机械工业出版社

出版日期:2014-01

ISBN:9787111445401

文件格式: pdf

标签: 计算机 软件 限时特价 工程

简介· · · · · ·

本书的最佳实践来自作者所研究的超过600家全球知名软件公司和30余个美国大型政府组织,是软件行业半个世纪以来全球范围内软件工程实践的精华。本书从软件工程的宏观层面,对比各种软件工程实践,剖析优劣,洞悉软件工程的是非与成败,揭露各种软件工程实践的伪真理,深刻指出软件项目中存在的各种问题的实质,为并给出中肯的改进建议和解决方案。本书深入地探讨了其他软件文献中很少涵盖的如下软件工程主题:为什么软件行业开发出了超过2500种之多的编程语言;软件质量传统定义的诸多问题;“代码行数”和“平均缺陷成本”等违反标准经济学假设的通用度量指标的种种缺陷。本书指出,数量巨大的“新”项目实际上只不过是遗留应用的替代品,这说明为寻找那些已遗失的初始需求而进行的数据挖掘应该成为软件项目的标准实践。本书还讨论了诸如如何将裁员和紧缩的危害降至最小等困难的社会工程问题。本书说明了如何有效地使用成熟、可靠的工程过程来规划、估算、安排进度和管理各种类型的软件项目。它详细地阐述了从软件初始需求到20年的软件维护之后各种方法,这些方法贯穿软件整个生命周期的各阶段,已被实践证明是行之有效的。本书各部分受到来自包括IBM、微软、Unisys和索尼等顶级软件公司的资深工程师们广泛、深入地审核和评论。• 管理敏捷、层级式、矩阵式和虚拟软件开发团队• 使用JAD、QFD、TSP、静态分析、审查和其他具有出色成功案例记录的方法优化软件质量• 使用高速功能性度量指标评估软件项目的生产力和软件质量水平• 规划最佳软件组织,从小型团队到1000人以上的大型组织Capers Jones,目前是Namcook Analytics公司的合伙创始人、副总裁兼首席技术官。他还是软件生产力研究所(SPR)的创始人和前总裁。Capers获得了SPR首席科学家的荣誉称号。他还是软件质量世界大会的主题演讲人,是国际功能点用户组(IFPUG)的终身会员。他获得了IFPUG终身会员的荣誉。Capers还曾被信息技术软件质量联盟(CISQ)评为“杰出顾问”(Distinguished Advisor)。Capers的研究囊括了软件质量评估、质量度量、软件成本与进度估算以及软件度量指标。Capers的著作包括如下:《Patterns of Software Systems Failure and Success》、《Applied Software Measurement,Third Edition》、《Software Quality: Analysis and Guidelines for Success》、《Estimating Software Costs,Second Edition》以及《Software Assessments, Benchmarks and Best Practices》。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 软件工程最佳实践
  2. 译者序
  3. 前言
  4. 第1章 软件最佳实践的介绍和定义
  5. 1.1 什么是“最佳实践”?如何进行评估
  6. 1.2 软件开发、部署以及维护的多种路径
  7. 1.3 软件部署的路径
  8. 1.4 维护和部署的路径
  9. 1.5 软件开发、部署以及维护的量化
  10. 1.6 软件工程中的关键主题
  11. 1.7 方法、实践以及社会学因素的总排名
  12. 1.8 总结
  13. 参考文献
  14. 第2章 50个软件最佳实践概述
  15. 2.1 最大限度地减少裁员所带来的危害
  16. 2.2 技术人员的积极性和动力
  17. 2.3 经理和高管的积极性与动力
  18. 2.4 软件人才的选拔和招聘
  19. 2.5 软件人员的考核以及职业生涯规划
  20. 2.6 软件应用早期的范围控制
  21. 2.7 软件应用的外包
  22. 2.8 使用承包商和管理顾问
  23. 2.9 选择软件方法、工具以及做法的最佳实践
  24. 2.10 认证方法、工具以及实践
  25. 2.11 软件应用的需求
  26. 2.12 用户参与软件项目
  27. 2.13 软件应用中的行政管理支持
  28. 2.14 软件架构和设计
  29. 2.15 软件项目规划
  30. 2.16 软件项目的成本估算
  31. 2.17 软件项目的风险分析
  32. 2.18 软件项目的价值分析
  33. 2.19 取消或拯救陷入困境的项目
  34. 2.20 软件项目的组织结构
  35. 2.21 培训软件项目经理
  36. 2.22 培训软件技术人员
  37. 2.23 使用软件专家
  38. 2.24 软件工程师、专家以及管理人员的认证
  39. 2.25 软件项目中的沟通
  40. 2.26 软件的可重用性
  41. 2.27 可重用材料的认证
  42. 2.28 编程
  43. 2.29 软件项目管理
  44. 2.30 软件项目的度量和指标
  45. 2.31 软件的基准和基线
  46. 2.32 软件项目的里程碑和成本跟踪
  47. 2.33 软件发布前的变更控制
  48. 2.34 配置控制
  49. 2.35 软件质量保证
  50. 2.36 审查以及静态分析
  51. 2.37 测试和测试库的控制
  52. 2.38 软件的安全性分析与控制
  53. 2.39 软件的性能分析
  54. 2.40 软件的国际标准
  55. 2.41 软件中的知识产权保护
  56. 2.42 防止病毒、间谍软件以及黑客
  57. 2.43 软件的部署和定制
  58. 2.44 培训软件应用的客户或用户
  59. 2.45 软件应用部署后的客户支持
  60. 2.46 软件担保和召回
  61. 2.47 软件发布后的变更管理
  62. 2.48 软件的维护和功能增强
  63. 2.49 软件应用的更新和发布
  64. 2.50 遗留应用的终止或撤销
  65. 2.51 总结
  66. 参考文献
  67. 第3章 2049年的软件开发和维护预览
  68. 3.1 引言
  69. 3.2 需求分析
  70. 3.3 设计
  71. 3.4 软件开发
  72. 3.5 用户文档
  73. 3.6 客户支持
  74. 3.7 部署和客户培训
  75. 3.8 软件维护和功能增强
  76. 3.9 软件外包
  77. 3.10 软件包评估和收购
  78. 3.11 技术选择和技术转型
  79. 3.12 企业架构和项目组合分析
  80. 3.13 软件学习预览
  81. 3.14 尽职调查
  82. 3.15 认证和授权
  83. 3.16 软件诉讼
  84. 3.17 总结
  85. 参考文献
  86. 第4章 软件人员如何学习新技能
  87. 4.1 引言
  88. 4.2 软件学习渠道的演变
  89. 4.3 软件工程师当前需要学习哪些技术主题
  90. 4.4 软件工程专家
  91. 4.5 软件专业的种类
  92. 4.6 专家与普通软件人员的大概比率
  93. 4.7 评估软件工程师所使用的学习渠道
  94. 4.8 需要额外教育的软件领域
  95. 4.9 软件学习的新动向
  96. 4.10 总结
  97. 4.11 软件管理和技术类主题课程
  98. 参考文献
  99. 第5章 软件团队的组织和专业化
  100. 5.1 引言
  101. 5.2 量化组织结果
  102. 5.3 割裂的信息技术和系统软件世界
  103. 5.4 集中办公与分布式开发
  104. 5.5 软件专家组织面临的挑战
  105. 5.6 由小到大的软件组织结构
  106. 5.6.1 单人软件项目
  107. 5.6.2 软件开发与维护的结对编程
  108. 5.6.3 自组织敏捷团队
  109. 5.6.4 团队软件过程(TSP)团队
  110. 5.6.5 层级式组织结构的传统部门
  111. 5.6.6 矩阵式组织结构的传统部门
  112. 5.7 大型公司的专家组织
  113. 5.7.1 软件维护组织
  114. 5.7.2 客户支持组织
  115. 5.7.3 软件测试组织
  116. 5.7.4 软件质量保证(SQA)组织
  117. 5.8 总结
  118. 参考文献
  119. 第6章 项目管理和软件工程
  120. 6.1 引言
  121. 6.2 软件规模估算
  122. 6.2.1 传统的类比规模估算法
  123. 6.2.2 基于代码行指标的传统规模估算法
  124. 6.2.3 基于故事点数指标的规模估算法
  125. 6.2.4 基于用例指标的规模估算法
  126. 6.2.5 基于IFPUG功能点分析的规模估算法
  127. 6.2.6 使用功能点变体的规模估算法
  128. 6.2.7 使用功能点粗略估计的高速规模估算方法
  129. 6.2.8 基于逆火分析或LOC到功能点转换的规模估算方法
  130. 6.2.9 基于模式匹配的规模估算方法
  131. 6.2.10 估算软件需求变更的规模
  132. 6.3 软件进度与问题跟踪
  133. 6.4 软件基准
  134. 6.4.1 软件基准的类别
  135. 6.4.2 软件基准研究的类型
  136. 6.4.3 当前的基准研究组织
  137. 6.4.4 软件基准与评估数据的报告方法
  138. 6.5 总结
  139. 参考文献
  140. 第7章 需求、业务分析、架构及设计
  141. 7.1 引言
  142. 7.2 软件需求
  143. 7.2.1 软件需求的结构和内容
  144. 7.2.2 软件需求的统计学分析
  145. 7.2.3 建立可复用软件需求的分类系统
  146. 7.3 软件需求方法论及实践
  147. 7.4 业务分析
  148. 7.5 软件架构
  149. 7.6 企业架构师
  150. 7.7 软件设计
  151. 7.8 总结
  152. 参考文献
  153. 第8章 编程和代码开发
  154. 8.1 引言
  155. 8.2 编程语言开发简史
  156. 8.3 我们为什么会有超过2500种编程语言
  157. 8.4 编程语言普及性的探索
  158. 8.5 我们到底需要多少种编程语言
  159. 8.6 建立一个国家级的编程语言翻译中心
  160. 8.7 为什么大多数软件都使用2~15种编程语言
  161. 8.8 有多少程序员使用多种编程语言
  162. 8.9 源代码中通常会出现何种类型的缺陷
  163. 8.10 软件缺陷的逻辑和属性
  164. 8.11 软件源代码缺陷的预防和去除
  165. 8.12 编程缺陷预防方法
  166. 8.13 缺陷去除方法
  167. 8.14 “代码行”度量方法的经济学问题
  168. 8.15 总结
  169. 参考文献
  170. 第9章 软件质量:软件工程成功的关键
  171. 9.1 引言
  172. 9.2 软件质量定义
  173. 9.2.1 质量定义1:软件质量意味着最终软件产品符合软件需求
  174. 9.2.2 质量定义2:“软件质量意味着软件产品具有很好的可靠性、可移植性及诸多其他特性”
  175. 9.2.3 质量定义3:质量就是软件产品中不存在会导致软件停止工作或行为不正确的缺陷
  176. 9.2.4 将定义1应用到Vista:质量意味着软件产品符合用户需求
  177. 9.2.5 将定义2应用到Vista:质量意味着软件产品满足各种“特性”要求
  178. 9.2.6 将定义3应用到Vista:质量意味着软件没有缺陷,再加上各种配套因素
  179. 9.2.7 定义和预测软件缺陷
  180. 9.2.8 预测软件潜在缺陷
  181. 9.2.9 代码缺陷预测
  182. 9.2.10 需求蔓延对软件质量的影响
  183. 9.3 软件质量度量
  184. 9.4 软件缺陷预防
  185. 9.4.1 非营利性国际软件质量基金会(ISQF)的提议
  186. 9.5 软件缺陷去除
  187. 9.6 软件质量专家
  188. 9.6.1 风险分析专家
  189. 9.6.2 企业架构师
  190. 9.6.3 六西格玛专家
  191. 9.6.4 数据库分析师
  192. 9.6.5 软件架构师
  193. 9.6.6 可用性专家
  194. 9.6.7 软件安全专家
  195. 9.6.8 数据质量分析师
  196. 9.6.9 业务分析师
  197. 9.6.10 软件估算专家
  198. 9.6.11 系统分析师
  199. 9.6.12 软件性能专家
  200. 9.6.13 软件质量保证
  201. 9.6.14 Web设计师
  202. 9.6.15 软件需求分析师
  203. 9.6.16 软件测试员
  204. 9.6.17 功能点专家
  205. 9.6.18 技术文档作家
  206. 9.6.19 软件维护专家
  207. 9.6.20 审查会议主持人
  208. 9.6.21 软件专家总结
  209. 9.7 软件质量的经济价值
  210. 9.7.1 微型应用软件(100个功能点)的质量价值
  211. 9.7.2 中小型应用软件(1000个功能点)的质量价值
  212. 9.7.3 大型应用软件(10000个功能点)的质量价值
  213. 9.7.4 超大型应用软件(100000个功能点)的质量价值
  214. 9.7.5 软件质量的投资回报(ROI)
  215. 9.8 总结
  216. 参考文献