导图社区 系统架构师考试
系统架构
第一章 企业信息化战略与实施
概念
信息工程是面向企业计算机信息系统建设,以数据为中心的开发方法。信息工程方法认为,与企业的信 息系统密切相关的三要素是:企业的各种信息、企业的业务过程和企业采用的信息技术。信息工程自上 而下地将整个信息系统的开发过程划分为四个实施阶段,分别是信息规划阶段、业务领域分析阶段、系 统设计阶段和系统构建阶段。
信息三流
信息流、资金流、物流
系统建模
信息系统战略规划


信息系统开发方法
在建立企业模型过程中,确定了企业高层业务功能之后,还可以将高层业务功能进一步分解 为业务过程。在功能分解过程中参考下列分解原则: (1)每个功能至少可以分解成两个子功能或过程; (2)在同一层次上的成分应属于同种类型,要么都是功能,要么都是过程; (3)同种功能或过程在分解中不能重复出现; (4)组成较高层次的功能的子功能或过程,必须反映较高功能的所有方面
政府信息化与电子政务
企业信息化与电子商务
C2M
消费者对工厂
企业应用集成
企业门户
决策支持系统

第二章 软件工程
开发方法
统一过程

初始、细化、交付、构建
UML 4+1
逻辑视图:描述设计的对象模型和对象之间的关系
开发视图:描述了软件模块的组织与管理
过程(进程)视图:描述了设计的并发和同步特征
结构化设计
测试类型
黑盒(功能测试)数据驱动、白盒(结构测)逻辑驱动,灰盒涵盖两种
黑盒
根据数据:等价类划分、边界值分支
根据经验直觉:错误推测
因果图
白盒
基本路径测试
循坏覆盖策略
逻辑覆盖测试
语句、判定、条件、条件判定覆盖、修正的条件判定覆盖、路径覆盖
冒烟测试
单元测试
集成测试
一次性组装
增量式组装
确认测试
内部、alpha、beta、验收测试
系统测试
面向对象测试
算法层(单元)、类层(模块测试)、模板层/类树层(集成测试)、系统层(系统测试)
软件调试
QA 质量保证,过程
CMMI证:5个等级(0,已管理级,已定义级,定量管理级,优化级)
QC 质量控制,结果
配置管理
开发文档:项目计划书、需求文档、设计文档、源代码、可执行代码等
开发库、受控库、产品库
开发环境与工具
环境机制
工具集
系统运行与评价
系统转换计划、软件维护、系统审计、系统评价
系统转换计划
直接转换策略、并行转换策略、分段转换策略
数据转换与迁移
系统运行与维护
可维护性
易分析性
易改变性
稳定性
易测试性
维护类型
改正性(正确性)
改bug
适应性
适应外部环境变化
完善性
增加功能、提升性能
预防性
为了解决将来发生的问题
系统评价
性能、效益、建设
实体间关系
扩展
使用
泛化
第三章 软件架构设计
设计模式
创建性模式
工厂方法factory method
抽象工厂abstract factory
原型模式prototype
单例模式single
构建器模式builder
结构性模式
适配器模式adaptor
桥接模式bridge
组合模式composite
装饰模式decorator
外观模式facade
享元模式flyweight
代理proxy
行为性模式
责任链 chain of responsibility
命令 comand
开发模型
敏捷方法
逆向工程
概念
架构设计就是需求分配,即将满足需求的职责分配到组件上
软件系统提供了一个结构、行为和属性的高级抽象
项目干系人进行交流的手段
使推理跟控制的更改更加简单
可传递和可复用的模型
风格:系统组织方式的惯用模式
发展史
汇编语言-》程序结构设计-》统一建模语言-》4+1视图
建模
结构模型、框架、动态、过程、功能
逻辑视图、开发(实现)、物理(部署)、进程
场景(用例视图)
ADL架构描述语言
支持构件、连接件及其配置的描述语言(架构配置)
架构风格
核心问题:能否达到架构级的软件复用
架构设计的重用
反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个构件有效地组织成一个完整的系统
定义了用于系统的术语表和一组指导构件系统的规则
1、数据流风格
批处理序列
构件是一系列固定顺序的计算单元,构件间只通过数据传递交互,数据必须是完整的,以整体的方式传递
管道-过滤器
构件称为过滤器,连接件是数据传输的管道
2、调用/返回风格(层次结构)
主/子程序
过程调用扮演连接件
面向对象
连接件即是对象间交互的方式
层次结构
连接件为层间协议
优点
增加抽象层的设计
每层最多影响两层
缺点
不容易划分为分层模式
难找到合适、正确的层次抽象方法
3、独立构件
进程通信
构件是独立的过程,连接件是消息传递
事件驱动系统(隐式调用)
构件是匿名的过程,连接件以过程之间的隐式调用来实现
4、虚拟机
解释器
执行效率低
基于规则的系统
规则集、规则解释器、规则/数据选择器和工作内存
5、仓库
数据库系统
构件分两类:一类是中央共享数据源,保存系统数据状态,一类是多个独立处理单元,对数据元素进行操作
黑板系统
包括知识源、黑板和控制三部分
超文本系统
构件以网状链接方式相互链接
6、闭环控制架构(过程控制)
两层cs架构
表示层、数据层
三层cs架构
抽象出功能层,落地在服务端
三层bs架构
富互联网应用RIA
Flex、HTML5、Laszlo、AJAX、Java、Bindows
基于服务的架构SOA
xml
rest 架构风格
强调信息本身为资源
每个资源对应一个唯一的资源标识
网络上的所有事物被抽象为资源
所有的操作都是无状态的


微服务优缺点
特定领域软件架构DSSA

垂直(行业内)
水平(多行业复用)
领域分析机制

建立过程


基于架构的软件开发方法
基于架构的软件设计(ABSD)

架构评估
非功能评估
性能
代表参数: 响应时间、吞吐量
设计策略:优先级队列、资源调度
可靠性
MTTF、MTBF
冗余、心跳线
可用性
故障间隔时间
冗余、心跳线
安全性
策略:追踪审计、信息隐藏


评估方式
调查问卷
基于场景的方式
架构权衡分析法ATAM

质量效用树

性能、可修改性、可用性、安全性、可测试性
可用性:可用时间比 可靠性:故障在多久时间内回复
冗余、心跳
安全性:保证数据完整性、不外泄
追踪审核(事后)
可修改性:保证系统在需修改时能快速修改
接口-实现分离、信息隐藏(封装)
性能:系统响应能力,处理能力
优先级队列、资源调度
可测试性:发现故障并隔离、定位其故障的能力特性
可维护:可理解、可修改、可测试
风险点
架构设计中潜在的、存在问题的架构决策所带来的隐患
敏感点
为了实现某种特定的质量属性,一个或多个构件所具有的特性
权衡点
影响多个质量属性的特性,是多个质量属性的敏感点
活动领域:场景和需求收集、体系结构视图和场景实现、质量效用树
软件架构分析法SAAM
形成场景、描述架构
输入:问题描述、需求声明、架构描述
成本效益分析法CBAM
度量

软件产品线
过程模型
双生命周期模型

SEI
三生命
建立方式

组织结构

中间件技术
是一种独立的系统软件架构

Corba 公共对象请求代理体系结构

典型应用架构
J2EE-分布式多层应用程序


mvc

mvp
第四章 系统安全分析与设计
安全基础技术
对称、非对称加密
1、保密
数字签名
3、防抵赖
4、身份认证
信息摘要
2、防篡改
MD5(128)、SHA(160)


CA分发证书到服务器,客户机从服务器下载证书,客户机提取出公钥,公钥加密产生的随机秘钥,服务器使用私钥解密出随机秘钥

网络攻击类型
主动攻击
ARP欺骗攻击、DoS与DDoS、重放攻击
被动攻击
业务流分析、窃听
第五章 项目管理

三点估算法
1:4:1

PERT图
延误时长在时差范围内,活动不会对项目总工期影响
总时差为0即为关键路径上活动
活动间依赖关系
gantt图
直观放映各活动进度
不直观放映活动依赖活动

关键路径法(双代号)
虚活动:不耗时间、资源只表示活动前后



EV-PV 、EV/PV
EV-AC、EV/AC

风险管理
风险分类

风险曝光度:概率承于损失
计算机组成与体系结构
指令集
局部性原理

多级存储(cache、内存、磁盘)



Flynn
总线

嵌入式



计算机网络
网络规划设计
需求分析



逻辑网络设计
物理网络设计

分层设计(三层网络)

接入层、汇聚层、核心层
DNS服务


递归查询、迭代查询
DHCP协议
接入技术

网络存储技术
分类

Rald

综合布线
物联网
感知层
射频
二维码

网络层

应用层
操作系统
进程管理
进程的状态

前趋图

表示进程间执行关系:串行、并行
信号量和pv操作
死锁及银行家算法

存储管理
段页式存储



快表

页面置换算法
文件管理
绝对路径与相对路径

索引文件

位示图

作业管理
设备管理
虚设备与SPOOLING技术
数据传输控制方式
嵌入式操作系统

微内核操作系统

数据库系统
ER模型
规范化
函数依赖

范式
子主题
简单、复合、多值、派生属性
无损分解

数据库设计
视图
主/键

求候选键

模式分解
外模式、内模式、视图模式
分布式数据库


关系代数
并发控制-基本概念

丢失更新
不可重复读
读“脏”数据


完整性约束

安全性

数据备份


故障与恢复

数据仓库

noSql

反规划

内存数据

大数据
volume:数据量
velocity:速度
variety:多样性
value:值
系统配置与性能评价
性能指标

负载均衡
系统性能评价
阿姆达尔解决方案

评价方法

基准程序测试
评估准度:真实程序 > 核心程序 > 基准程序(专用、合成)

法律法规与标准化知识
商业秘密
著作权
计算机软件保护条例
标准的类型
数学与经济管理
盈亏平衡点
线性规划
动态规划
决策论
数学建模
专业英语
软件架构风格
软件架构
DFD
可靠性设计与分析
可靠性指标
可靠性侧重于故障次数
可用性侧重于修复时间长度


软件容错