图书介绍

软件建模与设计 UML用例模式和软件体系结构PDF|Epub|txt|kindle电子书版本网盘下载

软件建模与设计 UML用例模式和软件体系结构
  • (美)戈马,彭鑫,吴毅坚,赵文耘 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111467595
  • 出版时间:2014
  • 标注页数:426页
  • 文件大小:76MB
  • 文件页数:446页
  • 主题词:面向对象语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

软件建模与设计 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

热门推荐