第1章 系统建模与分析设计技术的演变 1
1.1软件的概念、特点和分类 1
1.2软件的发展与软件工程 4
1.3软件开发模型的演变和生存周期 6
软件开发过程与模型的演变 6
软件开发模型的选择 10
软件生存周期 12
1.4软件开发方法简介 16
结构化软件开发方法 17
模块化软件开发方法 18
面向数据结构软件开发方法 18
面向对象软件开发方法 19
软件开发方法的评价与选择 21
1.5面向对象软件开发方法简介 21
面向对象的基本概念 22
面向对象系统开发过程 26
几种典型的面向对象方法简介 26
1.6本章小结 29
1.7习题 29
第2章 统一建模语言UML 31
2.1 UML模型系统体系结构 31
UML的诞生与发展 31
UML的特点 32
软件系统体系结构的描述 33
UML模型元素 34
2.2 UML系统模型与建模 34
用例模型及组成成分 35
静态模型与系统体系结构建模 35
动态模型与行为控制流建模 38
2.3 UML系统体系结构模型 42
子系统组织的系统体系结构 42
系统模型组织的系统体系结构 43
系统体系结构模型的描述方式 43
2.4 UML的扩展、调整机制 44
模型元素的分类与标记 45
模型元素的特性规格说明 47
模型元素的语义扩展与约束 48
2.5 UML与面向对象的软件开发统一过程 49
UML支持迭代、渐增式的软件开发过程 50
软件开发步骤及核心支持活动 51
UML软件开发过程产生的模型与文档 53
UML软件开发过程的基本特征 54
2.6本章小结 55
2.7习题 56
第3章 需求分析与用例建模 59
3.1可行性研究与风险分析 59
经济可行性研究 59
技术可行性分析 60
法律可行性分析 61
开发方案可行性分析研究 61
可行性分析报告文档格式 62
3.2客户需求分析与用例建模 62
建造需求模型——用例建模 63
用例图 65
定义系统的边界和范围 65
确定执行者 66
确定用例 68
用例之间的关联 71
用例图实例 74
3.3定义系统的对象和类 74
确定对象类 75
标识对象类的属性 76
标识对象类的操作 77
标识对象类之间的关联(协作) 78
复审类的定义 79
定义类的结构和层次 79
3.4客户需求分析规格说明 80
3.5需求分析中的用例建模步骤 81
用例的类型 81
建立用例图 82
层次化用例图 82
3.6客户需求分析中的活动图 83
一个简单的活动图例子 83
活动图的基本描述图符 85
活动图中的几个基本概念 87
活动图中的并发与同步活动 88
3.7需求分析用例建模案例 91
客户需求分析 91
确定系统范围和系统边界 95
确定执行者 95
确定用例 96
分层绘制用例图 97
描述用例 100
用活动图描述用例 104
活动图中的同步线程、层次关系及活动图的细化 106
3.8本章小结 108
3.9习题 109
第4章 系统分析与对象类建模 111
4.1系统分析 111
建造对象类静态结构模型 111
建造对象动态结构模型 112
建造系统功能处理模型 113
编制系统分析规格说明文档 113
4.2对象类的概念 114
对象类图的图形符号表示 114
对象图是类图的一个实例 115
一个对象类图的简单例子 116
4.3描述对象类 118
类的属性描述 118
类的操作描述 118
4.4类之间的关系 119
关联关系 119
聚集关联 123
继承关系 125
依赖和细化关系 126
对象设计模式 127
4.5接口 129
接口的定义 130
接口的实施 131
4.6系统体系结构的分层次描述 131
系统体系结构的基本单元——包(子系统) 131
包的嵌套 132
包之间的依赖和继承关系 133
4.7对象类静态模型建模的步骤 134
4.8对象类静态模型建模案例 135
建立对象类 135
定义用户接口 137
根据类之间的关系绘制类图 139
确定和建立系统包图 141
4.9本章小结 142
4.10习题 143
第5章 系统设计与对象动态交互模型 145
5.1系统设计 145
反复迭代的系统设计方式 145
系统对象设计 145
系统体系结构设计 146
系统设计的优化和审查 147
系统设计规格说明报告 147
5.2交互模型建模 148
对象之间的通信 148
同步通信与异步通信 149
5.3顺序图建模 149
一个简单的顺序图例子 149
对象之间的同步与异步操作 151
顺序图中的分支控制 153
顺序图中的约束标记 155
顺序图中的循环处理操作 155
对象的创建和消亡 156
5.4合作图建模 157
合作图的组成成分 158
合作图中对象的创建与消亡 159
嵌套消息与顺序消息的标识 161
异步操作中的回调消息 162
循环发送同一个重复消息 164
5.5动态交互模型——控制流建模 164
5.6动态交互模型建模案例——销售合同管理子系统 165
子系统的用例模型和对象静态模型 165
顺序图建模步骤 166
合作图建模步骤 169
5.7本章小结 172
5.8习题 173
第6章 系统动态建模——状态模型 175
6.1状态图的基本组成成分 175
对象状态的基本描述图符 176
状态的改变——迁移 178
一个无人职守电梯升降的状态图 179
6.2状态的分类与描述 181
对象的状态属性 181
简单状态与嵌套状态 182
状态的顺序迁移 184
状态的并发迁移与同步 184
嵌套状态中的历史状态指示器 185
6.3状态迁移的触发与描述 186
状态的迁移触发 186
触发状态迁移的事件 187
触发状态迁移的条件 189
触发状态迁移的动作表达式 189
状态迁移的分类 189
状态图之间的通信联系 190
6.4活动图与状态图的比较 191
状态图与活动图的相同点 191
状态图与活动图的不同点 192
6.5动态状态模型建模案例——信贷管理子系统 195
系统的用例模型和对象静、动态模型 195
状态图建模步骤 196
“信贷管理子系统”状态图建模 197
活动图建模步骤 200
“信贷管理子系统”的活动图建模 202
6.6本章小结 202
6.7习题 203
第7章 系统体系结构建模 205
7.1系统体系结构模型 205
软件系统体系结构模型 206
硬件系统体系结构模型 208
7.2软件系统体系结构建模 208
软件构件的图符表示和特点 209
构件的分类 211
构件的接口 212
构件图建模步骤 213
构件图建模的方法和技巧 216
7.3硬件系统体系结构建模 217
配置图的基本元素——结点 218
配置图中的构件 219
配置图中的对象 219
结点之间的关联 220
配置图建模步骤 221
硬件系统体系结构模型 222
7.4系统体系结构模型建模案例——诊疗管理子系统 223
“诊疗管理”子系统的功能分析 223
“诊疗管理”子系统软件系统体系结构建模 224
“诊疗管理”子系统硬件系统体系结构建模 226
7.5本章小结 228
7.6习题 229
第8章 设计模式及其应用 231
8.1设计模式概述 231
模式和设计模式的概念 231
设计模式的描述 232
设计模式的作用和研究意义 233
8.2设计模式的分类及其相互关系 233
创建型设计模式 233
结构型设计模式 234
行为型设计模式 234
8.3经典设计模式 235
工厂模式 235
适配器模式 239
命令模式 240
解释器模式 241
迭代器模式 242
观察者模式 243
代理模式 245
单例模式 246
状态模式 247
策略模式 248
访问者模式 250
8.4设计模式遵循的原则和使用策略 252
设计模式遵循的原则 252
设计模式的使用策略 253
8.5几种设计模式应用探析 254
UML设计模式分析 254
MFC框架设计模式分析 255
XMI设计模式分析 256
8.6本章小结 257
8.7习题 258
第9章 软件复用与构件接口技术 260
9.1面向对象技术的发展与技术支持 260
9.2软件复用技术的发展与应用 261
软件复用的形式与过程 262
软件复用的类型与特点 264
可复用软件构件的生产与使用过程 265
软件复用的基础——可复用构件系统 266
可复用软件的系统化生产与复用 269
9.3构件接口技术 271
COM+构件模型的系统体系结构 271
EJB构件模型的系统体系结构 277
CORBA模型的系统体系结构 280
9.4面向对象数据库管理系统 285
持久对象的完整性和安全性 286
面向对象数据库与持久对象 286
关系数据库与持久对象 287
关系数据库与面向对象数据库比较 289
9.5分布式系统体系结构模型 290
客户/服务器模型 290
浏览器/服务器模型 291
分布式网络计算技术与模型 292
9.6集成化CASE工具软件开发环境 293
CASE工具的种类及其特征 294
集成化CASE环境系统体系结构 298
面向对象集成化CASE工具系统体系结构 302
9.7本章小结 304
9.8习题 305
附录 集成化OOCASE工具Rose简介 307
参考文献 323