全国计算机技术与软件专业技术资格(水平)考试指定用书:系统分析师教程
定 价:89 元
- 作者:张友生 编
- 出版时间:2010/2/1
- ISBN:9787302219743
- 出 版 社:清华大学出版社
- 中图法分类:TP311.52
- 页码:808
- 纸张:胶版纸
- 版次:1
- 开本:16开
《系统分析师教程》由全国计算机专业技术资格考试办公室组织编写,是系统分析师考试的指定教材。《系统分析师教程》围绕系统分析师的工作职责和任务而展开,对系统分析师所必须掌握的理论基础和应用技术做了详细的介绍,重在培养系统分析师所必须具备的专业技能。《系统分析师教程》内容既符合系统分析师考试总体纲领性的要求,也是系统分析师职业生涯所必需的知识与技能体系。准备参加考试的人员可通过阅读《系统分析师教程》掌握考试大纲规定的知识,把握考试重点和难点。
《系统分析师教程》可作为系统分析师的工作手册,也可作为系统分析与设计技术的培训和辅导教材,还可以作为计算机专业教师的教学参考用书。
全国计算机技术与软件专业技术资格(水平)考试指定用书。 根据人力资源和社会保障部、工业和信息化部文件,计算机技术与软件专业技术资格(水平)考试纳入全国专业技术人员职业资格证书制度的统一规划。通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务(技术员、助理工程师、工程师、高级工程师)。计算机技术与软件专业实施全国统一考试后,不再进行相应专业技术职务任职资格的评审工作。
在信息系统建设中,系统分析师起着十分重要的作用。系统分析师是用户和开发人员之间的桥梁,并为管理人员提供控制开发的手段。系统分析师的知识水平和工作能力直接决定了信息系统建设的成败。一名合格的系统分析师不但应具备坚实的信息技术知识,掌握计算机技术的发展方向,而且还必须具备管理科学的知识;不但要具备较强的系统观点和逻辑分析能力,能够从复杂的事物中抽象出系统模型,而且还要具备较好的口头和书面表达能力,较强的组织能力,善于与人共事;不但要具备扎实的理论基础,还要具备丰富的项目实践经验。
通过全国计算机技术与软件专业技术资格(水平)考试,广泛调动了专业技术人员工作和学习的积极性,为选拔高素质的专业技术人员起到了积极的促进和推动作用。为了培养更多的系统分析与设计专业人才,帮助广大考生顺利通过系统分析师考试,全国计算机专业技术资格考试办公室组织有关专家,在清华大学出版社的大力支持下,编写和出版了本书,作为系统分析师考试的指定教材。
本书围绕系统分析师的工作职责和任务而展开,对系统分析师所必须掌握的理论基础和应用技术做了详尽的介绍,重在培养系统分析师所必须具备的专业技能和分析方法。本书内容既是对系统分析师考试的总体纲领性的要求,也是系统分析师职业生涯所必需的知识与技能体系。准备参加考试的人员可通过阅读本书掌握考试大纲规定的知识,把握考试重点和难点。
本书由全国计算机专业技术资格考试办公室组织编写,由张友生主编。全书共分为20章。第1章由刘兴编写,第2、6、7、9~12、19、20章由张友生编写,第3章由钟经伟编写,第4章由胡钊源编写,第5章由王勇编写,第8章由刘现军编写,第13章由刘伟编写,第14章由殷建民编写,第15章由施游编写,第16章由戎檄、陈世帝、施游、黄建新、尹晶海、黄少华编写,第17章由高新岩编写,第18章由桂阳编写,陈建忠参与了19.1节的编写工作。
本书参考和引用了许多高水平的资料和书籍(详见参考文献列表),在此,编者对这些参考文献的作者表示真诚的感谢。
特别要感谢吴小军、杨红蕾、方海光、徐锋、温昱、漆英、马映冰、田俊国、李炳森和刘寅虓等顾问,在本书的写作过程中,编者就有关技术和实践问题曾多次与他们进行讨论,得到了顾问们的无私帮助。而且,编者还就某些章节的内容,请一些顾问进行了审核和修改。
感谢全国计算机专业技术资格考试办公室的谭志彬老师,他在本书的策划、写作大纲的确定、写作内容的审核等方面做了大量的工作;感谢清华大学出版社的老师们,他们在本书的编辑和出版等方面,付出了辛勤的劳动和智慧,给予了编者很多的支持和 帮助。
由于编者水平有限,且本书涉及的知识点较多,书中肯定有不妥和错误之处。编者诚恳地期望各位专家和读者不吝指教和帮助,对此,编者将深为感激。
张友生
2009年8月
II
系统分析师教程
第1章 绪论
1.1 信息与信息系统
1.1.1 信息的基本概念
1.1.2 系统及相关理论
1.1.3 系统工程方法论
1.1.4 信息系统工程
1.2 系统分析师
1.2.1 系统分析师的角色定位
1.2.2 系统分析师的任务
1.2.3 系统分析师的知识体系
第2章 经济管理与应用数学
2.1 会计常识
2.2 会计报表
2.2.1 资产负债表
2.2.2 利润表与利润分配表
2.3 现代企业组织结构
2.3.1 企业组织结构模式
2.3.2 企业组织结构设计
2.4 业绩评价
2.4.1 成本中心的业绩评价
2.4.2 利润中心的业绩评价
2.4.3 投资中心的业绩评价
2.5 企业文化管理
2.5.1 企业文化的内容
2.5.2 企业文化管理的作用
2.6 IT审计相关常识
2.6.1 IT审计概述
2.6.2 IT审计程序
2.6.3 IT审计的方法与工具
2.6.4 IT审计的重点环节
2.7 概率统计应用
2.7.1 古典概率应用
2.7.2 随机变量及其分布
2.7.3 随机变量的数字特征
2.7.4 常用分布
2.7.5 常用统计分析方法
2.8 图论应用
2.8.1 最小生成树
2.8.2 最短路径
2.8.3 网络与最大流量
2.9 组合分析
2.9.1 排列和组合
2.9.2 抽屉原理和容斥原理
2.10 算法的选择与应用
2.10.1 非数值算法
2.10.2 数值算法
2.11 运筹方法
2.11.1 网络计划技术
2.11.2 线性规划
2.11.3 决策论
2.11.4 对策论
2.11.5 排队论
2.11.6 存贮论
2.12 数学建模
第3章 操作系统基本原理
3.1 操作系统概述
3.1.1 操作系统的类型
3.1.2 操作系统的结构
3.2 进程管理
3.2.1 进程的状态
3.2.2 信号量与PV操作
3.2.3 死锁问题
3.2.4 线程管理
3.3 内存管理
3.3.1 地址变换
3.3.2 分区存储管理
3.3.3 段页式存储管理
3.3.4 虚拟存储管理
3.4 文件系统
3.4.1 文件的组织结构
3.4.2 存储空间管理
3.4.3 分布式文件系统
第4章 数据通信与计算机网络
4.1 数据通信基础知识
4.1.1 信道特性
4.1.2 数据传输技术
4.1.3 数据编码与调制
4.2 网络体系结构与协议
4.2.1 网络互联模型
4.2.2 常见的网络协议
4.2.3 网络地址与分配
4.3 局域网与广域网
4.3.1 局域网基础知识
4.3.2 以太网技术
4.3.3 无线局域网
4.3.4 广域网技术
4.3.5 网络接入技术
4.4 网络互连与常用设备
4.5 网络工程
4.5.1 网络规划
4.5.2 网络设计
4.5.3 网络实施
第5章 数据库系统
5.1 数据库模式
5.2 数据模型
5.2.1 数据模型的分类
5.2.2 关系模型
5.2.3 规范化理论
5.3 数据库访问接口
5.4 数据库的控制功能
5.4.1 并发控制
5.4.2 数据库性能优化
5.4.3 数据库的完整性
5.4.4 数据库的安全性
5.4.5 备份与恢复技术
5.4.6 数据中心的建设
5.5 数据库设计与建模
5.5.1 数据库设计阶段
5.5.2 实体联系模型
5.6 分布式数据库系统
5.6.1 分布式数据库概述
5.6.2 数据分片
5.6.3 分布式数据库查询优化
5.7 数据仓库技术
5.7.1 联机分析处理
5.7.2 数据仓库概述
5.7.3 数据仓库的设计方法
5.8 数据挖掘技术
5.8.1 数据挖掘概述
5.8.2 常用技术与方法
5.8.3 数据挖掘技术的应用
第6章 系统配置与性能评价
6.1 计算机系统层次结构
6.1.1 计算机硬件的组成
6.1.2 计算机软件的分类
6.1.3 计算机系统结构的分类
6.2 存储器系统
6.2.1 主存储器
6.2.2 辅助存储器
6.2.3 Cache存储器
6.2.4 网络存储技术
6.2.5 虚拟存储技术
6.3 输入输出系统
6.3.1 输入输出方式
6.3.2 总线
6.3.3 接口
6.4 指令系统
6.4.1 基本指令系统
6.4.2 复杂指令系统
6.4.3 精简指令系统
6.5 流水线技术
6.5.1 流水线工作原理
6.5.2 流水线的性能分析
6.5.3 局部相关与全局相关
6.6 多处理机系统
6.6.1 多处理机系统概述
6.6.2 海量并行处理结构
6.6.3 对称多处理机结构
6.6.4 互连网络
6.7 系统性能设计
6.7.1 系统性能指标
6.7.2 系统性能调整
6.8 系统性能评估
6.8.1 评估方法体系
6.8.2 经典评估方法
6.8.3 基准程序法
第7章 企业信息化战略与实施
7.1 企业信息化概述
7.2 企业信息化规划
7.2.1 信息化规划的内容
7.2.2 信息化规划与企业战略规划
7.3 信息系统开发方法
7.3.1 结构化方法
7.3.2 面向对象方法
7.3.3 面向服务方法
7.3.4 原型化方法
7.4 信息系统战略规划方法
7.4.1 企业系统规划法
7.4.2 关键成功因素法
7.4.3 战略集合转化法
7.4.4 战略数据规划法
7.4.5 信息工程方法
7.4.6 战略栅格法
7.4.7 价值链分析法
7.4.8 战略一致性模型
7.5 企业资源规划和实施
7.5.1 ERP概述
7.5.2 ERP的开发方法
7.5.3 ERP的实施
7.6 信息资源管理
7.6.1 信息资源管理概述
7.6.2 规范与标准
7.6.3 信息资源规划
7.6.4 信息资源网建设
7.7 企业信息系统
7.7.1 客户关系管理
7.7.2 供应链管理
7.7.3 产品数据管理
7.7.4 产品生命周期管理
7.7.5 知识管理
7.7.6 商业智能
7.7.7 企业门户
7.7.8 电子商务
7.7.9 决策支持系统
7.8 电子政务
7.8.1 政府职能
7.8.2 电子政务的模式
7.8.3 电子政务的实施
7.9 业务流程重组
7.9.1 BPR概述
7.9.2 BPR的实施
7.9.3 基于BPR的信息系统规划
7.10 企业应用集成
7.10.1 传统企业应用集成
7.10.2 事件驱动的企业应用集成
7.11 首席信息官
第8章 软件工程
8.1 软件生命周期
8.2 软件开发方法
8.2.1 形式化方法
8.2.2 逆向工程
8.3 软件开发模型
8.3.1 软件开发模型概述
8.3.2 快速应用开发
8.3.3 统一过程
8.3.4 敏捷方法
8.4 软件开发环境与工具
8.4.1 软件开发环境
8.4.2 软件开发工具
8.5 软件过程管理
8.5.1 软件能力成熟度模型
8.5.2 软件过程评估
第9章 系统规划
9.1 系统规划概述
9.2 项目的提出与选择
9.2.1 项目的立项目标和动机
9.2.2 项目立项的价值判断
9.2.3 项目的选择和确定
9.3 初步调查
9.4 可行性研究
9.4.1 可行性评价准则
9.4.2 可行性研究的步骤
9.4.3 可行性研究报告
9.5 成本效益分析技术
9.5.1 成本和收益
9.5.2 净现值分析
9.5.3 投资回收期与投资回报率
9.6 系统方案
9.6.1 候选方案的可行性评价
9.6.2 系统建议方案报告
第10章 系统分析
10.1 系统分析概述
10.2 详细调查
10.2.1 详细调查的原则
10.2.2 详细调查的内容
10.2.3 详细调查的方法
10.3 现有系统分析
10.4 组织结构分析
10.4.1 组织结构图
10.4.2 组织结构调查
10.5 系统功能分析
10.6 业务流程分析
10.6.1 业务流程分析概述
10.6.2 业务流程图
10.6.3 业务活动图示
10.6.4 业务流程建模
10.7 数据与数据流程分析
10.7.1 数据汇总分析
10.7.2 数据属性分析
10.7.3 数据流程分析
10.8 系统需求规格说明
第11章 软件需求工程
11.1 软件需求概述
11.2 需求获取
11.2.1 用户访谈
11.2.2 问卷调查
11.2.3 采样
11.2.4 情节串联板
11.2.5 联合需求计划
11.2.6 需求记录技术
11.3 需求分析
11.3.1 需求分析的任务
11.3.2 需求分析的方法
11.4 结构化分析方法
11.4.1 数据流图
11.4.2 状态转换图
11.4.3 数据字典
11.5 面向对象分析方法
11.5.1 统一建模语言
11.5.2 用例模型
11.5.3 分析模型
11.6 需求定义
11.6.1 需求定义的方法
11.6.2 软件需求规格说明书
11.7 需求验证
11.7.1 需求评审
11.7.2 需求测试
11.8 需求管理
11.8.1 需求变更管理
11.8.3 需求风险管理
11.8.4 需求跟踪
第12章 软件架构设计
12.1 构件与软件复用
12.1.1 主流构件标准
12.1.2 构件获取与管理
12.1.3 构件复用的方法
12.2 软件架构概述
12.3 软件架构建模
12.4 软件架构风格
12.4.1 经典架构风格
12.4.2 层次架构风格
12.4.3 富互联网应用
12.5 面向服务的架构
12.5.1 SOA概述
12.5.2 SOA的关键技术
12.5.3 SOA的实现方法
12.6 软件架构评估
12.6.1 架构评估概述
12.6.2 ATAM评估方法
12.6.3 SAAM评估方法
12.7 软件产品线
12.7.1 产品线的过程模型
12.7.2 产品线的建立方式
第13章 系统设计
13.1 系统设计概述
13.2 处理流程设计
13.2.1 流程设计概述
13.2.2 工作流管理系统
13.2.3 流程设计工具
13.3 结构化设计
13.3.1 模块结构
13.3.2 系统结构图
13.4 面向对象设计
13.4.1 设计软件类
13.4.2 对象持久化与数据库
13.4.3 面向对象设计的原则
13.5 设计模式
13.5.1 设计模式概述
13.5.2 设计模式分类
第14章 系统实现与测试
14.1 系统实现概述
14.1.1 程序设计方法
14.1.2 程序设计语言与风格
14.2 软件测试概述
14.2.1 测试自动化
14.2.2 软件调试
14.3 软件测试方法
14.3.1 静态测试
14.3.2 白盒测试
14.3.3 黑盒测试
14.4 测试的类型
14.4.1 单元测试
14.4.2 集成测试
14.4.3 系统测试
14.4.4 其他测试类型
14.5 面向对象系统的测试
14.5.1 面向对象系统的测试策略
14.5.2 面向对象系统的单元测试
14.5.3 面向对象系统的集成测试
14.6 软件测试的组织
第15章 系统运行与维护
15.1 遗留系统的处理策略
15.1.1 评价方法
15.1.2 演化策略
15.2 系统转换与交接
15.2.1 新旧系统的转换策略
15.2.2 数据转换和迁移
15.3 系统的扩展和集成
15.4 系统运行管理
15.4.1 系统成本管理
15.4.2 系统用户管理
15.4.3 网络资源管理
15.4.4 软件资源管理
15.5 系统故障管理
15.5.1 故障监视
15.5.2 故障调查
15.5.3 故障支持和恢复处理
15.6 软件维护
15.6.1 软件维护概述
15.6.2 软件维护的影响因素
15.6.3 软件维护成本
15.6.4 软件维护管理
15.8 系统监理与评价
15.8.1 工程监理
15.8.2 系统评价
第16章 新技术应用
16.1 中间件技术
16.1.1 中间件概述
16.1.2 主要的中间件
16.1.3 中间件与构件的关系
16.2 J2EE与.NET平台
16.2.1 J2EE核心技术
16.2.2 Java企业应用框架
16.2.3 .NET平台概述
16.2.4 比较分析
16.3 虚拟计算
16.3.1 P2P计算
16.3.2 云计算
16.3.3 软件即服务
16.3.4 网格计算
16.3.5 普适计算
16.4 片上系统
16.4.1 SoC设计
16.4.2 SoC验证
16.5 多核技术
16.5.1 多核与多线程
16.5.2 多核编程
16.6 面向方面的编程
16.6.1 AOP概述
16.6.2 AOP关键技术
第17章 嵌入式系统分析与设计
17.1 嵌入式系统概述
17.2 嵌入式数据库系统
17.3 嵌入式实时操作系统
17.3.1 嵌入式操作系统概述
17.3.2 多任务调度算法
17.3.3 优先级反转
17.4 嵌入式系统开发
17.4.1 开发平台
17.4.2 开发流程
17.4.3 软硬件协同设计
17.4.4 系统分析与设计
17.4.5 低功耗设计
第18章 系统安全性分析与设计
18.1 信息系统安全体系
18.2 数据安全与保密
18.2.1 数据加密技术
18.2.2 认证技术
18.2.3 密钥管理体制
18.3 通信与网络安全技术
18.3.1 防火墙
18.3.2 虚拟专用网
18.3.3 安全协议
18.3.4 单点登录技术
18.4 病毒防治与防闯入
18.4.1 病毒防护技术
18.4.2 入侵检测技术
18.4.3 入侵防护技术
18.4.4 网络攻击及预防
18.4.5 计算机犯罪与防范
18.5 系统访问控制技术
18.5.1 访问控制概述
18.5.2 访问控制模型
18.5.3 访问控制分类
18.6 容灾与业务持续
18.6.1 灾难恢复技术
18.6.2 灾难恢复规划
18.6.3 业务持续性规划
18.7 安全管理措施
18.7.1 安全管理的内容
18.7.2 安全审计
18.7.3 私有信息保护
第19章 系统可靠性分析与设计
19.1 系统可靠性概述
19.1.1 系统故障模型
19.1.2 系统可靠性指标
19.1.3 系统可靠性模型
19.2 系统可靠性分析
19.3 冗余技术
19.3.1 冗余技术的分类
19.3.2 冗余系统
19.4 软件容错技术
19.4.1 N版本程序设计
19.4.2 恢复块方法
19.4.3 防卫式程序设计
19.5 双机容错技术
19.6 集群技术
19.6.1 集群技术概述
19.6.2 高性能计算集群
19.6.3 负载均衡集群
19.6.4 高可用性集群
19.6.5 负载均衡技术
19.6.6 进程迁移技术
第20章 项目管理
20.1 项目开发计划
20.1.1 项目开发计划概述
20.1.2 项目开发计划的编制
20.2 范围管理
20.2.1 范围计划的编制
20.2.2 创建工作分解结构
20.2.3 范围确认和控制
20.3 进度管理
20.3.1 活动排序
20.3.2 活动资源估算
20.3.3 活动历时估算
20.3.4 进度控制
20.4 成本管理
20.4.1 成本估算
20.4.2 成本预算
20.4.3 成本控制
20.5 软件配置管理
20.5.1 配置管理概述
20.5.2 配置标识
20.5.3 变更控制
20.5.4 版本控制
20.5.5 配置审核
20.5.6 配置状态报告
20.6 质量管理
20.6.1 软件质量模型
20.6.2 质量管理计划
20.6.3 质量保证与质量控制
20.7 人力资源管理
20.7.1 人力资源计划编制
20.7.2 组建项目团队
20.7.3 项目团队建设
20.7.4 管理项目团队
20.7.5 沟通管理
20.8 风险管理
20.8.1 风险管理的概念
20.8.2 风险的主要类型
20.8.3 风险管理的过程
20.9 信息(文档)管理
20.9.1 软件文档概述
20.9.2 软件文档标准
20.9.3 数据需求说明
20.9.4 软件测试计划
20.9.5 软件测试报告
20.9.6 技术报告
20.9.7 项目开发总结报告
参考文献
第1章 绪 论
工业化不仅造就了高速发展的生产力,更重要的是造就了一支规模宏大的人才队伍,其主要力量是工程师。信息化是一场比工业化更加深刻和更加广泛的社会变革,它要求在产品或服务的生产过程中实现管理流程、组织机构、生产技能和生产工具的变革。在这场变革中,一定要造就一支规模更为宏大的人才队伍,其核心力量是系统分析师。这是因为,作为信息化主体的计算机信息系统工程是一项复杂的社会和技术工程,无论是内容、规模、深度和广度,还是技术、工具、业务和流程,都在不断地发展和创新。
在信息系统建设中,系统分析师起着十分重要的作用,他们的知识水平和工作能力决定了系统的成败。系统分析师是中国软件产业的脊梁,是各行业信息化的精英。有了他们,信息化这只大船就能乘风破浪,驶向光辉的未来。
1.1 信息与信息系统
信息是一种客观事物,它与材料、能源一样,都是社会的基础资源。但是,理性认识信息却只有几十年的历史。1948年,美国科学家香农(C. E. Shannon)在对通信理论深入研究的基础上,提出了信息的概念,创立了信息理论。此后,人们对信息的研究迅速增加,形成了一个新的学科——信息论。至今,信息论已发展成为一个内涵非常丰富的学科,与控制论和系统论并称为现代科学的“三论”。计算机技术和网络技术的迅速发展和普及,更加提高了“三论”在现代科学技术中的地位。同时,信息论为计算机技术和网络技术的发展提供了方向上的指导,为信息化提供了较好的理论支撑。
1.1.1 信息的基本概念
香农认为,信息是不确定性的减少。由此可知,信息就是确定性的增加。香农不但给出了信息的定义,还给出了信息的定量描述,并确定了信息量的单位为比特(bit)。一比特的信息量,在变异度为2的最简单情况下,就是能消除非此即彼的不确定性所需要的信息量。这里的“变异度”是指事物的变化状态空间为2,例如,大和小、高和低、快和慢等。
香农将热力学中的“熵”引入信息论。在热力学中,熵是系统无序程度的度量,而信息与熵正好相反,信息是系统有序程度的度量,表现为负熵,计算公式如下: