软件设计师教程(2009版全国计算机技术与软件专业技术资格水平考试指定用书)
分類: 图书,考试,计算机考试,全国计算机技术与软件专业技术资格,
品牌: 陈平
基本信息·出版社:清华大学出版社
·页码:634 页
·出版日期:2006年
·ISBN:7302129576/9787302129578
·条形码:9787302129578
·包装版本:2版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:2009版全国计算机技术与软件专业技术资格水平考试指定用书
产品信息有问题吗?请帮我们更新产品信息。
内容简介《软件设计师教程》按照人事部、信息产业部全国计算机技术与软件专业技术资格(水平)考试要求编写,内容紧扣《软件设计师考试大纲》,阐述软件设计师考试必备的知识和技能的要点。全书共12章,分别对计算机系统知识、程序语言、操作系统、系统开发与运行、网络基础知识、多媒体基础知识、数据库技术、数据结构、常用算法设计、面向对象技术、标准化基础知识和知识产权基础知识进行了详尽的讲解。
作者简介陈平,合主编有《软件设计师教程》等。
褚华,合主编有《软件设计师教程》等。
编辑推荐《软件设计师教程》是软件设计师考试应试者的必读教材,也可以作为各类计算机信息技术培训和辅导的教材,还可以作为广大工程技术人员学习计算机信息技术基础知识的参考书。
根据人事部、信息产业部文件,计算机技术与软件专业技术资格(水平)考试纳入全国专业技术人员职业资格证书制度的统一规划。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务(技术员、助理工程师、工程师、高级工程师)。计算机技术与软件专业实话全国统一考试后,不再进行相应专业技术职务任职资格的评审工作。
目录
第1章 计算机系统知识1
1.1 计算机体系结构1
1.1.1 计算机体系结构的发展1
1.1.2 存储系统3
1.1.3 CISC/RISC13
1.1.4 输入/输出技术14
1.1.5 流水线操作20
1.1.6 总线结构22
1.1.7 多处理机与并行处理23
1.2 安全性、可靠性与系统性能评测基础知识28
1.2.1 计算机安全概述28
1.2.2 加密技术30
1.2.3 认证技术34
1.2.4 计算机可靠性38
1.2.5 计算机系统的性能评价41
1.2.6 计算机故障诊断与容错45
第2章 程序语言基础知识48
2.1 程序语言概述48
2.1.1 程序语言的基本概念48
2.1.2 程序设计语言的种类和特点49
2.1.3 程序语言的基本成分53
2.2 语言处理程序基础59
2.2.1 汇编语言基本原理59
2.2.2 编译程序基本原理62
2.2.3 解释程序基本原理90
第3章 操作系统知识93
3.1 操作系统基础知识93
3.1.1 操作系统的定义与作用93
3.1.2 操作系统的特征与功能94
3.1.3 操作系统的类型95
3.2 处理机管理98
3.2.1 基本概念98
3.2.2 进程的控制102
3.2.3 进程间的通信104
3.2.4 管程109
3.2.5 进程调度111
3.2.6 死锁112
3.2.7 线程115
3.3 存储管理116
3.3.1 基本概念117
3.3.2 分页存储管理118
3.3.3 虚拟存储管理120
3.4 设备管理125
3.4.1 设备管理概述125
3.4.2 I/O软件127
3.4.3 通道、DMA与缓冲技术130
3.4.4 Spooling技术132
3.4.5 磁盘调度133
3.5 文件管理134
3.5.1 文件与文件系统134
3.5.2 文件的结构和组织136
3.5.3 文件目录139
3.5.4 存取方法和存储空间的管理141
3.5.5 文件的使用142
3.5.6 文件的共享和保护142
3.5.7 系统的安全与可靠性144
3.6 作业管理146
3.6.1 作业管理和作业控制146
3.6.2 作业调度147
3.6.3 用户界面148
3.7 网络操作系统和嵌入式操作系统基础知识149
3.7.1 网络操作系统149
3.7.2 嵌入式操作系统151
3.8 操作系统实例152
3.8.1 UNIX操作系统152
3.8.2 Windows 2000/XP操作系统159
第4章 系统开发和运行知识165
4.1 软件工程基础知识165
4.1.1 软件工程概述165
4.1.2 软件需求分析169
4.1.3 软件开发项目管理171
4.1.4 软件配置管理176
4.1.5 软件工具与软件开发环境178
4.1.6 软件过程管理181
4.1.7 软件质量管理与质量保证183
4.2 系统分析基础知识191
4.2.1 系统分析概述191
4.2.2 结构化分析方法193
4.2.3 系统分析报告199
4.3 系统设计知识200
4.3.1 系统设计的内容和步骤200
4.3.2 系统设计的基本原理202
4.3.3 系统总体结构设计204
4.3.4 结构化设计方法208
4.3.5 面向数据结构的设计方法210
4.3.6 系统详细设计212
4.4 系统实施知识217
4.4.1 系统实施概述217
4.4.2 程序设计218
4.4.3 系统测试与调试221
4.4.4 测试策略和测试方法222
4.4.5 调试226
4.4.6 系统文档227
4.4.7 系统转换228
4.5 系统运行和维护知识229
4.5.1 系统维护概述229
4.5.2 系统评价233
第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.4.2 网络的传输介质247
5.3.3 组建网络249
5.4 网络的协议与标准252
5.4.1 网络的标准253
5.4.2 局域网协议254
5.4.3 广域网协议258
5.4.4 Internet协议263
5.5 Internet及应用268
5.5.1 Internet概述268
5.5.2 Internet地址269
5.5.3 Internet服务273
5.6 WindowsNT系统及管理278
5.6.1 Windows NT概述279
5.6.2 WindowsNT系统管理283
5.7 网络安全285
5.7.1 网络安全概述285
5.7.2 网络的信息安全287
5.7.3 防火墙技术291
第6章 多媒体基础知识298
6.1 多媒体的基本概念298
6.1.1 媒体的分类298
6.1.2 多媒体的特征299
6.2 音频300
6.2.1 数字声音基础300
6.2.2 波形声音302
6.2.3 声音合成304
6.2.4 MIDI306
6.2.5 声音文件格式307
6.3 图形和图像308
6.3.1 彩色与图像基础308
6.3.2 计算机中的图形数据表示310
6.3.3 图像的获取311
6.3.4 图像的属性312
6.3.5 图形图像转换313
6.3.6 图像的压缩编码314
6.3.7 多媒体数据压缩编码的国际标准316
6.3.8 图形、图像文件格式317
6.4 动画和视频319
6.4.1 动画319
6.4.2 模拟视频322
6.4.3 数字视频323
6.4.4 数字视频标准324
6.4.5 视频压缩编码325
6.4.6 视频文件格式327
6.5 多媒体网络328
6.5.1 超文本与超媒体329
6.5.2 流媒体的基本概念330
6.5.3 互联网上获取声音和影视的方法330
6.6 多媒体计算机系统332
6.6.1 多媒体计算机硬件系统333
6.6.2 多媒体软件系统335
6.7 虚拟现实的概念338
第7章 数据库技术基础342
7.1 基本概念342
7.1.1 数据库与数据库管理系统342
7.1.2 DBMS的功能343
7.1.3 DBMS的特征及分类344
7.1.4 数据库的三级模式结构345
7.2 数据模型348
7.2.1 数据模型的基本概念348
7.2.2 数据模型的三要素与常用的数据模型349
7.2.3 E-R模型349
7.2.4 层次模型356
7.2.5 网状模型357
7.2.6 关系模型358
7.3 关系代数359
7.3.1 关系数据库的基本概念359
7.3.2 5种基本的关系代数运算364
7.3.3 扩展的关系代数运算366
7.4 关系数据库SQL语言简介374
7.4.1 SQL数据库体系结构374
7.4.2 SQL的基本组成376
7.4.3 SQL数据定义376
7.4.4 SQL数据查询380
7.4.5 SQL数据更新389
7.4.6 SQL的访问控制390
7.4.7 嵌入式SQL392
7.5 关系数据库规范化393
7.5.1 函数依赖393
7.5.2 规范化394
7.5.3 模式分解及分解应具有的特性397
7.6 数据库的控制功能402
7.6.1 事务管理402
7.6.2 数据库的备份与恢复403
7.6.3 并发控制404
7.6.4 安全性和授权406
第8章 数据结构412
8.1 线性结构412
8.1.1 线性表412
8.1.2 栈和队列416
8.1.3 串430
8.2 数组、矩阵和广义表435
8.2.1 数组435
8.2.2 矩阵437
8.2.3 广义表438
8.3 树439
8.3.1 树的定义及基本运算439
8.3.2 二叉树的定义及基本运算441
8.3.3 二叉树的性质441
8.3.4 二叉树的存储结构442
8.3.5 二叉树的遍历444
8.3.6 线索二叉树446
8.3.7 二叉树的应用:最优二叉树448
8.3.8 树和森林452
8.4 图454
8.4.1 图的定义455
8.4.2 图的存储结构456
8.4.3 图的遍历458
8.4.4 生成树及最小生成树461
8.4.5 拓扑排序和关键路径463
8.4.6 最短路径466
8.4.7 图的应用469
8.5 查找471
8.5.1 查找的基本概念471
8.5.2 静态查找表472
8.5.3 动态查找表476
8.5.4 哈希表及其查找486
8.6 排序489
8.6.1 排序的基本概念及运算489
8.6.2 简单排序490
8.6.3 希尔排序492
8.6.4 快速排序493
8.6.5 堆排序494
8.6.6 归并排序497
8.6.7 基数排序498
8.6.8 内部排序方法的比较和选择499
8.6.9 外部排序500
第9章 常用算法设计方法504
9.1 算法和算法设计基本概念504
9.1.1 算法504
9.1.2 算法设计504
9.1.3 算法效率的度量505
9.1.4 算法的存储空间需求506
9.2 迭代法、穷举搜索法、递推法506
9.2.1 迭代法506
9.2.2 穷举搜索法506
9.2.3 递推法507
9.3 递归法508
9.4 分治法512
9.4.1 分治法的基本思想512
9.4.2 分治法的典型实例513
9.5 动态规划法517
9.5.1 动态规划法的基本思想517
9.5.2 动态规划法的典型实例518
9.6 回溯法522
9.6.1 回溯法的算法框架523
9.6.2 回溯法的典型实例525
9.7 贪心法532
9.8 分支限界法536
9.9 概率算法简介538
第10章 面向对象技术539
10.1 面向对象的基本概念539
10.2 面向对象程序设计541
10.2.1 面向对象的好处542
10.2.2 面向对象程序设计语言542
10.2.3 程序设计语言中的
OOP机制545
10.2.4 面向对象的程序550
10.3 面向对象开发技术553
10.3.1 面向对象分析553
10.3.2 面向对象设计555
10.3.3 面向对象测试555
10.4 面向对象分析与设计方法556
10.4.1 Peter Coad和Edward Yourdon的OOA和OOD方法556
10.4.2 Booch的OOD方法558
10.4.3 OMT方法558
10.4.4 UML概述561
10.5 设计模式570
10.5.1 设计模式的要素570
10.5.2 创建型设计模式571
10.5.3 结构型设计模式572
10.5.4 行为设计模式573
第11章 标准化基础知识577
11.1 标准化的基本概念577
11.1.1 标准、标准化的概念577
11.1.2 标准化的范围和对象577
11.1.3 标准化的实质578
11.1.4 标准化的目的579
11.2 标准化过程模式579
11.2.1 标准的制定579
11.2.2 标准的实施580
11.2.3 标准的更新580
11.3 标准的分类581
11.3.1 根据适用范围分类581
11.3.2 根据标准的性质分类583
11.3.3 根据标准化的对象和作用分类584
11.3.4 根据法律的约束性分类586
11.4 标准的代号和编号586
11.5 国际标准和国外先进标准588
11.5.1 国际标准588
11.5.2 国外先进标准588
11.5.3 采用国际标准和国外先进标准589
11.5.4 采用程度的概念589
11.5.5 采用国际标准和国外
先进标准的原则590
11.6 信息技术标准化591
11.6.1 信息编码标准化591
11.6.2 条码标准化592
11.6.3 汉字编码标准化592
11.6.4 软件工程标准化592
11.7 标准化组织594
11.7.1 国际标准化组织594
11.7.2 区域标准化组织595
11.7.3 行业标准化组织596
11.7.4 国家标准化组织596
11.8 ISO9000标准简介597
11.8.1 ISO9000标准597
11.8.2 ISO9000:2000系列标准文件结构598
11.8.3 ISO9000:2000核心标准简介598
11.8.4 ISO9000:2000系列标准确认的八项原则599
11.9 能力成熟度模型CMM简介602
11.10 ISO/IEC 15504过程评估标准简介604
第12章 知识产权基础知识607
12.1 知识产权的概念与特点607
12.1.1 知识产权的概念607
12.1.2 知识产权的特点608
12.1.3 我国保护知识产权的法规610
12.2 计算机软件著作权的主体与客体610
12.2.1 计算机软件著作权的主体610
12.2.2 计算机软件著作权的客体611
12.3 计算机软件受著作权法保护的条件612
12.4 计算机软件著作权的权利613
12.4.1 计算机软件的著作人身权613
12.4.2 计算机软件的著作财产权613
12.4.3 软件合法持有人的权利614
12.4.4 计算机软件著作权的行使614
12.4.5 计算机软件著作权的保护期615
12.5 计算机软件著作权的归属615
12.5.1 软件著作权归属的基本原则615
12.5.2 职务开发软件著作权的归属615
12.5.3 合作开发软件著作权的归属617
12.5.4 委托开发软件著作权的归属617
12.5.5 接受任务开发软件著作权的归属618
12.5.6 计算机软件著作权主体变更后软件著作权的归属618
12.6 计算机软件著作权侵权的鉴别620
12.6.1 计算机软件著作权侵权行为620
12.6.2 不构成计算机软件侵权的合理使用行为622
12.6.3 计算机著作权软件侵权的识别622
12.7 软件著作权侵权的法律责任623
12.8 计算机软件的商业秘密权625
12.8.1 商业秘密的概念625
12.8.2 计算机软件商业秘密的侵权626
12.8.3 计算机软件商业秘密侵权的法律责任626
12.9 专利权概述627
12.9.1 专利权的保护对象与特征627
12.9.2 授予专利权的条件628
12.9.3 专利的申请629
12.9.4 专利权行使630
12.9.5 专利权的限制631
12.9.6 专利侵权行为632
12.10 企业知识产权的保护632
12.10.1 知识产权管理632
12.10.2 知识产权的保护和利用633
12.10.3 建立经济约束机制规范
调整各种关系634
……[看更多目录]
序言在国务院鼓励软件产业发展政策的带动下,我国软件业一年一大步,实现了跨越式发展,销售收入由2000年的593亿元增加到2003年的1633亿元,年均增长速度39.2%;2000年出口软件仅4亿美元,去年则达到20亿美元,三年中翻了两番多;全国“双软认证工作体系”已经规范运行,截止2003年11月底,认定软件企业8582家,登记软件产品18287个;11个国家级软件产业基地快速成长,相关政策措施正在落实;我国软件产业的国际竞争力日益提高。
在软件产业快速发展的带动下,人才需求日益迫切,队伍建设与时俱进,而作为规范软件专业人员技术资格的计算机软件考试已在我国实施了十余年,累计报考人数超过一百万,为推动我国软件产业的发展作出了重要贡献。
软件考试在全国率先执行了以考代评的政策,取得了良好的效果。为贯彻落实国务院颁布的《振兴软件产业行动纲要》和国家职业资格证书制度,国家人事部和信息产业部对计算机软件考试政策进行了重大改革:考试名称调整为计算机技术与软件专业技术资格(水平)考试;考试对象从狭义的计算机软件扩大到广义的计算机软件,涵盖了计算机技术与软件的各个主要领域(5个专业类别、3个级别层次和20个职业岗位资格):资格考试和水平考试合并,采用水平考试的形式(与国际接轨,报考不限学历与资历条件),执行资格考试政策(各用人单位可以从考试合格者中择优聘任专业技术职务);这是我国人事制度改革的一次新突破。此外,将资格考试政策延伸到高级资格,使考试制度更为完善。
信息技术发展快,更新快,要求从业人员不断适应和跟进技术的变化,有鉴于此,国家人事部和信息产业部规定对通过考试获得的资格(水平)证书实行每隔三年进行登记的制度,以鼓励和促进专业人员不断接受新知识、新技术、新法规的继续教育。考试设置的专业类别、职业岗位也将随着国民经济与社会发展而动态调整。
目前,我国计算机软件考试的部分级别已与日本信息处理工程师考试的相应级别实现了互认,以后还将继续扩大考试互认的级别和国家。
文摘5.虚拟存储器
虚拟存储器是由主存、辅存、存储管理单元及操作系统中存储管理软件组成的存储系统。在程序员使用该存储系统时,可以使用的内存空间可以远远大于主存的物理空间。但实际上并不存在那么大的主存,故称其为虚拟存储器。虚拟存储器分为:
(1)页式虚拟存储器,以页为信息传送单位的虚拟存储器。通常一页为几百字节到几K字节。为实现页式管理,需建立虚页与实页间的关系表,称为页表;在页表及变换软件的控制下,可将程序的虚拟地址变换为主存的实地址。页式管理的优点是:页表硬件少,查表速度快;主存零头少。其缺点是:分页无逻辑意义,不利于存储保护。
(2)段式虚拟存储器,以程序的逻辑结构形成的段(如某一独立程序模块、子程序等)作为主存分配依据的一种段式虚拟存储器的管理方法。为实现段式管理,需建立段表;在段地址变换机构及软件的控制下,可将程序的虚拟地址变换为主存的实地址。段式管理的优点是:段的界限分明;支持程序的模块化设计;易于对程序段的编译、修改和保护;便于多道程序的共享。主要缺点:因为段的长度不一,主存利用率不高,产生大量内存碎片,造成浪费;段表庞大,查表速度慢。
(3)段页式虚拟存储器,页式虚拟存储器和段式虚拟存储器两者相结合的一种管理方 式。在这种虚拟存储器中,程序按逻辑结构分段,每一段再分成若干大小固定的页。程序的调入调出是按页进行的,而程序又可按段实现保护。因此,这种管理方式兼有前两者的优点,只是地址变换速度比较慢。
从以上的描述可以看到,虚拟存储器将大容量的外存也纳入存储器的管理范围。但在具执行程序时需判断程序是否在内存中,若不在(可认为不命中),则需从辅存中调入。这种思路与前面描述的Cache中的替换一样。因此,虚拟存储器中的替换算法与前面所述的一样,此处不再说明。
插图: