• xx系统分析说明书


     

    版本号

    作者

    内容提要

    修订日期

    V0.1

    XX

    系分初版

    2021.01.06

    V0.2

    YY

    完善性能部分

    2021.01.16

    1. 需求概述


    对需求进行描述,保证和产品、测试理解一致即可

    如果是技术改造,需要对改造原因进行描述

    1.1 术语

    名词

    名字解释

    麦座

    票务Saas解决方案

    1.2 背景&目标

    背景

     

    业务目标

     

    系统目标

     

    2. 整体分析


    2.1 系统架构设计

    新增场景:体现架构设计,同时联系中台架构接口人更新麦座整体架构

    修改场景:体现修改前后的架构设计,同时联系中台架构接口人更新麦座整体架构

     

     

    2.2 业务用例

    列举本次需求改动影响的所有“场景”,这里可以用excel、脑图、用例图都可以

    建议使用脑图,一级场景,二级接口,三级分支

    这里描述的业务用例更多是用例层面的,代码改动影响其他接口的建议也标注出来

    麦座对已有用例图积累的比较少,还是已脑图形式体现影响范围更好一些。

     

    2.3 业务流程

    建议必填

    相当于需求概述的流程图,能体现出不同模型(或系统)之间的指责

     

     

    2.4 领域模型图

    若没有涉及领域模型的新建或变更,则可以不填写

    如果涉及到模型变更和状态机的变化,可以在这里体现

     

     

    3. 详细分析

     

    3.1 系统依赖关系

    若没有涉及到多个系统的交互,则可以不填写

    例如

     

     

    3.2 系统交互时序(时序图)

     

     

    (1)画图工具统一调整为 visual paradigm 社区最新版:https://www.visual-paradigm.com/download/community.jsp

    (2)如果需要反向工程的话可以考虑集团的旧版本:https://www.atatech.org/articles/43781?spm=a1z2e.8101737.webpage.dtitle4.42026a6ck6fcmm

     

     

    建议从以下几个点考虑异常场景

    • 服务依赖:依赖的服务是弱依赖还是强依赖,对依赖服务的响应时间是否有要求,对其超时时间的配置是否合理,当依赖服务出现问题时是否可以降级或者故障隔离。
    • 数据一致性:网络或者系统异常时服务提供方和服务使用方的数据一致性,如A调用B,B处理成功,但是由于网络等原因返回A失败,或者A调用完B后的处理异常,怎么保障数据一致性。
    • 幂等:为保障数据一致性,上游系统可能会重试,或者网络重发,消息重发等,幂等控制是否有效,幂等返回结果处理是否正常。
    • 并发:只要是数据有关系的处理流程都可能涉及并发问题,不同主流程或者主流程和定时任务等,数据表的唯一性约束是否有效。
    • 事务:事务内的异常是怎么处理的,是否存在异常但事务无法回滚的情况。
    • 消息:消息的发送和回查,消息的发送异常是否需要感知。
    • 定时:定时任务捞取条数,范围,频次,失败降级策略。

     

    系分评审就要有接口文档

    提供接口文档地址:基础描述和语雀地址

    依赖接口文档地址:基础描述和语雀地址

     

    3.3 数据库变更

    若没有涉及数据库变更,则可以不填写

    标识新增字段、删除字段、还是修改索引(结合数据量并请DBAreview)、数据订正之类、数据库实体关系

    交易、生产、会员等影响数据库变更要考虑对报表的影响

     

    ALTER TABLE `enroll_info` ADD COLUMN `order_number` bigint(20) NULL COMMENT '订单号', MODIFY COLUMN `pay_status` tinyint NULL COMMENT '支付状态:1=待支付,2=已支付,5=超时未支付',

    备注:数据库脚本要结合线上业务调用量,考虑现有索引的合理性、是否需要增加索引以避免慢SQL。

     

    3.4 其他

    如果使用了一些新的关键技术、第三方框架等,可补充在这边。

    备注: 使用新的关键技术、第三方框架; 研发人员要考虑运维成本和自己知识储备和驾驭能力

     

    4. 非功能场景分析


    每个子项必须要考虑,如没有则填无

     

    4.1 兼容性

    • 原有的功能上新增、修改、删除,不管是db、模型、消息、接口服务,兼容性务必考虑
    • 新老数据兼容
    • 数据库新增字段默认值
    • 接口变化对未发布的消费方是否兼容

     

    4.2 资损

    • 分析项目中是否存在资损风险点
    • 针对资损点需要哪些监控或者核对
    • 有什么应急处理方案
    • 接口一致性方案,如果有
    • 核心字段一致性检测,如果有

     

    4.3 性能

    • 业务上是否有性能要求
    • 系统变更本身是否会引发性能问题,如是否有批量操作,较长的流程设计,DB操作次数及耗时,复杂对象解析等
    • 依赖外部服务变更是否会引发性能问题,如新增依赖服务的性能

     

    4.4 安全

    • 需求是否有安全性要求
    • 权限、敏感信息、CTU、第三方安全、加密等
    • 咨询安全工程师,听取安全建议

    4.5 需求报表

    • 需求是否需要埋点反馈需求上线效果到业务、产品、开发
    • 需求是否开发需求报表体现需求效果给到商户

     

     

    5. 三板斧


    每个子项必须要考虑,如没有则填无

     

    5.1 灰度方案

    • 如果存在switch开关,备注灰度的维度,如果是商户或租户灰度,要有灰度计划,否则评审不通过
    • 如果是灰度环境SPE,需要说明怎么保证前后端兼容

     

    5.2 监控方案

    • xflush地址
    • alimonitor地址
    • 日志埋点、监控报警方案&报警群

     

    5.3 回滚方案

    • 如果Aone回滚,要声明是否有其他应用需要回滚
    • 如果是Switch开关回滚,前端是否需要回滚,其他依赖系统是否需要回滚

    5. 参与评估人员


    开发:XX

    测试:XX

    CR:XX

    需求评估人:XX

    评估结论:通过、不通过(本次原因说明)

    PM:XXX

    架构:XX

    主系分人:XXX

    前端主系分:XXX

    POS主系分:XXX

    XXX主系分:XXX

    里程碑:

    整体联调时间

    用例评审时间

    代码CR时间

    提交测试时间

     

    6. 工作量拆解


    初期建议精确到0.5人日,项目更加可控

    每个工作项的工作量建议不超过1人日,对于项目管理者可以确定每天都有进度

     

  • 相关阅读:
    Linux下常用的ctrl命令
    网络编程函数笔记(二)
    javascript中函数构造器和原型研究
    javascript对象定义需开辟内存空间才能访问
    读取iframe里面的js全局变量
    网络编程函数笔记(一)
    Inside.MySQL_InnoDB.Storage.Engine 学习笔记
    jquery对象原理笔记(一)
    javascript(一)正则表达式
    c++学习笔记(模板)(一)
  • 原文地址:https://www.cnblogs.com/aspirant/p/16113371.html
Copyright © 2020-2023  润新知