当前位置:首页 > 工业技术
面向对象分析与设计  第3版
面向对象分析与设计  第3版

面向对象分析与设计 第3版PDF电子书下载

工业技术

  • 电子书积分:17 积分如何计算积分?
  • 作 者:(美)布奇等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121173899
  • 页数:575 页
图书介绍:本书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5个不同类型、不同领域的应用,描述如何从初始阶段到交付阶段,将OOAD理论和方法应用到项目中。应用部分所涉及的领域包括系统架构、数据获取、密码分析、控制系统和Web开发,还给出了一些关于重要问题的有效建议,包括分类、实现策略和高性价比的项目管理。
《面向对象分析与设计 第3版》目录

第1篇 概念 2

第1章 复杂性 2

1.1复杂系统的结构 3

1.1.1个人计算机的结构 3

1.1.2植物和动物的结构 4

1.1.3物质的结构 5

1.1.4社会机构的结构 5

1.2软件固有的复杂性 6

1.2.1定义软件复杂性 6

1.2.2为什么软件在本质上是复杂的 7

1.3复杂系统的5个属性 11

1.3.1层次结构 11

1.3.2相对本原 12

1.3.3分离关注 12

1.3.4共同模式 12

1.3.5稳定的中间形式 13

1.4有组织和无组织的复杂性 13

1.4.1复杂系统的规范形式 13

1.4.2人在处理复杂性时的能力局限 16

1.5从混沌到有序 17

1.5.1分解的作用 17

1.5.2抽象的作用 21

1.5.3层次结构的作用 22

1.6复杂系统的设计 23

1.6.1作为科学和艺术的工程 23

1.6.2设计的含义 23

1.7小结 26

第2章 对象模型 27

2.1对象模型的演进 27

2.1.1程序设计语言的换代 28

2.1.2第一代和第二代早期程序设计语言的拓扑结构 30

2.1.3第二代后期和第三代早期程序设计语言的结构 31

2.1.4第三代后期程序设计语言的结构 32

2.1.5基于对象和面向对象的程序设计语言的结构 33

2.2对象模型基础 35

2.2 1面向对象编程 38

2.2.2面向对象设计 39

2.2.3面向对象分析 40

2.3对象模型要素 40

2.3.1抽象的意义 42

2.3.2封装的意义 48

2.3.3模块化的意义 51

2.3.4层次结构的意义 55

2.3.5类型的意义 61

2.3.6并发的意义 64

2.3.7持久的意义 66

2.4应用对象模型 68

2.4.1对象模型的好处 69

2.4.2开放式问题 70

2.5小结 70

第3章 类与对象 71

3.1对象的本质 71

3.1.1什么是对象,什么不是对象 72

3.1.2状态 74

3.1.3行为 77

3.1.4标识符 81

3.2对象之间的关系 83

3.2.1链接 84

3.2.2聚合 87

3.3类的本质 88

3.3.1什么是类,什么不是类 88

3.3.2接口和实现 90

3.3.3类的生命周期 91

3.4类之间的关系 92

3.4.1关联 92

3.4.2继承 94

3.4.3聚合 105

3.4.4依赖关系 106

3.5类与对象的互动 106

3.5.1类与对象的关系 107

3.5.2类与对象在分析和设计中的角色 107

3.6创建高品质的类与对象 107

3.6.1评判一种抽象的品质 108

3.6.2选择操作 109

3.6.3选择关系 111

3.6.4选择实现 113

3.7小结 114

第4章 分类 115

4.1正确分类的重要性 115

4.1.1分类的困难 116

4.1.2分类的增量和迭代本质 118

4.2确定类和对象 120

4.2.1经典方法和现代方法 120

4.2.2面向对象分析 124

4.3关键抽象与机制 132

4.3.1确定关键抽象 132

4.3.2识别机制 134

4.4小结 137

第2篇 方法 140

第5章 表示法 140

5.1统一建模语言 140

5.1.1简单历史回顾 141

5.1.2模型与多重视图 141

5.1.3图分类 142

5.1.4在实践中使用图 144

5.1.5概念模型、逻辑模型和物理模型 145

5.1.6工具的角色 145

5.1.7面向对象开发的产品 146

5.1.8规模上的伸缩 147

5.1.9 UML的语法和语义 147

5.1.10 UML 2.0信息资源 148

5.2包图 148

5.2.1基本概念:包表示法 149

5.2.2基本概念:元素的可见性 150

5.2.3基本概念:依赖关系 151

5.2.4基本概念:包图 152

5.2.5高级概念:导入和访问 154

5.3组件图 156

5.3.1基本概念:组件表示法 157

5.3.2基本概念:组件图 158

5.3.3基本概念:组件接口 160

5.3.4基本概念:组件实现 161

5.3.5高级概念:组件的内部结构 163

5.4部署图 164

5.4.1基本概念:工件表示法 165

5.4.2基本概念:节点表示法 165

5.4.3基本概念:部署图 166

5.5用例图 168

5.5.1基本概念:执行者 169

5.5.2基本概念:用例 169

5.5.3基本概念:用例图 169

5.5.4高级概念:《include》和《extend》关系 172

5.5.5高级概念:泛化 176

5.6活动图 177

5.6.1基本概念:动作 178

5.6.2基本概念:开始和停止 178

5.6.3基本概念:判断节点和合并节点 179

5.6.4基本概念:分区 179

5.6.5高级概念:分叉、结合和并发 180

5.6.6高级概念:对象流 182

5.6.7高级概念:其他元素 182

5.7类图 182

5.7.1基本概念:类表示法 184

5.7.2基本概念:类关系 186

5.7.3高级概念:模板(参数化)类 189

5.7.4高级概念:可见性 190

5.7.5高级概念:关联端名称和限定符 191

5.7.6高级概念:约束 192

5.7.7高级概念:关联类和注解 196

5.8序列图 197

5.8.1.基本概念:对象与交互 197

5.8.2基本概念:生命线与消息 198

5.8.3高级概念:销毁事件 199

5.8.4高级概念:执行说明 200

5.8.5高级概念:交互使用 201

5.8.6高级概念:控制结构 201

5.9交互概述图 204

5.9.1基本概念:框 204

5.9.2基本概念:控制流元素 204

5.9.3基本概念:交互图元素 206

5.10组合结构图 206

5.10.1基本概念:组合结构的部分 206

5.10.2基本概念:组合结构的部分与接口 207

5.10.3基本概念:组合结构连接器 208

5.10.4高级概念:协作 208

5.11状态机图 209

5.11.1基本概念:初始状态、最终状态和简单状态 210

5.11.2基本概念:转换与事件 211

5.11.3高级概念:状态活动——入口活动、执行活动和出口活动 213

5.11.4高级概念:控制转换 213

5.11.5高级概念:复合状态与嵌套状态 215

5.11.6高级概念:并发与控制 216

5.11.7高级概念:子状态机状态 221

5.11.8高级概念:其他状态机图元素 222

5.12时间图 222

5.12.1基本概念:更多相同之处 223

5.12.2基本概念:布局 223

5.12.3基本概念:事件 224

5.12.4基本概念:约束 224

5.12.5高级概念:另一种表示形式 225

5.12.6高级概念:事件与消息 226

5.13对象图 226

5.13.1基本概念:对象 227

5.13.2基本概念:对象关系 228

5.13.3高级概念:端点名称和限定符 229

5.14通信图 230

5.14.1基本概念:对象、链接和消息 230

5.14.2基本概念:顺序表达式 230

5.14.3高级概念:消息与同步 233

5.14.4高级概念:迭代子句和警戒条件 233

5.15 小结 234

第6章 过程 236

6.1首要原则 236

6.1.1成功项目的特征 236

6.1.2追求理性的开发过程 240

6.2宏观过程:软件开发生命周期 244

6.2.1概述 244

6.2.2宏观过程的内容维:科目 246

6.2.3宏观过程的时间维:里程碑和阶段 249

6.2.4宏观过程的时间维:迭代 255

6.2.5发行计划 257

6.3微观过程:分析与设计过程 260

6.3.1概述 260

6.3.2抽象层次 261

6.3.3活动 262

6.3.4产品 263

6.3.5微观过程与抽象层次 267

6.3.6识别元素 270

6.3.7确定元素间的协作 274

6.3.8确定元素间的关系 278

6.3.9详细确定元素的语义 281

6.4小结 285

第7章 实战 287

7.1管理和计划 288

7.1.1风险管理 288

7.1.2任务计划 289

7.1.3开发复查 290

7.2人员配备 292

7.2.1资源配置 292

7.2.2开发团队角色 293

7.3发布版本管理 296

7.3.1配置管理和版本控制 296

7.3.2集成 297

7.3.3测试 298

7.4复用 298

7.4.1复用的元素 298

7.4.2建立复用制度 299

7.5质量保证和测量指标 299

7.5.1软件质量 300

7.5.2面向对象测量指标 301

7.6文档化 304

7.6.1开发遗产 304

7.6.2文档化的内容 305

7.7工具 306

7.7.1工具种类 306

7.7.2组织上的意义 307

7.8特殊主题 308

7.8.1领域特定问题 308

7.8.2采纳面向对象技术 309

7.9面向对象开发的好处和风险 310

7.9.1面向对象开发的好处 310

7.9.2面向对象开发的风险 311

7.10小结 313

第3篇 应用 316

第8章 系统架构——基于卫星的导航 316

8.1初始 317

8.1.1卫星导航系统的需求 318

8.1.2定义问题的边界 319

8.1.3确定任务用例 322

8.1.4确定系统用例 325

8.2细化 329

8.2.1开发一个好的架构 329

8.2.2定义架构开发活动 330

8.2.3验证所建议的系统架构 331

8.2.4分配非功能需求和确定接口 339

8.2.5规定系统架构及其部署 341

8.2.6分解系统架构 344

8.3构造 350

8.4交付之后 350

8.4.1添加新的功能 351

8.4.2改变目标硬件 352

第9章 控制系统——交通管理 353

9.1初始 354

9.1.1列车交通管理系统的需求 354

9.1.2决定系统用例 357

9.2细化 362

9.2.1分析系统功能 362

9.2.2定义TTMS架构 366

9.2.3从系统工程到硬件和软件工程 368

9.2.4关键抽象和机制 371

9.3构造 373

9.3.1消息传送 374

9.3.2列车时刻表计划 377

9.3.3显示信息 381

9.3.4传感器数据采集 382

9.3.5发布版本管理 383

9.3.6系统架构 384

9.3.7子系统规格说明 385

94交付之后 387

第10章 人工智能——密码分析 389

10.1初始 390

10.1.1密码分析需求 390

10.1.2定义问题的边界 391

10.1.3黑板框架的架构 394

10.1.4知识源的分析 396

10.2细化 397

10.2.1黑板对象 397

10.2.2依赖和认定 399

10.3构造 401

10.3.1设计黑板对象 402

10.3.2设计知识源 407

10.3.3设计控制器 414

10.3.4集成黑板框架 416

10.3.5添加新的知识源 419

10.4交付之后 421

10.4.1系统增强 421

10.4.2改变需求 423

第11章 数据采集——气象监测站 424

11.1初始 424

11.1.1气象监测站需求 425

11.1.2定义问题的边界 425

11.1.3场景 437

11.2细化 438

11.2.1气象监测系统用例 438

11.2.2架构框架 448

11.3构造 450

11.3.1帧机制 450

11.3.2发布计划 454

11.3.3传感器机制 455

11.3.4显示机制 457

11.3.5用户界面机制 458

11.4交付之后 461

第12章Web应用——休假跟踪系统 463

12.1初始 464

12.1.1需求 464

12.1.2用例模型 466

12.2细化 467

12.2.1部署视图 468

12.2.2逻辑视图 470

12.2.3进程视图 472

12.2.4实现视图 475

12.2.5用例视图 475

12.3构造 480

12.3.1用户体验模型 480

12.3.2分析和设计模型 482

12.3.3实体 493

12.3.4控制器 502

12.3.5 Web页面和用户界面 503

12.4交付和交付之后 508

附录A面向对象编程语言 510

附录B进一步阅读 530

注解 539

术语表 566

相关图书
作者其它书籍
返回顶部