目录
第1部分工 程 基 础
第1章软件工程概述
1.1软件
1.1.1软件特点
1.1.2软件分类
1.2软件产业化发展
1.2.1软件程序设计时代
1.2.2软件程序系统时代
1.2.3软件工程时代
1.3软件危机
1.3.1软件危机现象
1.3.2软件危机原因分析
1.4软件工程
1.4.1工程技术
1.4.2工程管理
1.4.3工程目标
1.5主流工程方法学
1.5.1结构化方法学
1.5.2面向对象方法学
1.6常用软件工具
1.6.1Visio
1.6.2PowerDesigner
1.6.3Rational Rose
小结
习题
第2章软件工程过程模式
2.1软件生存周期
2.1.1软件定义期
2.1.2软件开发期
2.1.3软件运行与维护期
2.2瀑布模式
2.2.1瀑布模式的特点
2.2.2瀑布模式中的信息反馈
2.2.3瀑布模式的作用
2.3原型进化模式
2.3.1软件原型
2.3.2原型进化过程
2.4增量模式
2.4.1增量开发过程
2.4.2增量模式的优越性
2.5螺旋模式
2.6迭代模式
2.7组件复用模式
小结
习题
第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.4软件项目风险
3.4.1风险类别
3.4.2风险识别
3.4.3风险评估
3.4.4风险防范
3.5项目文档管理
3.5.1文档概念
3.5.2文档分类
3.5.3软件文档与软件生命周期之间的关系
3.5.4文档的使用者
3.5.5文档编码
3.5.6文档格式
3.6项目配置管理
3.6.1软件配置概念
3.6.2配置规划
3.6.3软件变更控制
3.6.4软件版本控制
3.7项目质量管理
3.7.1质量标准
3.7.2质量计划
3.7.3质量保证
3.7.4质量指标
3.8软件企业能力成熟度模型(CMM)
3.8.1能力成熟度等级
3.8.2软件过程进化
3.8.3个人软件过程(PSP)
3.8.4团队软件过程(TSP)
小结
习题
第4章基于计算机的系统工程
4.1计算机系统特征
4.2计算机体系结构
4.2.1中央主机结构
4.2.2客户机/服务器结构
4.2.3浏览器/服务器结构
4.3系统前期分析
4.3.1分析过程
4.3.2系统结构建模
4.3.3系统工作流建模
4.4项目可行性分析
4.4.1评估内容
4.4.2评估报告
小结
习题
第2部分工 程 任 务
第5章软件需求分析
5.1需求分析任务
5.1.1分析内容
5.1.2分析过程
5.1.3任务承担者
5.2获取用户需求
5.2.1识别用户
5.2.2从调查中收集用户需求
5.2.3建立需求规约
5.3建立需求模型
5.3.1业务域模型
5.3.2业务流模型
5.4定义与验证软件规格
5.4.1软件规格定义
5.4.2软件需求验证
5.4.3通过原型验证用户需求
5.4.4通过评审验证产品规格
5.5需求规格说明书
小结
习题
第6章软件概要设计
6.1概要设计任务
6.1.1基本任务
6.1.2设计过程
6.2系统构架设计
6.2.1软件系统支持环境
6.2.2软件系统体系结构
6.3数据结构设计
6.3.1动态程序数据
6.3.2静态存储数据
6.4程序结构设计
6.4.1程序模块
6.4.2模块独立性
6.4.3结构化程序结构
6.4.4面向对象程序结构
6.5概要设计说明书
小结
习题
第7章程序算法设计与编码
7.1程序结构化流程控制
7.2程序算法设计工具
7.2.1程序流程图
7.2.2NS图
7.2.3PAD图
7.2.4PDL语言
7.3程序算法复杂度评估
7.3.1程序算法复杂度
7.3.2McCabe方法
7.4程序编码
7.4.1编程语言
7.4.2编程规范
7.4.3程序运行效率
小结
习题
第8章软件测试
8.1测试目的、计划与方法
8.1.1测试目的
8.1.2测试计划
8.1.3测试方法
8.2测试任务
8.2.1单元测试
8.2.2集成测试
8.2.3确认测试
8.3测试用例
8.3.1白盒测试用例设计
8.3.2黑盒测试用例设计
8.4面向对象程序测试
8.4.1面向对象单元测试
8.4.2面向对象集成测试
8.4.3面向对象确认测试
8.5程序调试
8.5.1诊断方法
8.5.2调试策略
8.6测试工具
8.6.1测试数据生成程序
8.6.2动态分析程序
8.6.3静态分析程序
小结
习题
第9章软件维护与再工程
9.1软件维护分类
9.2软件可维护性
9.2.1软件可维护性评估
9.2.2如何提高软件的可维护性
9.3软件维护实施
9.3.1维护机构
9.3.2维护过程
9.4软件再工程
9.4.1逆向工程
9.4.2重构工程
9.4.3正向工程
小结
习题
第3部分工 程 方 法
第10章结构化分析建模
10.1结构化分析
10.2功能层级图
10.3数据流图与功能建模
10.3.1数据流图(DFD)
10.3.2数据流细化
10.3.3功能建模
10.3.4数据字典
10.4状态转换图与行为建模
小结
习题
第11章结构化设计建模
11.1结构化建模语言
11.1.1程序结构图
11.1.2HIPO图
11.1.3框架伪码
11.2基于数据流的程序结构映射
11.2.1变换流映射
11.2.2事务流映射
11.2.3混合流映射
11.3程序结构优化
11.4设计举例
小结
习题
第12章面向对象分析建模
12.1面向对象工程方法
12.1.1面向对象工程建模方法
12.1.2UML建模语言
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类分析建模举例
小结
习题
第13章面向对象设计建模
13.1面向对象设计方法
13.1.1面向对象设计特点
13.1.2基于UML的设计建模
13.2逻辑结构设计
13.2.1确定系统构架
13.2.2设计类体
13.2.3抽象类、接口及其用途
13.2.4程序逻辑结构
13.3动态过程设计
13.3.1协作图
13.3.2时序图
13.3.3状态图
13.4物理装配与部署
13.4.1程序构件图
13.4.2系统部署图
小结
习题
第14章数据库分析与设计
14.1数据库体系结构
14.1.1基本体系结构
14.1.2基于数据库服务器的数据库系统
14.1.3数据库分布应用
14.1.4SQL语言
14.2数据库分析建模
14.2.1模型元素
14.2.2传统实体关系建模方法
14.2.3基于工具实体关系建模方法
14.2.4实体关系建模举例
14.3数据库存储设计
14.3.1数据存储结构
14.3.2数据表结构映射举例
14.3.3数据完整性
14.3.4数据表结构优化
14.3.5通过触发器创建数据约束规则
14.4数据库访问设计
14.4.1数据视图
14.4.2存储过程
14.4.3数据事务
小结
习题
第15章用户界面设计
15.1界面设计特点
15.1.1可视化
15.1.2面向用户
15.1.3用例驱动
15.1.4原型进化
15.2界面类型
15.2.1窗体
15.2.2Web页
15.3界面功能
15.3.1信息表示
15.3.2系统交互
15.3.3联机支持
15.4界面设计方法
15.4.1单界面行为建模
15.4.2多界面导航设计
15.4.3界面交互性设计
小结
习题
第16章非主流工程方法
16.1敏捷工程方法
16.1.1敏捷价值观
16.1.2敏捷工程法则
16.1.3敏捷过程特点
16.1.4敏捷设计原则
16.1.5极限编程(XP)
16.1.6自适应软件开发(ASD)
16.1.7动态系统开发方法(DSDM)
16.2净室工程方法
16.2.1工程策略
16.2.2盒结构建模
16.2.3程序正确性验证
16.3Jackson程序设计方法
16.3.1设计步骤
16.3.2设计举例
16.4Z语言形式化规格说明
16.4.1Z语言特点
16.4.2Z语言应用举例
小结
习题
第17章面向对象工程案例
17.1系统分析
17.1.1基本需求说明
17.1.2功能用例分析
17.1.3任务活动分析
17.2系统设计
17.2.1系统构架设计
17.2.2类结构设计
17.2.3对象交互设计
17.2.4棋局对垒界面设计
17.2.5系统构件设计
17.3程序框架清单
17.3.1客户端程序
17.3.2服务器程序
参考文献