第1章 认识Use Case 1
1.1 什么是Use Case 2
1.2 认识Use Case及其场景 3
1.3 Use Case模型与Use Case描述 4
1.4 Use Case、对象与系统的亲密关系 9
1.5 Use Case的经济意义 10
1.6 UML从3个角度表达Use Case 13
1.6.1 从用户角度看Use Case 14
1.6.2 从用户与系统的交互角度看Use Case 15
1.6.3 从对象的合作角度看Use Case 16
1.7 以Use Case表达创新功能 17
1.8 Use Case间的关系 20
1.8.1 包含关系 22
1.8.2 扩展关系 25
1.9 以Use Case表达Web Service接口 28
1.9.1 Use Case与Web Service接口的亲密关系 28
1.9.2 Use Case与Web Service的应用示例 31
1.10 免费的UML开发工具StarUML 37
1.11 习题 39
第2章 使用StarUML绘制Use Case图 43
2.1 创建新Use Case图 44
2.1.1 创建新Use Case图的途径之一 44
2.1.2 创建新Use Case图的途径之二 45
2.1.3 删除Use Case图的途径 46
2.1.4 关闭Use Case图的途径 47
2.1.5 Use Case图的工具箱 47
2.2 绘制Use Case图的内容 48
2.2.1 新增Actor 48
2.2.2 删除Actor 49
2.2.3 为Actor添加Stereotype 50
2.2.4 新增Use Case 51
2.2.5 为Use Case添加Stereotype 52
2.2.6 删除Use Case 53
2.2.7 新增结合关系 53
2.2.8 删除关联关系 54
2.2.9 综合练习 55
2.3 编写Use Case描述 55
2.3.1 文档页区 55
2.3.2 批注 56
2.4 习题 59
第3章 找出优质的系统Use Case 61
3.1 何谓优质的系统Use Case 62
3.2 关心企业服务 62
3.2.1 “企业Use Case图”示例 62
3.2.2 “业务活动图”示例 64
3.3 从“业务Use Case图”出发 65
3.3.1 美妙的关联性 65
3.3.2 程序的演练 69
3.3.3 StarUML的应用 72
3.4 从“企业活动图”出发 75
3.4.1 美妙的关联性 75
3.4.2 程序演练与实例解说:以机器人控制系统为例 77
3.5 习题 83
第4章 如何编写Use Case描述 85
4.1 一般场景与替代场景 86
4.2 Use Case描述的格式 88
4.2.1 常见的格式 88
4.2.2 编码的格式 93
4.3 实例观摩与演练 95
4.4 习题 97
第5章 Use Case的分解 99
5.1 从活动的分解看Use Case 100
5.2 Use Case伴随对象的分解而分解 102
5.3 习题 108
第6章 Use Case的沟通 109
6.1 Use Case沟通的困惑 110
6.2 厘清“沟通”的涵义 110
6.3 Use Case图不表达Use Case的沟通 114
6.4 习题 118
第7章 Test Case的设计与执行 121
7.1 认识Test Case分析 122
7.2 “青蛙王子”实例解说 123
7.2.1 系统开发 123
7.2.2 Test Case设计 127
7.2.3 编写Test Case代码 130
7.3 习题 133
第8章 Use Case实现示例之一 135
8.1 整体系统规划 136
8.1.1 整体系统的Use Case图 136
8.1.2 整体系统的类图 136
8.2 使用Visual Basic.Net开发“贩卖机控制系统” 137
8.2.1 设计UseCase图 137
8.2.2 设计序列图 138
8.2.3 编写Visual Basic.Net代码 140
8.3 开发客户端应用程序系统 142
8.3.1 设计Use Case图 142
8.3.2 设计序列图 143
8.4 以Java实现本章示例 146
8.5 习题 152
第9章 Use Case实现示例之二 153
9.1 Use Case-Driven与I&I 154
9.2 进行企业目标分析 155
9.2.1 绘制企业Use Case图 155
9.2.2 编写Use Case描述 156
9.3 导出系统Use Case图 158
9.4 分析主要类 162
9.5 设计详细类图 162
9.6 迭代一:“客户入会” 163
9.6.1 设计序列图 163
9.6.2 编写Java代码 164
9.7 迭代二:“查询会员数据” 170
9.7.1 设计序列图 170
9.7.2 编写Java代码 171
9.8 依序迭代下去,完成整个项目 171
9.9 习题 171
第10章 Use Case实现示例之三 173
10.1 基础“录音”概念和技术 174
10.1.1 认识PCM规格 174
10.1.2 设定录音格式 175
10.1.3 设定缓冲区格式 175
10.1.4 将音频数据写入.wav音频文件 176
10.1.5 使用Win32所提供的API 177
10.2 “声音录制”示例分析与设计 177
10.2.1 绘制系统Use Case图 177
10.2.2 绘制类图 178
10.2.3 绘制序列图 179
10.3 使用Visual Basic.Net实现“声音录制”示例 180
10.4 扩展“声音录制”示例 187
10.4.1 新(扩展的)系统的分析与设计 187
10.4.2 新(扩展的)系统的实现 189
10.5 习题 189
第11章 Use Case实现示例之四 191
11.1 认识嵌入式/实时系统 192
11.2 简介UML的Stereotype概念 194
11.3 认识SystemC 195
11.3.1 简介 195
11.3.2 编写一个简单的SystemC程序 196
11.4 Toggle Light系统的分析与设计 199
11.4.1 分析系统Use Case 200
11.4.2 分析系统类 200
11.4.3 表达Use Case的实现 201
11.4.4 以Use Case表达进程的合作 201
11.4.5 设计序列图 202
11.5 使用C++和SystemC实现Toggle Light系统 203
11.5.1 编写应用程序代码 203
11.5.2 编写Win32应用程序代码 208
11.5.3 开始模拟 211
11.6 习题 211
第12章 Use Case实现示例之五 213
12.1 简介Spring的IoC概念 214
12.1.1 先认识“正向控制” 214
12.1.2 “反向控制”的意义 215
12.1.3 Spring框架的IoC机制 216
12.2 Spring应用示例分析与设计 218
12.2.1 绘制系统Use Case图 218
12.2.2 IoC模块的Use Case图 220
12.2.3 绘制类图 220
12.2.4 绘制序列图 221
12.2.5 设计Spring的Bean定义文件 224
12.3 Spring应用示例的实现 225
12.4 习题 238
第13章 Use Case实现示例之六 239
13.1 简介涂鸦的概念 240
13.1.1 形形色色的涂鸦程序 240
13.1.2 “涂鸦程序”示例说明 241
13.2 “涂鸦程序”示例分析与设计 242
13.2.1 绘制系统Use Case图 242
13.2.2 绘制类图 245
13.2.3 绘制Scribble类的状态图 245
13.2.4 绘制序列图 246
13.3 使用Eclipse/Java实现“涂鸦程序”示例 249
13.4 习题 258
第14章 Use Case实现示例之七 259
14.1 简介AHP层次分析法 260
14.2 AHP的分析步骤 261
14.3 采用“成对相比”法得到权数值 262
14.3.1 成对相比 262
14.3.2 由“成对比值”算出“权数值” 266
14.3.3 “成对比值”的一致性检验 271
14.4 “AHP程序”示例分析与设计 273
14.4.1 绘制系统Use Case图 273
14.4.2 绘制类图 274
14.4.3 绘制序列图 275
14.5 使用Eclipse/Java实现“AHP程序”示例 277
14.5.1 准备决策数据 277
14.5.2 以Java编写AHP程序 279
14.6 习题 285