第1章软件工程基础
1.1计算机系统工程
1.1.1硬件与硬件工程
1.1.2软件与软件工程
1.1.3人机工程
1.1.4数据库工程
1.1.5网络工程
1.2软件工程
1.2.1软件
1.2.2软件工程的概念
1.2.3软件生命周期
1.2.4软件开发模型
1.3软件生命周期模型
1.3.1软件生命周期模型基础
1.3.2瀑布模型
1.3.3原型模型
1.3.4螺旋模型
1.3.5基于四代技术模型
1.3.6喷泉模型
1.3.7增量模型
1.4软件开发方法
1.4.1结构化方法
1.4.2面向数据结构方法
1.4.3面向对象方法
1.4.4原型法
1.5软件工程环境
1.5.1软件工程环境的定义
1.5.2软件开发环境的特点
1.6小结
习题1
第2章软件项目管理基础
2.1软件项目管理概述
2.2软件项目管理基本概念
2.2.1任务和活动
2.2.2工作产品,工作包和角色
2.2.3工作分解结构
2.2.4任务模型
2.2.5技能矩阵
2.2.6组织
2.2.7呈现组织结构
2.2.8软件项目管理计划
2.3项目管理活动
2.3.1计划项目
2.3.2组织项目
2.3.3控制项目
2.3.4终结项目
2.4项目计划案例
2.4.1项目描述
2.4.2初期项目计划
2.4.3详细项目计划
2.4.4用项目管理软件制定项目计划
2.5小结
习题2
第3章软件需求分析基础
3.1需求分析的概念和原则
3.1.1需求获取
3.1.2需求分析
3.1.3分析的原则
3.1.4需求规格说明
3.1.5评审
3.2软件需求分析基础: 以结构化分析方法为例
3.2.1数据流图
3.2.2数据字典
3.2.3实体关系图(ER图)
3.2.4状态转换图
3.3小结
习题3
第4章软件设计基础
4.1软件设计的目标和任务
4.2软件设计的基本概念
4.2.1模块与模块化
4.2.2抽象与逐步求精
4.2.3信息隐藏
4.2.4模块独立性
4.2.5软件体系结构
4.3软件设计原则
4.4软件程序结构的启发式设计准则与优化
4.5设计规格说明书与评审
4.5.1软件设计规格说明书
4.5.2设计复审
4.6小结
习题4
第5章软件体系结构设计
5.1软件体系结构
5.1.1软件体系结构的概念
5.1.2软件体系结构的重要性
5.2数据体系结构设计
5.3软件体系结构风格
5.4软件体系结构中的技术
5.4.1软件体系结构的开发技术
5.4.2软件分治策略
5.4.3软件可变性和依赖性管理
5.4.4集成策略
5.5将需求映射到软件体系结构——结构化方法实例
5.5.1变换流
5.5.2事务流
5.6面向数据流方法设计过程
5.6.1变换映射
5.6.2事务映射
5.6.3设计求精后的文档撰写与评审
5.7小结
习题5
第6章人机交互界面设计
6.1人机界面设计的历史、现状和未来
6.1.1人机界面设计的历史
6.1.2人机界面的现状
6.1.3人机界面的未来
6.2人类因素
6.2.1人类感知基础
6.2.2用户技巧
6.2.3任务与用户的特殊要求
6.3人机界面风格
6.4人机界面设计过程
6.4.1界面设计的模型
6.4.2任务分析与建模
6.4.3界面设计的一般问题
6.4.4构造界面原型
6.4.5界面设计的评估
6.5人机界面设计的原则与标准
6.5.1界面设计原则
6.5.2界面设计标准
6.6小结
习题6
第7章构件级设计
7.1构件级设计的任务
7.2构件级设计的工具
7.2.1图形描述工具
7.2.2判定表工具
7.2.3伪代码工具
7.3程序设计语言的特性
7.3.1心理特性
7.3.2工程特性
7.4程序设计语言的基本机制
7.5程序设计风格
7.5.1命名
7.5.2表达式和语句
7.5.3程序注释
7.5.4输入与输出
7.6程序设计语言的选择
7.6.1程序设计语言的分类
7.6.2程序设计语言的选择
7.6.3程序设计支持环境
7.7小结
习题7
第8章面向对象中的概念、记号和过程
8.1面向对象中的概念
8.1.1项目参与者和角色
8.1.2系统和模型
8.1.3工作产品
8.1.4活动、任务和资源
8.1.5功能需求和非功能需求
8.1.6记号、方法和方法学
8.1.7对象概念
8.1.8类及其他概念
8.2面向对象建模中的记号
8.2.1用例图
8.2.2类图
8.2.3交互图
8.2.4状态图
8.2.5活动图
8.2.6部署图
8.3面向对象软件开发过程
8.3.1需求获取过程
8.3.2需求分析过程
8.3.3系统设计过程
8.3.4对象设计过程
8.3.5实现过程
8.3.6测试过程
8.4小结
习题8
第9章面向对象的需求获取与分析方法
9.1需求获取方法
9.1.1需求获取概述
9.1.2需求获取中的活动
9.1.3需求获取中的管理方法
9.2需求分析方法
9.2.1需求分析概述
9.2.2需求分析中的管理方法
9.3小结
习题9
第10章面向对象设计方法
10.1系统设计方法
10.1.1系统设计概述
10.1.2系统设计中的概念
10.1.3系统设计活动
10.2系统设计中的设计目标实现
10.2.1系统设计中的目标
10.2.2系统设计活动概述
10.2.3满足设计目标的系统设计活动
10.2.4系统设计文档管理
10.3对象设计方法
10.3.1对象设计概述
10.3.2软件重用中的概念
10.3.3基于设计模式的设计活动
10.4对象设计中的接口设计方法
10.4.1接口规格说明概述
10.4.2接口规格说明概念
10.4.3接口规格说明活动
10.4.4对象设计文档管理
10.5小结
习题10
第11章软件测试
11.1软件测试概述
11.1.1软件测试的意义
11.1.2基本概念
11.1.3软件测试的定义、目的、原则和研究对象
11.2软件审查活动概述
11.2.1审查过程
11.2.2审查过程实施
11.3软件质量度量
11.3.1实施软件度量程序的策略
11.3.2软件质量度量框架
11.3.3有助于软件确认活动的度量
11.4基本测试方法
11.4.1静态测试
11.4.2动态测试
11.4.3测试用例设计
11.5软件测试策略
11.5.1单元测试
11.5.2集成测试
11.5.3确认测试
11.5.4系统测试
11.5.5验收测试
11.5.6其他测试种类
11.5.7排错
11.6小结
习题11
第12章软件维护
12.1软件维护概述
12.1.1软件维护及其特点
12.1.2软件维护的类型
12.1.3软件维护的成本
12.2软件维护过程
12.3软件的可维护性
12.3.1决定软件可维护性的因素
12.3.2软件可维护性的度量
12.3.3提高软件可维护性的方法
12.4程序修改的步骤
12.5软件再工程
12.5.1什么是软件再工程
12.5.2软件再工程过程
12.5.3软件再工程的方法
12.6小结
习题12
参考文献
