软件工程:实践者的研究方法(原书第6版·本科教学版) |
|
|
|
|
|
|
|
|
|
|
软件工程:实践者的研究方法(原书第6版·本科教学版) 内容提要 |
|
|
Roger Pressman编写的这部翔实而全面的软件工程指南,广泛适合软件工程专业的学生及投身软件工程实践或需要参与这种实践的软件开发人员和管理人员。 ——《IEEE Software》 这是一本经典的现代教材,叙述清晰而又有权威性。《软件工程:实践者的研究方法(原书第6版·本科教学版)》包含大量插图、例子、习题和参考资料……如果读者心存疑问:“软件工程是什么?它现在在哪里?”那么最好阅读这《软件工程:实践者的研究方法(原书第6版·本科教学版)》。 ——《ACM Computing Reviews》 作为一名软件工程实践者,我发现《软件工程:实践者的研究方法(原书第6版·本科教学版)》是无价的。对于我做过的所有项目,《软件工程:实践者的研究方法(原书第6版·本科教学版)》都有重大的参考价值。 ——摘自Amazon.com的评论 20多年以来,《软件工程:实践者的研究方法》一书是最受学生和行业专业人员欢迎的软件工程指南。它在全面而系统、概括而清晰地介绍软件工程的有关概念、原则、方法和工具方面获得了广大读者的好评,在国际软件工程界享有无可质疑的权威地位。 《软件工程:实践者的研究方法(原书第6版·本科教学版)》基于《软件工程:实践者的研究方法(原书第6版·本科教学版)》第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生的软件工程课程教材。
|
|
|
|
软件工程:实践者的研究方法(原书第6版·本科教学版) 目录 |
|
出版者的话 改编者序 译者序 译者简介 原著前言 本书使用说明 第1章 软件工程介绍 1 1.1 软件角色的演化 2 1.2 软件 4 1.3 软件特性的变化 6 1.4 遗留软件 7 1.4.1 遗留软件的质量 8 1.4.2 软件演化 8 1.5 软件神话 9 1.6 小结 11 参考文献 11 习题与思考题 12 推荐读物与阅读信息 12 第一部分 软 件 过 程 第2章 过程综述 16 2.1 软件工程:一种层次化技术 17 2.2 过程框架 18 2.3 能力成熟度模型集成 22 2.4 过程模式 25 2.5 过程技术 27 2.6 产品与过程 28 2.7 小结 29 参考文献 29 习题与思考题 30 推荐读物与阅读信息 30 第3章 过程模型 32 3.1 惯例过程模型 33 3.2 瀑布模型 33 3.3 增量过程模型 34 3.3.1 增量模型 34 3.3.2 RAD模型 35 3.4 演化过程模型 36 3.4.1 原型开发 37 3.4.2 螺旋模型 39 3.4.3 协同开发模型 40 3.4.4 演化过程模型的最终评述 41 3.5 专用过程模型 42 3.5.1 基于构件的开发 42 3.5.2 形式化方法模型 43 3.5.3 面向方面的软件开发 43 3.6 统一过程 45 3.6.1 简史 45 3.6.2 统一过程的阶段 46 3.6.3 统一过程工作产品 47 3.7 小结 48 参考文献 49 习题与思考题 50 推荐读物与阅读信息 50 第4章 敏捷视角下的过程 52 4.1 敏捷是什么 53 4.2 敏捷过程是什么 54 4.2.1 敏捷开发的立场 55 4.2.2 人的因素 55 4.3 敏捷过程模型 56 4.3.1 极限编程 57 4.3.2 自适应软件开发 60 4.3.3 动态系统开发方法 62 4.3.4 Scrum 62 4.3.5 Crystal 64 4.3.6 特征驱动开发 64 4.3.7 敏捷建模 65 4.4 小结 67 参考文献 67 习题与思考题 68 推荐读物与阅读信息 69 第二部分 软件工程实践 第5章 系统工程 72 5.1 基于计算机的系统 73 5.2 系统工程层次结构 74 5.2.1 系统建模 75 5.2.2 系统仿真 76 5.3 业务过程工程概述 77 5.4 产品工程概述 78 5.5 系统建模 80 5.5.1 Hatley-Pirbhai建模 80 5.5.2 UML系统建模 82 5.6 小结 84 参考文献 85 习题与思考题 85 推荐读物与阅读信息 86 第6章 需求工程 87 6.1 连接设计和构造的桥梁 88 6.2 需求工程任务 88 6.2.1 起始 89 6.2.2 导出 89 6.2.3 精化 90 6.2.4 协商 90 6.2.5 规格说明 90 6.2.6 确认 91 6.2.7 需求管理 91 6.3 启动需求工程过程 93 6.3.1 确认共利益者 93 6.3.2 识别多种观点 93 6.3.3 协同合作 94 6.3.4 首次提问 94 6.4 导出需求 95 6.4.1 协同需求收集 95 6.4.2 质量功能部署 98 6.4.3 用户场景 99 6.4.4 导出工作产品 100 6.5 开发用例 100 6.6 小结 104 参考文献 104 习题与思考题 105 推荐读物与阅读信息 106 第7章 构建分析模型 107 7.1 需求分析 108 7.1.1 整体目标和原理 108 7.1.2 分析的经验原则 109 7.1.3 域分析 109 7.2 分析建模的方法 110 7.3 数据建模概念 111 7.3.1 数据对象 111 7.3.2 数据属性 111 7.3.3 关系 112 7.3.4 基数和形态 113 7.4 面向对象的分析 114 7.5 基于场景建模 115 7.5.1 编写用例 115 7.5.2 开发活动图 120 7.5.3 泳道图 121 7.6 面向流的建模 121 7.6.1 创建数据流模型 122 7.6.2 创建控制流模型 124 7.6.3 控制规格说明 125 7.6.4 处理规格说明 126 7.7 基于类的建模 127 7.7.1 识别分析类 128 7.7.2 描述属性 130 7.7.3 定义操作 130 7.7.4 CRC建模 132 7.7.5 关联和依赖 137 7.7.6 分析包 138 7.8 生成行为模型 139 7.8.1 识别用例事件 139 7.8.2 状态表现 139 7.9 小结 142 参考文献 143 习题与思考题 143 推荐读物与阅读信息 144 第8章 设计工程 146 8.1 软件工程中的设计 147 8.2 设计过程和设计质量 148 8.3 设计概念 151 8.3.1 抽象 151 8.3.2 体系结构 151 8.3.3 模式 152 8.3.4 模块化 152 8.3.5 信息隐蔽 153 8.3.6 功能独立 154 8.3.7 求精 154 8.3.8 重构 155 8.3.9 设计类 156 8.4 设计模型 158 8.4.1 数据设计元素 158 8.4.2 体系结构设计元素 159 8.4.3 接口设计元素 159 8.4.4 构件级设计元素 160 8.4.5 部署级设计元素 161 8.5 基于模式的软件设计 162 8.5.1 描述设计模式 162 8.5.2 在设计中使用模式 163 8.5.3 框架 163 8.6 小结 164 参考文献 164 习题与思考题 165 推荐读物与阅读信息 165 第9章 进行体系结构设计 167 9.1 软件体系结构 168 9.1.1 什么是体系结构 168 9.1.2 为什么体系结构如此重要 169 9.2 数据设计 169 9.2.1 体系结构级的数据设计 169 9.2.2 构件级的数据设计 170 9.3 体系结构风格和模式 171 9.3.1 体系结构风格的简单分类 171 9.3.2 体系结构模式 174 9.3.3 组织和求精 175 9.4 体系结构设计 176 9.4.1 系统的环境表示 176 9.4.2 定义原始模型 177 9.4.3 将体系结构精化为构件 178 9.4.4 描述系统实例 179 9.5 评估可选的体系结构设计 180 9.5.1 体系结构权衡分析方法 180 9.5.2 体系结构复杂性 182 9.5.3 体系结构描述语言 182 9.6 映射数据流到软件体系结构 183 9.6.1 变换流 183 9.6.2 事务流 183 9.6.3 变换映射 183 9.6.4 事务映射 189 9.6.5 精化体系结构设计 192 9.7 小结 192 参考文献 193 习题与思考题 193 推荐读物与阅读信息 194 第10章 构件级设计建模 196 10.1 什么是构件 197 10.1.1 面向对象的观点 197 10.1.2 传统观点 198 10.1.3 过程相关的观点 200 10.2 设计基于类的构件 201 10.2.1 基本设计原则 201 10.2.2 构件级设计指导方针 204 10.2.3 内聚性 204 10.2.4 耦合性 206 10.3 实施构件级设计 208 10.4 对象约束语言 212 10.5 设计传统构件 214 10.5.1 图形化设计表示 214 10.5.2 表格式设计表示 215 10.5.3 程序设计语言 216 10.5.4 设计表示方法的比较 217 10.6 小结 218 参考文献 218 习题与思考题 219 推荐读物与阅读信息 219 第11章 完成用户界面设计 221 11.1 黄金规则 222 11.1.1 置用户于控制之下 222 11.1.2 减轻用户的记忆负担 223 11.1.3 保持界面一致 224 11.2 用户界面的分析与设计 225 11.2.1 用户界面分析和设计模型 225 11.2.2 用户界面分析和设计过程 226 11.3 界面分析 228 11.3.1 用户分析 228 11.3.2 任务分析和建模 229 11.3.3 显示内容分析 233 11.3.4 工作环境分析 233 11.4 界面设计步骤 234 11.4.1 应用界面设计步骤 234 11.4.2 用户界面设计模式 236 11.4.3 设计问题 237 11.5 设计评估 240 11.6 小结 241 参考文献 242 习题与思考题 242 推荐读物与阅读信息 243 第12章 软件测试策略 244 12.1 软件测试的策略性方法 245 12.1.1 验证与确认 245 12.1.2 软件测试的组织 246 12.1.3 传统软件体系结构的测试策略 247 12.1.4 面向对象软件体系结构的测试 策略 248 12.1.5 测试完成的标准 249 12.2 策略问题 249 12.3 传统软件的测试策略 250 12.3.1 单元测试 250 12.3.2 集成测试 252 12.4 面向对象软件的测试策略 257 12.4.1 面向对象环境中的单元测试 257 12.4.2 面向对象环境中的集成测试 257 12.5 确认测试 258 12.5.1 确认测试准则 258 12.5.2 配置评审 258 12.5.3 a测试与b测试 258 12.6 系统测试 260 12.6.1 恢复测试 260 12.6.2 安全测试 260 12.6.3 压力测试 261 12.6.4 性能测试 261 12.7 调试技巧 262 12.7.1 调试过程 262 12.7.2 心理因素 263 12.7.3 调试策略 264 12.7.4 错误改正 266 12.8 小结 266 参考文献 266 习题与思考题 267 推荐读物与阅读信息 268 第13章 测试战术 269 13.1 软件测试基础 270 13.2 黑盒测试与白盒测试 271 13.3 白盒测试 272 13.4 基本路径测试 272 13.4.1 流图表示 272 13.4.2 独立程序路径 274 13.4.3 导出测试用例 275 13.5 控制结构测试 277 13.5.1 条件测试 277 13.5.2 数据流测试 277 13.5.3 循环测试 278 13.6 黑盒测试 279 13.6.1 等价划分 279 13.6.2 边界值分析 280 13.7 面向对象测试方法 281 13.7.1 面向对象概念的测试用例设计 的含义 281 13.7.2 传统测试用例设计方法的可 应用性 282 13.7.3 基于故障的测试 282 13.7.4 测试用例与类层次 282 13.7.5 基于场景的测试 283 13.8 类级可应用的测试方法 284 13.8.1 面向对象的随机测试 284 13.8.2 类级的划分测试 285 13.9 类间测试用例设计 286 13.9.1 多类测试 286 13.9.2 从行为模型中导出的测试 287 13.10 小结 288 参考文献 289 习题与思考题 289 推荐读物与阅读信息 290 第14章 产品度量 292 14.1 软件质量 293 14.1.1 McCall的质量因素 293 14.1.2 ISO 9126质量因素 294 14.1.3 向量化视图变迁 295 14.2 产品度量框架 295 14.2.1 测度、度量和指标 295 14.2.2 产品度量的挑战 296 14.2.3 测量原则 296 14.2.4 面向目标的软件测量 297 14.2.5 有效软件度量的属性 298 14.2.6 产品度量全景 298 14.3 小结 300 参考文献 300 习题与思考题 300 推荐读物与阅读信息 300 第三部分 管理软件项目 第15章 项目管理 304 15.1 管理涉及的范围 305 15.1.1 人员 305 15.1.2 产品 305 15.1.3 过程 306 15.1.4 项目 306 15.2 人员 306 15.2.1 共利益者 307 15.2.2 团队负责人 307 15.2.3 软件团队 308 15.2.4 敏捷团队 310 15.2.5 协调和通信问题 311 15.3 产品 312 15.3.1 软件范围 312 15.3.2 问题分解 312 15.4 过程 313 15.4.1 合并产品和过程 313 15.4.2 过程分解 314 15.5 项目 315 15.6 W5HH原则 316 15.7 关键实践 317 15.8 小结 317 参考文献 318 习题与思考题 318 推荐读物与阅读信息 319 第16章 过程和项目度量 321 16.1 过程领域和项目领域中的度量 322 16.1.1 过程度量和软件过程改进 322 16.1.2 项目度量 323 16.2 软件测量 325 16.2.1 面向规模的度量 325 16.2.2 面向功能的度量 326 16.2.3 调和代码行和功能点的度量 方法 327 16.2.4 面向对象的度量 328 16.2.5 面向用例的度量 329 16.3 软件质量度量 330 16.3.1 测量质量 330 16.3.2 缺陷排除效率 331 16.4 小结 332 参考文献 333 习题与思考题 333 推荐读物与阅读信息 334 第17章 估算 335 17.1 对估算的观察 336 17.2 项目策划过程 336 17.3 软件范围和可行性 337 17.4 资源 338 17.4.1 人力资源 338 17.4.2 可复用软件资源 339 17.4.3 环境资源 339 17.5 软件项目估算 340 17.6 分解技术 340 17.6.1 软件规模估算 341 17.6.2 基于问题的估算 341 17.6.3 基于LOC估算的实例 342 17.6.4 基于FP估算的实例 344 17.6.5 基于过程的估算 345 17.6.6 基于过程估算的实例 346 17.6.7 基于用例的估算 346 17.6.8 基于用例的估算实例 347 17.6.9 调和不同的估算方法 348 17.7 经验估算模型 349 17.7.1 估算模型的结构 349 17.7.2 COCOMO II模型 350 17.7.3 软件方程式 351 17.8 面向对象项目的估算 352 17.9 小结 352 参考文献 353 习题与思考题 353 推荐读物与阅读信息 354 第18章 项目进度安排 355 18.1 基本概念 356 18.2 项目进度安排 357 18.2.1 基本原则 358 18.2.2 人员与工作量之间的关系 359 18.2.3 工作量分配 360 18.3 为软件项目定义任务集 361 18.3.1 任务集举例 361 18.3.2 主要任务的求精 362 18.4 定义任务网络 363 18.5 进度安排 363 18.5.1 时序图 365 18.5.2 跟踪进度 366 18.5.3 跟踪OO项目的进展 367 18.6 获得值分析 368 18.7 小结 369 参考文献 370 习题与思考题 370 推荐读物与阅读信息 371 第19章 风险管理 372 19.1 被动风险策略和主动风险策略 373 19.2 软件风险 373 19.3 风险识别 374 19.3.1 评估整体项目风险 375 19.3.2 风险因素和驱动因子 376 19.4 风险预测 377 19.4.1 建立风险表 377 19.4.2 评估风险影响 378 19.5 风险求精 380 19.6 风险缓解、监测和管理 381 19.7 RMMM计划 382 19.8 小结 384 参考文献 384 习题与思考题 384 推荐读物与阅读信息 385 第20章 质量管理 387 20.1 质量概念 388 20.1.1 质量 388 20.1.2 质量控制 389 20.1.3 质量保证 389 20.1.4 质量成本 389 20.2 软件质量保证 390 20.2.1 背景 391 20.2.2 SQA活动 391 20.3 软件评审 392 20.3.1 软件缺陷对成本的影响 393 20.3.2 缺陷放大和消除 393 20.4 正式技术评审 395 20.4.1 评审会议 395 20.4.2 评审报告和记录保存 396 20.4.3 评审指导原则 396 20.4.4 样本驱动评审 397 20.5 SQA的形式化方法 399 20.6 基于统计的软件质量保证 399 20.6.1 一个普通的例子 399 20.6.2 软件工程中的六西格玛 400 20.7 软件可靠性 401 20.7.1 可靠性和可用性的测量 401 20.7.2 软件安全 402 20.8 ISO 9000质量标准 403 20.9 SQA计划 404 20.10 小结 405 参考文献 406 习题与思考题 407 推荐读物与阅读信息 407 第21章 变更管理 409 21.1 软件配置管理 410 21.1.1 SCM场景 410 21.1.2 配置管理系统元素 411 21.1.3 基线 411 21.1.4 软件配置项 412 21.2 SCM中心存储库 413 21.2.1 中心存储库的作用 414 21.2.2 一般特征和内容 414 21.2.3 SCM特征 414 21.3 SCM过程 416 21.3.1 软件配置中对象的标识 416 21.3.2 版本控制 417 21.3.3 变更控制 418 21.3.4 配置审核 421 21.3.5 状态报告 422 21.4 小结 422 参考文献 423 习题与思考题 424 推荐读物与阅读信息 424
|
|
|
|
|
|
软件工程:实践者的研究方法(原书第6版·本科教学版) 调换货原则 |
|
|
|
|
查看评论 |
|
|
|
发布评论 |
|
|
|
|
| |
|
|
|
|