出版说明
前言
第1章 软件工程概述
1.1 软件
1.1.1 软件的特点
1.1.2 软件的发展
1.1.3 软件危机
1.1.4 软件工程的概念
1.1.5 软件工程的三要素
1.1.6 软件工程方法
1.1.7 软件工程的发展历史
1.2 软件过程的概念
1.2.1 软件生命周期及软件开发过程的定义
1.2.2 软件开发过程的制品
1.2.3 软件开发工具
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 Rational统一开发过程
1.5 实例:软件外包开发过程
1.5.1 外包软件的定义
1.5.2 外包软件的开发特点
1.5.3 改进方案
1.5.4 实施、总结
1.6 小结
1.7 习题
第2章 软件开发方法简介
2.1 面向结构的软件工程
2.2 结构化方法遵循的基本原则及核心问题
2.3 结构化方法的特点
2.4 基于MicrosoftOfficeVisio2007的结构化建模
2.4.1 MicrosoftOfficeVisio2007简介
2.4.2 MicrosoftOfficeVisio2007工作环境
2.4.3 MicrosoftOfficeVisio2007操作入门
2.4.4 实践案例
2.5 面向对象的软件工程
2.6 面向对象方法的基本原则和核心问题
2.7 面向对象方法的特点与优势
2.8 面向对象的基本概念
2.9 面向对象方法学的研究及实践领域
2.1 0面向对象的统一建模语言介绍
2.1 0.1 统一建模语言概述
2.1 0.2 UML的基本实体
2.1 0.3 常用的UML图
2.1 1基于RationalRose2003的UML建模
2.1 1.1 RationalRose2003简介
2.1 1.2 RationalRose2003建模环境
2.1 1.3 RationalRose2003模型的视图
2.1 1.4 RationalRose2003建模界面
2.1 2结构化方法与面向对象方法比较
2.1 3小结
2.1 4习题
第3章 结构化分析
3.1 可行性研究
3.1.1 问题定义
3.1.2 可行性研究的内容
3.1.3 可行性研究的步骤
3.2 需求分析
3.3 获取需求的方法
3.4 结构化分析方法
3.4.1 数据流图
3.4.2 数据字典
3.4.3 实体关系图
3.4.4 状态转换图
3.5 快速原型分析方法
3.6 结构化分析实例
3.7 小结
3.8 习题
第4章 结构化设计
4.1 结构化设计概述
4.1.1 结构化设计的任务
4.1.2 结构化设计的工作内容及步骤
4.2 结构化总体设计
4.2.1 总体设计的过程
4.2.2 设计原则
4.2.3 总体设计的启发规则
4.2.4 面向数据流的设计方法
4.2.5 结构化总体设计的工具
4.2.6 模块结构设计
4.2.7 数据存储设计
4.3 结构化详细设计
4.3.1 结构化详细设计阶段的任务及原则
4.3.2 结构化详细设计工具
4.3.3 代码设计
4.3.4 用户界面设计
4.3.5 Jackson程序设计方法
4.3.6 Warnier程序设计方法
4.3.7 基于组件的设计方法
4.4 软件设计说明书结构
4.5 结构化设计实例
4.6 应用Visio进行数据库建模
4.7 应用Visio进行软件界面设计
4.8 小结
4.9 习题
第5章 结构化的实现
5.1 结构化实现概述
5.2 程序设计语言的选择
5.3 程序的复杂性及度量
5.3.1 代码行度量法
5.3.2 McCabe度量法
5.4 结构化测试的任务和目标
5.5 结构化测试方法
5.5.1 黑盒测试概述
5.5.2 白盒测试
5.5.3 灰盒测试
5.5.4 人工测试
5.5.5 自动化测试
5.6 结构化测试步骤
5.6.1 单元测试
5.6.2 集成测试
5.6.3 确认测试
5.6.4 系统测试
5.6.5 验收测试
5.7 结构化测试工具
5.8 软件测试的误区
5.9 软件测试的前景
5.1 0结构化测试实例
5.1 1小结
5.1 2习题
第6章 面向对象分析方法
6.1 面向对象分析概述
6.2 建立基于用例分析的功能模型
6.3 建立对象模型
6.4 建立动态模型
6.4.1 编写脚本
6.4.2 设想用户界面
6.4.3 事件跟踪图
6.4.4 状态图
6.5 评审分析模型
6.6 面向对象分析实例
6.7 小结
6.8 习题
第7章 面向对象的设计
7.1 面向对象的设计方法
7.2 面向对象设计的准则
7.3 问题域子系统设计
7.4 人机交互子系统设计
7.5 任务管理子系统设计
7.6 数据管理子系统设计
7.7 应用Rose建用例图
7.8 应用Rose建交互图
7.9 应用Rose建类图
7.1 0应用Rose建状态图和活动图
7.1 1应用Rose建组件图和部署图
7.1 2面向对象设计实例
7.1 3小结
7.1 4习题
第8章 面向对象的实现及测试
8.1 面向对象实现语言的选择
8.2 面向对象程序设计风格
8.3 面向对象软件测试
8.3.1 基于面向对象开发过程的测试
8.3.2 面向对象软件测试的层次划分及内容
8.4 面向对象的测试工具
8.5 小结
8.6 习题
第9章 运行和维护
9.1 维护的概念
9.2 维护的任务和目的
9.3 软件维护的特点
9.4 软件维护的步骤
9.5 软件的可维护性
9.5.1 软件可维护性概述
9.5.2 软件维护的类型
9.5.3 软件可维护性度量
9.6 维护中的组织管理
9.7 逆向工程和再工程
9.7.1 逆向工程
9.7.2 再工程
9.8 小结
9.9 习题
第10章 软件工程标准化和软件质量
10.1 软件工程标准化
10.2 软件文档
10.2.1 软件文档的作用和分类
10.2.2 软件文档编制的质量要求
10.2.3 软件文档的管理和维护
10.3 软件质量特性
10.4 软件质量的度量模型
10.5 软件质量保证
10.6 技术评审
10.7 软件质量管理体系
10.7.1 软件产品质量管理的特点
10.7.2 软件质量管理体系
10.8 小结
10.9 习题
第11章 软件工程项目管理
11.1 软件项目管理的内容
11.2 软件项目管理的特点和职能
11.3 软件项目管理的流程控制分析
11.4 计划和组织
11.4.1 制定项目计划
11.4.2 人员组织与管理
11.5 进度计划
11.5.1 制定开发进度计划
11.5.2 甘特图与时间管理
11.5.3 工程网络与关键路径
11.6 风险管理
11.7 软件成熟度模型
11.7.1 CMM概述
11.7.2 CMM成熟度级别
11.8 项目管理认证体系IPMP与PMP
11.9 软件项目管理实例:软件外包项目中的进度管理
11.9.1 案例描述
11.9.2 案例分析
11.1 0应用Project2007进行项目管理
11.1 0.1 Project2007简介
11.1 0.2 Project2007工作界面
11.1 0.3 项目管理专用术语概览
11.1 1Project操作入门
11.1 2利用Project制定项目计划
11.1 3小结
11.1 4习题
第12章 结构化开发实例
12.1 项目论证和计划
12.1.1 系统调查
12.1.2 新系统的总体功能需求和性能要求
12.1.3 系统开发的框架
12.2 可行性分析
12.2.1 技术可行性
12.2.2 经济可行性
12.2.3 管理可行性
12.2.4 开发环境可行性
12.3 需求分析
12.3.1 数据流分析
12.3.2 系统流程图
12.3.3 数据字典
12.4 总体设计
12.4.1 功能模块图
12.4.2 层次方框图
12.4.3 IPO图
12.4.4 系统的功能结构图
12.4.5 人事管理工作流程模型图
12.4.6 系统数据库关系说明图
12.5 详细设计
12.5.1 查询功能流程图
12.5.2 登录界面程序流程图
12.5.3 添加功能流程图
12.5.4 系统程序流程图
12.5.5 系统功能流程图
12.6 系统实现
12.6.1 实现工具
12.6.2 开发平台
12.6.3 数据库系统工作结构图
12.7 测试与维护
12.7.1 测试结果
12.7.2 系统维护
12.8 小结
第13章 面向对象软件开发实例
13.1 可行性分析
13.2 需求分析
13.2.1 用例图
13.2.2 活动图
13.3 系统详细设计
13.4 小结
13.5 习题
参考文献