顶部
收藏

软件工程——理论与实践


作者:
毛新军 董威
定价:
79.00 元
版面字数:
780.00千字
开本:
16开
装帧形式:
平装
版次:
1
最新版次
印刷时间:
暂无
ISBN:
978-7-04-061010-9
物料号:
61010-00
出版时间:
2024-01-09
读者对象:
高等教育
一级分类:
计算机/教育技术类
二级分类:
计算机类专业核心课程
三级分类:
软件工程

本书是计算机领域本科教育教学改革试点工作(“101计划”)系列教材之一。本书系统介绍软件工程基础理论和技术,包括软件过程、开发方法和支撑工具,涵盖需求、分析、设计、编码、测试、部署、维护、演化和管理等。

全书分为6部分,共16章。第一部分基础篇(第1~3章),介绍软件工程的基本概念和思想、常见的软件过程及主流的软件开发方法。第二部分需求篇(第4~6章),介绍构思、获取、分析、建模和文档化软件需求的过程、策略、方法、语言、工具以及相应的软件制品及其质量保证。第三部分设计篇(第7~10章),介绍软件体系结构设计、用户界面设计和详细设计的过程、策略、方法、语言、工具以及相应的软件制品及其质量保证。第四部分实现篇(第11~13章),介绍程序编码和软件测试的过程、策略、技术、工具以及相应的软件制品及其质量保证。第五部分运维篇(第14~15章),介绍软件部署、运行、维护和演化的策略、方法以及相应的软件制品及其质量保证。第六部分管理篇(第16章),介绍软件项目管理的相关内容。本书引入开源软件实践、群体化开发方法、软件部署和演化等新颖内容,通过丰富和完整的软件开发案例以及强化软件开发综合实践,帮助读者深入理解软件工程基础理论知识,熟练掌握软件开发方法和工具,培养多方面的素质和能力。

本书可作为高校计算机大类专业软件工程课程的教材,也可作为研究生相关课程的教材和软件工程师的参考用书。

  • 目录
    • 前辅文
      • 第1章 从程序到软件
        • 1.1 何为程序
          • 1.2 程序质量
            • 1.3 程序质量保证方法
              • 1.3.1 程序编码风格
                • 1.3.2 程序设计方法
                  • 1.3.3 程序代码重用
                    • 1.3.4 结对编程
                    • 1.4 程序质量分析方法
                      • 1.4.1 人工代码审查
                        • 1.4.2 自动化分析
                          • 1.4.3 测试技术
                          • 1.5 编写程序需解决的问题
                            • 1.6 何为软件
                              • 1.6.1 软件的概念
                                • 1.6.2 软件生存周期
                                  • 1.6.3 软件的特点
                                    • 1.6.4 软件的分类
                                    • 1.7 开源软件
                                      • 1.7.1 何为开源软件
                                        • 1.7.2 开源软件实践
                                          • 1.7.3 开源托管平台和社区
                                            • 1.7.4 开源软件的优势
                                              • 1.7.5 开源许可证
                                                • 1.7.6 开源软件的利用
                                                • 1.8 软件质量
                                                  • 1.9 软件特征的变化
                                                    • 1.9.1 软件的地位和作用
                                                      • 1.9.2 软件的基本形态
                                                        • 1.9.3 软件系统的规模
                                                        • 1.10 软件建设的挑战和使命
                                                          • 1.11 本书软件案例
                                                            • 1.11.1 “小米便签”软件MiNotes
                                                              • 1.11.2 “12306”软件
                                                                • 1.11.3 “空巢老人看护”软件ElderCarer
                                                                • 本章小结
                                                                  • 推荐阅读
                                                                    • 基础习题
                                                                      • 综合实践
                                                                      • 第2章 软件工程概述
                                                                        • 2.1 软件工程的产生背景
                                                                          • 2.1.1 从编写程序到软件开发
                                                                            • 2.1.2 软件危机
                                                                            • 2.2 软件工程的概念和思想
                                                                              • 2.2.1 何为软件工程
                                                                                • 2.2.2 软件工程的三要素
                                                                                  • 2.2.3 软件工程的目标
                                                                                    • 2.2.4 软件工程的原则
                                                                                      • 2.2.5 软件开发范式
                                                                                      • 2.3 计算机辅助软件工程
                                                                                        • 2.3.1 何为计算机辅助软件工程
                                                                                          • 2.3.2 CASE工具和环境
                                                                                          • 2.4 软件工程视角下的软件开发
                                                                                            • 2.4.1 软件创作与软件生产
                                                                                              • 2.4.2 软件创作与软件生产的软件工程方法
                                                                                              • 2.5 软件工程的发展
                                                                                                • 2.5.1 软件工程的发展历程
                                                                                                  • 2.5.2 软件工程发展的特点
                                                                                                    • 2.5.3 我国软件工程的发展
                                                                                                    • 2.6 软件工程教育
                                                                                                      • 2.6.1 软件工程从业人员
                                                                                                        • 2.6.2 软件工程教育发展
                                                                                                          • 2.6.3 软件工程教育国际规范
                                                                                                            • 2.6.4 软件工程教育挑战
                                                                                                              • 2.6.5 “软件工程”课程教学
                                                                                                              • 本章小结
                                                                                                                • 推荐阅读
                                                                                                                  • 基础习题
                                                                                                                    • 综合实践
                                                                                                                    • 第3章 软件过程模型和开发方法
                                                                                                                      • 3.1 软件过程模型
                                                                                                                        • 3.1.1 何为软件过程
                                                                                                                          • 3.1.2 代表性的软件过程模型
                                                                                                                            • 3.1.3 软件过程模型的重型化特点
                                                                                                                              • 3.1.4 软件过程模型的选择
                                                                                                                              • 3.2 敏捷方法
                                                                                                                                • 3.2.1 何为敏捷方法
                                                                                                                                  • 3.2.2 极限编程方法
                                                                                                                                    • 3.2.3 Scrum方法
                                                                                                                                      • 3.2.4 测试驱动的开发方法
                                                                                                                                        • 3.2.5 敏捷方法的特点和应用
                                                                                                                                        • 3.3 群体化开发方法
                                                                                                                                          • 3.3.1 何为群体化开发方法
                                                                                                                                            • 3.3.2 基于群体的软件开发技术
                                                                                                                                              • 3.3.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.2.4 需求工程师
                                                                                                                                                                          • 4.3 结构化需求分析方法学
                                                                                                                                                                            • 4.3.1 基本概念和思想
                                                                                                                                                                              • 4.3.2 数据流图及软件需求模型
                                                                                                                                                                                • 4.3.3 面向数据流的需求分析步骤和策略
                                                                                                                                                                                • 4.4 面向对象的需求分析方法学
                                                                                                                                                                                  • 4.4.1 基本概念和思想
                                                                                                                                                                                    • 4.4.2 面向对象建模语言UML
                                                                                                                                                                                      • 4.4.3 面向对象的需求分析步骤和策略
                                                                                                                                                                                      • 4.5 需求工程的CASE工具
                                                                                                                                                                                        • 4.6 需求工程的输出和评审
                                                                                                                                                                                          • 4.6.1 软件需求制品
                                                                                                                                                                                            • 4.6.2 软件需求缺陷
                                                                                                                                                                                              • 4.6.3 软件需求评审
                                                                                                                                                                                              • 4.7 软件需求变更管理
                                                                                                                                                                                                • 本章小结
                                                                                                                                                                                                  • 推荐阅读
                                                                                                                                                                                                    • 基础习题
                                                                                                                                                                                                      • 综合实践
                                                                                                                                                                                                      • 第5章 获取软件需求
                                                                                                                                                                                                        • 5.1 获取软件需求概述
                                                                                                                                                                                                          • 5.1.1 软件需求从何而来
                                                                                                                                                                                                            • 5.1.2 获取软件需求的方式
                                                                                                                                                                                                              • 5.1.3 获取软件需求的困难
                                                                                                                                                                                                                • 5.1.4 获取软件需求的方法
                                                                                                                                                                                                                • 5.2 获取软件需求的过程
                                                                                                                                                                                                                  • 5.3 明确问题和基于软件的解决方案
                                                                                                                                                                                                                    • 5.3.1 明确软件要解决的问题
                                                                                                                                                                                                                      • 5.3.2 明确基于软件的解决方案
                                                                                                                                                                                                                      • 5.4 导出和构思初步软件需求
                                                                                                                                                                                                                        • 5.4.1 识别软件的利益相关者
                                                                                                                                                                                                                          • 5.4.2 导出和构思软件的功能需求
                                                                                                                                                                                                                            • 5.4.3 导出和构思软件的非功能需求
                                                                                                                                                                                                                              • 5.4.4 持续获取软件需求
                                                                                                                                                                                                                              • 5.5 描述初步软件需求
                                                                                                                                                                                                                                • 5.5.1 自然语言描述
                                                                                                                                                                                                                                  • 5.5.2 软件原型描述
                                                                                                                                                                                                                                    • 5.5.3 UML用例图
                                                                                                                                                                                                                                      • 5.5.4 UML用例图描述
                                                                                                                                                                                                                                        • 5.5.5 撰写软件文档
                                                                                                                                                                                                                                        • 5.6 评审初步软件需求
                                                                                                                                                                                                                                          • 5.6.1 输出的软件制品
                                                                                                                                                                                                                                            • 5.6.2 评审初步软件需求
                                                                                                                                                                                                                                              • 5.6.3 软件需求可行性分析
                                                                                                                                                                                                                                              • 本章小结
                                                                                                                                                                                                                                                • 推荐阅读
                                                                                                                                                                                                                                                  • 基础习题
                                                                                                                                                                                                                                                    • 综合实践
                                                                                                                                                                                                                                                    • 第6章 分析软件需求
                                                                                                                                                                                                                                                      • 6.1 分析软件需求概述
                                                                                                                                                                                                                                                        • 6.1.1 为何要分析软件需求
                                                                                                                                                                                                                                                          • 6.1.2 分析软件需求的任务
                                                                                                                                                                                                                                                          • 6.2 软件需求模型及UML表示方法
                                                                                                                                                                                                                                                            • 6.2.1 软件需求模型
                                                                                                                                                                                                                                                              • 6.2.2 交互图
                                                                                                                                                                                                                                                                • 6.2.3 类图
                                                                                                                                                                                                                                                                  • 6.2.4 状态图
                                                                                                                                                                                                                                                                  • 6.3 分析软件需求的过程
                                                                                                                                                                                                                                                                    • 6.4 分析和确定软件需求优先级
                                                                                                                                                                                                                                                                      • 6.4.1 分析软件需求的重要性
                                                                                                                                                                                                                                                                        • 6.4.2 分析软件需求的优先级
                                                                                                                                                                                                                                                                          • 6.4.3 确定用例分析和实现的次序
                                                                                                                                                                                                                                                                          • 6.5 分析和建立软件需求模型
                                                                                                                                                                                                                                                                            • 6.5.1 分析和建立用例的交互模型
                                                                                                                                                                                                                                                                              • 6.5.2 分析和建立软件需求的分析类模型
                                                                                                                                                                                                                                                                                • 6.5.3 分析和建立对象的状态模型
                                                                                                                                                                                                                                                                                • 6.6 文档化软件需求
                                                                                                                                                                                                                                                                                  • 6.6.1 撰写软件需求规格说明书
                                                                                                                                                                                                                                                                                    • 6.6.2 输出的软件制品
                                                                                                                                                                                                                                                                                    • 6.7 确认和验证软件需求
                                                                                                                                                                                                                                                                                      • 6.7.1 评审软件需求
                                                                                                                                                                                                                                                                                        • 6.7.2 解决软件需求问题
                                                                                                                                                                                                                                                                                        • 本章小结
                                                                                                                                                                                                                                                                                          • 推荐阅读
                                                                                                                                                                                                                                                                                            • 基础习题
                                                                                                                                                                                                                                                                                              • 综合实践
                                                                                                                                                                                                                                                                                              • 第7章 软件设计基础
                                                                                                                                                                                                                                                                                                • 7.1 软件设计
                                                                                                                                                                                                                                                                                                  • 7.1.1 何为软件设计
                                                                                                                                                                                                                                                                                                    • 7.1.2 软件设计模型及设计元素
                                                                                                                                                                                                                                                                                                      • 7.1.3 软件设计的质量要求
                                                                                                                                                                                                                                                                                                      • 7.2 软件设计的过程和原则
                                                                                                                                                                                                                                                                                                        • 7.2.1 软件设计的一般性过程
                                                                                                                                                                                                                                                                                                          • 7.2.2 软件设计的约束和原则
                                                                                                                                                                                                                                                                                                            • 7.2.3 软件设计工程师
                                                                                                                                                                                                                                                                                                            • 7.3 结构化软件设计方法学
                                                                                                                                                                                                                                                                                                              • 7.3.1 基本概念和模型
                                                                                                                                                                                                                                                                                                                • 7.3.2 变换型数据流图的转换方法
                                                                                                                                                                                                                                                                                                                  • 7.3.3 事务型数据流图的转换方法
                                                                                                                                                                                                                                                                                                                  • 7.4 面向对象的软件设计方法学
                                                                                                                                                                                                                                                                                                                    • 7.4.1 基本思想
                                                                                                                                                                                                                                                                                                                      • 7.4.2 面向对象的软件设计原则
                                                                                                                                                                                                                                                                                                                        • 7.4.3 面向对象的软件设计优势
                                                                                                                                                                                                                                                                                                                        • 7.5 软件设计的CASE工具
                                                                                                                                                                                                                                                                                                                          • 7.6 软件设计的输出和评审
                                                                                                                                                                                                                                                                                                                            • 7.6.1 软件设计制品
                                                                                                                                                                                                                                                                                                                              • 7.6.2 软件设计缺陷
                                                                                                                                                                                                                                                                                                                                • 7.6.3 软件设计验证与评审
                                                                                                                                                                                                                                                                                                                                • 7.7 软件设计管理
                                                                                                                                                                                                                                                                                                                                  • 本章小结
                                                                                                                                                                                                                                                                                                                                    • 推荐阅读
                                                                                                                                                                                                                                                                                                                                      • 基础习题
                                                                                                                                                                                                                                                                                                                                        • 综合实践
                                                                                                                                                                                                                                                                                                                                        • 第8章 软件体系结构设计
                                                                                                                                                                                                                                                                                                                                          • 8.1 软件体系结构设计概述
                                                                                                                                                                                                                                                                                                                                            • 8.1.1 何为软件体系结构
                                                                                                                                                                                                                                                                                                                                              • 8.1.2 软件体系结构表示的抽象层次和表示视图
                                                                                                                                                                                                                                                                                                                                                • 8.1.3 软件体系结构设计的任务
                                                                                                                                                                                                                                                                                                                                                  • 8.1.4 软件体系结构风格
                                                                                                                                                                                                                                                                                                                                                    • 8.1.5 软件体系结构设计的重要性
                                                                                                                                                                                                                                                                                                                                                    • 8.2 软件体系结构模型的表示方法
                                                                                                                                                                                                                                                                                                                                                      • 8.2.1 包图
                                                                                                                                                                                                                                                                                                                                                        • 8.2.2 部署图
                                                                                                                                                                                                                                                                                                                                                          • 8.2.3 构件图
                                                                                                                                                                                                                                                                                                                                                          • 8.3 软件体系结构设计过程
                                                                                                                                                                                                                                                                                                                                                            • 8.4 设计初步的软件体系结构
                                                                                                                                                                                                                                                                                                                                                              • 8.5 重用可用的已有软件资源
                                                                                                                                                                                                                                                                                                                                                                • 8.6 精化软件体系结构设计
                                                                                                                                                                                                                                                                                                                                                                  • 8.6.1 确定公共基础设施及服务
                                                                                                                                                                                                                                                                                                                                                                    • 8.6.2 确定设计元素
                                                                                                                                                                                                                                                                                                                                                                    • 8.7 设计软件部署模型
                                                                                                                                                                                                                                                                                                                                                                      • 8.8 文档化软件体系结构设计
                                                                                                                                                                                                                                                                                                                                                                        • 8.9 评审软件体系结构设计
                                                                                                                                                                                                                                                                                                                                                                          • 本章小结
                                                                                                                                                                                                                                                                                                                                                                            • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                              • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                • 第9章 用户界面设计
                                                                                                                                                                                                                                                                                                                                                                                  • 9.1 用户界面设计概述
                                                                                                                                                                                                                                                                                                                                                                                    • 9.1.1 人机交互方式
                                                                                                                                                                                                                                                                                                                                                                                      • 9.1.2 用户界面设计的任务及其重要性
                                                                                                                                                                                                                                                                                                                                                                                      • 9.2 用户界面组成及表示方法
                                                                                                                                                                                                                                                                                                                                                                                        • 9.2.1 图形化用户界面的组成
                                                                                                                                                                                                                                                                                                                                                                                          • 9.2.2 用户界面设计模型的UML表示
                                                                                                                                                                                                                                                                                                                                                                                          • 9.3 用户界面设计的过程和原则
                                                                                                                                                                                                                                                                                                                                                                                            • 9.3.1 用户界面设计的过程
                                                                                                                                                                                                                                                                                                                                                                                              • 9.3.2 用户界面设计的原则
                                                                                                                                                                                                                                                                                                                                                                                              • 9.4 用户界面的初步设计
                                                                                                                                                                                                                                                                                                                                                                                                • 9.5 建立用户界面间的跳转关系
                                                                                                                                                                                                                                                                                                                                                                                                  • 9.6 精化用户界面设计
                                                                                                                                                                                                                                                                                                                                                                                                    • 9.7 用户界面设计的输出
                                                                                                                                                                                                                                                                                                                                                                                                      • 9.8 评审用户界面设计
                                                                                                                                                                                                                                                                                                                                                                                                        • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                          • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                            • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                              • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                              • 第10章 软件详细设计
                                                                                                                                                                                                                                                                                                                                                                                                                • 10.1 软件详细设计概述
                                                                                                                                                                                                                                                                                                                                                                                                                  • 10.1.1 何为软件详细设计
                                                                                                                                                                                                                                                                                                                                                                                                                    • 10.1.2 软件详细设计的任务和过程
                                                                                                                                                                                                                                                                                                                                                                                                                      • 10.1.3 软件详细设计的原则
                                                                                                                                                                                                                                                                                                                                                                                                                      • 10.2 软件详细设计模型及表示方法
                                                                                                                                                                                                                                                                                                                                                                                                                        • 10.3 面向对象的软件设计模式
                                                                                                                                                                                                                                                                                                                                                                                                                          • 10.3.1 何为设计模式
                                                                                                                                                                                                                                                                                                                                                                                                                            • 10.3.2 面向对象的软件设计模式
                                                                                                                                                                                                                                                                                                                                                                                                                            • 10.4 用例设计
                                                                                                                                                                                                                                                                                                                                                                                                                              • 10.4.1 用例设计的过程和原则
                                                                                                                                                                                                                                                                                                                                                                                                                                • 10.4.2 设计用例实现方案
                                                                                                                                                                                                                                                                                                                                                                                                                                  • 10.4.3 构造设计类图
                                                                                                                                                                                                                                                                                                                                                                                                                                    • 10.4.4 评审用例设计方案
                                                                                                                                                                                                                                                                                                                                                                                                                                      • 10.4.5 输出的软件制品
                                                                                                                                                                                                                                                                                                                                                                                                                                      • 10.5 类设计
                                                                                                                                                                                                                                                                                                                                                                                                                                        • 10.5.1 类设计的过程和原则
                                                                                                                                                                                                                                                                                                                                                                                                                                          • 10.5.2 确定类的可见范围
                                                                                                                                                                                                                                                                                                                                                                                                                                            • 10.5.3 精化类间的关系
                                                                                                                                                                                                                                                                                                                                                                                                                                              • 10.5.4 精化类的属性
                                                                                                                                                                                                                                                                                                                                                                                                                                                • 10.5.5 精化类的方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 10.5.6 构造类对象的状态图
                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 10.5.7 评审类设计
                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 10.5.8 输出的软件制品
                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 10.6 数据设计
                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 10.6.1 数据设计的过程和原则
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 10.6.2 确定需要持久保存的数据
                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 10.6.3 确定数据存储和组织的方式
                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 10.6.4 设计数据操作
                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 10.6.5 评审数据设计
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 10.6.6 输出的软件制品
                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 10.7 子系统和构件设计
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 10.8 文档化和评审软件详细设计
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 第11章 软件实现基础
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 11.1 软件实现概述
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 11.1.1 何为软件实现
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 11.1.2 软件实现的过程与原则
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 11.1.3 程序员
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 11.2 程序设计语言
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 11.2.1 程序设计语言的类别
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 11.2.2 程序设计语言的选择
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 11.2.3 流行的程序设计语言
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 11.3 高质量编码
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 11.4 支持软件实现的CASE工具
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 11.5 软件实现的输出
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 第12章 编写代码
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 12.1 编写代码的任务
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 12.2 基于软件设计编写代码
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 12.2.1 编写类代码
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 12.2.2 编写用户界面代码
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 12.2.3 编写数据设计代码
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 12.3 代码片段重用
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 12.4 软件缺陷
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 12.4.1 软件缺陷、错误和失效的概念
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 12.4.2 软件缺陷的描述
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 12.4.3 软件缺陷的应对方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 12.4.4 软件缺陷的状态
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 12.5 程序调试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 12.6 基于群智知识解决编程和调试问题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 12.7 编写代码的输出
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 第13章 软件测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 13.1 软件测试概述
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 13.1.1 何为软件测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 13.1.2 软件测试的思想
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 13.1.3 测试用例的设计
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 13.1.4 测试用例的运行
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 13.1.5 软件测试面临的挑战
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 13.1.6 软件测试工程师
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 13.2 软件测试的过程和策略
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 13.2.1 软件测试过程
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 13.2.2 单元测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 13.2.3 集成测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 13.2.4 确认测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 13.2.5 系统测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 13.3 软件测试技术
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 13.3.1 白盒测试技术
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 13.3.2 黑盒测试技术
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 13.3.3 非功能测试技术
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 13.4 面向对象的软件测试技术
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 13.4.1 面向对象的软件测试的特殊性
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 13.4.2 交互测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 13.4.3 继承测试
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 13.5 软件测试计划的制订与实施
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 13.5.1 软件测试组织
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 13.5.2 制订和实施软件测试计划
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 13.6 软件测试的输出
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 第14章 软件部署
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 14.1 软件及其环境
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 14.1.1 软件的运行环境
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 14.1.2 软件运行环境的变化
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 14.2 软件部署的概念和原则
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 14.3 软件部署方式
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 14.3.1 单机部署
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 14.3.2 分布式部署
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 14.4 软件部署方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 14.4.1 基于操作系统的部署
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 14.4.2 基于软件开发框架和中间件的部署
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 14.4.3 基于容器的部署
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 14.5 支撑软件部署的CASE工具
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 14.5.1 Fat Jar
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 14.5.2 Installer Project
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 14.5.3 Jenkins
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 第15章 软件维护和演化
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 15.1 软件维护
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 15.1.1 何为软件维护
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 15.1.2 软件维护的特点和挑战
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 15.1.3 软件维护工程师
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 15.2 软件演化
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 15.2.1 何为软件演化
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 15.2.2 软件演化法则
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 15.3 软件逻辑老化问题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 15.3.1 何为软件逻辑老化
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 15.3.2 软件逻辑老化的原因和表现
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 15.3.3 解决软件逻辑老化的方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 15.4 软件维护技术
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 15.5 软件维护过程
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 15.5.1 不同情况下的软件维护过程
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 15.5.2 软件维护需要解决的问题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 15.6 软件的可维护性
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 15.7 软件维护的输出
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 第16章 软件项目管理
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 16.1 软件项目管理概述
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 16.1.1 何为软件项目
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 16.1.2 软件项目管理的对象
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 16.1.3 软件项目管理的内容
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 16.2 软件度量、测量和估算
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 16.2.1 基本概念
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 16.2.2 软件项目估算
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 16.2.3 应用软件度量、测量和估算
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 16.3 软件项目计划
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 16.3.1 何为软件项目计划
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 16.3.2 软件项目计划的表示
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 16.3.3 软件项目计划要考虑的因素
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 16.3.4 制订软件项目计划的步骤
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 16.3.5 实施软件项目计划
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 16.4 软件项目跟踪
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 16.4.1 软件项目跟踪的对象
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 16.4.2 软件项目跟踪的方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 16.4.3 软件项目跟踪的步骤
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 16.5 软件配置管理
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 16.5.1 基本概念
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 16.5.2 软件配置管理过程
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 16.5.3 软件配置管理计划
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 16.6 软件风险管理
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 16.6.1 何为软件风险
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 16.6.2 软件风险的类别
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 16.6.3 软件风险管理模式
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 16.6.4 软件风险管理方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 16.7 软件质量保证
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • 16.7.1 基本概念
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • 16.7.2 软件质量保证方法
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 16.7.3 软件质量保证计划
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • 16.8 质量管理和过程能力标准
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • 16.8.1 ISO 9001和GJB 9001系列标准
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 16.8.2 CMM、CMMI 和GJB 5000系列标准
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • 本章小结
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              • 推荐阅读
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                • 基础习题
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 综合实践
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • 参考文献

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  相关图书