第1章 面向对象的原理与模式
1.1 原理、模式和OO范例
1.2 类的原理
1.2.1 开放封闭原理(OCP)
1.2.2 Liskov替代原理(LSP)
1.2.3 依赖性倒置原理(DIP)
1.2.4 接口分离原理(ISP)
1.2.5 构成重用原理(CRP)
1.2.6 最少知识原理(PLK)
1.3 包的原理
1.3.1 包的依赖
1.3.2 版本重用等价原理(REP)
1.3.3 通用闭包原理(CCP)
1.3.4 通用重用原理(CReP)
1.3.5 无环依赖原理(ADP)
1.3.6 稳定依赖原理(SDP)
1.3.7 稳定抽象原理(SAP)
1.4 模式
1.4.1 策略
1.4.2 访问者
1.4.3 层
1.5 总结
第2章 UML介绍
2.1 UML定义
2.2 起源
2.3 建模的作用
2.3.1 挑战
2.3.2 体系结构的复杂性
2.3.3 纠正
2.4 优点
2.5 总结
第3章 UML基础
3.1 模型和视图
3.1.1 基本元素
3.1.2 图
3.1.3 视图
3.2 核心图
3.2.1 行为图
3.2.2 结构图
3.3 基本元素
3.3.1 结构元素
3.3.2 Java无关的实体
3.3.3 Java相关的实体
3.3.4 与Java的依赖关系
3.4 注释
3.5 扩展机制
3.6 关于图的介绍
3.6.1 顺序图
3.6.2 类图
3.6.3 包图
3.7 总结
第4章 UML和软件过程
4.1 定义的过程
4.2 最优经验
4.2.1 行为驱动
4.2.2 以结构为中心
4.2.3 重复
4.2.4 重构
4.2.5 可视化建模
4.2.6 简单原型
4.3 开发周期和UML
4.3.1 需求
4.3.2 分析和设计
4.3.3 构建
4.3.4 测试
4.3.5 调度
4.4 整个生命周期
4.5 总结
第5章 建模策略
5.1 集成目标
5.1.1 开发方法
5.1.2 工具方法
5.2 集成因素
5.2.1 开发文化
5.2.2 软件过程
5.2.3 面向对象经验
5.2.4 技术方面
5.2.5 建模策略
5.3 集成策略
5.4 总结
第6章 需求模型
6.1 符号
6.1.1 行动者
6.1.2 Use
6.1.3 关系
6.1.4 Use
6.1.5 原型
6.2 需求建模
6.2.1 问题陈述
6.2.2 Use
6.2.3 Use
6.2.4 额外的元素
6.3 总结
第7章 问题分析
7.1 符号
7.1.1 类
7.1.2 关联
7.1.3 包
7.1.4 依赖
7.1.5 原型
7.1.6 协作
7.1.7 实现
7.2 确定初始概念
7.3 软件规范说明书
7.3.1 边界
7.3.2 实体
7.3.3 控制
7.4 建立体系结构
7.5 分配类
7.6 总结
第8章 行为建模
8.1 符号
8.1.1 对象
8.1.2 消息
8.1.3 顺序图
8.1.4 协作图
8.2 Use
8.3 功能分配
8.3.1 分散式控制流和集中式控制流
8.3.2 作为仲裁者的控制器
8.3.3 管理集合
8.3.4 访问方法和变更方法
8.3.5 其他图
8.3.6 简单原型
8.4 模型结构
8.5 总结
第9章 结构建模
9.1 符号
9.1.1 类图
9.1.2 结构元素
9.1.3 关系
9.2 耦合性和内聚性
9.3 几种有用的类图
9.3.1 包图
9.3.2 接口图
9.3.3 实现图
9.3.4 参与类视图
9.4 识别结构
9.4.1 复杂结构
9.4.2 对象工厂
9.4.3 集合
9.4.4 结构说明
9.5 模型结构
9.6 总结
第10章 系统结构建模
10.1 定义系统结构
10.2 构建系统结构
10.3 系统结构机制
10.3.1 分层
10.3.2 观察
10.3.3 Model-View-Controller(MVC)
10.3.4 分区
10.4 系统结构视图
10.5 框架和类库
10.5.1 框架
10.5.2 类库
10.6 构件系统结构
10.6.1 定义构件
10.6.2 构件和UML
10.6.3 构件示例
10.7 总结
第11章 设计子系统
11.1 定义子系统
11.2 Java中的子系统
11.3 子系统规范
11.4 子系统识别
11.5 开发子系统
11.6 作为框架的子系统
11.7 总结
附录A 统一开发过程(RUP)和极限编程(XP)
附录B J2EE和UML
附录C UML练习的代码实现
参考文献