首页 > 其他分享 >1.需求分析和架构设计

1.需求分析和架构设计

时间:2023-12-05 21:55:19浏览次数:35  
标签:需求 架构设计 name 分析 作品 组件 id

需求分析

熟悉产品需求
  • 以架构师的思维分析需求,不能只停留在表面实现需求,要考虑怎么实现能给业务带来增长
  • 全局思维、整体思维、闭环思维,不能只考虑自己,要全局考虑整个团队,要做到有输出、有输入、有结果
浅层需求
  • 分析表面需要实现的功能,如登录、创建作品、编辑、发布、访问作品等
深度需求

通过浅层需求分析,进一步分析需求

  • 作品的管理
  • 作品统计
  • 作品发布
  • h5
  • 后台管理

以上需求还有很多细节点,就不一一阐述

需求分析总览图

架构设计

需要的项目

独立业务组件库

编辑器画布使用的组件和渲染逻辑和h5完全一致,为了两边一致,应该抽离出来提供给它们使用,从而保证制作的时候和渲染出来的h5保持一致

自研统计服务

考虑自研服务前,先列出我们统计所需的功能

我们需要实现分渠道统计这个需求,要实现这个需求,我们就需要自定义事件统计

  • 支持自定义事件统计
  • 支持Open API

经过调研后,我们发现,市面上第三方服务要么不支持,要么收费很贵,综合对比,只能选择自研一个

包括:

  • 日志收集
  • 日志分析
  • Open API
各个项目之间关系

作品数据结构设计

思路:

  • 每个组件尽量符合vnode规范
  • 用数组来组织数据,有序
  • 尽量使用引用关系,不要冗余

vuex store

{
  work: {
    title: '作品标题',
    setting: {/* 一些可能的配置项,用不到就先预留 */},
    props: {/* 页面body的一些设置,如背景色 */},
    components: [
      // components要用数组,有序结构
      // 单个node要符合常见的vnode格式
      {
        id: 'xxx', // 每个组件都有id,不重复
        name: '文本1',
        tag: 'text',
        attrs: { fontSize: '20px' },
        children: [
          '文本1' // 文本内容,有时候放在children,有时候放在attrs或者props,没有标准,看实际情况来确定
        ]
      },
      {
        id: 'yyy',
        name: '图片1',
        tag: 'image',
        attrs: { src: 'xxx.png', width: '100px' },
        children: null
      }
    ]
  }
}

vuex getter

// 图层
{
  layers: (state) => {
    state.work.components.map(c => {
      return {
        id: c.id,
        name: c.name
      }
    })
  }
}
扩展性保证
  • 扩展组件
  • 扩展编辑器功能、如锁定、隐藏
  • 扩展页面信息,如增加多语言
  • 扩展其他功能,如大数据分析和计算等
研发效率
  • 脚手架:创建发布
  • 组件平台
运维保障
  • 线上服务和运维服务
  • 安全
  • 监控和报警
  • 服务扩展性: 基于云服务,可以随时扩展机器和配置

标签:需求,架构设计,name,分析,作品,组件,id
From: https://www.cnblogs.com/shuaihan/p/17878384.html

相关文章

  • 数值分析
    目录第8章幂法与反幂法反幂法:豪斯霍尔德变换(Householder)吉文斯变换(Givens)QR分解第8章幂法与反幂法规范后的幂法:书P248$u_k$表示迭代后的特征向量,$\mu_k$表示特征向量反幂法:书P251在近似值处求解:书P253豪斯霍尔德变换(Householder)吉文斯变换(Givens)书P257......
  • 【Azure Key Vault】客户端获取Key Vault机密信息全部失败问题分析
    问题描述在应用中获取存储在AzureKeyVault的机密信息,全部失败。报错日志内容如下:[reactor-http-epoll-4][reactor.netty.http.client.HttpClientConnect][WARN]-[c7a7d27e,L:/xxx.xxx.xxx.60:58756!R:xxxxxxxxxxxx.vault.azure.cn/xxx.xxx.xxx.xxx:443]Theconnectiono......
  • 【Azure Key Vault】客户端获取Key Vault机密信息全部失败问题分析
    问题描述在应用中获取存储在AzureKeyVault的机密信息,全部失败。报错日志内容如下:[reactor-http-epoll-4][reactor.netty.http.client.HttpClientConnect][WARN]-[c7a7d27e,L:/xxx.xxx.xxx.60:58756!R:xxxxxxxxxxxx.vault.azure.cn/xxx.xxx.xxx.xxx:443]Theconnecti......
  • Macbook磁盘系统结构/文件/目录介绍分析
    1.系统磁盘根目录详解:1.1磁盘根目录结构/(根目录)|--Applications#存放应用程序|--Users#存放用户文件和设置|--cores#存放核心转储文件,通常用于调试|--home#用户家目录的根目录|--sbin......
  • 从 Elasticsearch 到 SelectDB,观测云实现日志存储与分析的 10 倍性价比提升
    导读:在云计算逐渐成熟的当下,越来越多的企业开始将业务迁移到云端,传统的监控和故障排查方法已经无法满足企业的需求。观测云可以实现对云、云原生、应用及业务的统一监测,提供整体数据的分析、洞察、可视化、自动化、监测告警、智能巡查、安全巡查等服务。本文将分享SelectDB如何助......
  • 武汉星起航:解密成功选品的秘籍,词频分析揭示市场脉搏
    在电商时代,选品成为创业者们摆在首要位置的一项任务。然而,要想在激烈的市场竞争中脱颖而出,仅仅依赖传统的市场分析可能不够。本文武汉星起航将介绍一种基于统计学原理的独特分析方法——词频分析,它不仅简单易懂,而且能够迅速洞悉消费者的需求,助您在选品过程中事半功倍。词频分析的核......
  • 记一次逆向分析解密还原Class文件
    前言前阵子我的一位朋友发来一份代码让我帮忙看看。具体就是所有的jsp文件内容和大小都一样,漏洞挖掘无从下手。经过分析发现所有的Class都使用了自定义的加密工具加密,经过逆向分析,顺利解密,因而有了此文。初步分析文件内容如下所示:其他文件亦如是:接着在tomcatwork目录找到......
  • 《软件需求模式》阅读笔记01
     软件需求这门课课程要求精读一门关于软件需求方面的书,我选择了《软件需求模式》这本书,从这本书来了解一下软件需求的一些流程以及需要软件工作人员做好那些事情。第1章主要介绍了什么是需求以及我们应该如何去得到他们。 需求的概念:定义系统需要做什么,而不是怎么去做。我的理......
  • perl:mysql binlog iud (insert、update、delete)分析 小脚本:实用程序
    1#!/usr/bin/perl2#utf-834usestrict;5usePOSIX;6useTime::HiResqw/sleeptime/;78$|=1;910my$line='#-----------------------------------------------------------------------';11my$debug=0;1213##------------......
  • 上下游分析
    上游分析这里说的上游分析,通常指的是NGS组学数据的标准化流程,比如WGS/WES的fastq—>bam—>vcfRNA-seq的fastq—>bam—>表达矩阵-差异基因ChIP-seq等的fastq—>bam—>peaks(bed)—>motif(特征)理论上完全练习实践掌握其中一个,是算作入门生信,可以通过自学获取另外一些......