**部分 概述
第1章 软件工程与面向对象方法 2
1.1 软件工程简介 2
1.1.1 软件工程的发展过程 2
1.1.2 软件工程的目标和原则 3
1.2 面向对象方法简介 3
1.2.1 什么是面向对象方法 3
1.2.2 面向对象方法的发展历史 4
1.2.3 面向对象方法的基本概念 4
1.2.4 面向对象方法的优势 6
小结 7
习题 7
第2章 统一建模语言UML 9
2.1 软件建模简介 9
2.1.1 什么是模型 9
2.1.2 建模的重要性 9
2.1.3 建模的基本原理 10
2.2 UML简述 10
2.3 UML的发展历史 11
2.3.1 UML的出现背景 11
2.3.2 UML的诞生及其标准化 12
2.3.3 UML2规范 12
2.4 UML的目标与应用范围 13
2.4.1 UML的目标 13
2.4.2 UML的应用范围 14
小结 14
习题 14
第3章 Rational Rose工具概述 16
3.1 Rose简述 16
3.1.1 何谓Rose 16
3.1.2 Rational Rose对UML的支持 17
3.2 Rational Rose的安装 18
3.2.1 安装前的准备 18
3.2.2 安装过程 19
3.3 Rational Rose的使用 25
3.3.1 Rational Rose界面介绍 25
3.3.2 Rose的基本操作 31
小结 38
习题 38
第二部分 UML概念详解
第4章 UML概念模型 40
4.1 构造块 40
4.1.1 事物 40
4.1.2 关系 42
4.1.3 图 43
4.2 通用机制 45
4.2.1 规格说明 45
4.2.2 修饰 45
4.2.3 通用划分 45
4.2.4 扩展机制 46
4.3 “4+1”架构 47
4.3.1 “4+1”架构的概念和组成 47
4.3.2 “4+1”架构要解决的问题 48
4.3.3 运用“4+1”视图方法进行软件
架构设计 49
小结 50
习题 50
第5章 用例图 52
5.1 用例图的基本概念 52
5.2 参与者 53
5.2.1 参与者的概念 53
5.2.2 确定参与者 53
5.2.3 参与者的泛化关系 54
5.3 用例 55
5.3.1 用例的概念 55
5.3.2 用例与参与者 55
5.3.3 用例的特征 56
5.3.4 用例的粒度 57
5.4 用例之间的关系 58
5.4.1 泛化关系 58
5.4.2 依赖关系 59
5.5 用例描述与文档 60
5.5.1 用例描述概述 60
5.5.2 前置条件与后置条件 61
5.5.3 事件流 61
5.5.4 补充约束 62
5.5.5 用例文档实践 62
5.6 应用用例图建模 63
5.6.1 用例图建模技术 63
5.6.2 用例图使用要点 65
5.7 实验:使用Rose绘制用例图 65
5.7.1 用例图的Rose操作 65
5.7.2 绘制机票预订系统的用例图 68
小结 70
习题 70
第6章 类图与对象图 73
6.1 类图的基本概念 73
6.2 类图的组成元素 74
6.2.1 类 74
6.2.2 接口 77
6.2.3 类图中的关系 77
6.2.4 涉及类的其他概念 83
6.3 类图的实例——对象图 85
6.3.1 对象图概述 86
6.3.2 对象图的组成元素 86
6.4 类图与对象图的建模技术 87
6.4.1 类图的建模技术 87
6.4.2 正向工程与逆向工程 88
6.4.3 对象图的建模技术 89
6.4.4 面向对象设计的原则 89
6.5 实验:使用Rose绘制类图 92
6.5.1 类图的Rose操作 92
6.5.2 绘制机票预订系统的类图 97
小结 101
习题 101
第7章 包图 104
7.1 包图的基本概念 104
7.2 包 104
7.2.1 包的概念 105
7.2.2 包的作用 107
7.2.3 元素的分包原则 107
7.3 包的依赖关系 107
7.4 包图的建模技术 109
7.5 实验:使用Rose绘制包与包图 110
7.5.1 包图的Rose操作 110
7.5.2 使用包组织UML图中的元素 112
小结 112
习题 113
第8章 顺序图 115
8.1 顺序图的概念 115
8.2 顺序图的组成元素 116
8.2.1 对象 116
8.2.2 生命线 116
8.2.3 激活 117
8.2.4 消息 117
8.3 (*)UML2中的"片段"概念 119
8.4 顺序图建模技术 120
8.5 (*)顺序图的变体——时间图 121
8.6 实验:使用Rose绘制顺序图 122
8.6.1 顺序图的Rose操作 122
8.6.2 绘制登录用例的顺序图 124
小结 125
习题 125
第9章 协作图 127
9.1 协作图的概念 127
9.2 协作图的组成元素 128
9.2.1 对象 128
9.2.2 链 129
9.2.3 消息 129
9.3 协作图与顺序图 130
9.4 协作图建模技术 131
9.5 (*)UML2中的通信图 131
9.6 实验:使用Rose绘制协作图 132
9.6.1 协作图的Rose操作 133
9.6.2 绘制查询航班用例的协作图 134
小结 135
习题 135
第10章 状态图 138
10.1 状态图的基本概念 138
10.1.1 状态机 138
10.1.2 状态图 139
10.2 状态图的组成 140
10.2.1 简单状态 140
10.2.2 转换 141
10.2.3 伪状态 144
10.3 复合状态 145
10.4 状态图的建模技术 147
10.5 实验:使用Rose绘制状态图 147
10.5.1 状态图的Rose操作 148
10.5.2 绘制航班类的状态图 152
小结 154
习题 154
第11章 活动图 156
11.1 活动图基本概念 156
11.2 活动图组成元素 157
11.2.1 动作和活动节点 157
11.2.2 开始和终止 158
11.2.3 控制流 158
11.2.4 判断节点 158
11.2.5 合并节点 159
11.2.6 泳道 159
11.3 活动图的**概念 160
11.3.1 并发 160
11.3.2 分叉节点 161
11.3.3 结合节点 161
11.3.4 对象流 161
11.3.5 扩展区域 162
11.4 活动图建模技术 162
11.5 活动图的进一步说明 163
11.6 实验:使用Rose绘制活动图 163
11.6.1 活动图的Rose操作 163
11.6.2 绘制用户购票的活动图 166
小结 167
习题 167
第12章 组件图 170
12.1 组件图的基本概念 170
12.2 组件图的组成元素 171
12.2.1 组件 171
12.2.2 接口 172
12.2.3 组件图中的关系 173
12.2.4 (*)Rose中的特殊组件 173
12.2.5 (*)UML2中组件的嵌套 175
12.3 组件图的建模技术 175
12.4 实验:使用Rose绘制组件图 176
12.4.1 组件图的Rose操作 176
12.4.2 绘制机票预订系统的组
件图 178
小结 179
习题 179
第13章 部署图 181
13.1 部署图的基本概念 181
13.2 部署图的组成元素 181
13.2.1 节点 182
13.2.2 部署图中的关系 182
13.3 部署图建模技术 183
13.4 实验:使用Rose绘制部署图 183
13.4.1 部署图的Rose操作 183
13.4.2 绘制机票预订系统的部署图 185
小结 185
习题 186
第三部分 建模过程剖析
第14章 统一软件开发过程 189
14.1 统一软件开发过程概述 189
14.1.1 什么是软件开发过程 189
14.1.2 统一软件开发过程简介 190
14.1.3 统一软件开发过程发展历程 190
14.2 过程总览 191
14.3 阶段和迭代——时间维度 191
14.3.1 起始阶段 192
14.3.2 细化阶段 193
14.3.3 构建阶段 194
14.3.4 转化阶段 195
14.3.5 迭代 195
14.4 过程的静态结构 196
14.4.1 工作者 196
14.4.2 活动 196
14.4.3 制品 197
14.4.4 工作流 197
14.5 核心工作流 197
14.6 在统一软件开发过程中使用UML 200
14.6.1 起始阶段常用UML图 201
14.6.2 细化阶段常用UML图 202
14.6.3 构建阶段常用UML图 202
14.6.4 转化阶段常用UML图 203
小结 204
习题 205
第15章 小型网上书店系统 207
15.1 小型网上书店系统的需求分析 207
15.1.1 项目背景描述 207
15.1.2 系统需求分析 207
15.1.3 用户管理模块 208
15.1.4 订单管理模块 208
15.1.5 书目管理模块 208
15.2 系统的UML基本模型 209
15.2.1 需求分析阶段模型 209
15.2.2 基本动态模型 210
15.3 类的设计与实现 212
15.3.1 系统设计类 213
15.3.2 类的实现 214
15.4 系统的组件图和部署图 215
15.4.1 系统的组件图 215
15.4.2 系统的部署图 215
第16章 小型二手货交易系统 217
16.1 需求分析部分 217
16.1.1 子系统划分 218
16.1.2 系统功能需求 218
16.1.3 非功能需求 221
16.2 系统设计部分 221
16.2.1 系统设计类图 221
16.2.2 关键用例的动态模型 224
16.2.3 类的代码框架 227
第17章 汽车服务管理系统 229
17.1 汽车服务管理系统的需求分析 229
17.1.1 系统功能需求 229
17.1.2 车辆及路线管理模块 230
17.1.3 人员管理模块 230
17.1.4 信息管理模块 230
17.2 系统的UML基本模型 230
17.2.1 需求分析阶段模型 230
17.2.2 基本动态模型 231
17.3 系统中的类 234
17.3.1 系统类图 234
17.3.2 生成类的代码框架 236
17.4 系统的划分与部署 237
17.4.1 系统的包图 237
17.4.2 系统的部署图 237
附录 习题答案 238
参考文献 248