系统架构师2023年案例分析考前冲刺

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 系统架构师2023年案例分析考前冲刺

前言:

由于距离2022年系统架构师考试还有几天,我紧急把本次重点押题的内容准备一份,希望可以帮助到需要的同学,希望本次考试可以成功上岸

DSSA领域软件架构案例

  1. 软件架构对于一个软件项目的开发来说有着重要意义,Kruchten曾提出了著名的“4+1”视图模型,该模型通过逻辑视图、进程视图、物理视图、开发视图、场景视图来描述软件架构,这五个视图结合在一起才能反映系统的软件架构;
  2. 软件重用不仅仅包括代码、模板、设计模式和构件的重用,还应包括系统架构的重用。一个通用的软件架构,实现系统架构的重用,注意的事项有:
  1. 一个严格定义的问题域、解决域。既要对该系统的问题域、解决域进行严格的定义,不能跨越系统边界
  2. 具有普遍性,使其可以用于领域中某个特定应用的开发。即设计出来的软件架构部分或全部能够应用于某个行业的系统
  3. 对于整个领域的合适程度的抽象。主要考虑抽象出来的模块,组件的粒度是否合适,是否适合于行业的部门
  4. 具备领域固定的,典型的在开发过程中可重用的元素
  1. 遵循特定领域软件架构设计的创建步骤,创建过程主要包括定义领域范围、定义领域特定的元素、定义领域特定的设计和实现需求约束、定义领域模型和架构、产生、搜集可重用的产品单元。并且本过程是并发的、递归的、反复的。
  1. 定义领域的范围,本阶段的重点是确定系统中涉及的问题是否属于该行业,以及本过程何时结束。主要输出行业中应用需求要满足的一系列用户需求
  2. 定义领域特定元素,本阶段的目标是编译领域字典和领域术语的同义词词典,即编译属于行业的词典
  3. 定义领域特定的设计和实现需求约束:本阶段的目标是描述解空间中有差别的特性。不仅要识别出约束,并且要记录对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论
  4. 定义领域模型和架构:本阶段的目标是产生一般的架构,并说明构成他们的模块或构件的语法和语义
  5. 产生、搜集可重用的产品单元;本阶段的目标是是DSSA增加构件是的它可以被用来产生问题领域中的新领域


架构评估案例

体系架构评估是整个体系结构设计中,非常重要的一个环节,体系结构评估可以只针对一个体系结构,也可以针对一组体系结构。在体系结构评估过程中,评估人员所关注的是系统的质量属性。

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


数据库设计案例

  1. 读写分离的概念叙述:读写分离,主从复制策略。其中读写分离设置物理上不同的主、从服务器,让主服务器负责数据的操作,从服务器负责数据的操作,从而有效减少数据并发操作的延迟,但却带来了数据不一致的风险。因此,需要采用主从复制策略保持数据的一致性
  2. Mysql数据库中,主从复制是通过binarylog来实现主从服务器的数据同步,Mysql数据库支持三种负责类型分别是:基于SQL语句的复制、基于行的复制、混合模式复制
  3. 关系型数据库与NoSQL数据库的区别
  1. 数据一致性:关系数据库是实时一致性、NoSQL数据库是弱一致性
  2. 数据类型:关系数据库是结构化数据、NoSQL数据库是非结构化数据
  3. 事务:关系型数据库是高事务性、NoSQL数据库是弱事务性
  4. 水平扩展:关系型数据库是弱、NoSQL数据库是强
  5. 数据容量:关系型数据库是有限数据、NoSQL数据库是海量数据
  1. 简要说明数据同步问题的三种方法:
  1. 通过定时任务机制做定期数据更新
  2. 通过触发器完成数据同步
  3. 通过数据库插件完成数据同步


数据流图案例:

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



UML建模案例:

  1. 用例图的三种关系
  1. extend,拓展关系,如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种,则可以将这个用例分为一个基本用例和一个或多个拓展用例,关系图指向为扩展用例指向基本用例。例如:创建和打开就是一对扩展关系,创建成功之后,可以直接保存关闭之后,如果想要进行后续修改工作,就需要打开地址簿,由扩展用例指向基本用例
  2. include,属于用例图的三种关系之一,表示的是包含关系;描述为:当可以从两个或两个以上用例中能够提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和基础用例;例如:创建、修改和保存就是一对包含关系,在创建和修改它们都有公共的行为保存,提取出来称之为抽象用例,用包含关系来表示它们。
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
2月前
|
安全 数据处理 数据安全/隐私保护
C/S架构与B/S架构的适用场景分析
C/S架构(客户端/服务器架构)与B/S架构(浏览器/服务器架构)在适用场景上各有特点,主要取决于应用的具体需求、用户群体、系统维护成本、跨平台需求等因素。
230 6
|
18天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
19天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
57 4
|
1月前
|
存储 SQL 分布式计算
湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
【10月更文挑战第7天】湖仓一体架构深度解析:构建企业级数据管理与分析的新基石
78 1
|
2月前
|
存储 监控 安全
SaaS业务架构:业务能力分析
【9月更文挑战第20天】在数字化时代,软件即服务(SaaS)模式逐渐成为企业软件解决方案的首选。SaaS 业务架构设计对于提供高效、可靠的服务至关重要。其核心业务能力包括:用户管理(注册登录、角色权限)、数据管理(存储备份、安全共享)、业务流程管理(设计定制、工作流自动化)、应用集成(第三方应用、移动应用)及客户服务(支持培训、反馈改进)。通过优化这些能力,可为企业提供更高效、可靠的 SaaS 服务。
59 11
|
3月前
|
消息中间件 负载均衡 Kafka
Kafka 实现负载均衡与故障转移:深入分析 Kafka 的架构特点与实践
【8月更文挑战第24天】Apache Kafka是一款专为实时数据处理和流传输设计的高性能消息系统。其核心设计注重高吞吐量、低延迟与可扩展性,并具备出色的容错能力。Kafka采用分布式日志概念,通过数据分区及副本机制确保数据可靠性和持久性。系统包含Producer(消息生产者)、Consumer(消息消费者)和Broker(消息服务器)三大组件。Kafka利用独特的分区机制实现负载均衡,每个Topic可以被划分为多个分区,每个分区可以被复制到多个Broker上,确保数据的高可用性和可靠性。
76 2
|
3月前
|
数据采集 存储 Java
Flume Agent 的内部原理分析:深入探讨 Flume 的架构与实现机制
【8月更文挑战第24天】Apache Flume是一款专为大规模日志数据的收集、聚合及传输而设计的分布式、可靠且高可用系统。本文深入解析Flume Agent的核心机制并提供实际配置与使用示例。Flume Agent由三大组件构成:Source(数据源)、Channel(数据缓存)与Sink(数据目的地)。工作流程包括数据采集、暂存及传输。通过示例配置文件和Java代码片段展示了如何设置这些组件以实现日志数据的有效管理。Flume的强大功能与灵活性使其成为大数据处理及实时数据分析领域的优选工具。
111 1
|
2月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
3月前
|
消息中间件 存储 大数据
大数据-数据仓库-实时数仓架构分析
大数据-数据仓库-实时数仓架构分析
141 1
|
3月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
70 0
下一篇
无影云桌面