美文网首页
软考架构师-知识点总结2

软考架构师-知识点总结2

作者: 思跃喵 | 来源:发表于2022-11-02 13:38 被阅读0次
    软考知识点封面.jpg

    架构风格

    五大架构风格

    1. 数据流风格:批处理、管道-过滤器
    2. 调用-返回风格:主子程序、面向对象、层次结构
    3. 独立构件风格:进程通信、事件驱动(隐式调用)
    4. 虚拟机风格:解释器、规则系统
    5. 仓库风格:数据库系统、黑板系统、超文本系统

    主要记忆以下七个

    一、管道-过滤器:

    • 过滤器相对独立。
    • 优:功能模块复用;可维护性和可扩展性强;具有并发性;模块独立性高。
    • 缺:不适用于交互性强的应用;对于存在关系的数据流必须进行协调
    • 适:系统可划分清晰的模块;模块相对独立;有清晰的模块接口

    二、事件驱动:

    • 系统由若干子系统构成且成为一个整体;系统有统一的目标;子系统有主从之分;每一个子系统有自己的事件搜集和处理机制
    • 优:适合描写系统组;容易实现并发处理和多任务;可扩展性好;具有类层次结构;简化代码
    • 缺:因为树形结构所以削弱了对系统计算的控制能力;各个对象的逻辑关系复杂
    • 适:一个系统对外可以表征为它对事件的处理

    三、分层风格

    • 各个层次的组件形成不同功能级别的虚拟机;各层相互系统工作,而且实现透明
    • 优:支持系统设计过程中的逐级抽象;可扩展性好;支持软件复用
    • 缺:不同层次之间耦合度高的系统很难实现
    • 适:功能层次之间的抽象和相互之间低耦合的系统

    四、面向对象

    • 力争实现问题空间和软件系统空间结构的一致性
    • 优:高度模块性;实现封装;代码灵活共享;易维护;可扩展性好
    • 缺:增加了对象之间的依赖关系
    • 适:各种领域

    五、数据共享风格

    • 采用两个常用构件中央数据库单元和一些相对独立的组件集合
    • 优:中元数据单元实现了数据的集中;以数据为中心
    • 缺:适用于特定领域
    • 适:专家系统等人工智能领域问题的求解

    六、解释器风格

    • 系统核心是虚拟机
    • 优:可以用多种操作来解释一个句子;灵活应对自定义场景
    • 缺:适用于特定领域
    • 适:模式匹配系统和语言编译器

    七、闭环控制风格

    • 通过不断地测量被控对象,认识和掌控被控对象;将控制理论引入体系结构构建
    • 优:将控制理论引入体系结构构建
    • 缺:适用于特定领域
    • 适:该系统中一定存在有目标的作用、信息处理的闭环过程

    质量属性效用树

    性能、可用性、安全性、可修改性

    效用 - 性能

    • 系统必须在0.1s内响应用户请求
    • 用户请求后必须在5s内完成处理

    效用 - 可用性

    • 主服务器故障,备份服务器3分钟内接管
    • 宕机时修复时间不得超过20分钟

    效用 - 可修改性

    • 对 XX 系统添加新功能在1天内完成
    • 更改XX功能点再 5人日 内完成

    效用 - 安全性

    • 保证 99% 安全性
    • 用户信息数据库授权必须保证99%可用

    EAI 企业应用集成 与 SOA 面向服务架构

    1. EAI 一般包括:表示集成(界面集成)、数据集成、控制集成、业务流程集成(过程集成)。
    2. 数据集成的主要方式有:数据联邦、数据复制和基于接口的数据集成。
    3. 应用之间一对一开发专用接口的优缺点
      • 优:直观,当企业应用数量少的时候很容易实现
      • 缺:工作量大;维护费用高,升级与扩展困难;不易于标准化,由于接口数量多,难以管理;一般只能解决应用系统之间的数据集成;难以支持过程集成和协调
    4. 客户端 - 服务注册 - 服务提供者 - 适配器 - 多个已有应用

    微服务与SOA

    1. 微服务的特点
      1. 服务粒度小
      2. 专注于做同一件事
      3. 轻量级的通信机制
      4. 松耦合、可扩展性好
      5. 独立部署
      6. 纵向业务划分
    2. SOA
      1. 水平分层
      2. 粗粒度服务
      3. 整体部署
      4. ESB(企业服务总线)充当了服务之间的通信的角色
    3. 分析为何采用微服务?
      1. 技术异构性
      2. 弹性
      3. 扩展性
      4. 简化部署
      5. 与组织架构相匹配
      6. 可组合性
      7. 对可替代性的优化

    DSSA 特定领域软件架构

    1. 著名的 4+1 视图模型 (抽象范围逐步紧缩)

      1. 场景视图
      2. 物理视图
      3. 进程视图
      4. 逻辑视图
      5. 开发视图
    2. 能在 XX 行业通用,架构设计注意哪些事项?

      1. 因为在XX行业通用,所以该架构数据DSSA,必须具备DSSA的特征
      2. 一个严格定义的问题域或解决域,不能跨域系统的边界
      3. 具有普遍性,设计出来的软件架构部分或全部能够用于XX行业的某个子系统
      4. 对整个领域的合适程度的抽象,模块、组件抽象的粒度是否合适,是否适应xx行业的某些部门
      5. 具备该领域固定的、典型的在开发过程中可重用的元素
    3. 该如何创建DSSA?

      1. 应当严格遵循DSSA设计的创建步骤
      2. 定义领域范围
      3. 定义领域特定元素
      4. 定义领域特定的设计和实现需求约束
      5. 定义领域模型和架构
      6. 产生搜集可重用的产品单元

    架构评估

    1. 所有评估方法所普遍关注的质量属性有
      1. 功能性
      2. 性能 *
      3. 可用性 *
      4. 可靠性
      5. 安全性 *
      6. 可修改性、可变性 *
      7. 互操作性
    2. 敏感点和权衡点是关键的体系结构决策
      1. 敏感点是一个或多个构件或者它们之间的特性,即如何实现它们应当注意什么
      2. 权衡点是影响多个质量属性的特性
    3. 各个角色的定义以及所关心的问题
      1. 软件架构师:负责软件体系结构以及在互相竞争的质量需求之间进行权衡的人;对其他风险承担着的质量需求的缓解和调停
      2. 开发人员:设计人员或程序员;西体结构描述的清晰与完整,各部分的内聚性与受限耦合、清楚的交互机制
      3. 项目经理:负责配置资源保证开发进度;体系结构层次清楚,便于组建小组,任务划分结构,进度标志和最后期限等
      4. 客户:系统的购买者;开发的进度、总体预算、系统的有用性、满足需求的情况
    4. SAAM的5个步骤
      1. 场景开发
      2. 体系结构描述
      3. 单个场景评估
      4. 场景交互
      5. 总体评估
    5. ATAM的9个步骤
      1. 描述 - ATAM方法
      2. 描述 - 业务动机
      3. 描述 - 体系结构
      4. 调查分析 - 确定体系结构方法
      5. 调查分析 - 生成质量属性效用树
      6. 调查分析 - 分析体系结构方法
      7. 测试 - 讨论和分析场景
      8. 测试 - 分析体系结构方法
      9. 报告 - 描述评估结果

    数据库设计

    1. 读写分离、主从复制策略。读写分离设置物理上不同的主从服务器,让主服务器负责数据的<u>写</u>操作,从服务器负责数据的<u>读</u>操作,从而有效减少数据并发操作的<u>延迟</u>,但却带来了<u>数据不一致风险</u>。因此需要采用主从复制策略保持数据的<u>一致性</u>
    2. MySQL 数据库中,主从复制是通过binary log 来实现主从服务器的数据同步,MySQL 数据库支持的三种的复制类型分别是
      1. 基于SQL语句的复制
      2. 基于行的复制
      3. 混合模式复制
    3. 关系型数据库(前)和非关系型数据库(后)的比较
      1. 数据一致性:实时一致性;弱一致性
      2. 数据类型:结构化数据;非结构化数据
      3. 事务:高事务性;弱事务性
      4. 水平扩展:弱;强
      5. 数据容量:有限数据;海量数据
    4. 混用MySQL与nosql,由于部分数据同时存在于两个数据库中,存在数据同步问题,解决该问题的3中方法
      1. 通过定时任务机制做定期数据更新
      2. 通过触发器完成数据同步
      3. 通过数据库插件完成数据同步

    数据流图

    1. 流程图和数据流图的定义和区别
      1. 数据流图中的处理过程可并行;系统流程图在某个时间点只能处于一个过程
      2. 数据流图展现系统的数据流;系统流程图展现系统的控制流
      3. 数据流图展现全局的处理过程,过程之间遵循不同的计时标准;系统流程图中处理过程遵循一致的计时标准

    UML

    1. 用例之间的关系有泛化、包含和扩展
      1. 泛化:是一种继承关系,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例
      2. 包含:基本用例的行为包含了另一个用例的行为,是比较特殊的依赖关系;箭头方向由基本用例指向被包含用例。执行基本用例时,每次都必须调用被包含用例,被包含用例也可以单独执行
      3. 扩展关系:扩展用例在扩展点上增加新的维护和含义。扩展用例为基本用例添加新的行为,箭头指向基本用例

    设计模式

    1. 简述三类设计模式
      1. 创建型模式用于创建对象,为设计类实例化新对象提供指南
      2. 结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南
      3. 行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南
    2. 设计模式归类
      1. 创建型:单例,构造器等
      2. 结构型:外观、享元、代理、组合等
      3. 行为型:解释器、中介、访问者、状态、观察者等
    3. 实际案例如何使用?
      1. 各个构件不允许直接调用 - - 中介者
      2. 自定义标准,实现 - - 解释器
      3. 预约,接收消息 - - 观察者
      4. 会员体系升级 - - 状态模式

    项目管理

    1. 关键路径为图中时间最长的那一条线
    2. 总工期即关键路径所有时间之和
    3. 缩短工期时,减少与关键路径相近时间路径的共同活动,从而计算成本预算的数字

    相关文章

      网友评论

          本文标题:软考架构师-知识点总结2

          本文链接:https://www.haomeiwen.com/subject/lqystdtx.html