第1章 面向对象技术概述 1
1.1 面向对象方法学 1
1.1.1 面向对象方法学概述 1
1.1.2 面向对象方法学的基本特征 3
1.2 面向对象的类和对象 6
1.3 面向对象程序设计语言 7
1.4 小结 9
1.5 习题 9
第2章 RUP软件开发过程 10
2.1 RUP软件开发过程概述 10
2.1.1 RUP简介 10
2.1.2 RUP主要特点 10
2.1.3 RUP最佳实践 11
2.2 RUP过程框架 12
2.2.1 RUP过程框架模型 12
2.2.2 RUP过程阶段 13
2.2.3 RUP迭代开发模式 14
2.3 RUP的静态结构 14
2.4 RUP的角色 16
2.4.1 分析员角色集 17
2.4.2 开发人员角色集 17
2.4.3 测试人员角色集 17
2.4.4 经理角色集 18
2.4.5 其他角色集 18
2.5 RUP的活动 18
2.5.1 先启阶段核心活动 18
2.5.2 细化阶段核心活动 18
2.5.3 构建阶段核心活动 19
2.5.4 产品化阶段核心活动 19
2.6 RUP的工件 19
2.7 小结 19
2.8 习题 20
第3章 UML概述 21
3.1 什么是UML 21
3.1.1 UML简介 21
3.1.2 UML的主要作用 21
3.2 UML演变 23
3.3 UML组成 24
3.3.1 用例图 25
3.3.2 类图、对象图、包图 25
3.3.3 状态图、活动图 25
3.3.4 顺序图、协作图 26
3.3.5 构件图、部署图 27
3.4 UML的应用领域 27
3.5 UML 2.0的新特性 28
3.6 小结 30
3.7 习题 30
第4章 UML工具 31
4.1 UML工具介绍 31
4.2 主要UML工具介绍 33
4.3 Rational Rose的主要功能 34
4.4 Rational Rose窗口介绍 35
4.4.1 窗口的构成 36
4.4.2 浏览器 36
4.4.3 文档窗口 38
4.4.4 工具栏 38
4.4.5 框图窗口 40
4.4.6 日志 40
4.5 Rose模型视图 41
4.6 Rational Rose框图创建 43
4.6.1 创建Rose模型 43
4.6.2 创建用例图 45
4.6.3 创建类图 47
4.6.4 创建状态图 50
4.6.5 创建活动图 51
4.6.6 创建顺序图 52
4.6.7 创建协作图 54
4.6.8 创建构件图 55
4.7 Rational Rose的双向工程 56
4.7.1 正向工程 56
4.7.2 逆向工程 58
4.8 小结 59
4.9 习题 59
第5章 用例和用例图 61
5.1 用例图概述 61
5.2 为什么要使用用例图 62
5.3 用例图元素 62
5.3.1 执行者 62
5.3.2 用例 63
5.3.3 系统 64
5.3.4 关系 64
5.3.5 用例描述 67
5.4 用例图图符 70
5.5 用例粒度 71
5.6 用例图应用 73
5.6.1 用户需求 73
5.6.2 需求分析 74
5.6.3 需求描述 76
5.7 小结 79
5.8 习题 80
第6章 顺序图和协作图 81
6.1 顺序图概述 81
6.2 顺序图元素 82
6.2.1 对象 82
6.2.2 生命线 83
6.2.3 激活 83
6.2.4 消息 83
6.3 顺序图图符 85
6.4 顺序图理解 86
6.4.1 条件分支 87
6.4.2 从属流 88
6.4.3 消息延迟 88
6.4.4 循环 88
6.4.5 顺序图片段 90
6.5 顺序图应用 91
6.6 协作图概述 92
6.7 协作图元素 92
6.7.1 对象 92
6.7.2 多对象 93
6.7.3 主动对象 93
6.7.4 链 93
6.7.5 消息 93
6.7.6 消息种类 94
6.7.7 消息序列化 94
6.8 协作图图符 95
6.9 协作图理解 95
6.10 协作图应用 96
6.11 顺序图与协作图之间关系 97
6.12 小结 98
6.13 习题 98
第7章 类图和对象图 99
7.1 类图概述 99
7.2 类图元素 100
7.2.1 类名称 100
7.2.2 属性 100
7.2.3 方法 101
7.2.4 可见性 101
7.3 类间关系 102
7.3.1 关联 102
7.3.2 泛化 103
7.3.3 依赖 104
7.3.4 其他关系 104
7.4 抽象类 105
7.5 类图图符 106
7.6 类图理解 107
7.7 类图应用 108
7.7.1 类图的层次 108
7.7.2 需求描述 108
7.7.3 类的提取 109
7.7.4 类图设计 109
7.8 对象图概述 110
7.9 对象图应用 112
7.10 小结 113
7.11 习题 113
第8章 包 114
8.1 概述 114
8.2 包图图符 115
8.3 包图理解 115
8.3.1 包中元素 115
8.3.2 包的可见性 115
8.3.3 包间关系 116
8.4 包图应用 118
8.5 包的设计原则 119
8.5.1 重用发布等价原则 120
8.5.2 无环依赖原则 120
8.5.3 稳定抽象等价原则 121
8.5.4 稳定依赖原则 121
8.5.5 共同封闭原则 122
8.5.6 全部重用原则 122
8.6 小结 123
8.7 习题 123
第9章 状态图和活动图 124
9.1 状态图概述 124
9.1.1 状态机 124
9.1.2 状态图概述 125
9.2 状态图元素 126
9.2.1 起点和终点 126
9.2.2 状态 126
9.2.3 事件 127
9.2.4 转换 128
9.2.5 复合状态和子状态 128
9.3 状态图图符 129
9.4 状态图应用 130
9.4.1 状态分析 130
9.4.2 状态图描述 131
9.5 活动图概述 131
9.6 活动图元素 132
9.6.1 起点和终点 132
9.6.2 活动 133
9.6.3 转移 133
9.6.4 接收信号和发送信号 133
9.6.5 决策点和汇合点 134
9.6.6 分岔和汇合 134
9.6.7 泳道 134
9.7 活动图图符 135
9.8 活动图应用 136
9.8.1 过程分析 136
9.8.2 活动连接 136
9.8.3 活动图描述 137
9.9 小结 138
9.10 习题 138
第10章 构件图 139
10.1 构件图概述 139
10.2 构件图元素 139
10.2.1 构件 140
10.2.2 接口 141
10.2.3 依赖关系 142
10.3 构件图图符 142
10.4 构件图理解 143
10.5 构件图应用 144
10.6 小结 145
10.7 习题 146
第11章 部署图 147
11.1 部署图概述 147
11.2 部署图元素 147
11.2.1 节点 148
11.2.2 关联关系 149
11.3 部署图图符 149
11.4 部署图理解 150
11.5 部署图应用 151
11.6 小结 153
11.7 习题 153
第12章 面向对象实现技术 154
12.1 面向对象的程序设计语言 154
12.2 类和接口的设计 155
12.2.1 类的设计 155
12.2.2 接口的设计 156
12.3 类的实现 158
12.3.1 方法的实现 158
12.3.2 代码设计 158
12.3.3 类的包装 160
12.4 小结 161
12.5 习题 161
第13章 UML项目实训 163
13.1 项目启动 163
13.1.1 建立项目组 163
13.1.2 制定开发计划 164
13.2 项目需求分析 165
13.2.1 需求获取 166
13.2.2 需求描述 166
13.2.3 软件界面描述 167
13.2.4 游戏规则定义 168
13.2.5 游戏说明 168
13.3 使用UML进行系统设计 169
13.3.1 系统备选对象 169
13.3.2 系统对象分析 170
13.3.3 系统类图设计 171
13.4 使用UML进行类设计 172
13.4.1 添加系统类 172
13.4.2 类图设计 172
13.4.3 添加属性 173
13.4.4 添加方法 173
13.4.5 类图设计 174
13.5 UML设计模型到代码实现转换 175
13.6 UML在测试阶段的应用 184
13.7 项目总结 185
13.8 小结 185
13.9 习题 185