系统架构设计师考试全程指导文摘
第1章 操作系统
类型:1.批处理操作系统 2.分时操作系统 3.实时操作系统 4.网络操作系统 5.分布式操作系统
结构:1.无序结构 2.层次结构 3.面向对象结构 4.对称多处理结构 5.微内核结构
三态模型:运行态,就绪态,等待态
信号量与PV操作,
信号量是最早出现的用来解决进程同步与互斥问题的机制。
信号量(Saphore)由一个值和一个指针组成,指针指向等待该信号量的进程。信号量的值表示相应资源的使用情况。信号量S>=0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。请求者必须等待其他进程释放该类资源,才能继续运行。而执行一个V操作意味着释放一个资源,因此S的值加1;若S<0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
文件的逻辑组织:1.连续结构 2.多重结构 3.转置结构 4.顺序结构
文件的物理组织:1.顺序文件 2.链接文件 3.索引文件
绝对路径:指从根目录开始的路径
相对路径:从用户工作目录开始的路径
虚拟组织:段式组织,页式管理,段页式管理
置换算法:1.最优算法 2.随机算法 3.先进先出 4.最近最少使用
作业的状态:1.提交;2.后备;3。执行;4.完成
作业调度算法:1.先来先服务 2.短作业优先 3.响应比高者优先 4.优先级调度
数据传输控制方式:1.程序控制方式 2.程序中断方式 3.DMA方式 4.通道方式 5.输入输出处理机
磁盘调度算法:寻道时间+等待时间+数据传输时间
1.FCFS算法(先来先服务)
2.SSTF算法(最短时间优先)
3.SCAN算法(电梯调度算法)
4.N-SCAN算法(是SCAN的改良。磁头改变方向时,以到达请求服务的最短时间。对中间请求服务更有利。)
5.C-SCAN算法(磁头单项移动。消除N-SCAN对两端请求的不公平。)
spooling的意思是外部设备同时联机操作,假脱机输入输出或排队转储技术
-------------------------------------------------------------------------------------------------------
第2章 数据库系统
数据库管理系统:DBMS,是一种负责数据库的定义,建立,操作,管理和维护的软件系统。
数据库系统:集中式,客户端/服务端,并行,分布式
数据库模式:1.用户级(外模式) 2.概念级(概念模式) 3.物理级(内模式)
两级独立性:1.物理独立性;2.逻辑独立性
数据模型:1.层次模型 2.网状模型 3.关系模型 4.面向对象模型
关系模型:
-----------------------------------------------------------------------------------------------------
规范化理论:
常见设计错误:1.数据冗余;2.修改异常;3.插入异常;4.删除异常;
函数依赖:完全函数依赖,部分函数依赖,传递函数依赖
事务:
并发操作的问题:
死锁解决:
----------------------------------------------------------------------------------------------------
数据库故障:1.程序故障 2.系统故障 3.介质故障 4.病毒故障
数据备份,日志文件,数据恢复
数据库的安全性:1.用户认证 2.用户角色 3.数据授权 4.数据库视图 5.审计功能
完整性:1.实体完整性 2.参照完整性 3.用户定义的完整性 4.触发器
数据库工程:1.规划 2.需求分析 3.概念设计 (E-R图) 4.逻辑设计 5.物理设计
E-R图:1.属性冲突 2.命名冲突 3.结构冲突
并行数据库:1.共享内存 2.共享磁盘 3.无共享资源
数据仓库
OLTP:联机事务处理; 传统的关系型数据库
OLAP:联机分析处理 数据仓库系统:基本操作:钻取,切片,旋转
特征:1.面向主题 2.集成的 3.相对稳定的 4.随时间变化
分类:1.企业仓库 2.数据集市 3.虚拟仓库
数据挖掘
从数据库中发现隐含的,有意义的知识。
1.自动预测趋势和行为 2.关联分析 3.聚类 4.概念描述 5.偏差检测
常用技术:1.决策树 2.神经网络 3.遗传算法 4.关联规则挖掘算法
分析方法:1.关联分析 2.序列分析 3分类分析 4.聚类分析 5预测 6.时间序列分析
---------------------------------------------------------------------------------------------------------
第3章 嵌入式系统
特点:1.系统专用性强 2.软,硬件依赖性强 3.系统实时性强 4.处理器专用 5.多种技术紧密结合 6.系统透明性 7.系统资源有限
实时嵌入式系统:
嵌入式系统的硬件架构:嵌入式处理器,存储器,外部设备
嵌入式系统的软件架构:应用软件层,支撑软件层,操作系统层
嵌入式操作系统
特点:1.微型化;2.代码质量高;3.专业化;4.实时性强;5.可裁减,可配置。
分类:实时嵌入式操作系统,非实时嵌入式操作系统
调度算法:
1.基于优先级的抢占调度
2.时间轮转调度
嵌入式系统数据库:
嵌入式系统网络:
嵌入式因特网:
嵌入式系统软开发环境:
调试方法:1.直接调试方法;2.调试监控法 3.在线仿真法 4.片上调试法 5 模拟器法
---------------------------------------------------------------------------------------------------------
第4章 数据通信与计算机网络
网络:1.局域网 2.广域网 3.城域网
模型分为7层:1.物理层 2.数据链路层 3.网络层 4.传输层 5会话层 6.表示层 7.应用层
传输介质:1 双绞线 2 同轴电缆 3.光纤
IP的地址分类:A :0 B: 10 C:110 D:1110 E:11110
层次式网络设计:核心层,汇聚层,接入层
-----------------------------------------------------------------------------------------------------------
第5章 多媒体基础知识
分类:1.感觉媒体 2.表示媒体 3表现媒体 4.存储媒体 5.传输媒体
多媒体集成语言SMIL
无损:冗余压缩法,墑编码法
有损:墑压缩法
-----------------------------------------------------------------------------------------------------------
第6章 系统性能评价
响应时间:用户发出完整请求到系统完成任务给出响应的时间间隔。
吞吐量:单位时间内系统所能完成的任务数量。
负载均衡的技术:
1.DNS
2.代理服务器
3.地址转换网关
4.协议内部支持
5.NAT
6.反向代理
7.混合型
系统性能评估:1.时钟频率法 2.指令执行速度法 3.等效指令速度法 4.数据处理速率法 5.综合理论性能法 6.基准程序法
------------------------------------------------------------------------------------------------------------------
第7章 信息系统基础知识
系统工程:1.逻辑堆 2。时间堆 3 知识堆
企业系统规划方法:(BSP)大型信息系统的开发
BSP方法的原则:
战略数据规划方法
1.自顶向下的规划
2.企业模型的建立
(1)面向业务的主题。(2)信息共享。(3)一次一处输入系统。(4)由基本表组成
信息工程方法:
信息化基础:
企业资源计划(ERP),物质流,资金流,信息流
业务流程重组(BPR),
客户关系管理(CRM),
供应链管理(SCM),
产品数据管理(PDM)
产品生命周期管理(PLM),
知识管理,
企业应用集成(EAI),
商业智能(BI),
企业门户,
电子政务,
电子商务
---------------------------------------------------------------------------------------------------------------------
第8章 系统开发基础知识
结构化方法:强调开发方法的结构合理性及所开发软件的结构合理性。
缺点:1.开发周期长 2.兼顾数据结构方面不多 3.在开发初期难以锁定功能要求
面向对象方法:
原型法:适合用于用户需求不明确的场合。
逆向工程:
软件再工程:需要对旧的软件进行重新处理,调整,提高其可维护性。包括逆向工程,软件重构,正向工程。
软件开发模型:1.瀑布模型 : 需求确定,很少变更的项目
优点:有利于组织和管理
缺点:软件和用户见面的时间较长,前期错误放大导致后果严重,完全确定用户的需求是很难的
V模型:以测试为中心的开发模型: 需求分析-》概要设计-》详细设计-》编码
验收测试《-系统测试《-集成测试《-单元测试
快速应用开发:(RAD):基于构件的开发方法。1.并非所有应用适合RAD。2只能用于信息系统开发。
敏捷方法:极限编程xp
统一过程:通用过程框架
系统规划与问题定义:
系统总体规划的方法:1.关键成功因素法 2.战略目标集转化法 3.企业系统规划法
可行性分析:1.技术可行性 2.经济可行性 3操作可行性
成本效益分析:
1.货币的时间价值:利率
结构化系统建模:
问题定义:
需求工程:
-------------------------------------------------------------------------------------------
第9章 面向对象方法
uml5个系统视图:1逻辑视图。2进程视图。3实现视图 4.部署视图 5用例视图
事物:
1.结构事物 :类,接口,协作,用例,活动类,构件,节点
2,行为事物:交互,状态机
3.分组事务
4.注释事务
关系:1.依赖 2.关联 3.泛化 4.实现
用例之间的关系:包含,扩展
----------------------------------------------------------------------------------------------
第10章 基于构件的开发
构件是一个功能相对独立的具有可重用价值的软件单元
软件重用:垂直性重用(一类具有较多公共性的应用领域),水平性重用(不同领域之间)
可能重用的软件要素:(项目计划,成本估计,架构,需求模型和规格说明,设计,源程序代码,用户文档和技术文档,用户界面,数据结构和测试用例)
领域是一组具有相似或相近软件需求的应用系统所覆盖的功能区域
构件管理:
1.构件的组织:关键字分类法,刻面分类法,超文本方法
2构件分类
3.人员及权限管理
构建重用:
基于功能的组装,基于数据的组装,面向对象的组装技术
中间件是位于平台(硬件和操作系统)和应用之间的通用服务。
中间件的分类:1 从中间件的层次上来划分:底层型中间件:JVM,CLR,JDBC; 通用型中间件:EJB,DCOM;集成型中间件:WF
通信服务:平台:1.RPC 2MOM 3ORB
应用服务器:构件服务器:优点:1.可升级性 2.分布式处理 3.可重用的业务对象 4.业务规则 5跨平台集成
类型:1操作系统型 2.集成型 3插件型 4独立型
应用服务器的产品:
--------------------------------------------------------------------------------------------------
第11章 开发管理
项目的生命周期:1概念阶段 2.开发阶段 3.实施阶段 4.结束阶段
成本估算的方法:1.自顶向下的估算法 2.自底向上的估算法 3.差别估算法
----------------------------------------------------------------------------------------------------
第12章 软件架构设计
概念:软件架构是具有一定形式的结构化元素,即构件的集合,包括处理构件,数据构件,连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把架构的不同部分组合连接起来。
软件架构包括一个或一组软件构件,软件构件外部的可见特性及其相互关系。
作用:1.软件架构是项目干系人进行交流的手段。2.软件架构是早期设计决策的体现。3.软件架构是可传递和可重用的模型。
软件架构的模型:1.结构模型。2,框架模型。3.动态模型。4,过程模型。5,功能模型。
"4+1"视图模型:1.逻辑视图。最终用户:功能需求。2.开发视图。编程人员:软件管理。3.进程视图。系统集成人员:性能,可扩充性,吞吐量等。
4.物理视图。系统工程人员:系统拓扑,安装和通信等。5.场景。
软件架构风格:描述某一特定应用领域中系统组织方式的惯用模式。定义了用于描述系统的术语表和一组指导构件系统的规则。
经典软件架构风格:
1.管道/过滤器: 每个构件都有一组输入输出. Unix shell;传统的编译器
优点:1.隐蔽性,高内聚,低耦合 2.多个过滤器行为的简单合成 3.支持软件重用 4.系统维护简单,可扩展性好。5.允许对一些吞吐量,死锁等属性的分析。 6.支持并行执行
缺点:1.导致进程成为批处理的结构 2.不适合处理交互的应用 3.系统性能下降,复杂性大。
2. 面向对象风格:
优点:1.改变一个对象的表示,不影响其他的对象 2.数据存取操作的问题分解成一些交互的代理程序的集合。
缺点:1.一个对象标识改变了,必须修改所有其他明确调用它的标识 2.必须修改所有显式调用它的其他对象,并消除副作用。
3. 基于事件的隐式调用:构件不直接调用一个过程,而是触发或广播一个或多个事件。
优点:1.软件重用,2.改进系统带来方便
缺点:1.构件放弃了对系统计算的控制 2.数据交换的问题 3.正确性的推理存在问题
4.分层系统:分层通信协议
优点:1.支持基于抽象程序递增的系统设计 2.支持功能增强 3.支持重用
缺点:1.不容易划分层次 2.很难找到一个合适的层次抽象方法
5.仓库系统及知识库:中央数据结构的当前状态触发进程执行的选择:黑板系统。信号处理领域
由1.知识源 2.黑板数据结构 3.控制
6.C2风格:通过连接件绑定在一起的按照一组规则运作的并行构件网络。
--------------------------------------------------------------------------------------------
三层C/S架构的优点:1. 逻辑独立,结构清晰 2.更灵活有效地用相应的平台和硬件系统 3.各层可以并行开发 4.表示层和数据库隔离
b/s架构的缺点:1.缺乏对动态页面的支持功能,没有集成有效的数据库处理功能 。2.系统扩展性差,安全难以控制。3.速度低于c/s架构。4.数据的动态交互性不强
RIA:富因特网应用。1.用户界面丰富 2.数据能缓存在客户端
正交软件架构:由组织层和线索的构件构成。1.结构清晰,易于理解 2.易修改,可维护性强 3.可移植性强,重用粒度大
基于层次消息总线的架构:
-------------------------------------------------------------------------------------------------
特定领域软件架构:(DSSA)
领域:1.垂直域:整个系统内的多个系统 2.水平域:多个系统之间的共有部分
基本活动:1.领域分析:获得领域模型;领域模型描述系统之间共同的需求,所描述的需求为领域需求。
2.领域设计:获得DSSA;
3.领域实现:开发和组织可重用信息;
共有四种角色:领域专家;领域分析人员;领域设计人员;领域实现人员;
DSSA的建立过程:1.定义领域范围 2.定义领域特定的元素 3.定义领域特定的设计和实现需求约束 4.定义领域模型和架构 5.产生,搜集可重用的产品单元
以问题域出发的DSSA,以解决域出发的软件架构风格
---------------------------------------------------------------------------------------------------
架构设计与演化:1.实验原型阶段 2.演化开发阶段
基于架构的软件开发:传统软件开发模型缺点1.效率低 2不能支持软件重用
1.架构需求:需求获取,标识构件,需求评审三个步骤
2.架构设计:5个步骤 提出软件架构模型,把已标识的构件映射到软件架构中,分析构件之间的相互作用,产生软件架构,架构评审
3.架构文档化:主要输出:架构需求规格说明书,质量设计说明书
4.架构复审:安排外部人员(用户代表,领域专家)
5.架构实现:
6.架构演化
---------------------------------------------------------------------------------------------------------
软件架构评估:
敏感点:一个或多个构件的特性
权衡点:影响多个质量属性的特性,是多个质量属性的敏感点
1.基于调查问卷或检查表的评估方式:
2.基于场景的评估方式: 架构权衡分析方法(ATAM),软件架构分析方法(SAAM)
3.基于度量的评估方式:代码行数等
ATAM:
SAAM:比较简单,易学易用,进行培训和准备的工作量比较少
1.形成场景 2.描述架构 3.对场景进行分类和确定优先级 4.对间接场景的单个评估 5.评估场景的相互作用 6.形成总体评估
---------------------------------------------------------------------------------------------------------------------
软件产品线:特点 1.过程驱动 2.特定领域 3.技术支持 4.架构为中心
产品线的过程模型:1。双生命周期模型:领域工程和应用工程 2.SEI模型:核心资源开发,产品开发,管理 3.三生命周期模型:企业工程,领域工程,应用工程
产品线的组织结构:1.独立核心资源小组 2.组织模型 :开发,商务,领域工程,层次领域工程 3动态组织结构
产品线的建立方式:1.将现有产品演化为产品线 2.用软件产品线替换现有产品集 3.全新软件产品线的演化 4.全新软件产品线的开发
----------------------------------------------------------------------------------------------------------------------
设计模式
web服务架构:服务提供者,服务请求者,服务注册中心
优势:1.高度的通用性和易用性 2.完全的平台,语言独立性 3.高度的集成性 4.容易部署与发布
面向服务的架构:1松散耦合 2.粗粒度服务 3.标准化接口
SOAD:面向服务的分析与设计:1.底层设计层,采用OOA,OOD 2.架构层:采用了EA的理论框架 3.业务组织层:采用了BPM规则
企业服务总线:ESB,由中间件技术实现并支持SOA的一组基础架构
优点:1.扩展的基于标准的连接 2.灵活的服务导向的应用组合 3.提高重用率,降低成本 4.减少市场反应时间
-----------------------------------------------------------------------------------------------------------------------
第13章 系统安全性和保密性
安全服务:1.认证服务 2.访问控制 3.数据机密性服务 4.数据完整性服务 5.不可否认服务
特定的安全机制:1.加密机制 2.数字签名机制 3.访问控制机制 4.数据完整性机制 5.认证交换机制 6.流量填充机制 7.路由控制机制 8.公证机制
普遍性的安全机制:1.可信功能度 2.安全标记 3.事件检测 4.安全审计跟踪 5.安全恢复
安全保护等级:
1.用户自主保护级
2.系统审计保护级
3.安全标记保护级
4.结构化保护级
5.访问验证保护级
加密体制:1.对称密码体制 加密和解密采用相同的密钥,加密速度快,大批量的数据DES,IDEA
2.非对称密码体制 速度慢,少量 RSA
PKI与数字签名:PKI:认证中心,证书库,密钥备份及恢复系统,证书作废处理系统,客户端证书处理系统
数字签名:HASH签名,DSS签名,RSA签名
----------------------------------------------------------------------------------------------------------------------
第14章 系统可靠性
系统无故障运行的概率
故障模型:1.逻辑级的故障模型 2.数据结构级的故障 3.软件故障和软件差错 4.系统级的故障模型
可靠性模型:1.时间模型 2.故障植入模型 3.数据模型
可靠性指标:1.平均无故障时间 2.平均故障修复时间 3.平均故障间隔时间
可靠性计算:1.串联系统 2.并联系统 3.模冗余系统
可靠性设计:冗余技术:
1.结构冗余
2.信息冗余
3.时间冗余
4.冗余附加技术
软件容错:1.恢复快方法 2.N版本程序设计 3.防卫式程序设计
集群技术:集群的分类:1.高性能技术科学集群 2.负载均衡集群 3.高可用性集群
---------------------------------------------------------------------------------------------------------------------
第15章 分布式系统
分布式操作系统的特点:1.具有干预互连的各处理机之间交互关系的责任 2.分布式 3.全局操作系统和局部操作系统 4.任务队列 5.系统的耦合方式关系大 6.消息传输协议技术
分布式数据库系统:架构:全局外模式,全局概念模式,分片模式,分布模式
基于web的分布式系统设计
---------------------------------------------------------------------------------------------------------------------
第16章 知识产权与法律法规
第17章 标准化知识
第18章 应用数学
第19章 专业英语
第20章 案例分析试题解答方法
第21章 论文写作方法与范文
--------------------------------------------------------------------------------------------------------------------
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////以下为论文题目////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2012年:
1.论基于架构的软件设计方法与应用
2.论企业应用系统的数据持久层架构设计
3.论决策支持系统的开发与应用
4.论企业信息化规划的实施与应用
2011年:
1.论模型驱动架构在系统开发中的应用
2.论企业集成平台的架构设计
基本功能:1.通信服务 2.信息集成服务 3.应用集成服务 4.提供对二次开发的支持 5.平台运行管理
关键技术:1.数据交换格式 2.分布式集成应用基础框架 3.实现数据集成常用的模式 4.实现应用集成的常用模式
3.论企业架构管理与应用
企业架构管理:1.架构管理 2.架构组装与建模 3.架构分析 4.架构通信 5.架构治理
4.论软件需求技术及应用
2010年:
1.论软件的静态演化和动态演化及其应用
静态演化是系统在停机状态下所进行的修改
动态演化是系统在运行期间所进行的更新
2.论数据挖掘技术的应用
主要任务:关联分析,聚类分析,分类,预测,时序模式,偏差分析
方法:神经网络方法,遗传算法,决策树方法,粗集方法,覆盖正例排斥反例方法,统计分析方法,模糊集方法
3.论大规模分布式系统缓存设计策略
1.单实例缓存模式
2.复制模式
3.分区模式
如何缓存服务器的工作模式选择,高可用性的设计考虑,缓存一致性和分布式算法,对象状态同步的考虑,缓存钝化,激活,过期和初始化
4.论软件可靠性评价
常用的10种可靠性模型:
模型假设的适用性,模型预测的能力与质量,模型输出值能否满足可靠性评价需求,模型使用的简便性
可靠性数据的收集
2009年:
1.论基于DSSA的软件架构设计与应用
2.论信息系统建模方法
1.结构化建模 2信息工程建模(数据库建模)3面向对象建模
3.论基于REST服务的WEB应用系统设计
rest优势,不足,问题
4.论软件可靠性设计与应用
1.容错设计技术:恢复快设计,N版本程序设计,冗余设计
2.检测技术
3.降低复杂度设计
模拟试题:
1.论ESB模式在企业应用集成中的应用
企业服务总线:
2.论基于场景的软件架构评估方法与应用
3.论企业信息系统的安全设计
4.论WEB应用系统性能优化技术与应用
1.高性能的web设计
1.图片,音频,视频单独服务器
2.缓存:1.客户端缓存 cookies
2.页面缓存 <%@ OutPutCache Duration="20" VaryByParam="None"%>
3.cache 缓存
4.分布式缓存 Apache,访问控制列表中的访问规划,返回相对照一致的数
据memcached
5.web服务器 Varnish:虚拟内存
3.页面异步,任务多线程处理技术
4.web代理:Squid,缓存ineternet数据
5.负载均衡:1.DNS,2 CDN
6.数据库:主从数据库、读写分离
7.NoSql数据库:记录日志,流水记录等,Redis,Mongodb
8.数据库集群技术:mysql
9.数据库sql语句优化,表分区,建立索引,存储过程,视图,计算列
冗余设计,表的水平分布与垂直分布
10.Lucene.Net只是一个全文检索开发包:原因很简单--模糊查询的契合度太低,匹配关键字之间不能含有其他内容。最重要的是它会造成数据库全表扫描,效率底下,即使使用视图,也会造成数据库服务器"亚历山大";它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的速度灰常快.
11.ROA(面向资源的开发):REST:表述状态转移。
特征:1.采用URI标识资源 2.使用链接关联相关的资源 3.使用统一的接口 4.使用标准的HTTP方法 5.支持多种资源标识方式 6.无状态性
5.论基于Mashup的Web应用系统设计与应用
6.论数据仓库与数据挖掘在企业信息化中的应用
7.论软件架构风格及其应用
1.数据流风格
2.调用返回风格
3.独立构件风格
4.虚拟机风格
5.仓库风格
8.论SOA在企业集成架构设计中的应用
9.论统一软件开发过程的应用
10.论多层分布式架构风格在企业信息化中的应用
分布式多层架构风格:c/s,b/s,corba,dcom,ejb
5个层次:
表现层:是实际的用户界面
表现逻辑层:为了生成表现层而必须进行的处理
应用逻辑层:包括支持实际业务应用及规则所需的所有逻辑和处理
数据处理层:包括用来存储和访问往来于数据库中的数据,所需的所有命令和逻辑
数据层:数据库中实际存储的数据
特点:安全性,稳定性,易维护性,快速响应,系统扩展性,灵活性
11.论可视化技术在实时控制系统的应用
12.论基于XML的异构数据库系统架构与应用
13.论软件的可复用性设计
---------------------------------------------------------------
软件架构设计
基于架构的软件开发方法
特定领域软件架构
数据库设计
系统性能设计
中间件,应用服务器
基于对象的分布式系统设计
基于web的分布式系统设计
软件可靠性设计