内容简介
第1章 面向对象技术概述
1.1 结构化方法和面向对象方法
1.2 面向对象方法的由来
1.3 面向对象的基本概念与术语
1.4 面向对象的软件开发
1.5 面向对象方法的优缺点
1.6 面向对象程序设计语言
1.6.1 Simula和Smalltalk语言
1.6.2 C扩展语言
1.6.3 Eiffel语言
1.6.4 Java语言
1.6.5 其他面向对象语言
1.7 面向对象的分析与设计
1.8 典型的面向对象方法
1.8.1 Coad&Yourdon方法
1.8.2 Rumbaugh方法
1.8.3 Booch方法
1.8.4 Jacobson方法
1.8.5 RDD方法
1.9 本章小结
1.10 习题
1.10.1 填空题
1.10.2 选择题
1.10.3 简答题
1.10.4 简单分析题
第2章 统一建模语言UML概述
2.1 UML概述
2.1.1 为什么要建模
2.1.2 什么是UML
2.1.3 UML的发展历史
2.1.4 UML的特点
2.2 UML的构成
2.2.1 UML的概念模型
2.2.2 UML中的视图
2.2.3 UML1.5版的规范
2.3 UML2.0简介
2.3.1 底层结构
2.3.2 上层结构
2.3.3 活动图
2.3.4 结构化类元
2.3.5 组合
2.3.6 异常
2.3.7 交互概观图
2.3.8 用例图
2.3.9 UML一致性
2.3.10 小结
2.4 一个UML的例子
2.4.1 需求分析
2.4.2 用例图
2.4.3 活动图
2.4.4 顺序图
2.4.5 协作图
2.4.6 类图
2.4.7 状态图
2.4.8 组件图
2.4.9 部署图
2.5 本章小结
2.6 习题
2.6.1 填空题
2.6.2 选择题
2.6.3 简答题
2.6.4 简单分析题
第3章 用例图
3.1 参与者
3.1.1 参与者的概念
3.1.2 参与者之间的关系
3.1.3 参与者和用例之间的关系
3.2 用例
3.2.1 用例的概念
3.2.2 用例的特征
3.2.3 用例之间的关系
3.2.4 用例之间的泛化、包含、扩展关系的比较
3.2.5 用例的实现
3.3 用例描述
3.4 用例建模
3.4.1 用例建模的步骤
3.4.2 确定系统的边界
3.4.3 确定参与者
3.4.4 确定用例
3.4.5 区分用例的优先次序
3.4.6 细化每个用例
3.4.7 编写每个用例的用例描述
3.4.8 绘制用例图
3.4.9 编写项目词汇表
3.5 用例建模中常见的问题分析
3.5.1 用例的设计原则
3.5.2 用例模型的复杂度
3.5.3 用例模型的调整
3.5.4 用例模型的检查
3.5.5 系统的三层结构
3.5.6 用例描述
3.5.7 不同层次的用例模型之间的一致性
3.6 一个用例建模的例子
3.6.1 需求陈述
3.6.2 识别参与者
3.6.3 识别用例
3.6.4 确定系统边界
3.6.5 调整用例图
3.6.6 编写用例描述
3.7 本章小结
3.8 习题
3.8.1 填空题
3.8.2 选择题
3.8.3 简答题
3.8.4 简单分析题
第4章 类图与对象图
4.1 类与对象
4.1.1 类与对象的概念
4.1.2 类的属性
4.1.3 类的操作
4.1.4 类的职责
4.2 类与对象的识别
4.2.1 识别类与对象
4.2.2 识别类的属性
4.2.3 定义类的操作
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.6 抽象类和接口
4.6.1 抽象类
4.6.2 接口
4.6.3 实现关系
4.7 类版型
4.7.1 实体类
4.7.2 边界类
4.7.3 控制类
4.7.4 用户自定义版型
4.8 类图
4.8.1 类图的抽象层次
4.8.2 构造类图
4.9 对象图
4.9.1 对象的表示
4.9.2 链的表示
4.10 一个结构建模的例子
4.10.1 需求陈述
4.10.2 识别对象
4.10.3 识别属性
4.10.4 识别关系
4.11 本章小结
4.12 习题
4.12.1 填空题
4.12.2 选择题
4.12.3 简答题
4.12.4 简单分析题
第5章 顺序图与协作图
5.1 交互模型概述
5.2 顺序图
5.2.1 对象
5.2.2 生命线
5.2.3 控制焦点
5.2.4 消息
5.2.5 分支
5.2.6 从属流
5.3 顺序图中的消息
5.3.1 调用消息
5.3.2 异步消息
5.3.3 返回消息
5.3.4 阻止消息
5.3.5 超时消息
5.3.6 消息的语法格式
5.3.7 调用消息和异步消息的比较
5.4 建立顺序图概述
5.4.1 建立顺序图
5.4.2 顺序图与用例描述的关系
5.4.3 顺序图与类图的区别
5.5 协作图
5.5.1 对象
5.5.2 链
5.5.3 消息
5.5.4 对象生命周期
5.6 建立协作图概述
5.6.1 建立协作图
5.6.2 协作图与顺序图的比较
5.6.3 协作图与用例描述的关系
5.6.4 协作图与类图的区别
5.7 交互建模中常见的问题分析
5.7.1 在顺序图中表示方法的普通嵌套和递归嵌套
5.7.2 在协作图中表示消息的发送顺序和嵌套顺序
5.7.3 条件消息和循环消息的表示
5.7.4 在顺序图中使用交互架构
5.7.5 调用消息和事件(信号)消息的区别
5.7.6 在顺序图中表示时间约束
5.7.7 顺序图的两种形式
5.7.8 协作图的两种形式
5.7.9 用例实现的类图与协作图
5.7.10 协作图中的多对象
5.7.11 协作图中的主动对象
5.8 一个交互建模的例子
5.8.1 需求陈述
5.8.2 识别对象类
5.8.3 识别消息
5.8.4 确定消息的形式和内容
5.8.5 “新增学习计划”用例实现的顺序图
5.8.6 其他用例实现的顺序图或协作图
5.9 本章小结
5.10 习题
5.10.1 填空题
5.10.2 选择题
5.10.3 简答题
5.10.4 简单分析题
第6章 状态图与活动图
6.1 行为模型概述
6.2 状态图
6.2.1 状态
6.2.2 组合状态子状态
6.2.3 转移
6.2.4 事件
6.2.5 信号
6.3 建立状态图
6.3.1 识别需要绘制状态图的实体
6.3.2 识别状态空间
6.3.3 识别状态转移
6.3.4 绘制并审查状态图
6.4 状态图的工具支持
6.5 活动图
6.5.1 活动
6.5.2 分支
6.5.3 分叉和汇合
6.5.4 泳道
6.5.5 对象流
6.5.6 信号
6.6 活动图的用途
6.6.1 对业务过程建模
6.6.2 对具体操作建模
6.7 建立活动图
6.7.1 定义活动图的范围
6.7.2 添加起始点和结束点
6.7.3 添加活动
6.7.4 添加活动间的变迁和决策点
6.7.5 找出可并行活动之处
6.8 活动图的工具支持
6.9 状态图和活动图的比较
6.10 一个行为建模的例子
6.10.1 需求陈述
6.10.2 分析活动
6.10.3 分析对象状态
6.11 本章小结
6.12 习题
6.12.1 填空题
6.12.2 选择题
6.12.3 简答题
6.12.4 简单分析题
第7章 组件图与部署图
7.1 组件图
7.1.1 组件
7.1.2 组件的类型
7.1.3 组件之间的关系
7.1.4 组件和类的关系
7.1.5 组件和接口的关系
7.2 组件图的用途
7.2.1 对源代码文件之间的关系建模
7.2.2 对可执行文件之间的关系建模
7.2.3 对物理数据库中各个具体对象之间的关系建模
7.2.4 对自适应系统建模
7.3 组件图的工具支持
7.3.1 正向工程
7.3.2 逆向工程
7.4 组件图的例子
7.5 部署图
7.5.1 结点
7.5.2 连接
7.5.3 部署图介绍
7.5.4 分布式系统的物理建模
7.6 部署图的例子
7.7 一个体系结构建模的例子
7.7.1 需求陈述
7.7.2 分析类和接口
7.7.3 确定组件
7.7.4 确定组件之间的依赖关系
7.7.5 确定硬件结点
7.7.6 确定硬件结点之间的通信关系
7.8 本章小结
7.9 习题
7.9.1 填空题
7.9.2 选择题
7.9.3 简答题
7.9.4 简单分析题
第8章 包图
8.1 包图概述
8.1.1 包中的元素
8.1.2 包的命名
8.1.3 包中元素的可见性
8.1.4 包的层次性
8.1.5 包之间的关系
8.2 设计包的原则
8.2.1 重用等价原则
8.2.2 共同闭包原则
8.2.3 共同重用原则
8.2.4 非循环依赖原则
8.2.5 高内聚和低耦合原则
8.3 包的应用
8.4 一个分组机制建模的例子
8.4.1 需求陈述
8.4.2 分析类和接口
8.4.3 确定包
8.4.4 确定包之间的依赖关系
8.5 本章小结
8.6 习题
8.6.1 填空题
8.6.2 选择题
8.6.3 简答题
第9章 数据建模
9.1 数据建模概述
9.2 数据库设计的基本过程
9.3 数据库设计的步骤
9.3.1 Rose中的设计步骤
9.3.2 Rose中的具体操作过程
9.3.3 Rose中表之间的关系
9.4 对象模型和数据模型的相互转换
9.4.1 对象模型转换为数据模型
9.4.2 数据模型转换为对象模型
9.5 关联关系的多重性在数据模型中的映射
9.5.1 多对多的关联的映射
9.5.2 一对多的关联的映射
9.5.3 零或一对一的关联的映射
9.6 本章小结
9.7 习题
9.7.1 填空题
9.7.2 选择题
9.7.3 简答题
第10章 软件设计模式及应用
10.1 设计模式概述
10.1.1 设计模式的历史
10.1.2 设计模式的组成元素
10.1.3 设计模式的作用和研究意义
10.1.4 为什么要使用设计模式
10.1.5 设计模式的分类
10.1.6 设计模式遵循的原则
10.1.7 设计模式的使用策略
10.2 经典设计模式
10.2.1 工厂模式
10.2.2 适配器模式
10.2.3 命令模式
10.2.4 解释器模式
10.2.5 迭代器模式
10.2.6 观察者模式
10.2.7 代理模式
10.2.8 单例模式
10.2.9 状态模式
10.2.10 策略模式
10.2.11 访问者模式
10.3 设计模式实例
10.3.1 Facade模式
10.3.2 Adapter模式
10.3.3 Abstract Factory模式
10.3.4 Observer模式
10.4 在Rose中使用设计模式
10.5 本章小结
10.6 习题
10.6.1 填空题
10.6.2 选择题
10.6.3 简答题
第11章 Rational统一过程
11.1 软件开发过程和统一过程
11.2 Rational统一过程的概述
11.2.1 Rational统一过程的发展历史
11.2.2 Rational统一过程的宏观与微观
11.2.3 Rational统一过程中的核心概念
11.3 Rational统一过程的软件开发生命周期
11.3.1 Rational统一过程的生命周期
11.3.2 Rational统一过程的核心工作流
11.3.3 Rational统一过程的阶段
11.4 Rational统一过程的模型与文档
11.4.1 Rational统一过程的模型
11.4.2 Rational统一过程产生的模型与文档
11.5 Rational统一过程的特点
11.6 Rational统一过程的6个最佳实践
11.7 Rational统一过程的配置和实现
11.7.1 配置Rational统一过程
11.7.2 实现Rational统一过程
11.8 RUP裁剪
11.9 RUP Builder
11.10 本章小结
11.11 习题
11.11.1 填空题
11.11.2 选择题
11.11.3 简答题
第12章 基于Struts2的个人信息管理系统应用实例
12.1 系统概述
12.2 需求分析
12.2.1 用户需求
12.2.2 系统功能模块结构图
12.2.3 系统运行效果
12.3 用例建模
12.3.1 确定系统边界
12.3.2 识别参与者
12.3.3 识别用例
12.3.4 绘制用例图
12.3.5 用例描述
12.4 静态建模
12.4.1 识别对象类
12.4.2 识别属性
12.4.3 绘制类图
12.4.4 绘制数据模型
12.4.5 设计数据表
12.5 动态建模
12.5.1 绘制顺序图
12.5.2 绘制协作图
12.5.3 绘制活动图
12.5.4 绘制状态图
12.6 构架建模
12.6.1 绘制包图
12.6.2 绘制组件图
12.6.3 绘制部署图
12.7 本章小结
12.8 习题
附录A 部分习题参考答案
A.1 第1章习题参考答案
A.2 第2章习题参考答案
A.3 第3章习题参考答案
A.4 第4章习题参考答案
A.5 第5章习题参考答案
A.6 第6章习题参考答案
A.7 第7章习题参考答案
A.8 第8章习题参考答案
A.9 第9章习题参考答案
A.10 第10章习题参考答案
A.11 第11章习题参考答案
参考文献