图书介绍
软件建模与设计 UML用例模式和软件体系结构PDF|Epub|txt|kindle电子书版本网盘下载
![软件建模与设计 UML用例模式和软件体系结构](https://www.shukui.net/cover/47/30689555.jpg)
- (美)戈马,彭鑫,吴毅坚,赵文耘 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111467595
- 出版时间:2014
- 标注页数:426页
- 文件大小:76MB
- 文件页数:446页
- 主题词:面向对象语言-程序设计
PDF下载
下载说明
软件建模与设计 UML用例模式和软件体系结构PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 概览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静态建模和UML74
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