《软件设计师教程》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:胡圣明,褚华主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302205845
  • 页数:663 页
图书介绍:本书根据全国计算机技术与软件专业技术资格(水平)考试的《软件设计师考试大纲》编写,对考生具有权威的指导性。

第1章 计算机系统知识 1

1.1 计算机系统基础知识 1

1.1.1 计算机系统硬件基本组成 1

1.1.2 中央处理单元 1

1.1.3 数据表示 4

1.1.4 校验码 9

1.2 计算机体系结构 11

1.2.1 计算机体系结构的发展 11

1.2.2 存储系统 19

1.2.3 输入输出技术 28

1.2.4 总线结构 32

1.3 安全性、可靠性与系统性能评测基础知识 34

1.3.1 计算机安全概述 34

1.3.2 加密技术和认证技术 37

1.3.3 计算机可靠性 44

1.3.4 计算机系统的性能评价 47

第2章 程序语言基础知识 51

2.1 程序语言概述 51

2.1.1 程序语言的基本概念 51

2.1.2 程序语言的基本成分 55

2.2 语言处理程序基础 61

2.2.1 汇编程序基本原理 61

2.2.2 编译程序基本原理 64

2.2.3 解释程序基本原理 91

第3章 操作系统知识 94

3.1 操作系统基础知识 94

3.1.1 操作系统的定义与作用 94

3.1.2 操作系统的特征与功能 94

3.1.3 操作系统的类型 95

3.2 处理机管理 98

3.2.1 基本概念 98

3.2.2 进程的控制 102

3.2.3 进程间的通信 103

3.2.4 管程 107

3.2.5 进程调度 109

3.2.6 死锁 111

3.2.7 线程 115

3.3 存储管理 115

3.3.1 基本概念 116

3.3.2 存储管理方案 117

3.3.3 分页存储管理 118

3.3.4 分段存储管理 121

3.3.5 段页式存储管理 122

3.3.6 虚拟存储管理 123

3.4 设备管理 128

3.4.1 设备管理概述 128

3.4.2 I/O软件 129

3.4.3 设备管理采用的相关缓冲技术 130

3.4.4 磁盘调度 132

3.5 文件管理 134

3.5.1 文件与文件系统 135

3.5.2 文件的结构和组织 136

3.5.3 文件目录 137

3.5.4 存取方法和存储空间的管理 139

3.5.5 文件的使用 141

3.5.6 文件的共享和保护 141

3.5.7 系统的安全与可靠性 143

3.6 作业管理 145

3.6.1 作业与作业控制 145

3.6.2 作业调度 146

3.6.3 用户界面 147

3.7 网络与嵌入式操作系统基础知识 148

3.7.1 网络操作系统 148

3.7.2 嵌入式操作系统 149

3.8 UNIX操作系统实例 150

3.8.1 UNIX操作系统 150

3.8.2 UNIX文件系统 150

3.8.3 UNIX进程与存储管理 152

3.8.4 UNIX设备管理 152

3.8.5 shell程序 154

第4章 系统开发和运行知识 159

4.1 软件工程基础知识 159

4.1.1 软件工程概述 159

4.1.2 软件需求分析 163

4.1.3 软件开发项目管理 165

4.1.4 软件配置管理 171

4.1.5 软件工具与软件开发环境 173

4.1.6 软件过程管理 176

4.1.7 软件质量管理与质量保证 180

4.2 系统分析基础知识 188

4.2.1 系统分析概述 188

4.2.2 结构化分析方法 190

4.2.3 系统分析报告 195

4.3 系统设计知识 197

4.3.1 系统设计的内容和步骤 197

4.3.2 系统设计的基本原理 199

4.3.3 系统总体结构设计 200

4.3.4 结构化设计方法 205

4.3.5 面向数据结构的设计方法 207

4.3.6 系统详细设计 209

4.4 系统实施知识 213

4.4.1 系统实施概述 213

4.4.2 程序设计 215

4.4.3 系统测试与调试 217

4.4.4 测试策略和测试方法 219

4.4.5 调试 226

4.4.6 系统文档 227

4.4.7 系统转换 228

4.5 系统运行和维护知识 229

4.5.1 系统维护概述 229

4.5.2 系统评价 232

第5章 网络基础知识 235

5.1 网络概述 235

5.1.1 计算机网络的概念 235

5.1.2 计算机网络的分类 238

5.1.3 网络的拓扑结构 239

5.2 ISO/OSI网络体系结构 241

5.3 网络互连硬件 244

5.3.1 网络的设备 244

5.3.2 网络的传输介质 247

5.3.3 组建网络 249

5.4 网络的协议与标准 252

5.4.1 网络的标准 253

5.4.2 局域网协议 254

5.4.3 广域网协议 258

5.4.4 TCP/IP协议簇 263

5.5 Internet及应用 268

5.5.1 Internet概述 268

5.5.2 Internet地址 269

5.5.3 Internet服务 277

5.6 网络安全 282

5.6.1 网络安全概述 283

5.6.2 网络的信息安全 285

5.6.3 防火墙技术 289

第6章 多媒体基础知识 296

6.1 多媒体的基本概念 296

6.1.1 多媒体基本概念 296

6.1.2 虚拟现实基本概念 298

6.2 声音 299

6.2.1 基本概念 299

6.2.2 音文件格式 305

6.3 图形和图像 306

6.3.1 基础知识 306

6.3.2 图形、图像文件格式 313

6.4 动画和视频 315

6.4.1 基础知识 315

6.4.2 视频文件格式 322

6.5 多媒体网络 324

6.5.1 超文本与超媒体 324

6.5.2 流媒体 325

6.6 多媒体计算机系统 327

6.6.1 多媒体计算机硬件系统 328

6.6.2 多媒体计算机软件系统 329

第7章 数据库技术基础 332

7.1 基本概念 332

7.1.1 数据库与数据库管理系统 332

7.1.2 DBMS的功能 333

7.1.3 DBMS的特征及分类 334

7.1.4 数据库系统的体系结构 335

7.1.5 数据库的三级模式结构 338

7.2 数据模型 340

7.2.1 数据模型的基本概念 340

7.2.2 数据模型的三要素 340

7.2.3 E-R模型 341

7.2.4 层次模型 347

7.2.5 网状模型 349

7.2.6 关系模型 350

7.2.7 面向对象模型 351

7.3 关系代数 353

7.3.1 关系数据库的基本概念 353

7.3.2 五种基本的关系代数运算 357

7.3.3 扩展的关系代数运算 360

7.4 关系数据库SQL语言简介 368

7.4.1 SQL数据库体系结构 368

7.4.2 SQL的基本组成 369

7.4.3 SQL数据定义 370

7.4.4 SQL数据查询 375

7.4.5 SQL数据更新 383

7.4.6 SQL访问控制 384

7.4.7 嵌入式SQL 386

7.5 关系数据库规范化 387

7.5.1 函数依赖 387

7.5.2 规范化 388

7.5.3 模式分解及分解应具有的特性 390

7.6 数据库的控制功能 391

7.6.1 事务管理 391

7.6.2 数据库的备份与恢复 391

7.6.3 并发控制 393

第8章 数据结构 396

8.1 线性结构 396

8.1.1 线性表 396

8.1.2 栈和队列 401

8.1.3 串 405

8.2 数组、矩阵和广义表 410

8.2.1 数组 410

8.2.2 矩阵 412

8.2.3 广义表 413

8.3 树 414

8.3.1 树与二叉树的定义 415

8.3.2 二叉树的性质与存储结构 416

8.3.3 二叉树的遍历 419

8.3.4 线索二叉树 422

8.3.5 最优二叉树 424

8.3.6 树和森林 427

8.4 图 430

8.4.1 图的定义与存储 430

8.4.2 图的遍历 434

8.4.3 生成树及最小生成树 437

8.4.4 拓扑排序和关键路径 439

8.4.5 最短路径 443

8.5 查找 445

8.5.1 查找的基本概念 445

8.5.2 静态查找表的查找方法 446

8.5.3 动态查找表 449

8.5.4 哈希表 457

8.6 排序 461

8.6.1 排序的基本概念 461

8.6.2 简单排序 461

8.6.3 希尔排序 463

8.6.4 快速排序 464

8.6.5 堆排序 465

8.6.6 归并排序 468

8.6.7 基数排序 469

8.6.8 内部排序方法小结 469

8.6.9 外部排序 470

第9章 算法设计与分析 475

9.1 算法设计与分析的基本概念 475

9.1.1 算法 475

9.1.2 算法设计 475

9.1.3 算法分析 476

9.1.4 算法的表示 476

9.2 算法分析基础 477

9.2.1 时间复杂性 477

9.2.2 渐进符号 478

9.2.3 递归式 479

9.3 分治法 481

9.3.1 递归的概念 481

9.3.2 分治法的基本思想 482

9.3.3 分治法的典型实例 482

9.4 动态规划法 487

9.4.1 动态规划法的基本思想 487

9.4.2 动态规划法的典型实例 488

9.5 贪心法 494

9.5.1 贪心法的基本思想 494

9.5.2 贪心法的典型实例 495

9.6 回溯法 499

9.6.1 回溯法的算法框架 499

9.6.2 回溯法的典型实例 502

9.7 分支限界法 506

9.8 概率算法 507

9.9 近似算法 508

9.10 NP完全性理论 512

第10章 面向对象技术 517

10.1 面向对象的基本概念 517

10.2 面向对象程序设计 520

10.2.1 面向对象的好处 520

10.2.2 面向对象程序设计语言 521

10.2.3 程序设计语言中的OOP机制 524

10.2.4 面向对象的程序 529

10.3 面向对象开发技术 532

10.3.1 面向对象分析 532

10.3.2 面向对象设计 534

10.3.3 面向对象测试 534

10.4 面向对象分析与设计方法 535

10.4.1 Peter Coad和Edward Yourdon的OOA和OOD方法 535

10.4.2 Booch的OOD方法 536

10.4.3 OMT方法 537

10.4.4 UML概述 540

10.5 设计模式 548

10.5.1 设计模式的要素 548

10.5.2 创建型设计模式 550

10.5.3 结构型设计模式 551

10.5.4 行为设计模式 552

第11章 标准化和软件知识产权基础知识 555

11.1 标准化基础知识 555

11.1.1 标准化的基本概念 555

11.1.2 信息技术标准化 563

11.1.3 标准化组织 565

11.1.4 ISO 9000标准简介 569

11.1.5 ISO/IEC 15504过程评估标准简介 571

11.2 知识产权基础知识 573

11.2.1 知识产权基本概念 573

11.2.2 计算机软件著作权 577

11.2.3 计算机软件的商业秘密权 588

11.2.4 专利权概述 590

11.2.5 企业知识产权的保护 595

第12章 软件系统分析与设计 598

12.1 结构化分析与设计 598

12.1.1 需求说明 600

12.1.2 结构化分析 600

12.1.3 总体设计 602

12.1.4 详细设计 603

12.2 数据库分析与设计 604

12.2.1 数据库设计的步骤 604

12.2.2 需求分析 605

12.2.3 概念结构设计 607

12.2.4 逻辑结构设计 610

12.2.5 数据库的物理设计 612

12.2.6 数据库实施与维护 615

12.2.7 案例分析 618

12.3 面向对象分析与设计 623

12.3.1 面向对象分析与设计的步骤 623

12.3.2 需求说明 624

12.3.3 建模用例 625

12.3.4 建模活动 627

12.3.5 设计类图 628

12.3.6 建模对象状态 629

12.3.7 建模序列图 630

12.4 算法分析与设计 631

12.4.1 算法与软件系统 631

12.4.2 算法设计过程 632

12.4.3 算法问题类型 635

12.4.4 现代优化计算方法 637

12.5 面向过程的程序设计与实现 643

12.5.1 指针类型 643

12.5.2 指针与数据结构 649

12.5.3 C语言实现面向对象设计思路 655

12.6 面向对象的程序设计与实现 659

12.6.1 设计与实现方法 659

12.6.2 设计模式的应用 659