ERD助力研发资产沉淀研发提效

news2024/11/19 17:37:12

一、从痛点中思考答案

痛点一:复杂系统的设计和逻辑碎片化散落,缺少沉淀导致系统后期维护、迭代以及架构升级都非常困难。

痛点二:由于新需求或新项目导致的系统的老旧逻辑梳理往往耗费大量人力,甚至造成人才的流失。

痛点三:多团队共建场景下需要参与各方了解跨应用系统的整体设计,沟通效率低成本高、共建初期花费时间长。

痛点 N:像这样的痛点还有很多…

如何解?怎么破?我们从 ERD 中寻找答案。

二、ERD规范制定与核心价值主张

2.1 ERD 是什么

ERD 是源自于硅谷的工程技术实践,其核心价值沉淀应用系统全生命周期的技术资产,理解应用系统整体设计演进过程,促进技术与业务理解,降低共建成本。

•ERD 在项目低成本时期介入,把风险和成本控制到最低。

•ERD 能规范描述,减少沟通,促进协作,提升效率。

•ERD 有助于合理拆解大型项目形成更小的任务更容易进行分配。

•可对照 PRD 反向检查 ERD,确保设计意图,实现产品目标。

•ERD 能清楚的描述落地范围以及上下游依赖和可能的风险。

2.2 ERD 和 TRD 的区别

在介绍 ERD 时肯定有朋友对 TRD 有所了解,在这里用一张表格直观了解它们的区别:

ERDTRD
受众业务、产品、研发研发
描述对象系统需求
目标资产沉淀技术实现
时效性持续迭代一次性
更新时机按需实时

ERD核心着眼于系统视角,实现系统级的技术资产沉淀,TRD偏向于需求开发,通过架构设计细节描述指导实际开发工作,两者相辅相成,优势互补。

2.3 ERD 规范的制定

在规范制定初期我们结合技术中心系统的现状、猎豹项目,联合技术中心各部门架构师共同制定并评审了零售 ERD 编写规范,规范依照奥卡姆剃刀提供最小必要内容及可选内容:

零售 ERD 规范模版链接:

[1]: 零售ERD模版V1.1.0(官方版)

[2]: 零售ERD模板V1.0.0(示例版)

[3]: 零售ERD模板V1.0.0(前端版)

注:由于前后端的系统差异性,特别制定了前端版。

2.4 ERD 三大核心价值主张

三、ERD 推广与影响力打造

目前 ERD 在整个中心的推广与影响力的打造由全渠道首先侧落地执行并处于领跑角色,整体从 2022年底启动,现阶段处于部门全面推广落地阶段。

从开始至今一年多以来,我们以**定规范****推落地****看质量****选标杆****推影响****沉资产**的实际行动贯穿着整个时间线。

3.1 我们全年做了哪些

全渠道全年 0-2 级别应用对应的系统 ERD 全覆盖共计**259**个,ERD 季度评优共计 26 个优秀 ERD 。

3.2 技术中心推广情况

2023 年上旬在技术中心范围推广 ERD 规范和标杆案例并推动试点,组织并评审通过 5 个 C2 部门共 6 个ERD。

3.3 影响力打造

四、后续计划

•利用AIGC能力,结合当前业务可视化,生成部分 ERD 内容,例如:在接口及名词解释等内容上进行自动化更新。

•分级简化,针对L3级应用(边缘或长期不维护,但无法下线)进行ERD简化模板,减少研发维护成本。

•在技术中心范围内扩大推广。


附录:ERD 质量保证(评审标准)

1.书写内容完整,要求的核心要素描述完整。

2.设计图采用标准UML,使用UML插入的方式方便后续迭代更新,原图可编辑。

3.核心要素设计满足业务场景且具有扩展性。

•架构设计合理清晰,要求使用C4中的C2容器图,画图工具建议使用draw.io。

•架构设计图和部署图要写实反映系统真实情况例如部署上是否涉及一套代码多套部署(商业化/主站);

•上下游依赖和边界清晰;

•系统内的应用/组件设计合理,高内聚低耦合;

•核心组件在详设中交互序列图清晰,依赖关系合理;

•业务建模,子域、领域服务、能力和扩展点、领域对象、业务身份设计合理(适用于采用BPaaS架构应用);

•涵盖对外的接口定义,且描述清晰,出入参没有二义性;

•缓存设计优先考虑采用主动缓存,是否存在溢出风险;是否存在大KEY;缓存时效是否合理等;

•数据库ER图、索引合理有效;

•风险预案必须说明是有损/无损降级和其业务影响;

•风险预案描述操作步骤清晰,可按步骤执行;

•部署上要有多机房容灾,涉及C端下单和生产链路上系统可跨机房切换;

•0级应用必须有大促容量、SLO评估。

最后,欢迎一起交流~

作者:京东零售 魏星

来源:京东云开发者社区 转载请注明来源

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

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

相关文章

华为云AI:轻松实现图像识别调用

文章目录 前言一、环境配置关键步骤 二、图像识别实例媒资图像标签名人识别 总结 前言 基于华为云AI服务和java使用SDK实现图像识别,主要以媒资图像标签和名人识别为例。 一、环境配置 Maven(没有直接下载华为的SDK包,而是使用Maven安装依赖…

CPT203-Software Engineering 笔记

Week 1 -- Introduction failure reason professional software development*** maintain, security, efficiency, acceptability two kinds***: generic, customized software deterioration 软件退化 reduce changes/ side effects after changes software engineering …

Python豆瓣爬虫详解

有没有过周末为看什么电影焦虑,今天手把手教学爬取豆瓣电影评分! 0,当我们打开一个网站的时候这个时候网站给到我们一个cookies,这个cokkies可能是多个参数或一个参数,然后我们再浏览其他的页面的时候网站会校验cooki…

理解接雨水算法

一、IDEA注释显示图片 在做题时&#xff0c;需要对照这图片&#xff0c;才能更好的梳理思路。 首先&#xff0c;注释里添加<img/>标签 之后&#xff0c;将鼠标光标放置在需要以阅读模式预览注释的地方&#xff0c;然后按快捷键CtrlAltQ即可 二、接雨水算法 先看接雨水…

文件批量重命名:在原文件名上插入随机字母,高效命名文件的方法

在处理大量文件时&#xff0c;高效的文件命名系统可以大大提高工作效率。下面来看云炫文件管理器如何用简单的方法&#xff0c;轻松的在原文件名上批量插入随机字母&#xff0c;实现高效的文件命名。 原文件名插入随机字母前后的对比效果。 在原文件名上插入随机字母的操作&am…

机器学习 —— 自用整理期末复习笔记

一、绪论 机器学习术语 假设空间 p5 监督学习&#xff08;supervised learning&#xff09;的任务是学习一个模型&#xff0c;使模型能够对任意给定的输入&#xff0c;对其相应的输出做出一个好的预测。模型属于由输入空间到输出空间的映射的集合&#xff0c;这个集合就是假设空…

Nginx实战 | 高性能HTTP和反向代理神器Nginx前世今生,以及它的“繁花之境”

专栏集锦&#xff0c;大佬们可以收藏以备不时之需&#xff1a; Spring Cloud 专栏&#xff1a;http://t.csdnimg.cn/WDmJ9 Python 专栏&#xff1a;http://t.csdnimg.cn/hMwPR Redis 专栏&#xff1a;http://t.csdnimg.cn/Qq0Xc TensorFlow 专栏&#xff1a;http://t.csdni…

基于ssm的图书管理系统设计与实现论文

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…

[足式机器人]Part3 机构运动学与动力学分析与建模 Ch00-3(1) 刚体的位形 Configuration of Rigid Body

本文仅供学习使用&#xff0c;总结很多本现有讲述运动学或动力学书籍后的总结&#xff0c;从矢量的角度进行分析&#xff0c;方法比较传统&#xff0c;但更易理解&#xff0c;并且现有的看似抽象方法&#xff0c;两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有…

计算机网络-各层协议

大家在搞嵌入式开发的时候基本都了解过七层网络协议、五层网络协议、四层网络协议&#xff0c;那么今天让我们更加的深入了解一下&#xff1a; 历史发展介绍 OSI七层模型由ISO国际标准化组织提出的通信标准。TCP/IP四层模型是OSI七层模型的简化版&#xff0c;OSI在它被官方完…

索罗斯:真正好的投资都是无聊的

赚钱&#xff0c;要依靠正常价值的商品出现折扣以及押注意外事件。 我之所以富有&#xff0c;是因为我知道什么时候犯错了。我的“幸存”基本上都是因为我认识到并改正了错误。我们应该明白&#xff0c;人类都会犯错&#xff0c;犯错并不丢人&#xff0c;丢人的是不能改正错误。…

深度学习 Day26——J5DenseNet+SE-Net实战

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制&#x1f680; 文章来源&#xff1a;K同学的学习圈子 文章目录 前言1 我的环境2 pytorch实现DenseNet算法2.1 前期准备2.1.1 引入库2.1.2 设…

常见排序算法及其稳定性分析

前言&#xff1a; 排序算法可以说是每一个程序员在学习数据结构和算法时必须要掌握的知识点&#xff0c;同样也是面试过程中可能会遇到的问题&#xff0c;在早些年甚至还会考冒泡排序。由此可见呢&#xff0c;掌握一些常见的排序算法是一个程序员的基本素养。虽然现在的语言标…

高标准农田建设的实施要点

高标准农田应用大数据、物联网、移动互联等现代信息技术&#xff0c;对基地种植区域的气象环境、土壤墒情、病虫害、农事活动等进行实时监测&#xff0c;实现农田种植智能化、经营网络化、管理高效化、服务便捷化&#xff0c;全面提高农田种植现代化水平。在高标准农田的建设方…

git秘钥过期 ERROR: Your SSH key has expired

文章目录 1、错误提示Your SSH key has expired2、登录Github确认3、重新设置秘钥 1、错误提示Your SSH key has expired 使用git命令时遇到Github 的 SSH Key秘钥过期&#xff0c;提示错误ERROR: Your SSH key has expired 2、登录Github确认 首先登录Github查看&#xff…

CSAPP阅读笔记-信息的表示和处理

信息的表示和处理 包括整数、浮点数的存储格式、计算中可能存在的问题等 信息存储 大多数计算机使用8位的块&#xff0c;或者字节(byte)&#xff0c;作为最小的可寻址的内存单位&#xff0c;而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组&#xff0c…

Fedora Linux 中安装 nginx

Fedora 35 中安装 nginx 的方法非常简单。 运行下面的命令&#xff1a; sudo dnf install nginx 在提示你需要确认的地方&#xff0c;输入 y 后回车即可。 开机自动启动 如果你希望在你的操作系统重启的时候自动启动 nginx&#xff0c;请输入下面的命令&#xff1a; syst…

2.2.3机器学习—— 判定梯度下降是否收敛 + α学习率的选择

2.2.3 判定梯度下降是否收敛 α学习率的选择 2.1、 判定梯度下降是否收敛 有两种方法&#xff0c;如下图&#xff1a; 方法一&#xff1a; 如图&#xff0c;随着迭代次数的增加&#xff0c;J(W,b)损失函数不断下降当 iterations 300 之后&#xff0c;下降的就不太明显了 / …

shader技巧

数学函数&#xff1a; abs()&#xff1a;绝对值函数。 acos()&#xff1a;反余弦函数。 asin()&#xff1a;反正弦函数。 atan()&#xff1a;反正切函数。 ceil()&#xff1a;向上取整函数。 cos()&#xff1a;余弦函数。 cross()&#xff1a;向量叉积函数。 distance()&#x…

MyBatis:自定义 typeHandler 处理枚举类型

MyBatis 枚举类型typeHandler 枚举类型 枚举类型&#xff0c;在 Java 中属于基本数据类型&#xff0c;而不是构造数据类型&#xff0c;用于声明一组命名的常数。枚举可以根据 Integer 、Long 、Short 或 Byte 中的任意一种数据类型来创建一种新型变量。这种变量可以设置为已经…