内容简介
第1章 软件工程概述
1.1 软件危机
1.1.1 软件发展远远落后于硬件
1.1.2 早期出现的软件危机
1.1.3 软件本身问题严重
1.2 软件工程
1.2.1 软件工程的定义
1.2.2 软件工程项目的基本目标
1.3 软件生存期
1.3.1 软件生存期
1.3.2 软件生存期模型
1.3.3 软件生存期过程
习题一
第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.2 软件开发过程
3.2.1 以往的软件开发技术
3.2.2 软件复用需要改变软件开发过程
3.2.3 领域工程和应用系统工程
3.3 构件技术
3.3.1 应用系统和应用系统族
3.3.2 应用系统软件
3.3.3 构件系统
3.4 分层式体系结构
3.4.1 软件体系结构
3.4.2 软件体系结构的重要性
3.4.3 分层式体系结构
3.5 实施软件复用技术
3.5.1 实施软件复用单位的组织结构
3.5.2 渐进、系统地采用软件复用技术
3.5.3 实施复用技术的要求
习题三
第4章 软件测试
4.1 软件测试基础
4.1.1 什么是软件测试
4.1.2 软件测试的目的和原则
4.1.3 软件测试的对象
4.1.4 测试信息流
4.1.5 软件测试与软件开发各阶段的关系
4.2 黑盒、白盒测试
4.2.1 白盒测试的测试用例设计
4.2.2 黑盒测试的测试用例设计
4.2.3 其他的测试方法
4.3 软件测试的策略
4.3.1 单元测试
4.3.2 组装测试
4.3.3 确认测试
4.3.4 系统测试
4.3.5 测试的步骤及相应的测试种类
4.4 程序的静态分析方法
4.4.1 对程序的静态分析
4.4.2 人工测试
4.5 软件测试工具
4.5.1 静态分析工具
4.5.2 动态测试工具
4.5.3 测试数据自动生成工具
4.5.4 模块测试台
4.5.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.4.3 提高软件可维护性的方法
5.5 软件再工程
5.5.1 什么是软件再工程
5.5.2 为什么要实施软件再工程
5.5.3 软件再工程技术
5.5.4 软件再工程的风险
习题五
第6章 软件工具与软件开发环境
6.1 软件工具
6.1.1 软件开发工具
6.1.2 软件维护工具
6.1.3 软件管理和软件支持工具
6.2 软件开发环境
6.2.1 集成型软件开发环境
6.2.2 ECMA/NIST集成型软件开发环境参考模型
6.2.3 PCTE:可移植公共工具环境
习题六
第7章 软件质量及管理
7.1 影响软件质量的因素
7.2 国际标准和国家标准规定的软件质量特性
7.3 软件质量保证
7.3.1 软件质量保证的主要任务
7.3.2 软件质量保证与检验
7.3.3 软件质量保证体系
7.3.4 软件的技术评审
7.4 软件可靠性
7.4.1 软件生存期与软件寿命的关系
7.4.2 软件可靠性的定义
7.4.3 软件可靠性的理论依据
7.4.4 软件可靠性数据
7.4.5 软件可靠性模型
7.5 软件容错技术
7.5.1 什么是容错软件
7.5.2 容错的一般方法
7.5.3 容错软件的设计过程
7.5.4 软件的容错系统结构
7.6 软件过程改进
7.6.1 软件过程改进的含义和现有的方案
7.6.2 软件过程改进模式
习题七
第8章 软件文档与软件工程标准化
8.1 软件文档
8.2 软件工程标准化
8.2.1 软件工程标准分类
8.2.2 ISO 9000国际标准简介
8.2.3 ISO 9000标准的贯彻
习题八
第9章 软件过程能力评估
9.1 软件过程能力成熟度模型CMM
9.1.1 SEI CMM 1.1模型简介
9.1.2 软件过程能力成熟度的5个等级
9.1.3 关键过程域及其关键实践
9.2 CMM的应用
9.2.1 软件过程评估和软件能力评价
9.2.2 其他应用
习题九
第10章 软件项目、配置及人员组织管理
10.1 软件项目管理
10.1.1 软件项目计划
10.1.2 软件开发成本估算
10.1.3 风险分析
10.1.4 进度安排
10.1.5 软件项目管理
10.2 软件配置管理
10.2.1 变更管理
10.2.2 版本控制和系统建立
10.2.3 配置审核与配置状态报告
10.3 软件人员组织与管理
10.3.1 项目组的组织结构
10.3.2 人员配备
10.3.3 指导与检验
10.3.4 软件产业从业人员的职业道德
习题十
第11章 软件知识产权保护
11.1 软件知识产权保护的要点
11.1.1 计算机软件是知识产品
11.1.2 计算机软件著作权的主体
11.1.3 计算机软件著作权的客体
11.1.4 计算机软件著作权的权利内容
11.1.5 计算机软件著作权归属
11.1.6 计算机软件著作权的行使
11.2 软件专利权利的限制
11.2.1 计算机程序可获专利权的条件
11.2.2 计算机软件著作权登记管理
11.3 计算机软件著作权侵权与法律保护
11.3.1 计算机软件著作权的侵权行为
11.3.2 法律保护
11.3.3 解决软件著作权纠纷的途径
11.4 计算机软件的商业秘密与反不正当竞争
11.5 现代企业制度中的知识产权保护
习题十一
附录一 软件工程进展简介
附录二 英文词汇索引
参考文献