软考知识备忘

主要针对高级系统架构设计师。

数据库设计

分布透明性指用户不必关心教据的逻辑分片,不必关心数据存储的物理位置分配细节,也不必关心局部场地上数据库的数据模型。
分片透明性是分布透明性的最高层次
位置透明性指用户或应用程序应当了解分片情况,但不必了解片段的存储场地。
逻辑透明性是指用户或应用程序应当了解分片及各片断存储的场地,但不必了解局部场地上使用的是何种数据模型。

存储过程与视图的主要区别是,视图主要用于数据查询展示,存储过程可用于数据的处理,可接收参数。

完全备份: 备份所有数据。
差量备份: 仅备份上一次完全备份之后变化的数据。
增量备份: 备份上一次备份之后变化的数据。

数据库设计过程
在这里插入图片描述

需求分析阶段产生数据流图、数据字典
概念结构设计阶段产生E-R图
逻辑结构设计阶段进行关系规范化

分布式数据库系统
分布式数据库

全局概念模式定义了分布式数据库中数据的整体逻辑结构,数据就如同根本没有分布一样

E-R模型集成冲突
属性冲突: 包括属性域冲突和属性取值冲突。
命名冲突: 包括同名异义和异名同义。
结构冲突: 包括同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部E-R图中所包含的属性个数和属性排列次序不完全相同。

数据仓库包括数据源、数据的存储与管理、OLAP 服务器与各种报表工具、查询工具、数据分析工具、数据挖掘工具及各种基于数据仓库或数据集市的应用开发工具。

X→Y 表示X 函数决定Y,或者Y函数依赖于X。

事务特性实现:
原子性:影子拷贝(浅拷贝)
持久性:影子拷贝
隔离性:两阶段锁协议(可能会导致死锁)
一致性:完整性约束

基于日志的延迟修改技术
将所有对数据库进行的修改操作记录到日志中,将一个事务的所有写操作延迟到事务提交后才执行
需要记录:事务开始和结束时间,数据项被修改后的新值,无需修改前旧值
写操作在事务提交前没有生效,如果事务在提交前崩溃,系统可以直接丢弃事务的所有记录,而不需要对数据库进行回滚或还原。
由于写操作是延迟的,若事务中途失败,只需忽略该事务的日志记录,不需要撤销任何写入操作,因此不需要用旧值进行恢复。
若故障发生前事务已经提交,则进行重做,故障发生时未完成的事务进行撤销。

对于分布式事务,统一由事务协调器控制各节点进行事务操作。

候选码
在这里插入图片描述

如何求出候选码:

  • 将关系模式的函数依赖关系用“有向图”的方式表示
  • 找入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键
  • 若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入入度为0的属性集中,直至该集合能遍历所有结点,集合为候选键。

范式
1NF 属性不可分
2NF 消除非主属性对候选键的部分依赖
3NF 消除非主属性对候选键的传递依赖
BC NF 消除主属性对候选键的部分和传递依赖

关系代数
投影:选择一个关系中指定的列 Π \Pi Π
选择:选择一个关系中指定的行 σ \sigma σ
自然连接:选出两个关系中具有相同属性的行并进行合并 ⋈ \Join
笛卡尔积:将两个关系中的每行配对连接 × \times ×

可靠性分析与设计

可靠性关注的是系统是否稳定、长时间无故障运行,从而减少故障发生的频率。通常用平均无故障时间(MTBF)表示。
可用性关注的是系统是否能随时使用,即使故障发生时也有机制保持服务。通常用平均故障修复时间(MTTR)表示。

高可靠、高可用:MTBF 大,MTTR小

软件开发模型

软件开发模型分为三种类型:

  • 以完全确定软件需求为前提的瀑布模型;
  • 在软件开发初始阶段只能提供基本需求时采用的迭代式模型;
  • 以形式化为基础的变换模型

螺旋模型:以快速原型为基础 + 瀑布模型,主要强调风险分析。步骤为 需求定义 -> 风险分析 -> 工程实现 -> 评审

喷泉模型:复用好、开发过程无间隙、节省时间。

统一过程(UP):
四个阶段:初始、细化、构建、交付。
四个里程碑:目标里程碑、架构里程碑、能力里程碑、发布里程碑。
九个工作流程:业务建模、需求、分析设计、实施、测试、部署、配置与变更管理、项目管理、环境
特点:用例驱动,以人为本,迭代增量

敏捷开发

  1. XP(极限编程)
    测试先行
    四大价值观:沟通、简单、勇气、反馈
  2. FDD(特征驱动开发)
    3要素:人、过程、技术
    编程开发人员分为 首席程序员和”类“程序员
  3. Scrum
  4. 水晶方法
    提倡机动性
  5. ASD (Adaptive)
    猜测、合作与学习

CBSD(基于构件的软件开发方法)
通过重用提高软件的可靠性和可重用性。

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

RAD(快速应用开发)
需要用户参与模块化要求高不适用新技术
使用CBSD进行快速开发。

信息化建设

电子政务中政府与企业和公民之间的互动:
政府对政府
政府对公民
政府对企业
公民对政府
企业对政府
政府对公务员

确保信息的真实性完整性机密性不可否认性

ERP (Enterprise Resource Planning) 企业资源管理
CRM (Customer Relationshtp Management) 客户关系管理
PDM (Product Data Management) 产品数据管理

商业智能 (BI)三大组成部分:

  • 数据仓库
  • OLAP
  • 数据挖掘技术

信息安全

信息安全五要素
机密性 完整性 可用性 可控性 可审查性

PKI (Public Key Infrastructure)
CA (Certificate Authority) 证书颁发机构

PGP 电子邮件加密协议

软件架构设计

“4+1” 视图模型

在这里插入图片描述
运行期质量属性:
性能、安全性、易用性、可伸缩性、互操作性、可靠性、持续可用性、鲁棒性

开发期质量属性:
易理解性、可扩展性、可重用性、可测试性、可维护性、可移植性

6个质量属性:可用性、可修改性、性能、安全性、可测试性、易用性

软件架构风格
(1)数据流风格:批处理序列;管道/过滤器。
(2)调用/返回风格:主程序/子程序;面向对象风格;层次结构。
(3)独立构件风格:进程通信;事件系统。
(4)虚拟机风格:解释器;基于规则的系统。
(5)仓库风格:数据库系统;超文本系统;黑板系统。

三层C/S架构:
表示层
功能层
数据层

OLTP (OnLine Transaction Processing) 在线事务处理

MVC (Model View Controller):
(1)Model 是对应用状态和业务功能的封装。Model 接受 Controller 的请求并完成相应的业务处理,在状态改变的时候向 View 发出相应的通知
(2)View 实现可视化界面的呈现并捕捉最终用户的交互操作。
(3)View 捕获到用户交互操作后会直接转发给 Controller,后者完成相应的 UI 逻辑。如果需要涉及业务功能的调用,Controller 会直接调用 Model。在完成 UI 处理后,Controller会根据需要控制原 View 或者创建新的 View 对用户交互操作予以响应。

MVP (Model View Presenter)
MVC 模式允许Model和View直接进行交流(Model可以在状态改变时通知View, View也可以直接从Model获取数据),这在MVP中是不被允许的。
MVP避免了View和Controller之间的耦合,还降低了Presenter对View的依赖。

MVP 的优点包括:
(1)模型与视图完全分离,修改视图而不影响模型。
(2)可以更高效地使用模型,所有的交互都发生在Presenter 内部。
(3)可以将一个 Presenter 用于多个视图,而不需要改变 Presenter 的逻辑。
(4)如果把逻辑放在 Presenter 中,可以脱离用户接口来测试这些逻辑(单元测试)。
MVP 的缺点包括:
(1)由于对视图的渲染放在了 Presenter 中,所以视图和 Presenter 的交互会过于频繁。
(2)如果 Presenter 过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密。一旦视图需要变更,那么 Presenter 也需要变更。

面向服务架构 SOA(Service Oriented Architecture)
在 SOA 模型中,所有的功能都定义成了独立的服务。服务之间通过交互和协调完成业务的整体逻辑。所有的服务通过服务总线或流程管理器来连接。

实现方式:
Web Services:

  • 服务提供者:定义、实现服务,WSDL描述服务,发布到服务注册中心
  • 服务请求者:查找绑定并调用服务,或与服务进行交互
  • 服务注册中心:服务提供者发布服务,服务请求者查找服务

服务注册表

  • 服务注册
  • 服务位置
  • 服务绑定

企业服务总线 (ESB)
提供了一种基础设施,解耦服务请求者和服务提供者。

ESB功能
(1)支持异构环境中的服务、消息和基于事件的交互,并且具有适当的服务级别和可管理性。
(2)通过使用 ESB,可以在几乎不更改代码的情况下,以一种无缝的非侵入方式使现有系统具有全新的服务接口,并能够在部署环境中支持任何标准。
(3)充当缓冲器的 ESB(负责在诸多服务之间转换业务逻辑和数据格式)与服务逻辑相分离,从而使不同的系统可以同时使用同一个服务,不用在系统或数据发生变化时,改动服务代码。
(4)在更高的层次,ESB 还提供诸如服务代理和协议转换等功能。允许在多种形式下通过像 HTTP、SOAP 和 JMS 总线的多种传输方式,主要是以网络服务的形式,为发表、注册、发现和使用企业服务或界面提供基础设施。
(5)提供可配置的消息转换翻译机制和基于消息内容的消息路由服务,传输消息到不同的目的地。
(6)提供安全和拥有者机制,以保证消息和服务使用的认证、授权和完整性。

ESB 具有以下优势
(1)扩展的、基于标准的连接。ESB 形成一个基于标准的信息骨架,使得在系统内部和整个价值链中可以容易地进行异步或同步数据交换。ESB 通过使用XML、SOAP 和其他标准,提供了更强大的系统连接性。
(2)灵活的、服务导向的应用组合。基于 SOA,ESB 使复杂的分布式系统(包括跨多个应用、系统和防火墙的集成方案)能够由以前开发测试过的服务组合而成,使系统具有高度可扩展性。
(3)提高复用率,降低成本。按照 SOA 方法构建应用,提高了复用率,简化了维护工作,进而减少了系统总体成本。
(4)减少市场反应时间,提高生产率。ESB 通过构件和服务复用,按照 SOA 的思想简化应用组合,基于标准的通信、转换和连接来实现这些优点。

微服务
优点:

  • 技术异构性: 每个服务可以选择适合自己的技术去实现
  • 弹性:每个服务可以内置可用性的解决方案和功能降级方案
  • 扩展:针对单个服务进行扩展
  • 简化部署:每个服务独立部署
  • 与组织结构相匹配:可以使架构与组织结构相匹配,避免过大的代码库
  • 可组合型:开放多个接口
  • 对可替代性的优化: 轻易重写服务,或删除不再使用的服务

挑战:

  • 分布式系统的复杂性
  • 运维成本
  • 部署自动化
  • DevOps与组织结构
  • 服务间依赖测试
  • 服务间依赖管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值