【可实战】被测系统业务架构、系统架构、技术架构、数据流、业务逻辑分析

一、为什么要学习

  1. 更深的理解业务逻辑(公司是做什么的?它最重要的商务决策是什么?它里面的数据流是怎么做的?有哪些业务场景?考验你对这家公司、对所负责业务的熟悉程度。公司背后服务器用什么软件搭建的?用的什么技术?)
  2. 更好的梳理业务用例(更好的覆盖用例。总共有多少种业务流?用户分多少类?有多少种排列组合?)
  3. 更好的与研发运维进行跨部门协同(在出问题时,能提供一些支持)

二、架构分析示例

(一)开源项目 LiteMall 系统架构

官网(详细架构说明):https://github.com/linlinjava/litemall

  • 角色与数据
  • 用户产品
  • 前端技术栈
  • 后端技术栈
  • 数据存储

在这里插入图片描述

(二)开源项目 Mall 的系统架构

mall官网(详细架构说明):https://github.com/macrozheng/mall

  • 角色与数据
  • 用户产品
  • 前端技术栈
  • 后端技术栈
  • 服务治理技术栈
  • 监控技术栈
  • 大数据处理技术栈
  • 数据存储
  • 持续集成/持续交付/DevOps

    在这里插入图片描述

三、如何快速了解一家公司的架构

(一)业务流程:

  • 商业模式(大到公司,小到部门,怎么盈利,作用是什么)
  • 业务数据:角色、资源、数据
  • 业务流程:角色、行为、数据的集成关系

(二)系统架构(业务在技术上的具体落地):

  • 架构角色与技术栈(某个架构上的角色和它具体的技术实现):
    • 网关:apache/nginx/f5/
    • 应用开发:spring boot/spring cloud/
    • 通讯协议:dubbo/http/pb
    • 数据处理:hadoop/spark/flink
    • 数据存储:redis/mysql/oracle/redis/es
    • 文档存储:mongodb/hbase/neo4j
  • 部署架构(调用链):架构角色之间的集成关系

四、画架构的工具——统一建模语言 UML

(一)测试用的比较多的图

1、用例图:商业模式、业务角色。分析角色与资源

【举例】抖音分为消费者角色-刷视频、评论、点赞;输出者角色-发视频、进行直播、提供各种服务的人;管理员等
【作用】用例图能够很好的梳理这些角色分别有什么样的能力、行为,以及它们之间的协作是什么样的
【实例1】梳理业务流程(一般由产品经理产出)
在这里插入图片描述

2、时序图:业务流程、调用关系。分析数据流

【描述】更细粒度的对上面角色集成关系的描述
【举例】登录流程、密码找回、注册(各种功能不同的数据、不同的分支走向)
【作用】会非常有助于理解业务流程:输入、依赖、输出(可以使用时序图分析数据流)
在这里插入图片描述

3、部署图:系统架构与集成关系

【描述】哪些是数据库,哪些是文件,哪些是视频处理的各种架构(视频分析、视频处理的各种架构角色),架构角色之间是怎么进行调用的就使用部署图

4、活动图:分析业务逻辑

【描述】整个系统可以看成一个大型的树形结构,用户的操作可以理解为一个系统行为上的穿梭(覆盖分支、覆盖路径)
【作用】通过活动图可以更好的分析出来一个业务逻辑,可以把一个业务线上的一个业务架构理解的比较透彻(它的可能的行为,有多少种分支条件)
在这里插入图片描述

4.1 思维导图:分析功能点 (活动图的另一种实现方式)

【作用】对业务流程、数据分类去进行一个很好的管理
在这里插入图片描述

(二)推荐工具

1.plantuml(**通过编程绘制)

通过编程来帮忙绘制这些图

2.yed(*架构师比较喜欢用)

架构师会比较喜欢使用,更易用的visio

3.draw.io(在线画图)

用的比较多,可以在线画各种流程图,UML图

4.processon(*在线画图)

用的比较多,可以在线画各种流程图,UML图

5.visio(又重又大,小白用的多,工程师用的少)

又重又大,超级难用,对于小白来说比较好用,小白用的比较多,工程师用的比较少,一般是入门的时候用的比较多

使用思维导图分析功能点

使用时序图分析数据流

使用活动图分析测试用例

测试用例设计总结
使用用例图分析角色与资源
使用思维导图分析功能点
使用时序图分析数据流
使用活动图分析业务逻辑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2812932.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

面试官: 反射了解么?

目录 反射 什么是反射 ? 获取Class对象的四种方式 反射相关API 类对象常用API Filed常用API Method常用API Constructors常用API 反射的使用场景? 反射的实现原理 ?(todo) 反射为什么这么慢 ? 反射的优缺点 反射中,Class.forName和ClassLoader的区别…

【前沿热点视觉算法|Sora|GPT4相关】-显著目标检测的深度增强交叉模态级联网络

计算机视觉算法分享。问题或建议,请文章私信或者文章末尾扫码加微信留言。sora 具体介绍和使用方法:OpenAI Sora 下一代生产力:最新小白必看教程 | 解剖Sora的前世今生 | Sora核心源码目前 openai 官方还未开放 sora 灰度,不过根据…

Linux学习笔记:fork()函数

TOC fork()函数的作用是什么? fork函数一般是用来创建进程的,在fork函数执行后,如果成功创建新进程就会出现两个进程,一个是父进程,一个是子进程 就像火影忍者中的分身术一样,fork之后就会进程就会分出和他一样的分身出来 fork()函数怎么使用? 在使用fork函数之前需要加上…

腾讯云4核8G服务器收费贵不贵?

腾讯云4核8G服务器多少钱?轻量应用服务器4核8G12M带宽一年446元、646元15个月,云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元,5年6490.44元,标准型SA2服务器1444.8元一年,在txy.wiki可以查询详细配置和精准报价…

kubeadm部署K8S

部署二主二从 主1:192.168.116.17 主2:192.168.116.18 从1:192.168.116.12 从2:192.168.116.13 注意事项: master节点的cpu核心数必须要求大于2 K8S最新版本并不一定是最好的,相对于旧版本&#xff…

RISC-V SoC + AI | 在全志 D1「哪吒」开发板上,跑个 ncnn 神经网络推理框架的 demo

引言 D1 是全志科技首款基于 RISC-V 指令集的 SoC,主核是来自阿里平头哥的 64 位的 玄铁 C906。「哪吒」开发板 是全志在线基于全志科技 D1 芯片定制的 AIoT 开发板,是目前还比较罕见的使用 RISC-V SoC 且可运行 GNU/Linux 操作系统的可量产开发板。 n…

配置用户通过IPv6方式上网

组网需求 运营商为企业分配了WAN侧的IPv6地址1111:2222:A0EE:6::2/64和LAN侧的IPv6地址1111:3333:E840:2::1/64,企业通过运营商提供的IPv6地址配置上网。 图1 配置用户通过IPv6方式上网 操作步骤 1、在IPS上的配置 interface GigabitEthernet0/0/4 ipv6 enable…

【视频编码\VVC】量化基础知识

量化:是将信号的连续取值(大量离散取值)映射为有限多个离散赋值的过程。实现信号取值多对一的映射。可以有效减少信号取值的空间,进而获得更好的压缩效果。 根据输出和输入数据的类型,可以将量化器分为标量量化SQ和矢…

java中容器继承体系

首先上图 源码解析 打开Collection接口源码&#xff0c;能够看到Collection接口是继承了Iterable接口。 public interface Collection<E> extends Iterable<E> { /** * ...... */ } 以下是Iterable接口源码及注释 /** * Implementing this inte…

代码随想录Leetcode474. 一和零

题目&#xff1a; 代码(首刷看解析 2024年2月26日&#xff09; class Solution { public:// 二维 0 1背包int findMaxForm(vector<string>& strs, int m, int n) {// 1 二维 [i]表示 0 的个数&#xff0c;上限m; [j]表示 1 的个数&#xff0c;上限nvector<vector…

Project_Euler-13 题解

Project_Euler-13 题解 题目 37107287533902102798797998220837590246510135740250 46376937677490009712648124896970078050417018260538 74324986199524741059474233309513058123726617309629 91942213363574161572522430563301811072406154908250 2306758820753934617117198…

备战蓝桥杯Day17 - 链表

链表 基本概念 链表是由一系列节点组成的元素集合。 每个节点包含两部分&#xff1a;数据域 item 、指向下一个节点的指针 next 通过节点之间的相互链接&#xff0c;形成一个链表 1. 链表的初始化 # 手动建立链表 # 链表的初始化 class Node(object):def __init__(self, …

超声波气泡传感器检测原理

超声气泡传感器 超声波气泡传感器利用超声波在液体和气体中的声阻抗不同的原理来实现对气泡或液体的识别和检测。它具有体积小、重量轻、使用寿命长、检测灵敏度高、响应速度快等优点&#xff0c;广泛应用于医疗、化工、食品和环保等领域。 检测原理&#xff1a; 超声波气泡…

【ArcGIS】基于DEM/LUCC等数据统计得到各集水区流域特征

基于DEM/LUCC等数据统计得到各集水区流域特征 提取不同集水区各类土地利用类型比例步骤1&#xff1a;划分集水区为独立面单元步骤2&#xff1a;批量掩膜提取得到各集水区土地利用类型比例步骤3&#xff1a;导入各集水区LUCC数据并统计得到各类型占比 提取坡度特征流域面坡度河道…

【网络那些事】

【云计算】 云计算&#xff1a;把计算资源放在某个地方&#xff0c;并通过互联网暴露出来&#xff0c;让用户可以按需使用计算资源的方式&#xff0c;就是所谓的云计算 云计算的三种服务&#xff1a; 云平台专业名词 日常叫法 亚马逊云叫法 虚拟机 EC2 &#xff08;Elasti…

GPT润色指令

1. GPT润色指令 Below is a paragraph from an academic paper. Polish the writing to meet the academic style,improve the spelling, grammar, clarity, concision and overall readability. When necessary, rewrite the whole sentence. Paragraph &#xff1a;你的句子…

初谈软件工程(一)

我就读于兰州交通大学的软件工程专业。虽然在全国众多的985、211高校中&#xff0c;兰州交通大学可能并不显眼&#xff0c;似乎未能跻身这些所谓的“顶尖”行列就意味着不被认可。然而&#xff0c;在甘肃省的教育领域中&#xff0c;它无疑是一座璀璨的明珠&#xff0c;名列前茅…

Apache-Camel中的Quartz定时任务

需求&#xff1a;在camel的基础上增加两个定时任务&#xff0c;一个需要发邮件&#xff0c;一个只需要简单调用存储过程并拿回数据记录日志即可 package com.hkt.it.ds.dmg.eip.route;import java.util.List;import com.xxx.DmgCamelRouteConfig; import com.xxx.DmgCamelRout…

全面介绍HTML的语法!轻松写出网页

文章目录 heading(标题)paragraph(段落)link(超链接)imagemap(映射)table(表格)list(列表)layout(分块)form(表单)更多输入:datalistautocompleteautofocusmultiplenovalidatepatternplaceholderrequired head(首部)titlebaselinkstylemetascriptnoscript iframe HTML&#xff…

Java SpringBoot 获取 yml properties 自定义配置信息

Java SpringBoot 获取 yml properties 自定义配置信息 application.yml server:port: 9090servlet:context-path: /app第一种方法 HelloController package com.zhong.demo01.controller;import org.springframework.beans.factory.annotation.Value; import org.springfram…