系统架构设计师教程(第2版)
分類: 图书,计算机/网络,计算机考试 认证,软件水平考试,
作者: 张友生,王勇 主编,希赛IT教育研究中心 组编
出 版 社: 电子工业出版社
出版时间: 2009-7-1字数:版次: 1页数: 670印刷时间:开本: 16开印次:纸张:I S B N : 9787121089404包装: 平装编辑推荐
名家执笔,指导性强——准确把握考试动态,全面体现新大纲精髓;问题典型,阐述精辟——覆盖全部重点、难点,彻底解决考试疑难;把书读薄,明晰要点——从历年考题浓缩知识点,备考要点一目了然。
内容简介
本书由希赛IT教育研发中心组织编写,作为计算机技术与软件专业技术资格(水平)考试中的系统架构设计师级别的考试辅导指定教材。内容涵盖了最新的系统架构设计师考试大纲(2009年版)的所有知识点,对系统架构设计师所必须掌握的理论基础知识做了详细的介绍,重在培养系统架构设计师所必须具备的专业技能和方法。
本书内容既是对系统架构设计师考试的总体纲领性的要求,也是系统架构设计师职业生涯的知识与技能体系。准备参加考试的人员可通过阅读本书掌握考试大纲规定的知识,把握考试重点和难点。
本书可作为系统架构设计师和系统分析师的工作手册,也可作为软件设计师、数据库系统工程师和网络工程师进一步发展的学习用书,还可作为计算机专业教师的教学参考书。
目录
第1章 操作系统
1.1 操作系统的类型与结构
1.1.1 操作系统的定义
1.1.2 操作系统分类
1.2 操作系统基本原理
1.2.1 处理机与进程管理
1.2.2 存储管理
1.2.3 设备管理
1.2.4 文件管理
1.2.5 作业管理
1.3 网络操作系统
1.3.1 类型与功能
1.3.2 网络管理控制
第2章 数据库系统
2.1 数据库管理系统的类型
2.2 数据库模式与范式
2.2.1 数据库的结构与模式
2.2.2 数据模型
2.2.3 数据的规范化
2.3 数据操纵和使用
2.4 数据库设计
2.4.1 数据库设计的特点
2.4.2 数据库设计的方法
2.4.3 数据库设计的基本步骤
2.4.4 需求分析
2.4.5 概念结构设计
2.4.6 逻辑结构设计
2.4.7 物理结构设计
2.4.8 数据库应用程序设计
2.5 事务管理
2.5.1 并发控制
2.5.2 故障与恢复
2.6 备份与恢复
2.7 分布式数据库系统
2.7.1 分布式数据库的概念
2.7.2 分布式数据库的体系结构
2.8 并行数据库系统
2.8.1 功能和结构
2.8.2 并行处理技术
2.9 数据仓库
2.9.1 数据仓库的概念
2.9.2 数据仓库的结构
2.9.3 数据仓库的实现方法
2.10 数据挖掘
2.10.1 数据挖掘的概念
2.10.2 数据挖掘的功能
2.10.3 数据挖掘常用技术
2.10.4 数据挖掘的流程
2.11 常见的数据库管理系统
2.11.1 Oracle
2.11.2 Sybase
2.11.3 Informix
2.11.4 SQL Server
第3章 数据通信与计算机网络
3.1 Web和Internet
3.1.1 Internet基础协议
3.1.2 Web应用
3.2 通信技术
3.2.1 移动通信
3.2.2 卫星通信
3.2.3 有线电视网
3.3 通信服务
3.3.1 交换技术
3.3.2 ISDN技术
3.3.3 帧中继技术
3.3.4 ATM技术
3.3.5 租用线路
3.4 Web的各种负载均衡技术
3.5 网络存储系统
第4章 系统性能评价
4.1 性能指标
4.1.1 计算机
4.1.2 路由器
4.1.3 交换机
4.1.4 网络
4.1.5 操作系统
4.1.6 数据库管理系统
4.1.7 Web服务器
4.2 性能计算
4.3 性能设计
4.3.1 系统性能调整
4.3.2 阿姆达尔解决方案
4.3.3 负载均衡
4.4 性能评估
4.4.1 基准测试程序
4.4.2 Web服务器的性能评估
4.4.3 Java应用服务器的基准
4.4.4 系统监视
第5章 开发方法
5.1 软件生命周期
5.2 软件开发模型
5.2.1 瀑布模型
5.2.2 演化模型
5.2.3 螺旋模型
5.2.4 增量模型
5.2.5 构件组装模型
5.3 统一过程
5.4 敏捷方法
5.4.1 极限编程
5.4.2 特征驱动开发
5.4.3 精益软件开发
5.5 软件重用
5.5.1 软件重用
5.5.2 构件技术
5.6 形式化方法
第6章 系统计划
6.1 项目的提出与选择
6.1.1 项目的立项目标和动机
6.1.2 项目提出的角色和工作范围
6.1.3 项目的选择和确定
6.1.4 项目提出和选择的结果
6.2 可行性研究与效益分析
6.2.1 可行性研究的内容
6.2.2 成本效益分析
6.2.3 可行性分析报告
6.3 方案的制订和改进
6.4 新旧系统的分析和比较
6.4.1 遗留系统的评价方法
6.4.2 遗留系统的演化策略
6.5 资源估计
第7章 系统分析与设计方法
7.1 定义问题与归结模型
7.1.1 问题分析
7.1.2 问题定义
7.2 需求分析与软件设计
7.2.1 需求分析的任务与过程
7.2.2 如何进行系统设计
7.2.3 软件设计的任务与活动
7.3 结构化分析与设计
7.3.1 结构化分析
7.3.2 结构化设计
7.3.3 模块设计
7.4 面向对象的分析与设计
7.4.1 面向对象的基本概念
7.4.2 面向对象分析
7.4.3 统一建模语言
7.4.4 结构化方法和面向对象方法的比较
7.5 用户界面设计
7.5.1 用户界面设计的原则
7.5.2 用户界面设计过程
7.6 工作流设计
7.6.1 工作流设计概述
7.6.2 工作流管理系统
7.7 系统的文件设计
7.8 网络环境下的计算机应用系统的设计
7.9 简单分布式计算机应用系统的设计
7.10 系统运行环境的集成与设计
7.11 系统过渡计划
第8章 软件架构设计
8.1 软件架构概述
8.1.1 软件架构的定义
8.1.2 软件架构的重要性
8.2 架构需求与软件质量属性
8.2.1 软件质量属性
8.2.2 6个质量属性及实现
8.3 架构设计
8.4 软件架构文档化
8.5 软件架构评估
8.5.1 软件架构评估的方法
8.5.2 架构的权衡分析法
8.5.3 成本效益分析法
8.6 构件及其复用
8.6.1 商用构件标准规范
8.6.2 应用系统簇与构件系统
8.6.3 基于复用开发的组织结构
8.7 产品线及系统演化
8.7.1 复用与产品线
8.7.2 基于产品线的架构
8.7.3 产品线的开发模型
8.7.4 特定领域软件架构
8.7.5 架构及系统演化
8.8 软件架构建模
8.8.1 架构的模型
8.8.2 架构风格
8.8.3 架构风格举例
8.9 软件架构视图
8.9.1 软件视图的分类
8.9.2 模块视图类型及其风格
8.9.3 C&C视图类型及其风格
8.9.4 分配视图类型及其风格
8.9.5 各视图类型间的映射关系
第9章 设计模式
9.1 设计模式概述
9.1.1 设计模式的概念
9.1.2 设计模式的组成
9.1.3 GoF设计模式
9.1.4 其他设计模式
9.1.5 设计模式与软件架构
9.1.6 设计模式分类
9.2 设计模式及实现
9.2.1 Abstract Factory模式
9.2.2 Singleton模式
9.2.3 Decorator模式
9.2.4 Facade/Session Façade模式
9.2.5 Mediator模式
9.2.6 Observer模式
9.2.7 Intercepting Filter模式
9.3 设计模式总结
第10章 测试评审方法
10.1 测试方法
10.1.1 软件测试阶段
10.1.2 白箱测试和黑箱测试1
10.1.3 缺陷的分类和级别
10.1.4 缺陷的评估和分析
10.1.5 排错
10.2 评审方法
10.3 验证与确认
10.4 测试自动化
10.5 测试设计和管理方法
10.5.1 测试设计
10.5.2 测试管理
10.6 面向对象的测试
第11章 嵌入式系统设计
11.1 嵌入式系统概论
11.1.1 嵌入式系统的基本概念
11.1.2 嵌入式系统的分类
11.2 嵌入式系统的组成
11.2.1 硬件架构
11.2.2 软件架构
11.3 嵌入式应用软件与开发平台
11.3.1 嵌入式窗口系统
11.3.2 嵌入式窗口系统实例分析
11.3.3 嵌入式系统的Java虚拟机
11.3.4 嵌入式系统软件开发平台
11.3.5 嵌入式开发调试
11.4 嵌入式网络系统
11.4.1 现场总线网
11.4.2 家庭信息网
11.4.3 无线数据通信网
11.4.4 嵌入式Internet
11.5 嵌入式数据库管理系统
11.5.1 使用环境的特点
11.5.2 系统组成与关键技术
11.5.3 实例解析
11.6 实时系统与嵌入式操作系统
11.6.1 嵌入式系统的实时概念
11.6.2 嵌入式操作系统概述
11.6.3 一般结构
11.6.4 实时嵌入式操作系统
11.6.5 内核对象
11.6.6 内核服务
11.6.7 主流嵌入式操作系统介绍
11.7 实时多任务调度与多任务设计
11.7.1 并发识别与多任务设计
11.7.2 多任务调度算法
11.7.3 任务的同步与通信
11.7.4 资源分类与资源请求模型
11.7.5 死锁
11.7.6 优先级反转问题
11.8 中断处理与异常处理
11.8.1 异常和中断的概念
11.8.2 中断处理
11.8.3 中断服务例程的设计问题
11.9 嵌入式系统开发设计
11.9.1 嵌入式系统设计概述
11.9.2 开发模型与设计流程
11.9.3 嵌入式系统设计的核心技术
11.9.4 嵌入式开发设计环境
11.9.5 嵌入式软件设计模型
11.9.6 需求分析
11.9.7 系统设计
11.9.8 系统集成与测试
11.9.9 嵌入式系统的软件移植
11.9.10 可移植性软件的设计
第12章 开发管理
12.1 项目的范围、时间与成本
12.1.1 项目范围管理
12.1.2 项目成本管理
12.1.3 项目时间管理
12.2 配置管理与文档管理
12.2.1 软件配置管理的概念
12.2.2 软件配置管理的解决方案
12.2.3 软件文档管理
12.3 软件需求管理
12.3.1 需求变更
12.3.2 需求跟踪
12.4 软件开发的质量与风险
12.4.1 软件质量管理
12.4.2 项目风险管理
12.5 人力资源管理
12.6 软件的运行与评价
12.7 软件过程改进
第13章 软件开发环境与工具
13.1 集成开发环境
13.1.1 开发环境的组成
13.1.2 开发环境的分类
13.1.3 分布式开发环境
13.2 建模工具
13.3 设计工具
13.4 编程工具
13.5 测试工具
13.6 项目管理工具
第14章 基于中间件的开发
14.1 中间件技术
14.1.1 中间件的概念
14.1.2 中间件的分类
14.1.3 中间件产品介绍
14.2 应用服务器技术
14.2.1 应用服务器的概念
14.2.2 主要的应用服务器
14.3 J2EE
14.3.1 表示层
14.3.2 应用服务层
14.4 .NET
14.4.1 .NET平台
14.4.2 .NET框架
14.5 企业应用集成
14.6 轻量级架构和重量级架构
14.6.1 Struts 框架
14.6.2 Spring框架
14.6.3 Hibernate框架
14.6.4 基于Struts、Spring和Hibernate的轻量级架构
14.6.5 轻量级架构和重量级架构的探讨
第15章 安全性和保密性设计
15.1 加密和解密
15.1.1 对称密钥加密算法
15.1.2 不对称密钥加密算法
15.2 数字签名与数字水印
15.2.1 数字签名
15.2.2 数字水印
15.3 数字证书与密钥管理
15.3.1 密钥分配中心
15.3.2 数字证书和公开密钥基础设施
15.4 安全协议
15.4.1 IPSec协议简述
15.4.2 SSL协议
15.4.3 PGP协议
15.5 计算机病毒与防治
15.5.1 计算机病毒概述
15.5.2 网络环境下的病毒发展新趋势
15.5.3 计算机病毒的检测与清除
15.5.4 计算机病毒的预防
15.6 身份认证与访问控制
15.6.1 身份认证技术
15.6.2 访问控制技术
15.7 网络安全体系
15.7.1 OSI安全体系结构
15.7.2 VPN在网络安全中的应用
15.8 系统的安全性设计
15.8.1 物理安全问题与设计
15.8.2 防火墙及其在系统安全中的应用
15.8.3 入侵检测系统
15.9 安全性规章
15.9.1 安全管理制度
15.9.2 计算机犯罪与相关法规
第16章 系统的可靠性分析与设计
16.1 可靠性概述
16.2 系统故障模型
16.2.1 故障的来源以及表现
16.2.2 几种常用的故障模型
16.3 系统配置方法
16.3.1 单机容错技术
16.3.2 双机热备份技术
16.3.3 服务器集群技术
16.4 系统可靠性模型
16.4.1 时间模型
16.4.2 故障植入模型
16.4.3 数据模型
16.5 系统的可靠性分析和可靠度计算
16.5.1 组合模型
16.5.2 马尔柯夫模型
16.6 提高系统可靠性的措施
16.6.1 硬件冗余
16.6.2 信息冗余
16.7 故障对策和备份与恢复
第17章 软件的知识产权保护
17.1 著作权法及实施条例
17.1.1 著作权法客体
17.1.2 著作权法主体
17.1.3 著作权
17.2 计算机软件保护条例
17.3 商标法及实施条例
17.4 专利法及实施细则
17.5 反不正当竞争法
第18章 标准化知识
18.1 标准化概论
18.2 标准分级与标准类型
18.2.1 标准分级
18.2.2 强制性标准与推荐性标准
18.3 编码标准
18.3.1 汉字编码标准
18.3.2 少数民族文字编码
18.4 数据交换标准
18.5 软件开发规范与文档标准
18.5.1 软件开发规范
18.5.2 软件文档标准
18.6 信息安全标准
第19章 多媒体技术及其应用
19.1 多媒体技术基本概念
19.2 数据编码技术
19.2.1 数据编码方法
19.2.2 数据编码标准
19.3 图形图像
19.4 音频
19.5 视频
第20章 信息系统基础知识
20.1 信息系统概述
20.1.1 信息系统的发展阶段
20.1.2 信息系统的组成
20.1.3 信息系统实现的复杂性
20.1.4 信息系统的生命周期
20.1.5 信息系统建设的原则
20.1.6 信息系统开发方法
20.2 信息系统工程
20.2.1 信息系统工程的概念
20.2.2 信息系统工程的内容
20.2.3 信息系统工程的总体规划
20.2.4 总体规划的方法论
20.3 政府信息化与电子政务
20.3.1 我国政府信息化的历程和策略
20.3.2 电子政务的内容和技术形式
20.3.3 电子政务建设的过程模式和技术模式
20.4 企业信息化与电子商务
20.4.1 企业信息化概述
20.4.2 企业资源规划
20.4.3 客户关系管理
20.4.4 产品数据管理
20.4.5 企业门户
20.4.6 企业应用集成
20.4.7 供应链管理
20.4.8 电子商务概述
20.5 信息资源管理
20.5.1 信息孤岛
20.5.2 信息资源分类
20.5.3 信息资源规划
20.5.4 信息资源网建设
20.6 知识管理与商业智能
20.6.1 知识管理
20.6.2 商业智能
20.7 业务流程重组
参考文献
书摘插图
第2章 数据库系统
随着应用系统的规模越来越大,现在的系统开发大部分都基于数据库的应用,因此,作为一名系统架构设计师,要熟练地掌握数据库系统的设计方法和技术。
本章在宏观上就系统架构设计师必须要掌握的内容进行介绍,有关细节方面的知识,读者如果感兴趣,可以参考《数据库工程师考试考点分析与真题详解》(王勇,电子工业出版社)。
2.1 数据库管理系统的类型
通常有多个分类标准。
第一个标准是数据库管理系统(Data Base Management System,DBMS)所基于的数据模型。当前,许多商业DBMS中所用的主要数据模型是关系数据模型。有些商业系统中实现了对象数据模型,但未得到广泛使用。许多传统(较老的)应用仍然在基于层次和网状数据模型的数据库系统上运行。关系DBMS一直在向前发展,特别是它还结合了对象数据库中开发的一些概念。这样就促使一种新的数据库类型得以出现,即对象-关系DBMS。因此基于数据模型,可以将DBMS划分为以下几类:关系DBMS、对象DBMS、对象-关系DBMS、层次DBMS、网状DBMS及其他DBMS。
第二个分类标准是系统所支持的用户数。单用户系统(single-user system)一次只支持一个用户,大多数情况下,这种系统都用在个人计算机上。多用户系统(multiuser system)占DBMS的大多数,可同时支持多个用户。
第三个分类标准是数据库分布至多少个站点(站点数)。如果DBMS只位于单一的一台计算机上,那么这个DBMS就是集中式的。集中式DBMS可以支持多个用户,但DBMS和数据库本身完全在一台计算机上。分布式DBMS(DDBMS)可以使实际的数据库和DBMS软件分布在多个站点上,并通过计算机网络相连接。同构DDBMS在多个站点上使用同样的DBMS软件。最近的趋势是开发软件来访问在异构DBMS下存储的多个原有自治数据库。这就引出了联合DBMS(或多数据库系统),在这样的系统里,各DBMS是松耦合的,并有一定程度的本地自治性。许多DDBMS都使用客户/服务器体系结构。
……
书摘与插图