软件建模与设计 UML用例模式和软件体系结构PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:(美)戈马,彭鑫,吴毅坚,赵文耘
- 出 版 社:北京:机械工业出版社
- 出版年份:2014
- ISBN:9787111467595
- 页数:426 页
第一部分 概览 2
第1章 引言 2
1.1软件建模 2
1.2面向对象方法与统一建模语言 2
1.3软件体系结构设计 3
1.4方法和表示法 3
1.5 COMET:一种基于UML的软件应用建模和设计方法 4
1.6 UML标准 4
1.7软件体系结构的多视图 5
1.8软件建模和设计方法的发展 5
1.9面向对象分析和设计方法的发展 7
1.10并发、分布式和实时设计方法 8
1.11总结 8
练习 8
第2章 UML表示法概述 10
2.1 UML图 10
2.2用例图 10
2.3类和对象 11
2.4类图 12
2.4.1关联 12
2.4.2聚合和组合层次 12
2.4.3泛化和特化层次 13
2.4.4可见性 13
2.5交互图 13
2.5.1通信图 13
2.5.2顺序图 13
2.6状态机图 14
2.7包 15
2.8并发通信图 16
2.9部署图 17
2.10 UML扩展机制 17
2.10.1构造型 18
2.10.2标记值 18
2.10.3约束 18
2.11本书的约定 19
2.11.1需求建模 19
2.11.2分析建模 19
2.11.3设计建模 20
2.12总结 20
练习 20
第3章 软件生存周期模型和过程 22
3.1软件生存周期模型 22
3.1.1瀑布生存周期模型 22
3.1.2瀑布模型的局限性 22
3.1.3抛弃型原型 24
3.1.4通过增量开发的演化式原型 24
3.1.5抛弃型原型和增量开发的结合 24
3.1.6螺旋模型 27
3.1.7统一软件开发过程 27
3.2设计验证和确认 28
3.2.1软件质量保证 29
3.2.2软件设计的性能分析 29
3.3软件生存周期的活动 29
3.3.1需求分析和规约 29
3.3.2体系结构设计 29
3.3.3详细设计 30
3.3.4编码 30
3.4软件测试 30
3.4.1单元测试 30
3.4.2集成测试 30
3.4.3系统测试 30
3.4.4验收测试 30
3.5总结 31
练习 31
第4章 软件设计和体系结构概念 32
4.1面向对象概念 32
4.2信息隐藏 33
4.2.1面向对象设计中的信息隐藏 34
4.2.2信息隐藏示例 34
4.2.3设计信息隐藏对象 36
4.3继承和泛化/特化 36
4.4并发处理 37
4.4.1顺序应用与并发应用 38
4.4.2并发对象 38
4.4.3并发对象间的协作 38
4.4.4同步问题 38
4.4.5生产者/消费者问题 40
4.4.6异步消息通信 40
4.4.7带回复的同步消息通信 40
4.5设计模式 41
4.6软件体系结构和构件 41
4.6.1构件和构件接口 42
4.6.2连接器 42
4.7软件质量属性 42
4.8总结 42
练习 43
第5章 软件建模和设计方法概览 44
5.1COMET基于用例的软件生存周期 44
5.1.1需求建模 44
5.1.2分析建模 44
5.1.3设计建模 44
5.1.4增量软件构建 46
5.1.5增量软件集成 46
5.1.6系统测试 46
5.2 COMET生存周期与其他软件过程的比较 46
5.2.1 COMET生存周期与统一软件开发过程对比 46
5.2.2 COMET生存周期与螺旋模型对比 47
5.3需求、分析和设计建模 47
5.3.1需求建模中的活动 47
5.3.2分析建模中的活动 47
5.3.3设计建模中的活动 48
5.4设计软件体系结构 48
5.5总结 49
练习 49
第二部分 软件建模 52
第6章 用例建模 52
6.1需求建模 52
6.1.1需求分析 52
6.1.2需求规约 53
6.1.3软件需求规约的质量属性 53
6.2用例 54
6.3参与者 55
6.3.1参与者、角色和用户 55
6.3.2主要和次要参与者 55
6.3.3对参与者建模 55
6.3.4谁是参与者 57
6.4标识用例 57
6.5用例模型中文档化用例 57
6.6用例描述示例 58
6.7用例关系 59
6.8包含关系 59
6.8.1包含关系和包含用例示例 60
6.8.2结构化冗长的用例 61
6.9扩展关系 61
6.9.1扩展点 62
6.9.2扩展点和扩展用例示例 64
6.10用例组织指南 64
6.11规定非功能性需求 64
6.12用例包 65
6.13活动图 65
6.14总结 66
练习 67
第7章 静态建模 68
7.1类之间的关联 68
7.1.1类图描述关联 68
7.1.2关联的多重性 69
7.1.3三元关联 71
7.1.4一元关联 71
7.1.5关联类 71
7.2组合和聚合层次 72
7.3泛化/特化层次 73
7.4约束 73
7.5静态建模和UML 74
7.6系统上下文的静态建模 75
7.7使用UML构造型对类分类 76
7.8外部类建模 77
7.8.1从外部类开发软件系统上下文类图示例 78
7.8.2参与者和外部类 78
7.8.3从参与者开发软件系统上下文类图示例 79
7.9实体类的静态建模 80
7.10总结 81
练习 82
第8章 对象和类组织 83
8.1对象和类的组织准则 83
8.2对应用类和对象建模 83
8.3对象和类的组织分类 84
8.4外部类与软件边界类 85
8.5边界类和对象 85
8.5.1用户交互对象 85
8.5.2代理对象 86
8.5.3设备I/O边界对象 87
8.5.4描述外部类和边界类 88
8.6实体类和对象 89
8.7控制类和对象 90
8.7.1协调者对象 90
8.7.2状态相关的控制对象 91
8.7.3计时器对象 91
8.8 应用逻辑类和对象 92
8.8.1业务逻辑对象 92
8.8.2算法对象 92
8.8.3服务对象 94
8.9总结 94
练习 94
第9章 动态交互建模 96
9.1对象交互建模 96
9.1.1通信图 96
9.1.2顺序图 97
9.1.3对象交互建模的分析和设计决策 97
9.1.4顺序图和通信图对比 98
9.1.5用例和场景 98
9.1.6通用和实例形式的交互图 99
9.2交互图上的消息序列编号 99
9.2.1交互图上的消息标签 99
9.2.2交互图上的消息序列编号 100
9.2.3并发和可替换的消息序列 100
9.2.4消息序列描述 101
9.3动态交互建模 101
9.4无状态动态交互建模 101
9.5无状态动态交互建模示例 102
9.5.1查看警报示例 102
9.5.2下单请求示例 103
9.6总结 110
练习 110
第10章 有限状态机 112
10.1有限状态机和状态转换 112
10.1.1事件 112
10.1.2状态 113
10.2状态图示例 113
10.2.1 ATM状态图示例 113
10.2.2微波炉状态图示例 115
10.3事件和警戒条件 116
10.4动作 117
10.4.1状态转换中的动作 117
10.4.2进入动作 119
10.4.3退出动作 119
10.5层次化状态图 120
10.5.1层次化状态分解 121
10.5.2复合状态 121
10.5.3状态转换的聚合 121
10.5.4正交状态图 122
10.6开发状态图的指导原则 123
10.7从用例开发状态图 124
10.8从用例开发状态图示例 125
10.8.1为每个用例开发状态图 125
10.8.2考虑可替换序列 126
10.8.3开发集成的状态图 126
10.8.4开发层次化状态图 128
10.9总结 129
练习 130
第11章 状态相关的动态交互建模 132
11.1状态相关的动态交互建模中的步骤 132
11.2使用交互图和状态图对交互场景建模 132
11.3状态相关的动态交互建模示例:银行系统 133
11.3.1确定主序列 133
11.3.2确定可替换序列 135
11.3.3主序列:有效PIN码 136
11.3.4可替换序列:无效PIN码 136
11.3.5可替换序列:第三次无效PIN码 137
11.3.6可替换序列:被盗的或过期的卡片 137
11.3.7所有场景通用的交互图 138
11.3.8控制对象和状态图的编序 138
11.4总结 140
练习 141
第三部分 软件体系结构设计 144
第12章 软件体系结构概览 144
12.1软件体系结构以及基于构件的软件体系结构 144
12.1.1基于构件的软件体系结构 144
12.1.2体系结构构造型 145
12.2软件体系结构的多视图 145
12.2.1软件体系结构的结构视图 145
12.2.2软件体系结构的动态视图 145
12.2.3软件体系结构的部署视图 147
12.3软件体系结构模式 147
12.3.1抽象分层体系结构模式 148
12.3.2调用/返回模式 150
12.3.3异步消息通信模式 150
12.3.4带回复的同步消息通信模式 153
12.4描述软件体系结构模式 153
12.5接口设计 154
12.6设计软件体系结构 155
12.7总结 157
练习 157
第13章 软件子系统体系结构设计 159
13.1软件体系结构设计中的问题 159
13.2集成通信图 160
13.3子系统设计中的关注点分离 162
13.3.1复合对象 162
13.3.2地理位置 164
13.3.3客户端和服务 164
13.3.4用户交互 164
13.3.5外部对象的接口 164
13.3.6控制范围 165
13.4子系统组织准则 166
13.4.1客户端子系统 166
13.4.2用户交互子系统 166
13.4.3服务子系统 168
13.4.4控制子系统 168
13.4.5协调者子系统 169
13.4.6输入/输出子系统 170
13.5子系统间消息通信的决策 170
13.6总结 172
练习 172
第14章 设计面向对象的软件体系结构 174
14.1面向对象的软件体系结构的概念、体系结构和模式 174
14.2设计信息隐藏类 174
14.3设计类接口和操作 175
14.3.1基于交互模型设计类操作 175
14.3.2基于交互模型设计类操作示例 176
14.3.3基于静态模型设计类操作 177
14.4数据抽象类 177
14.5状态机类 178
14.6图形用户交互类 179
14.7业务逻辑类 180
14.8设计中的继承 180
14.8.1类继承 180
14.8.2抽象类 182
14.8.3抽象类和子类示例 182
14.8.4抽象超类和子类设计 184
14.9类接口规约 185
14.10信息隐藏类的详细设计 186
14.10.1账户抽象超类的详细设计 187
14.10.2支票账户子类的详细设计 187
14.10.3储蓄账户子类的详细设计 188
14.11多态和动态绑定 188
14.12 Java中类的实现 189
14.13总结 190
练习 190
第15章 设计客户端/服务器软件体系结构 192
15.1客户端/服务器体系结构的概念、体系结构和模式 192
15.2客户端/服务软件体系结构的结构模式 192
15.2.1多客户端/单服务体系结构模式 192
15.2.2多客户端/多服务体系结构模式 194
15.2.3多层客户端/服务体系结构模式 195
15.3客户端/服务器体系结构的通信模式 195
15.3.1带回复的同步消息通信模式 196
15.3.2带回调的异步消息通信模式 196
15.4客户端/服务器系统的中间件 197
15.4.1客户端/服务器系统平台 197
15.4.2 Java远程方法调用 198
15.5服务子系统的设计 199
15.5.1顺序性服务的设计 199
15.5.2顺序性服务设计示例 199
15.5.3并发服务设计 200
15.6包装器类的设计 202
15.6.1数据库包装器类的设计 202
15.6.2数据库包装器类示例 202
15.7从静态模型到关系数据库的设计 203
15.7.1关系数据库概念 203
15.7.2确定主键 204
15.7.3将关联映射到外键 204
15.7.4将关联类映射到关联表 205
15.7.5将整体/部分关系映射到关系数据库 206
15.7.6将泛化/特化关系映射到关系数据库 207
15.8总结 208
练习 208
第16章 设计面向服务的体系结构 210
16.1面向服务的体系结构的概念、体系结构和模式 210
16.2软件体系结构代理者模式 211
16.2.1服务注册模式 211
16.2.2代理者转发模式 212
16.2.3代理者句柄模式 212
16.2.4服务发现模式 213
16.3面向服务的体系结构的技术支持 214
16.3.1 Web服务协议 214
16.3.2 Web服务 214
16.3.3注册服务 214
16.3.4代理和发现服务 215
16.4软件体系结构事务模式 215
16.4.1两阶段提交协议模式 216
16.4.2复合事务模式 218
16.4.3长事务模式 218
16.5协商模式 219
16.6面向服务体系结构中的服务接口设计 221
16.7面向服务体系结构中的服务协调 222
16.8设计面向服务的体系结构 223
16.9服务复用 225
16.10总结 225
练习 225
第17章 设计基于构件的软件体系结构 227
17.1基于构件的软件体系结构的概念、体系结构和模式 227
17.2设计基于构件的分布式软件体系结构 228
17.3复合子系统和构件 228
17.4使用 UML建模构件 229
17.4.1构件接口设计 229
17.4.2供给和请求接口 230
17.4.3连接器和交互构件 230
17.4.4设计复合构件 231
17.5构件组织准则 232
17.5.1与物理数据源的邻近性 232
17.5.2局部自治性 232
17.5.3性能 233
17.5.4特定硬件 233
17.5.5 I/O构件 234
17.6组消息通信模式 234
17.6.1广播消息通信模式 234
17.6.2订阅/通知消息通信模式 234
17.6.3使用订阅和通知的并发服务设计 236
17.7应用部署 237
17.7.1应用部署事务 237
17.7.2应用部署示例 239
17.8总结 239
练习 239
第18章 设计并发和实时软件体系结构 241
18.1并发和实时软件体系结构的概念、体系结构及模式 241
18.2实时系统的特点 241
18.3实时软件体系结构中的控制模式 242
18.3.1集中式控制体系结构模式 242
18.3.2分布式控制体系结构模式 242
18.3.3层次化控制体系结构模式 243
18.4并发任务组织 244
18.5 I/O任务组织准则 244
18.5.1事件驱动I/O任务 244
18.5.2周期性I/O任务 245
18.5.3按需驱动I/O任务 247
18.6内部任务组织准则 248
18.6.1周期性任务 248
18.6.2按需驱动任务 248
18.6.3控制任务 249
18.6.4用户交互任务 250
18.7开发并发任务体系结构 252
18.8任务通信和同步 254
18.8.1异步(松耦合)消息通信 254
18.8.2带回复的同步(紧耦合)消息通信 254
18.8.3不带回复的同步(紧耦合)消息通信 255
18.8.4事件同步 255
18.8.5信息隐藏对象上的任务交互 256
18.8.6修正的并发通信图 257
18.9任务接口和任务行为规约 257
18.9.1针对银行服务任务的TIS示例 259
18.9.2针对读卡器接口任务的TIS示例 259
18.10 Java中并发任务的实现 260
18.11总结 260
练习 261
第19章 设计软件产品线体系结构 262
19.1演化软件产品线工程 262
19.2软件产品线的需求建模 263
19.2.1软件产品线的用例建模 263
19.2.2特征建模 264
19.3软件产品线的分析建模 266
19.3.1软件产品线的静态建模 266
19.3.2软件产品线的动态交互建模 266
19.4软件产品线的动态状态机建模 268
19.5软件产品线的设计建模 269
19.5.1建模基于构件的软件体系结构 269
19.5.2软件体系结构模式 270
19.6总结 270
练习 271
第20章 软件质量属性 272
20.1可维护性 272
20.2可修改性 273
20.3可测试性 274
20.4可追踪性 274
20.5可扩展性 276
20.6可复用性 276
20.7性能 277
20.8安全性 278
20.9可用性 278
20.10总结 279
练习 279
第四部分 案例研究 282
第21章 客户端/服务器软件体系结构案例研究:银行系统 282
21.1问题描述 282
21.2用例模型 282
21.2.1“验证PIN码”用例 284
21.2.2具体的“取款”用例 284
21.2.3具体的“查询账户”用例 285
21.2.4具体的“转账”用例 286
21.3静态建模 286
21.3.1问题域的静态建模 286
21.3.2系统上下文的静态建模 286
21.3.3实体类的静态建模 289
21.4对象组织 290
21.4.1客户端/服务器子系统组织 290
21.4.2 ATM客户端对象和类的组织:边界对象 291
21.4.3 ATM客户端对象和类的组织:用例中的对象 292
21.4.4服务子系统中的对象组织 293
21.5动态建模 293
21.5.1客户端验证PIN码交互图的消息序列描述 294
21.5.2服务器端验证PIN码交互图的消息序列描述 297
21.5.3客户端取款交互图的消息序列描述 298
21.5.4服务器端取款交互图的消息序列描述 299
21.6 ATM状态图 303
21.6.1处理客户输入复合状态 304
21.6.2处理交易复合状态 306
21.6.3结束交易复合状态 307
21.7银行系统的设计 308
21.8集成通信模型 308
21.9将系统划分为子系统 310
21.10 ATM客户端子系统的设计 310
21.10.1设计ATM子系统并发任务体系结构 311
21.10.2定义ATM子系统任务接口 312
21.10.3设计ATM客户端信息隐藏类 314
21.11银行服务子系统的设计 316
21.11.1设计银行服务子系统并发任务体系结构 316
21.11.2设计银行服务信息隐藏类 317
21.11.3设计银行服务接口 318
21.12关系数据库设计 318
21.13银行系统的部署 320
21.14其他设计考虑 322
21.15 详细设计 322
21.15.1读卡器接口任务的事件顺序逻辑示例 322
21.15.2 ATM控制任务的事件顺序逻辑示例 323
21.15.3银行服务任务的事件顺序逻辑示例 324
第22章 面向服务的体系结构案例研究:在线购物系统 326
22.1问题描述 326
22.2用例建模 326
22.2.1“浏览目录”用例描述 327
22.2.2“下单请求”用例描述 328
22.2.3“处理配送订单”用例描述 328
22.2.4“确认配送和给客户开账单”用例描述 329
22.2.5“查看订单”用例的活动图 331
22.3静态建模 331
22.3.1软件系统上下文建模 331
22.3.2问题域的静态实体类建模 331
22.4对象和类组织 332
22.5动态建模 333
22.5.1“浏览目录”用例的动态建模 333
22.5.2“下单请求”用例的动态建模 334
22.5.3“处理配送订单”用例的动态建模 335
22.5.4“确认配送和给客户开账单”用例的动态建模 336
22.5.5“查看订单”用例的动态建模 337
22.6面向服务体系结构的代理者和包装器技术支持 338
22.7设计建模 338
22.7.1面向服务的体系结构概述 338
22.7.2分层软件体系结构 338
22.7.3体系结构通信模式 339
22.7.4并发软件设计 339
22.7.5服务接口设计 341
22.7.6面向服务的软件体系结构设计 344
22.7.7构件端口和接口设计 346
22.8服务复用 347
第23章 基于构件的软件体系结构案例研究:应急监控系统 348
23.1问题描述 348
23.2用例建模 348
23.2.1“查看监控数据”用例描述 349
23.2.2“查看警报”用例描述 349
23.2.3“生成监控数据”用例描述 350
23.2.4“生成警报”用例描述 350
23.3静态建模 351
23.4动态建模 351
23.4.1类和对象组织 351
23.4.2用例的通信图 352
23.4.3“查看警报”用例的通信图 352
23.4.4“查看监控数据”用例的通信图 353
23.4.5“生成警报”用例的通信图 354
23.4.6“生成监控状态”用例的通信图 354
23.5设计建模 355
23.5.1集成的通信图 355
23.5.2基于构件的分层体系结构 355
23.5.3体系结构通信模式 357
23.5.4基于分布式构件的软件体系结构 359
23.5.5构件和服务接口设计 359
23.6软件构件部署 362
第24章 实时软件体系结构案例研究:自动引导车辆系统 363
24.1问题描述 363
24.2用例建模 363
24.2.1“移动到站点”用例 364
24.2.2“发送车辆状态”用例 364
24.3静态建模 365
24.3.1概念静态模型 365
24.3.2软件系统上下文建模 365
24.4对象和类组织 366
24.5动态状态机建模 366
24.6动态交互建模 367
24.6.1“移动到站点”用例的动态建模 367
24.6.2“发送车辆状态”用例的动态建模 370
24.7设计建模 370
24.7.1集成通信图 370
24.7.2基于构件的工厂自动化系统软件体系结构 370
24.7.3自动引导车辆系统的软件体系结构 372
24.7.4并发软件体系结构 373
24.7.5体系结构通信模式 373
24.7.6基于构件的软件体系结构 375
24.7.7构件接口设计 377
附录A软件体系结构模式分类 379
附录B教学考虑 400
术语表 402
练习答案 412
参考文献 413
索引 420
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《软件工程》齐治昌,谭庆平,宁洪编著 2019
- 《柏里曼人体结构绘画教学描摹本 第2册 头手足结构》杨建飞主编 2019
- 《认知语言学视野的抽象方位结构研究》曹爽著 2019
- 《国内外辐射环境监测体系对比研究》上海市辐射环境监督站 2019
- 《高中压配电网规划 实用模型、方法、软件和应用 上》王主丁著 2020
- 《无机材料晶体结构学概论》毛卫民编著 2019
- 《数据结构教程》付婷婷,王志海,张磊编著 2019
- 《数据结构 C语言版 第5版》邓文华 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019