第1章 面向对象技术概述
1.1 软件危机及软件工程
1.2 对软件开发的基本认识
1.3 软件的固有复杂性
1.4 控制软件复杂性的基本方法
1.5 面向对象技术
1.6 面向对象领域中的基本概念
1.6.1 对象和实例
1.6.2 类
1.6.3 封装
1.6.4 继承
1.6.5 多态
1.6.6 消息
1.7 小结
第2章 UML概述
2.1 为什么要学习UML
2.2 UML的历史
2.3 UML的特点
2.4 UML的构成
2.5 UML中的视图
2.6 UML的应用领域
2.7 支持UML的工具
2.8 一个UML的例子
2.9 小结
第3章 用例和用例图
3.1 用例
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 常见问题分析
3.9 小结
第4章 顺序图和协作图
4.1 交互图概述
4.2 顺序图
4.3 顺序图中的消息
4.3.1 调用消息
4.3.2 异步消息
4.3.3 返回消息
4.3.4 阻止消息和超时消息
4.3.5 消息的语法格式
4.4 建立顺序图的步骤
4.5 协作图
4.6 建立协作图的步骤
4.7 顺序图和协作图的比较
4.8 工具支持
4.9 常见问题分析
4.10 小结
第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.4 抽象类和接口
5.5 版型
5.6 边界类.控制类和实体类
5.6.1 边界类
5.6.2 实体类
5.6.3 控制类
5.7 类图
5.7.1 类图的抽象层次
5.7.2 构造类图
5.8 领域分析
5.9 OO设计的原则
5.9.1 开闭原则
5.9.2 Liskov替换原则
5.9.3 依赖倒置原则
5.9.4 接口分离原则
5.10 对象图
5.11 小结
第6章 数据建模
6.1 数据建模概述
6.2 数据库设计的基本过程
6.3 数据库设计的步骤
6.4 对象模型和数据模型的相互转换
6.4.1 对象模型转换为数据模型
6.4.2 数据模型转换为对象模型
6.5 小结
第7章 包
7.1 包的基本概念
7.2 设计包的原则
7.2.1 重用等价原则
7.2.2 共同闭包原则
7.2.3 共同重用原则
7.2.4 非循环依赖原则
7.3 包的应用
7.4 小结
第8章 状态图和活动图
8.1 什么是状态图
8.2 状态图中的基本概念
8.2.1 状态
8.2.2 组合状态和子状态
8.2.3 历史状态
8.2.4 转移
8.2.5 事件
8.2.6 动作
8.3 状态图的工具支持
8.4 什么是活动图
8.5 活动图中的基本概念
8.5.1 活动
8.5.2 泳道
8.5.3 分支
8.5.4 分叉和汇合
8.5.5 对象流
8.6 活动图的用途
8.7活动图的工具支持
8.8状态图和活动图的比较
8.9小结
第9章 构件图
9.1 什么是构件和构件图
9.2 构件图的作用
9.3 构件图的工具支持
9.4 小结
第10章 部署图
10.1 什么是部署图
10.2 部署图中的基本概念
10.2.1 结点
10.2.2 连接
10.3 部署图的例子
10.4 小结
第11章 对象约束语言
11.1 为什么需要OCL
11.2 OCL的特点
11.3 OCL的构成
11.4 OCL使用实例
11.5 OCL扩展讨论
11.6 小结
第12章 业务建模
12.1 业务建模概述
12.2 业务建模中的基本概念
12.3 UML的业务建模扩展
12.4 业务体系结构
12.5 从业务模型到软件模型
12.6 小结
第13章 Web建模
13.1 Web建模的基本概念
13.2 Web应用系统的体系结构
13.3 Web建模扩展WAE
13.3.1 服务器页
13.3.2 客户机页
13.3.3 关联
13.3.4 关联
13.3.5 表单
13.3.6 关联
13.3.7框架集
13.3.8关联
13.3.9和关联
13.3.1 0Session和JavaBean建模
13.3.1 1Servlet建模
13.4 Rose的-Web建模使用说明
13.5 Web建模实例
13.6 小结
第14章 UML与设计模式
14.1 为什么要使用设计模式
14.2 设计模式的历史
14.3 设计模式的分类
14.4 设计模式实例
14.4.1 Facade设计模式
14.4.2 AbstractFactory设计模式
14.4.3 Visitor设计模式
14.5 在Rose中使用设计模式
14.6 小结
第15章 面向对象实现技术
15.1 面向对象程序设计语言概述
15.2 几种典型的OOPL
15.2.1 Smalltalk
15.2.2 Eiffel
15.2.3 C++
15.2.4 Java
15.2.5 Objective-C
15.2.6 CLOS语言的特色
15.3 其他OOPL
15.4 小结
第16章 RUP软件开发过程
16.1 什么是软件开发过程
16.2 RUP的历史
16.3 6个最佳开发经验
16.3.1 迭代式开发
16.3.2 管理需求
16.3.3 使用基于构件的体系结构
16.3.4 可视化软件建模
16.3.5 验证软件质量
16.3.6 控制软件变更
16.4 RUP软件开发生命周期
16.5 RUP中的核心概念
16.6 RUP的特点
16.6.1 用例驱动
16.6.2 以体系结构为中心
16.6.3 迭代和增量
16.7RUP裁剪
16.8RUPBuilder
16.9小结
第17章 UML开发工具
17.1 支持UML的常见工具
17.1.1 Together
17.1.2 ArgoUML
17.1.3 MagicDrawUML
17.1.4 VisualUML
17.1.5 Visio
17.1.6 PoseidonforUML
17.1.7 BridgePoint
17.2 RationalSuite2003开发工具