简介
本书是中国计算机软件专业技术水平考试指定用书之一。本书是软件工程的高级读物,全书分为三个部分,即软件工程技术、软件质量管理与质量保证及软件工程管理。主要内容包括:软件生存期过程和软件工程软件需求分析,软件复用技术,软件测试,软件维护与软件工程,软件工具与软件开发环境,软件质量保证,软件工程标准化和软件文档,软件过程能力评估,软件工程项目管理,软件度量,软件配置管理,软件人员组织与管理,软件知识产权保护等。
本书是“中国计算机软件专业技术软件工程(高级)”水平考试的必读教材,也可作为相应培训班的教材,通过该级考试的考生具有软件工程高级工程师的相应水平。
目录
第1篇 软件工程技术
第1章 软件生存期过程和软件工程
1.1 软件生存期及其模型
1.1.1 软件生存期
1.1.2 软件生存期模型
1.2 软件生存期过程
1.3 软件工程的基本目标
1.3.1 软件工程的定义
1.3.2 软件工程项目的基本目标
第2章 软件需求分析
2.1 软件需求分析的任务
2.2 需求分析的过程
2.3 软件需求分析的原则
2.4 分析员和用户的责任
2.5 软件需求分析方法
2.6 软件需求分析工具
2.6.1 SADT
2.6.2 PSL/PSA
2.7 面对确定需求的困难应采取的对策
2.7.1 需求工程和确定需求的困难
2.7.2 软件开发人员面对确定需求的困难应采取的对策
第3章 软件复用技术
3.1 软件复用的概述
3.1.1 软件复用的宗旨
3.1.2 软件复用的实际效益
3.1.3 软件复用技术的发展概况
3.2 软件开发过程
3.2.1 以往的软件开发技术不能满足复用的需要
3.2.2 软件复用需要改变软件开发过程
3.2.3 领域工程和应用系统工程
3.3 构件技术
3.3.1 应用系统和应用系统族
3.3.2 应用系统与构件
3.3.3 构件系统
3.3.4 构件系统的门面
3.3.5 可变性和专门化
3.3.6 打包和编写文档
3.4 分层式体系结构
3.4.1 软件体系结构
3.4.2 良好的软件体系结构的重要作用
3.4.3 分层式的体系结构
3.5 渐进地实施复用和复用单位的组织结构
3.5.1 软件复用需要改变开发单位的组织结构
3.5.2 渐进地系统地采用复用技术
3.5.3 充分利用可共享复用成果
3.5.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.3 白盒测试的测试用例设计
4.3.1 逻辑覆盖
4.3.2 基本路径测试
4.4 黑盒测试的测试用例设计
4.4.1 等价类划分
4.4.2 边界值分析
4.4.3 错误推测法
4.4.4 因果图
4.4.5 功能图
4.5 软件测试的策略
4.5.1 单元测试
4.5.2 组装测试
4.5.3 确认测试
4.5.4 系统测试
4.5.5 测试的步骤及相应的测试种类
4.6 程序的静态分析方法
4.6.1 对程序的静态分析
4.6.2 人工测试
4.7 软件测试工具
4.7.1 静态分析工具
4.7.2 动态测试工具
4.7.3 测试数据自动生成工具
4.7.4 模块测试台
4.7.5 测试合成环境
第5章 软件维护与软件再工程
5.1 软件维护的概念
5.1.1 软件维护的定义
5.1.2 影响维护工作量的因素
5.1.3 软件维护的策略
5.1.4 维护成本
5.2 软件维护活动
5.2.1 维护机构
5.2.2 软件维护申请报告
5.2.3 软件维护工程流程
5.2.4 维护档案记录
5.2.5 维护评价
5.3 软件维护的实施
5.3.1 分析和理解程序
5.3.2 修改程序
5.3.3 重新验证程序
5.4 软件可维护性
5.4.1 软件可维护性的定义
5.4.2 可维护性的度量
5.5 提高可维护性的方法
5.5.1 建立明确的软件质量目标和优先级
5.5.2 使用提高软件质量的技术和工具
5.5.3 进行明确的质量保证审查
5.5.4 选择可维护怕程序设计语言
5.5.5 改变程序的文档
5.5.6 开发软件时考虑到维护
5.6 软件再工程
5.6.1 什么是软件再工程
5.6.2 为什么要实施软件再工程
5.6.3 软件再工程技术
5.6.4 软件再工程的风险
第6章 软件工具与软件开发环境
6.1 软件工具
6.1.1 概述
6.1.2 软件开发工具
6.1.3 软件维护工具
6.1.4 软件管理和软件支持工具
6.1.5 软件开发工具的评价和选择
6.2 软件开发环境
6.2.1 概述
6.2.2 集成型软件开发环境
6.2.3 ECMA/NIST集成型软件
6.2.4 PCTE:可移值公共
6.2.5 青鸟系统
第2篇 软件质量管理与质量保证
第7章 软件质量
7.1 软件危机尚未过去
7.1.1 软件发展远远落后于硬件
7.1.2 软件质量问题提出的挑战
7.1.3 有银弹吗
7.2 软件质量问题的根源
7.2.1 软件不同于硬件或其他产品
7.2.2 影响软件质量的因素
7.3 什么是软件质量
7.3.1 通常的理解
7.3.2 McCall的质量特性
7.3.3 国际标准和国家标准规定的质量特性
7.4 产品质量与过程质量
第8章 软件质量保证
8.1 软件质量保证概述
8.1.1 质量保证的概念
8.1.2 软件质量保证的主要任务
8.1.3 质量保证与检验
8.2 软件质量保证体系
8.3 质量保证的实施
8.3.1 质量目标与度量
8.3.2 质量度量方法
8.3.3 软件质量管理小组
8.4 软件的质量设计
8.4.1 质量特性转换为软件的内部结构
8.4.2 软件的质量展开
8.5 技术评审
8.5.1 设计质量的评审
8.5.2 程序质量的评审
8.6 软件可靠性
8.6.1 软件生存期与软件寿命的关系
8.6.2 软件可靠性的定义
8.6.3 软件可靠性的主要指标
8.7 测试中的可靠性分析
8.7.1 推测错误的产生频度
8.7.2 估算软件中错误总数的方法
8.7.3 测试精确度和测试覆盖度的评价
8.7.4 测试开始时的预测模型
8.8 软件容错技术
8.8.1 什么是容错软件
8.8.2 容错的一般方法
8.8.3 容错软件的设计过程
8.8.4 软件容错系统结构
8.9 软件过程改进
8.9.1 软件过程改进的含意和现有的方案
8.9.2 软件过程改进模式
第9章 软件工程标准化和软件文档
9.1 什么是软件工程标准
9.2 软件工程标准化的意义
9.3 软件工程标准的制定与推行
9.4 软件工程标准的层次
9.5 软件工程国家标准
9.6 在开发机构中推行软件工程标准
9.7 软件文档
9.7.1 软件文档的作用和分类
9.7.2 对文档编制的质量要求
9.7.3 文档的管理和维护
第10章 在软件开发机构中贯彻ISO 9000国际标准
10.1 质量管理、质量认证与质量审核
10.1.1 质量管理
10.1.2 质量认证与审核
10.2 ISO 9000国际标准简介
10.2.1 ISO 9000标准概述
10.2.2 ISO 9000标准的特点
10.2.3 ISO 9000标准的科学依据
10.3 ISO 9000族标准的构成
10.4 质量体系
10.5 ISO 9000标准的主要内容
10.6 ISO 9000-3标准简介
10.6.1 理解标准与指南的关系
10.6.2 理解ISO 9000-3对20个质量体系要素的解释
10.6.3 理解ISO ISO 9000-3与ISO/IEC 12207两个标准之间的关系
10.7 软件开发机构为什么要按ISO 9000标准建立并实施质量保证体系
10.7.1 软件质量缺陷不可能完全避免
10.7.2 技术上解决软件质量问题的局限性
10.7.3 为什么软件开发机构要加强质量管理
10.7.4 为什么软件开发机构要开展ISO 9000质量认证工作
10.8 软件开发机构实施ISO 9000标准应做的工作
10.9 若干认识问题
第11章 软件过程能力评估
11.1 软件过程评估的意义
11.1.1 软件过程改进的需要
11.1.2 降低软件风险的需要
11.2 软件过程评估方法的产生
11.3 软件能力成熟度模型CMM简介
11.3.1 模型概要
11.3.2 模型的产生和原理
11.3.3 不成熟和成熟软件组织的比较
11.3.4 软件过程成熟度的5个等级
11.3.5 跳越成熟度等级
11.3.6 关键过程域
11.3.7 关键实践
11.3.8 CMM的应用
11.3.9 软件过程成熟度提意味单
11.3.10 对CMM 1.1的几点考虑
11.4 软件过程评估的国际标准概述
11.4.1 软件过程评估国际标准的制定
11.4.2 软件过程评估标准的组成
11.4.3 参考模型
11.4.4 评估框架
11.4.6 软件过程评估标准的特点
第3章 软件工程管理
第12章 软件工程项目管理
12.1 软件工程项目管理的任务
12.2 软件项目估算
12.2.1 针对估算的考虑
12.2.2 软件项目计划的目标
12.2.3 软件的范围
12.2.4 软件开发中的资源
12.2.5 软件项目估算
12.2.6 分解技术
12.3 软件开发成本估算
12.3.1 软件开发成本估算方法
12.3.2 专家判定技术
12.3.3 软件开发成本估算的经验模型
12.3.4 自动估算工具
12.4 风险分析
12.4.1 风险识别
12.4.2 风险估计
12.4.3 风险评价
12.4.4 风险驾驭和监控
12.5 进度安排
12.5.1 软件开发小组人数与软件生产率
12.5.2 任务的确定与并行性
12.5.3 制定开发进度计划
12.5.4 进度安排的图形方法
2.5.5 项目的追踪和控制
12.6 软件项目的组织与计划
12.6.1 软件项目管理的特点
12.6.2 制定计划
第13章 软件度量
13.1 软件度量的概念
13.2 功能点方法计算软件的大小
13.3 程序环路复杂度计算
13.4 霍尔斯特德程序工作量计算
13.5 程序风格度量
第14章 软件配置管理
14.1 什么是软件配置管理
14.1.1 软件配置管理的几种定义
14.1.2 什么是软件配置项
14.1.3 软件配置管理的任务
14.2 软件配置标识
14.3 变更管理
14.4 版本控制
14.4.1 版本管理和发行管理
14.4.2 版本标识
14.4.3 发行管理
14.5 系统建立
14.6 配置审核
14.7 配置状态报告
第15章 软件人员组织与管理
15.1 软件项目的人员组织与管理
15.1.1 项目组的组织结构
15.1.2 人员配备
15.1.3 指志与检验
15.2 软件人员能力成熟度模型
15.2.1 引入软件人员能力成熟度模型的必要性
15.2.2 软件人员能力成熟度模型的发展溯源
15.2.3 软件人员能力成熟度模型简介
15.2.4 软件人员能力成熟度模型的结构
15.2.5 成熟度级别和关键过程
15.2.6 主题
15.2.7 关键过程的目标
15.2.8 软件人员能力成熟度模型的应用
15.3 软件工程师道德和职业活动规范
15.3.1 引言
15.3.2 软件开发项目的特点、影响及其与人的关系
15.3.3 规范的内容
15.3.4 职业道德教育的作用及其重要性
第16章 软件知识产权保护
16.1 软件知识产权的保护必须依法实施
16.1.1 知识产权的法律框架
16.1.2 我国保护计算机软件的法律制度
16.2 计算机软件著作权的主体
16.2.1 计算机软件著作权的主体
16.2.2 计算机软件著作的客体
16.2.3 计算机软件著作权的权利内容
16.2.4 计算机软件著作权归属
16.2.5 软件著作权的行使
16.2.6 软件专有权利的限制
16.3 计算机软件著作权登记管理
16.3.1 计算机软件著作权登记制度的法律功能和作用
16.3.2 计算机软件著作权登记的几种主要形式
16.4 计算机软件著作权侵权与法律保护
16.4.1 软件著作权侵权行为类型
16.4.2 侵犯软件著作权的法律责任
16.4.3 法定的例外情况
16.5 计算机软件的商业秘密与反不正当竞争
16.5.1 商业秘密的法律特征
16.5.2 计算机软件商业秘密
16.5.3 侵害计算机软件商业秘密的不正当行为与法律责任
第1章 软件生存期过程和软件工程
1.1 软件生存期及其模型
1.1.1 软件生存期
1.1.2 软件生存期模型
1.2 软件生存期过程
1.3 软件工程的基本目标
1.3.1 软件工程的定义
1.3.2 软件工程项目的基本目标
第2章 软件需求分析
2.1 软件需求分析的任务
2.2 需求分析的过程
2.3 软件需求分析的原则
2.4 分析员和用户的责任
2.5 软件需求分析方法
2.6 软件需求分析工具
2.6.1 SADT
2.6.2 PSL/PSA
2.7 面对确定需求的困难应采取的对策
2.7.1 需求工程和确定需求的困难
2.7.2 软件开发人员面对确定需求的困难应采取的对策
第3章 软件复用技术
3.1 软件复用的概述
3.1.1 软件复用的宗旨
3.1.2 软件复用的实际效益
3.1.3 软件复用技术的发展概况
3.2 软件开发过程
3.2.1 以往的软件开发技术不能满足复用的需要
3.2.2 软件复用需要改变软件开发过程
3.2.3 领域工程和应用系统工程
3.3 构件技术
3.3.1 应用系统和应用系统族
3.3.2 应用系统与构件
3.3.3 构件系统
3.3.4 构件系统的门面
3.3.5 可变性和专门化
3.3.6 打包和编写文档
3.4 分层式体系结构
3.4.1 软件体系结构
3.4.2 良好的软件体系结构的重要作用
3.4.3 分层式的体系结构
3.5 渐进地实施复用和复用单位的组织结构
3.5.1 软件复用需要改变开发单位的组织结构
3.5.2 渐进地系统地采用复用技术
3.5.3 充分利用可共享复用成果
3.5.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.3 白盒测试的测试用例设计
4.3.1 逻辑覆盖
4.3.2 基本路径测试
4.4 黑盒测试的测试用例设计
4.4.1 等价类划分
4.4.2 边界值分析
4.4.3 错误推测法
4.4.4 因果图
4.4.5 功能图
4.5 软件测试的策略
4.5.1 单元测试
4.5.2 组装测试
4.5.3 确认测试
4.5.4 系统测试
4.5.5 测试的步骤及相应的测试种类
4.6 程序的静态分析方法
4.6.1 对程序的静态分析
4.6.2 人工测试
4.7 软件测试工具
4.7.1 静态分析工具
4.7.2 动态测试工具
4.7.3 测试数据自动生成工具
4.7.4 模块测试台
4.7.5 测试合成环境
第5章 软件维护与软件再工程
5.1 软件维护的概念
5.1.1 软件维护的定义
5.1.2 影响维护工作量的因素
5.1.3 软件维护的策略
5.1.4 维护成本
5.2 软件维护活动
5.2.1 维护机构
5.2.2 软件维护申请报告
5.2.3 软件维护工程流程
5.2.4 维护档案记录
5.2.5 维护评价
5.3 软件维护的实施
5.3.1 分析和理解程序
5.3.2 修改程序
5.3.3 重新验证程序
5.4 软件可维护性
5.4.1 软件可维护性的定义
5.4.2 可维护性的度量
5.5 提高可维护性的方法
5.5.1 建立明确的软件质量目标和优先级
5.5.2 使用提高软件质量的技术和工具
5.5.3 进行明确的质量保证审查
5.5.4 选择可维护怕程序设计语言
5.5.5 改变程序的文档
5.5.6 开发软件时考虑到维护
5.6 软件再工程
5.6.1 什么是软件再工程
5.6.2 为什么要实施软件再工程
5.6.3 软件再工程技术
5.6.4 软件再工程的风险
第6章 软件工具与软件开发环境
6.1 软件工具
6.1.1 概述
6.1.2 软件开发工具
6.1.3 软件维护工具
6.1.4 软件管理和软件支持工具
6.1.5 软件开发工具的评价和选择
6.2 软件开发环境
6.2.1 概述
6.2.2 集成型软件开发环境
6.2.3 ECMA/NIST集成型软件
6.2.4 PCTE:可移值公共
6.2.5 青鸟系统
第2篇 软件质量管理与质量保证
第7章 软件质量
7.1 软件危机尚未过去
7.1.1 软件发展远远落后于硬件
7.1.2 软件质量问题提出的挑战
7.1.3 有银弹吗
7.2 软件质量问题的根源
7.2.1 软件不同于硬件或其他产品
7.2.2 影响软件质量的因素
7.3 什么是软件质量
7.3.1 通常的理解
7.3.2 McCall的质量特性
7.3.3 国际标准和国家标准规定的质量特性
7.4 产品质量与过程质量
第8章 软件质量保证
8.1 软件质量保证概述
8.1.1 质量保证的概念
8.1.2 软件质量保证的主要任务
8.1.3 质量保证与检验
8.2 软件质量保证体系
8.3 质量保证的实施
8.3.1 质量目标与度量
8.3.2 质量度量方法
8.3.3 软件质量管理小组
8.4 软件的质量设计
8.4.1 质量特性转换为软件的内部结构
8.4.2 软件的质量展开
8.5 技术评审
8.5.1 设计质量的评审
8.5.2 程序质量的评审
8.6 软件可靠性
8.6.1 软件生存期与软件寿命的关系
8.6.2 软件可靠性的定义
8.6.3 软件可靠性的主要指标
8.7 测试中的可靠性分析
8.7.1 推测错误的产生频度
8.7.2 估算软件中错误总数的方法
8.7.3 测试精确度和测试覆盖度的评价
8.7.4 测试开始时的预测模型
8.8 软件容错技术
8.8.1 什么是容错软件
8.8.2 容错的一般方法
8.8.3 容错软件的设计过程
8.8.4 软件容错系统结构
8.9 软件过程改进
8.9.1 软件过程改进的含意和现有的方案
8.9.2 软件过程改进模式
第9章 软件工程标准化和软件文档
9.1 什么是软件工程标准
9.2 软件工程标准化的意义
9.3 软件工程标准的制定与推行
9.4 软件工程标准的层次
9.5 软件工程国家标准
9.6 在开发机构中推行软件工程标准
9.7 软件文档
9.7.1 软件文档的作用和分类
9.7.2 对文档编制的质量要求
9.7.3 文档的管理和维护
第10章 在软件开发机构中贯彻ISO 9000国际标准
10.1 质量管理、质量认证与质量审核
10.1.1 质量管理
10.1.2 质量认证与审核
10.2 ISO 9000国际标准简介
10.2.1 ISO 9000标准概述
10.2.2 ISO 9000标准的特点
10.2.3 ISO 9000标准的科学依据
10.3 ISO 9000族标准的构成
10.4 质量体系
10.5 ISO 9000标准的主要内容
10.6 ISO 9000-3标准简介
10.6.1 理解标准与指南的关系
10.6.2 理解ISO 9000-3对20个质量体系要素的解释
10.6.3 理解ISO ISO 9000-3与ISO/IEC 12207两个标准之间的关系
10.7 软件开发机构为什么要按ISO 9000标准建立并实施质量保证体系
10.7.1 软件质量缺陷不可能完全避免
10.7.2 技术上解决软件质量问题的局限性
10.7.3 为什么软件开发机构要加强质量管理
10.7.4 为什么软件开发机构要开展ISO 9000质量认证工作
10.8 软件开发机构实施ISO 9000标准应做的工作
10.9 若干认识问题
第11章 软件过程能力评估
11.1 软件过程评估的意义
11.1.1 软件过程改进的需要
11.1.2 降低软件风险的需要
11.2 软件过程评估方法的产生
11.3 软件能力成熟度模型CMM简介
11.3.1 模型概要
11.3.2 模型的产生和原理
11.3.3 不成熟和成熟软件组织的比较
11.3.4 软件过程成熟度的5个等级
11.3.5 跳越成熟度等级
11.3.6 关键过程域
11.3.7 关键实践
11.3.8 CMM的应用
11.3.9 软件过程成熟度提意味单
11.3.10 对CMM 1.1的几点考虑
11.4 软件过程评估的国际标准概述
11.4.1 软件过程评估国际标准的制定
11.4.2 软件过程评估标准的组成
11.4.3 参考模型
11.4.4 评估框架
11.4.6 软件过程评估标准的特点
第3章 软件工程管理
第12章 软件工程项目管理
12.1 软件工程项目管理的任务
12.2 软件项目估算
12.2.1 针对估算的考虑
12.2.2 软件项目计划的目标
12.2.3 软件的范围
12.2.4 软件开发中的资源
12.2.5 软件项目估算
12.2.6 分解技术
12.3 软件开发成本估算
12.3.1 软件开发成本估算方法
12.3.2 专家判定技术
12.3.3 软件开发成本估算的经验模型
12.3.4 自动估算工具
12.4 风险分析
12.4.1 风险识别
12.4.2 风险估计
12.4.3 风险评价
12.4.4 风险驾驭和监控
12.5 进度安排
12.5.1 软件开发小组人数与软件生产率
12.5.2 任务的确定与并行性
12.5.3 制定开发进度计划
12.5.4 进度安排的图形方法
2.5.5 项目的追踪和控制
12.6 软件项目的组织与计划
12.6.1 软件项目管理的特点
12.6.2 制定计划
第13章 软件度量
13.1 软件度量的概念
13.2 功能点方法计算软件的大小
13.3 程序环路复杂度计算
13.4 霍尔斯特德程序工作量计算
13.5 程序风格度量
第14章 软件配置管理
14.1 什么是软件配置管理
14.1.1 软件配置管理的几种定义
14.1.2 什么是软件配置项
14.1.3 软件配置管理的任务
14.2 软件配置标识
14.3 变更管理
14.4 版本控制
14.4.1 版本管理和发行管理
14.4.2 版本标识
14.4.3 发行管理
14.5 系统建立
14.6 配置审核
14.7 配置状态报告
第15章 软件人员组织与管理
15.1 软件项目的人员组织与管理
15.1.1 项目组的组织结构
15.1.2 人员配备
15.1.3 指志与检验
15.2 软件人员能力成熟度模型
15.2.1 引入软件人员能力成熟度模型的必要性
15.2.2 软件人员能力成熟度模型的发展溯源
15.2.3 软件人员能力成熟度模型简介
15.2.4 软件人员能力成熟度模型的结构
15.2.5 成熟度级别和关键过程
15.2.6 主题
15.2.7 关键过程的目标
15.2.8 软件人员能力成熟度模型的应用
15.3 软件工程师道德和职业活动规范
15.3.1 引言
15.3.2 软件开发项目的特点、影响及其与人的关系
15.3.3 规范的内容
15.3.4 职业道德教育的作用及其重要性
第16章 软件知识产权保护
16.1 软件知识产权的保护必须依法实施
16.1.1 知识产权的法律框架
16.1.2 我国保护计算机软件的法律制度
16.2 计算机软件著作权的主体
16.2.1 计算机软件著作权的主体
16.2.2 计算机软件著作的客体
16.2.3 计算机软件著作权的权利内容
16.2.4 计算机软件著作权归属
16.2.5 软件著作权的行使
16.2.6 软件专有权利的限制
16.3 计算机软件著作权登记管理
16.3.1 计算机软件著作权登记制度的法律功能和作用
16.3.2 计算机软件著作权登记的几种主要形式
16.4 计算机软件著作权侵权与法律保护
16.4.1 软件著作权侵权行为类型
16.4.2 侵犯软件著作权的法律责任
16.4.3 法定的例外情况
16.5 计算机软件的商业秘密与反不正当竞争
16.5.1 商业秘密的法律特征
16.5.2 计算机软件商业秘密
16.5.3 侵害计算机软件商业秘密的不正当行为与法律责任
软件工程.高级
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×