小苏子
小苏子PDF在线图书

软件工程 实践者的研究方法(原书第8版)(本科教学版) 内容简介

软件工程 实践者的研究方法(原书第8版)(本科教学版) 内容简介

软件工程 实践者的研究方法(原书第8版)(本科教学版) 目录

软件工程 实践者的研究方法(原书第8版)(本科教学版) 精彩文摘

《软件工程:实践者的研究方法(原书第8版 本科教学版)》自第1版出版至今,30多年来在软件工程界产生了巨大而深远的影响。第8版继承了之前版本的风格与优势,系统地讲解软件过程、建模、质量管理、项目管理等基础知识,涵盖相关概念、原则、方法和工具,并且提供丰富的辅助阅读资源和网络资源,指导有兴趣的读者进行更深入的学习和研究。本书是面向本科生的版本,保留了完整版中的基础内容,压缩或删除了一些高级内容,更加适合作为高等院校计算机、软件工程及相关专业的软件工程课程教材。第1章 软件的本质1.1 软件的本质1.1.1 定义软件1.1.2 软件应用领域1.1.3 遗留软件1.2 软件的变更本质1.2.1 WebApp1.2.2 移动App1.2.3 云计算1.2.4 产品线软件习题与思考题扩展阅读与信息资源第2章 软件工程2.1 定义软件工程学科2.2 软件过程2.2.1 过程框架2.2.2 普适性活动2.2.3 过程的适应性调整2.3 软件工程实践2.3.1 实践的精髓2.3.2 通用原则2.4 软件开发神话2.5 这一切是如何开始的习题与思考题扩展阅读与信息资源第一部分 软件过程第3章 软件过程结构3.1 通用过程模型3.2 定义框架活动3.3 明确任务集3.4 过程模式习题与思考题扩展阅读与信息资源第4章 过程模型4.1 惯用过程模型4.1.1 瀑布模型4.1.2 增量过程模型4.1.3 演化过程模型4.1.4 并发模型4.1.5 演化过程的最终评述4.2 专用过程模型4.2.1 基于构件的开发4.2.2 形式化方法模型4.2.3 面向方面的软件开发4.3 统一过程4.3.1 统一过程的简史4.3.2 统一过程的阶段4.4 产品和过程习题与思考题扩展阅读与信息资源第5章 敏捷开发5.1 什么是敏捷5.2 敏捷及变更成本5.3 什么是敏捷过程5.3.1 敏捷原则5.3.2 敏捷开发战略5.4 极限编程5.4.1 极限编程过程5.4.2 工业极限编程5.5 其他敏捷过程模型5.5.1 Scrum5.5.2 动态系统开发方法5.5.3 敏捷建模5.5.4 敏捷统一过程5.6 敏捷过程工具集习题与思考题扩展阅读与信息资源第6章 软件工程的人员方面6.1 软件工程师的特质6.2 软件工程心理学6.3 软件团队6.4 团队结构6.5 敏捷团队6.5.1 通用敏捷团队6.5.2 XP团队6.6 社交媒体的影响6.7 软件工程中云的应用6.8 协作工具6.9 全球化团队习题与思考题扩展阅读与信息资源第二部分 建模第7章 理解需求7.1 需求工程7.2 建立根基7.2.1 确认利益相关者7.2.2 识别多重观点7.2.3 协同合作7.2.4 首次提问7.3 获取需求7.3.1 协作收集需求7.3.2 质量功能部署7.3.3 使用场景7.3.4 获取工作产品7.3.5 敏捷需求获取7.3.6 面向服务的方法7.4 开发用例7.5 构建分析模型7.5.1 分析模型的元素7.5.2 分析模式7.5.3 敏捷需求工程7.5.4 自适应系统的需求7.6 避免常见错误习题与思考题扩展阅读与信息资源第8章 需求建模:基于场景的方法8.1 需求分析8.1.1 总体目标和原理8.1.2 分析的经验原则8.1.3 域分析8.1.4 需求建模的方法8.2 基于场景建模8.2.1 创建初始用例8.2.2 细化初始用例8.2.3 编写正式用例8.3 补充用例的UML模型8.3.1 开发活动图8.3.2 泳道图习题与思考题扩展阅读与信息资源第9章 需求建模:基于类的方法9.1 识别分析类9.2 描述属性9.3 定义操作9.4 类-职责-协作者建模9.5 关联和依赖9.6 分析包习题与思考题扩展阅读与信息资源第10章 需求建模:行为和模式10.1 生成行为模型10.2 识别用例事件10.3 状态表达10.4 需求建模的模式10.4.1 发现分析模式10.4.2 需求模式举例:执行器-传感器习题与思考题扩展阅读与信息资源第11章 设计概念11.1 软件工程中的设计11.2 设计过程11.2.1 软件质量指导原则和属性11.2.2 软件设计的演化11.3 设计概念11.3.1 抽象11.3.2 体系结构11.3.3 模式11.3.4 关注点分离11.3.5 模块化11.3.6 信息隐蔽11.3.7 功能独立11.3.8 求精11.3.9 方面11.3.10 重构11.3.11 面向对象的设计概念11.3.12 设计类11.3.13 依赖倒置11.3.14 测试设计11.4 设计模型11.4.1 数据设计元素11.4.2 体系结构设计元素11.4.3 接口设计元素11.4.4 构件级设计元素11.4.5 部署级设计元素习题与思考题扩展阅读与信息资源第12章 体系结构设计12.1 软件体系结构12.1.1 什么是体系结构12.1.2 体系结构为什么重要12.1.3 体系结构描述12.1.4 体系结构决策12.2 体系结构类型12.3 体系结构风格12.3.1 体系结构风格的简单分类12.3.2 体系结构模式12.3.3 组织和求精12.4 体系结构考虑要素12.5 体系结构决策12.6 体系结构设计12.6.1 系统环境的表示12.6.2 定义原型12.6.3 将体系结构细化为构件12.6.4 描述系统实例12.6.5 WebApp的体系结构设计13.6.6 移动App的体系结构设计12.7 评估候选的体系结构设计12.7.1 体系结构描述语言12.7.2 体系结构评审12.8 经验学习12.9 基于模式的体系结构评审12.10 体系结构一致性检查12.11 敏捷性与体系结构习题与思考题扩展阅读与信息资源第13章 构件级设计13.1 什么是构件13.1.1 面向对象的观点13.1.2 传统的观点13.1.3 过程相关的观点13.2 设计基于类的构件13.2.1 基本设计原则13.2.2 构件级设计指导方针13.2.3 内聚性13.2.4 耦合性13.3 实施构件级设计13.4 WebApp的构件级设计13.4.1 构件级内容设计13.4.2 构件级功能设计13.5 设计传统构件13.6 基于构件的开发13.6.1 领域工程13.6.2 构件的合格性检验、适应性修改与组合13.6.3 体系结构不匹配13.6.4 复用的分析与设计13.6.5 构件的分类与检索习题与思考题扩展阅读与信息资源第14章 用户界面设计14.1 黄金规则14.1.1 把控制权交给用户14.1.2 减轻用户的记忆负担14.1.3 保持界面一致14.2 用户界面的分析和设计14.2.1 用户界面分析和设计模型14.2.2 过程14.3 界面分析14.3.1 用户分析14.3.2 任务分析和建模14.3.3 显示内容分析14.3.4 工作环境分析14.4 界面设计步骤14.4.1 应用界面设计步骤14.4.2 用户界面设计模式14.4.3 设计问题14.5 设计评估习题与思考题扩展阅读与信息资源第三部分 质量管理第15章 质量概念15.1 什么是质量15.2 软件质量15.2.1 Garvin的质量维度15.2.2 McCall的质量因素15.2.3 ISO 9126质量因素15.2.4 定向质量因素15.2.5 过渡到量化观点15.3 软件质量困境15.3.1 “足够好”的软件15.3.2 质量的成本15.3.3 风险15.3.4 疏忽和责任15.3.5 质量和安全15.3.6 管理活动的影响15.4 实现软件质量15.4.1 软件工程方法15.4.2 项目管理技术15.4.3 质量控制15.4.4 质量保证习题与思考题扩展阅读与信息资源第16章 软件质量保证16.1 背景问题16.2 软件质量保证的要素16.3 软件质量保证的过程和产品特性16.4 软件质量保证的任务、目标和度量16.4.1 软件质量保证的任务16.4.2 目标、属性和度量16.5 软件质量保证的形式化方法16.6 统计软件质量保证16.6.1 一个普通的例子16.6.2 软件工程中的六西格玛16.7 软件可靠性16.7.1 可靠性和可用性的测量16.7.2 软件安全16.8 ISO 9000质量标准16.9 软件质量保证计划16.10 产品度量框架16.10.1 测度、度量和指标16.10.2 产品度量的挑战16.10.3 测量原则16.10.4 面向目标的软件测量16.10.5 有效软件度量的属性习题与思考题扩展阅读与信息资源第17章 软件测试策略17.1 软件测试的策略性方法17.1.1 验证与确认17.1.2 软件测试组织17.1.3 软件测试策略——宏观17.1.4 测试完成的标准17.2 策略问题17.3 传统软件的测试策略17.3.1 单元测试17.3.2 集成测试17.4 面向对象软件的测试策略17.4.1 面向对象环境中的单元测试17.4.2 面向对象环境中的集成测试17.5 确认测试17.5.1 确认测试准则17.5.2 配置评审17.5.3 α测试和β测试17.6 系统测试17.6.1 恢复测试17.6.2 安全测试17.6.3 压力测试17.6.4 性能测试17.6.5 部署测试17.7 调试技巧17.7.1 调试过程17.7.2 心理因素17.7.3 调试策略17.7.4 纠正错误习题与思考题扩展阅读与信息资源第18章 测试传统的应用软件18.1 软件测试基础18.2 测试的内部视角和外部视角18.3 白盒测试18.4 基本路径测试18.4.1 流图表示18.4.2 独立程序路径18.4.3 生成测试用例18.5 控制结构测试18.6 黑盒测试18.6.1 等价类划分18.6.2 边界值分析18.7 基于模型的测试习题与思考题扩展阅读与信息资源第19章 测试面向对象的应用19.1 扩展测试的视野19.2 测试OOA和OOD模型19.2.1 OOA和OOD模型的正确性19.2.2 面向对象模型的一致性19.3 面向对象测试策略19.3.1 面向对象环境中的单元测试19.3.2 面向对象环境中的集成测试19.3.3 面向对象环境中的确认测试19.4 面向对象测试方法19.4.1 面向对象概念的测试用例设计含义19.4.2 传统测试用例设计方法的可应用性19.4.3 基于故障的测试19.4.4 基于场景的测试设计19.5 类级可应用的测试方法19.5.1 面向对象类的随机测试19.5.2 类级的划分测试19.6 类间测试用例设计19.6.1 多类测试19.6.2 从行为模型导出的测试习题与思考题扩展阅读与信息资源第20章 安全性工程20.1 安全性需求分析20.2 网络世界中的安全性与保密性20.2.1 社交媒体20.2.2 移动App20.2.3 云计算20.2.4 物联网20.3 安全性工程分析20.3.1 安全性需求获取20.3.2 安全性建模20.3.3 测度设计20.3.4 正确性检查20.4 安全性保证20.4.1 安全性保证过程20.4.2 组织和管理20.5 安全性风险分析20.6 传统软件工程活动的作用20.7 可信性系统验证习题与思考题扩展阅读与信息资源第21章 软件配置管理21.1 软件配置管理概述21.1.1 SCM场景21.1.2 配置管理系统的元素21.1.3 基线21.1.4 软件配置项21.1.5 依赖性和变更管理21.2 SCM中心存储库21.2.1 一般特征和内容21.2.2 SCM特征21.3 SCM过程21.3.1 软件配置中的对象标识21.3.2 版本控制21.3.3 变更控制21.3.4 影响管理21.3.5 配置审核21.3.6 状态报告习题与思考题扩展阅读与信息资源第四部分 管理软件项目第22章 项目管理概念22.1 管理涉及的范围22.1.1 人员22.1.2 产品22.1.3 过程22.1.4 项目22.2 人员22.2.1 利益相关者22.2.2 团队负责人22.2.3 软件团队22.2.4 敏捷团队22.2.5 协调和沟通问题22.3 产品22.3.1 软件范围22.3.2 问题分解22.4 过程22.4.1 合并产品和过程22.4.2 过程分解22.5 项目22.6 W5HH原则22.7 关键实践习题与思考题扩展阅读与信息资源第23章 过程度量与项目度量23.1 过程领域和项目领域中的度量23.1.1 过程度量和软件过程改进23.1.2 项目度量23.2 软件测量23.2.1 面向规模的度量23.2.2 面向功能的度量23.2.3 调和代码行度量和功能点度量23.2.4 面向对象的度量23.2.5 面向用例的度量23.3 软件质量的度量23.3.1 测量质量23.3.2 缺陷排除效率习题与思考题扩展阅读与信息资源第24章 软件项目估算24.1 对估算的观察24.2 项目计划过程24.3 软件范围和可行性24.4 资源24.4.1 人力资源24.4.2 可复用软件资源24.4.3 环境资源24.5 软件项目估算24.6 分解技术24.6.1 软件规模估算24.6.2 基于问题的估算24.6.3 基于LOC估算的实例24.6.4 基于FP估算的实例24.6.5 基于过程的估算24.6.6 基于过程估算的实例24.6.7 基于用例的估算24.6.8 基于用例点估算的实例24.6.9 调和不同的估算方法24.7 经验估算模型24.7.1 估算模型的结构24.7.2 COCOMO Ⅱ模型24.7.3 软件方程24.8 面向对象项目的估算习题与思考题扩展阅读与信息资源第25章 项目进度安排25.1 基本概念25.2 项目进度安排概述25.2.1 基本原则25.2.2 人员与工作量之间的关系25.2.3 工作量分配25.3 为软件项目定义任务集25.3.1 任务集举例25.3.2 主要任务的细化25.4 定义任务网络25.5 进度安排25.5.1 时序图25.5.2 跟踪进度25.5.3 跟踪面向对象项目的进展25.6 挣值分析习题与思考题扩展阅读与信息资源第26章 风险管理26.1 被动风险策略和主动风险策略26.2 软件风险26.3 风险识别26.3.1 评估整体项目风险26.3.2 风险因素和驱动因子26.4 风险预测26.4.1 建立风险表26.4.2 评估风险影响26.5 风险细化26.6 风险缓解、监测和管理26.7 RMMM计划习题与思考题扩展阅读与信息资源本书共26章,分为四个部分。这种划分有利于那些无法在一个学期内讲完全书内容的教师灵活安排教学。第一部分“软件过程”给出了有关软件过程的各种不同观点,讨论了所有重要的过程模型,还涉及惯用过程和敏捷过程在指导思想上的分歧。第二部分“建模”给出了分析方法和设计方法,重点讲解面向对象方法和UML建模。第三部分“质量管理”介绍了有关质量管理的概念、规程和方法,使得软件团队能够很好地评估软件质量,实施软件质量保证规程,并正确地运用有效的测试策略和战术。第四部分“管理软件项目”介绍了与计划、管理和控制软件开发项目的人员有关的问题。

赞(0)
未经允许不得转载:小苏子图书 » 软件工程 实践者的研究方法(原书第8版)(本科教学版) 内容简介