第1章 软件与软件工程
1.1 软件的概念
1.1.1 软件与软件的组成
1.1.2 软件生存周期
1.1.3 软件的特点
1.1.4 几类常用的软件
1.1.5 软件的质量
1.1.6 软件的安全与保护
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.4 敏捷软件开发原则和应用
1.4.1 敏捷软件开发原则
1.4.2 敏捷软件过程的极限编程实践
1.4.3 敏捷软件开发过程的应用
1.5 软件工程人的因素
1.5.1 软件工程教育
1.5.2 软件工程学科
1.5.3 软件工程从业人员的职业道德
1.6 软件工具及软件开发环境
1.6.1 软件工具
1.6.2 软件开发环境
1.7 基于计算机的系统
1.7.1 基于计算机的系统的概念
1.7.2 基于计算机的系绕的功能组件
1.7.3 典型的基于计算机的系统
1.7.4 基于计算机的系统的研制
小结
习题
第2章 UML与RUP统一过程
2.1 案例说明
2.2 面向对象的软件开发方法
2.2.1 面向对象的概念
2.2.2 面向对象方法的优势
2.3 UML概述
2.4 RUP统一过程
2.4.1 RUP软件过程框架
2.4.2 RUP的5个阶段
2.4.3 RUP的9个工作流
小结
习题
第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 过程模型的裁剪
小结
习题
第4章 需求获取
4.1 软件需求的初始表示
4.1.1 用例
4.1.2 用例图
4.1.3 用例的表示
4.1.4 类图
4.1.5 活动图
4.2 需求获取的过程模型
4.3 定义软件问题
4.3.1 标识客户和用户
4.3.2 理解业务背景
4.3.3 策划并实施需求调查
4.3.4 定义软件系统的轮廓
4.4 创建框架用例
4.4.1 策划并实施用例调查
4.4.2 以框架用例记录调查结果
4.4.3 创建用例图
4.4.4 整合并评审框架用例
4.5 精化用例
4.5.1 用例交互动作序列的描述方法
4.5.2 分解或合并用例
4.5.3 构建完整用例
4.5.4 精化用例图
4.5.5 精化业务规则及非功能需求
4.6 评审用例模型
小结
习题
第5章 需求分析与验证
5.1 分析模型的表示
5.1.1 顺序图
5.1.2 通信图
5.1.3 状态图
5.1.4 扩充机制
5.2 需求分析的过程模型
5.3 需求优先级分析
5.3.1 确定需求项优先级
5.3.2 编排用例分析的优先顺序
5.4 用例分析
5.4.1 精化领域概念模型
5.4.2 设置分析类
5.4.3 构思分析类之间的协作关系
5.4.4 导出分析类图
5.5 利用快速原型辅助需求分析
5.5.1 分析与规划
5.5.2 设计与实现
5.5.3 检查与评审
5.5.4 改进
5.6 评审分析模型
5.7 需求规约
5,8需求验证
小结
习题
第6章 软件设计概论
6.1 软件设计的概念
6.1.1 软件设计模型
6.1.2 设计模型的质量要素
6.2 软件设计的基本原则
6.2.1 抽象与逐步求精
6.2.2 模块化
6.2.3 信息隐藏
6.2.4 关注点分离
6.3 软件设计的过程模型
6.3.1 软件设计活动
6.3.2 迭代式设计过程模型
6.3.3 设计过程模型的裁剪
小结
习题
第7章 软件体系结构设计
7.1 软件体系结构的概念
7.1.1 何谓体系结构
7.1.2 体系结构视图
7.2 体系结构的表示
7.2.1 包图
7.2.2 构件图
7.2.3 部署图
7.2.4 对象图
……
第8章 人机交互设计
第9章 软件详细设计
第10章 软件实现
第11章 结构化软件开发
第12章 软件测试
第13章 软件维护
第14章 Web软件工程
第15章 软件度量与估算
第16章 软件项目管理与过程改进