为你推荐
扉页
版权页
内容提要
前言
第一篇 面向过程的软件工程
第1章 概论
1.1 软件
1.1.1 软件的定义及特点
1.1.2 软件的发展历程
1.1.3 软件的分类
1.1.4 软件的应用领域
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.4 软件生存周期
1.5 软件开发过程模型
1.6 软件开发方法及工具
1.6.1 软件的开发方法
1.6.2 软件的开发工具
1.7 软件工程的最新发展动向
1.8 典型例题详解
小结
习题1
第2章 分析阶段
2.1 问题定义
2.2 可行性研究
2.2.1 可行性研究的任务
2.2.2 可行性研究的基本内容
2.2.3 可行性研究的步骤
2.3 系统流程图
2.3.1 系统流程图的符号
2.3.2 系统流程图举例
2.3.3 分层
2.4 软件计划的制订
2.4.1 确定软件计划
2.4.2 复审软件计划
2.4.3 开发方案的选择
2.5 成本/效益分析
2.5.1 成本估算
2.5.2 成本/效益分析的方法
2.6 需求分析
2.6.1 需求分析的概念
2.6.2 需求分析的层次
2.6.3 需求分析的目标和任务
2.6.4 需求分析的原则
2.6.5 需求分析的过程及方法
2.6.6 应用域
2.6.7 业务模型的建立
2.6.8 需求规格说明书
2.6.9 评审
2.7 传统的软件建模
2.7.1 分析建模
2.7.2 数据模型
2.7.3 功能模型
2.7.4 行为模型
2.7.5 数据字典
2.7.6 分析实例
2.8 典型例题详解
2.9 实验——音乐点播管理系统需求分析
小结
习题2
第3章 总体设计
3.1 总体设计的任务及过程
3.1.1 总体设计的任务
3.1.2 总体设计的过程
3.2 总体设计的原理
3.2.1 软件结构和过程
3.2.2 模块设计
3.2.3 结构设计
3.3 总体设计准则
3.4 总体设计的常用方法及工具
3.4.1 面向数据流的设计方法
3.4.2 总体设计中的工具
3.4.3 总体设计说明书编写规范
3.5 模块结构设计
3.6 数据存储设计
3.7 模型—视图—控制器框架
3.7.1 MVC模式
3.7.2 MVC中的模型类、视图类和控制类
3.7.3 MVC的实现
3.8 软件体系结构
3.8.1 软件体系结构的兴起
3.8.2 软件体系结构的概念
3.8.3 软件体系结构的现状
3.8.4 软件体系结构的描述方法
3.9 软件体系结构与操作系统
3.9.1 分层结构
3.9.2 微内核结构
3.10 典型例题详解
3.11 实验——音乐点播管理系统总体设计
小结
习题3
第4章 详细设计
4.1 详细设计的任务
4.2 详细设计的原则
4.3 详细设计的方法及工具
4.3.1 详细设计的方法
4.3.2 详细设计的工具
4.3.3 详细设计工具的选择
4.4 详细设计规格说明及复审
4.4.1 详细设计说明
4.4.2 详细设计复审
4.5 面向数据结构的设计方法
4.5.1 Jackson程序设计方法
4.5.2 Warnier程序设计方法
4.6 基于组件的设计方法
4.7 界面设计
4.7.1 用户界面设计
4.7.2 字符界面设计
4.7.3 菜单设计
4.7.4 对话框设计
4.7.5 多窗口界面设计
4.8 典型例题详解
4.9 实验——音乐点播管理系统详细设计
小结
习题4
第5章 编码及测试
5.1 程序设计语言
5.1.1 程序设计语言的发展及分类
5.1.2 程序设计语言的选择标准
5.2 程序设计风格
5.2.1 源程序文档化
5.2.2 数据说明
5.2.3 表达式和语句结构
5.2.4 输入和输出
5.3 程序效率
5.3.1 代码效率
5.3.2 存储器效率
5.3.3 输入/输出效率
5.4 编程安全
5.4.1 冗余程序设计
5.4.2 防错程序设计
5.5 结构化程序设计方法
5.6 程序的复杂性及度量
5.6.1 代码行度量法
5.6.2 McCabe度量法
5.6.3 Halstead度量法
5.7 软件测试
5.7.1 软件测试的意义
5.7.2 软件测试的基本概念
5.7.3 软件测试的目的、任务、原则和研究对象
5.7.4 软件测试的发展历史及趋势
5.7.5 软件测试的需求规格说明
5.7.6 软件测试的设计说明
5.8 软件测试的方法
5.8.1 静态测试和动态测试
5.8.2 黑盒测试法和白盒测试法
5.9 软件测试的步骤
5.9.1 单元测试
5.9.2 集成测试
5.9.3 确认测试
5.9.4 系统测试
5.9.5 验收测试
5.10 调试
5.10.1 调试过程
5.10.2 调试途径
5.11 测试设计和管理
5.11.1 错误曲线
5.11.2 测试用例设计
5.12 软件测试工具
5.12.1 自动软件测试的优点
5.12.2 测试工具分类
5.12.3 自动测试的相关问题
5.13 典型例题详解
5.14 实验——音乐点播管理系统测试
小结
习题5
第6章 软件维护及软件再工程
6.1 软件维护
6.1.1 软件维护的定义
6.1.2 软件维护的分类
6.1.3 软件维护的成本
6.1.4 软件维护的特点
6.2 软件维护过程
6.3 软件的可维护性
6.3.1 影响软件可维护性的因素
6.3.2 软件可维护性度量
6.3.3 提高软件可维护性的方法
6.4 逆向工程和再工程
6.4.1 预防性维护
6.4.2 软件的逆向工程和再工程
6.4.3 软件再工程过程
6.4.4 软件再工程的方法
6.5 典型例题详解
小结
习题6
第二篇 面向对象的软件工程
第7章 面向对象方法学
7.1 面向对象方法学概述
7.1.1 面向对象方法学的要点
7.1.2 面向对象方法学的优点
7.2 面向对象方法学的基本概念
7.2.1 对象
7.2.2 其他概念
7.3 面向对象建模
7.4 对象模型
7.4.1 类图的基本符号
7.4.2 表示关系的符号
7.5 动态模型
7.6 功能模型
7.6.1 用例图
7.6.2 用例建模
7.7 三种模型之间的关系
7.8 典型例题详解
7.9 实验——音乐点播管理系统面向对象方法学
小结
习题7
第8章 面向对象分析
8.1 面向对象分析建模过程
8.1.1 概述
8.1.2 3个子模型与5个层次
8.2 需求陈述
8.2.1 书写要点
8.2.2 例子
8.3 建立对象模型
8.3.1 确定类与对象
8.3.2 确定关联
8.3.3 划分主题
8.3.4 确定属性
8.3.5 识别继承关系
8.3.6 反复修改
8.4 建立动态模型
8.4.1 编写脚本
8.4.2 设想用户界面
8.4.3 绘制事件跟踪图
8.4.4 绘制状态图
8.4.5 审查动态模型
8.5 建立功能模型
8.5.1 绘制基本系统模型图
8.5.2 绘制功能级数据流图
8.5.3 描述处理框功能
8.6 定义服务
8.7 典型例题详解
8.8 实验——音乐点播管理系统面向对象分析
小结
习题8
第9章 面向对象设计
9.1 面向对象设计的准则
9.2 启发规则
9.3 软件重用
9.3.1 概述
9.3.2 类构件
9.3.3 软件重用的效益
9.4 划分子系统
9.4.1 子系统之间的两种交互方式
9.4.2 组织系统的两种方案
9.4.3 设计系统的拓扑结构
9.5 设计子系统
9.5.1 设计问题域子系统
9.5.2 设计人机交互子系统
9.5.3 设计任务管理子系统
9.5.4 设计数据管理子系统
9.6 设计类中的服务
9.6.1 确定类中应有的服务
9.6.2 设计实现服务的方法
9.7 设计关联
9.7.1 关联的遍历
9.7.2 关联对象的实现
9.8 设计优化
9.8.1 确定优先级
9.8.2 提高效率的技术
9.8.3 调整继承关系
9.9 设计模式
9.9.1 相关概念
9.9.2 描述设计模式
9.9.3 23种设计模式
9.10 典型例题详解
9.11 实验——音乐点播管理系统面向对象设计
小结
习题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.3 测试策略
10.3.1 面向对象测试模型
10.3.2 面向对象分析的测试
10.3.3 面向对象设计的测试
10.3.4 面向对象编程的测试
10.3.5 面向对象的单元测试
10.3.6 面向对象的集成测试
10.3.7 面向对象的系统测试
10.4 设计测试用例
10.4.1 设计类测试用例
10.4.2 测试类间测试用例
10.5 典型例题详解
10.6 实验——音乐点播管理系统面向对象实现
小结
习题10
第三篇 软件工程管理及开发实例
第11章 软件工程标准化和软件文档
11.1 软件工程标准化
11.1.1 软件工程标准化的概念
11.1.2 软件工程标准化的类型及意义
11.2 软件工程标准的制定与推行
11.3 软件工程标准的层次和体系框架
11.3.1 软件工程标准的层次
11.3.2 中国的软件工程标准化工作
11.4 ISO 9000国际标准简介
11.5 软件文档
11.5.1 软件文档的作用和分类
11.5.2 软件文档编制的质量要求
11.5.3 软件文档的管理和维护
11.6 典型例题详解
小结
习题11
第12章 软件工程质量
12.1 软件质量概述
12.1.1 软件质量的定义
12.1.2 软件质量的特性
12.2 软件质量的度量模型
12.2.1 软件度量和软件质量的度量
12.2.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
第13章 软件工程项目管理
13.1 软件项目管理
13.1.1 软件项目管理的特点
13.1.2 软件项目管理的主要职能
13.1.3 软件项目管理的主要内容
13.1.4 软件项目管理活动
13.2 基于CASE技术的开发工具简介
13.3 成本估算
13.4 计划和组织
13.4.1 项目计划的制订
13.4.2 项目组人员组织与管理
13.5 进度计划与控制
13.5.1 制订开发进度计划
13.5.2 Gantt图与时间管理
13.5.3 工程网络与关键路径
13.5.4 项目进度跟踪与控制
13.6 风险管理
13.6.1 风险识别与分类
13.6.2 风险评估与分析
13.6.3 风险策划与管理
13.6.4 风险规避与监控
13.7 配置管理
13.7.1 软件配置
13.7.2 软件配置管理的任务
13.7.3 软件配置管理的过程
13.8 项目管理认证体系IPMP与PMP
13.8.1 IPMP概况
13.8.2 PMP简介
13.9 典型例题详解
13.10 软件工程项目管理实验
小结
习题13
第14章 简单的人事管理系统设计与开发
14.1 项目论证和计划
14.1.1 系统调查
14.1.2 新系统的总体功能需求和性能要求
14.1.3 系统开发的框架
14.2 可行性分析
14.3 需求分析
14.3.1 数据流分析
14.3.2 系统流程图
14.3.3 数据字典
14.3.4 系统用例图
14.4 总体设计
14.4.1 功能模块图
14.4.2 层次方框图
14.4.3 IPO图
14.4.4 工作流程图
14.4.5 系统数据库设计
14.5 详细设计
14.6 系统实现
14.7 测试与维护
14.7.1 测试用例与测试结果
14.7.2 系统维护
小结
习题14
附录一 可行性研究报告
附录二 需求规格说明书
附录三 总体设计说明书
附录四 详细设计说明书
附录五 软件测试的需求规格说明书
附录六 软件维护手册
附录七 UML的模型及图示表示
参考文献
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜