系统架构设计师案列分析(2)

系统设计
数据流图:作为一种图形化工具,用来说明业务处理过程、系统边界内所包含的功能和系统中的数据流;
流程图:以图形化的方式展示应用程序从数据输入开始到获得输出为止的逻辑过程,描述处理过程的控制流;
JRP(联合需求分析会议):通过召开一系列高度结构化的分组会议,快速的分析问题、定义需求;
软件系统建模
用例建模:描述参与者和系统之间的主要交互;用例建模可以描述利益相关者所看到的系统行为;
组件建模:确定系统的子系统、模块和组件结构,为子系统、模块分配需求和职责,每个组建元素作为一个自包含的单元,用于开发、部署和执行。
服务建模:提供了通用的应用程序,并将应用程序定义为一组抽象服务接口。
性能建模:是对系统的性能进行度量,为每个组件确定性能指标。包括执行时间、资源使用、开发复杂性、维护复杂性等。
分布式系统设计
负载均衡
DNS负载:通过DNS服务器实现,通常通过循环复用具有同一域名的多个主机地址的服务器实现负载均衡
HTTP负载:服务器使用http重定向指令,将客户端重新路由到另外一个位置。服务器返回一个重定向相应,而不是返回请求对象。客户端确认新地址然后重发请求,从而达到负载均衡
反向代理负载:则是通过internet的链接请求以反响代理的方式动态转发给内部网路上的多台服务器进行处理,从而达到负载均衡的目的。
嵌入式系统设计
系统的可靠性分析与设计
冷备份:在数据库关闭的情况下,对数据库中的关键文件进行复制;
热备份:在数据库运行的情况下,对数据库中的关键数据进行备份,要求数据库管理系统提供支持
系统安全性和保密性设计
信息系统的安全威胁来自于:
物理环境:对系统所用设备的威胁,如:自然灾害,电源故障,数据库故障,设备被盗等造成数据丢失或者信息泄露
通信链路:传输线路上安装窃听装置或者对通信链路进行干扰
网络系统:由于因特网的开放性、国际性、无安全管理性,对内部网络形成严重的安全威胁
操作系统:操作系统本身的后门或者安全缺陷,如木马和陷阱门
应用系统:网络服务或者用户业务系统安全的威胁,包括应用系统自身漏洞
管理: 人员管理和各种安全管理制度

用户认证方式:
用户名和口令认证
基于公钥、签名的认证方式
持卡认证方式
基于人体生物特征的识别认证方式

对称加密策略:
机密性:发送者利用对称密钥对要发送的数据进行加密,只有拥有相同密钥的接收者才能正确解密,从而提供机密性;
完整性:发送者根据要发送的数据生成消息摘要,利用对称密钥对消息认证进行加密并附加到数据上发送;接收者使用相同的密钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据的完整性
公钥加密策略:
机密性:发送者利用接受者的公钥对要发送的数据进行加密,只有拥有对应私钥的接收者才能将数据正确解密,从而提供机密性
完整性:发送者根据要发送的数据生成消息摘要,利用自己的私钥对消息认证码加密并且附加到数据上发送;接收者利用对方的公钥将对方发送的消息认证码解密,并根据接收到的数据重新生成消息认证码,比较两个认证码是否相同以验证数据完整性
数据库
反规范化技术:指的是将一个规范化的关系模式变成非规范化的关系模式,或者降低某个关系模式的范式标准的过程。
2、优点缺点类
系统规划
软件架构设计
设计模式
系统设计
区别 数据流图 流程图
处理过程可以并行 某个时间点只能处于一个处理过程
展现系统的数据流 展现系统的控制流
展现全局的处理过程,过程之间计时标准不同 处理过程遵循一致的计时标准
适用于系统分析中的逻辑建模阶段 适用于系统设计中的物理建模阶段

传统系统集成方案 基于Web2.0的Mashup技术
对现有平台的要求 需要传统平台API层的支持,集成过程复杂 仅需要用现有的Web应用程序公开的基于Web的API(Web服务)构建应用程序,集成过程简单
新特性的支持与功能扩展 需要采用编程的方式完成系统功能扩展,设计数据存储层、业务逻辑层和表现层 直接使用Mashup技术集成两个或者多个Web API,创建新的特性与功能
表现层的支持 传统集成方式下的表现层大多采用静态展现技术,当客户端发送请求时,需要刷新整个页面 用Ajax技术调用基于Web的API,浏览器客户端不需要在每次与服务器通行时重新加载整个页面,动态特性强
底层集成技术支持 使用传统的多层企业应用集成技术,涉及不同的集成层次 采用SOA思想集成底层系统,强调功能暴露与服务,以服务形式集成并暴露有系统的能力

软件系统建模
分布式系统设计
分布式数据库的特点有:数据独立性与位置透明性。集中管理和节点自治相结合、支持全局数据库的一致性和可恢复性、复制透明性(适度数据冗余)、易于扩展性。
分布式数据库的优点:
具有灵活的体系结构
适应分布式的管理和控制结构
经济性能优越
系统可靠性高,可用性好
局部应用的响应速度快
可扩展性好,易于集成现有系统
缺点:
系统开销大,主要花在通信部分
复杂的存储结构
数据的安全性和保密性较难处理
保持数据一致性算法复杂
分布式数据库中各局部数据库应该满足集中式数据库的基本需求,除此之外还应保证数据库的全局数据一致性,并发操作可串行性,故障的全局可恢复性;
保证方法:
一致性:数据副本一致性,保证分布式事务的ACID属性,故障恢复的一致性
嵌入式系统设计
系统的可靠性分析与设计
备份方式 优点 缺点
冷备份 快速简单,维护方便 备份时,数据库关闭,不能做其他工作
可以恢复到备份时的时间点上 单独使用时,只能恢复到备份时的时间点上,数据丢失
与热备份相结合,实现实时/秒级恢复 不能按数据库中的表或某个用户进行恢复
热备份 备份时数据库仍然可用 如果热备份出错,所得结果不能用于时间点的恢复
可以实现实时/秒级恢复 不能出错,否则可能会引起数据库无法恢复
可对几乎所有数据库实体做恢复,速度快 维护比较困难

系统安全性和保密性设计
数据库
关系型数据库模式 NoSQL模式
并发支持 支持并发、效率低 并发性能高
存储与查询 关系表方式存储、SQL查询 海量数据存储、查询效率较高
扩展方式 向上扩展 向外扩展
索引方式 B数、哈希等 键值索引
应用领域 面向通用领域 特定应用领域

NoSQL数据存在的问题是:
成熟度不够,大量关键特性有待实现
开源数据库产品的支持力度有限
数据挖掘与商务智能支持不足,现有的产品无法直接使用NoSQL数据库
NoSQL数据库专家较少,大部分都处于学习阶段

反规范化技术
反规范化技术益处:能够减少数据库查询世5SQL连接的数目,从而减少磁盘I/O数据量,提高查询效率。
可能带来的问题:数据重复存储,浪费磁盘空间;为了保障数据的一致性,增加了数据维护复杂性。必然会带来数据冗余、更新异常、插入异常和删除异常等问题,因此必须根据应用自身的特点,采用应用程序、触发器等额外手段来解决问题。
反规范化技术包括:
增加冗余列,增加派生列,表水平分割,表垂直分割。
3、原则类
系统规划
软件架构设计
设计模式
系统设计
高质量数据流图设计原则:
复杂性最小化原则:DFD分层结构就是把信息划分为晓得且相对独立的一大批子集例子,这样就可以单独考查每一个DFD;
接口最小化原则:在设计模式时,模型中各个元素之间的接口数或者连接数最小化;
数据流一致性原则:过程与过程分解数据流一致,有数据流出就有数据流入;数据流入需要有相应的数据加工;
4、其他
1、电子政务包括:政务信息查询;公共政务办公;政务办公自动化三个应用领域
维护
正确性维护:指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
适应性维护:指使应用软件适应信息技术变化和管理需求变化而进行的修改。
完善性维护:指为扩充功能和改善性能而进行的修改,主要是指对已有的软件系统增加一些在系统分析和设计阶段中没有规定的功能与性能特征。
预防性维护:指为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境变化,应主动增加预防性的新的功能,以使应用系统