【产品设计】ToB 增删改查显算传

news2024/10/3 8:31:35

入职培训时技术leader说:“我不需要你们太聪明,做好基础的增删改查就可以了。”看似很简单的活,要做好并不容易。基础的坑在哪里呢?

一、 增(新增、创建、导入)

1. 明确表字段类型

新增的业务是由不同类型的字段组合而成,每个字段具体的类型应该给出明确定义,这关系到数据库字段存取的设计、后台逻辑的编写以及前端页面的数据输入方式以及展示形式。

常用表字段:

  • 文本(中文文本、英文文本等,可统一定义为字符串)
  • 数字(整数、小数、正负数、阿拉伯数字、中文数字、罗马数字等)
  • 时间、日期(yyyy-MM、yyyy-MM-DD、yyyy-MM-DD hh:mm:ss、hh:mm:ss、hh:00等)
  • 字典表(一般用于定义业务状态,如结算状态字典可定义“待结算”、“已结算”)

表字段信息说明:

  • 字段必填、非必填;强业务关联的数据或者其他必要信息设为必填字段;
  • 字段唯一性;唯一的字段组合设置为表结构的主键;
  • 字段长度;表字段长度的限制,主要是为了合理分配客户端的内存资源;
  • 字段的默认值;对于固定确认的数据,可设置默认值,减少操作员的数据录入工作量;
  • 字段校验;例如手机号、身份证号码、银行卡格式标注校验,可根据业务情况说明校验规则;
  • 选项型,说明单选、多选;
  • 专有名词解释说明,业务场景描述,协助开发人员理解文档。

输出结果如图一、图二:
在这里插入图片描述
在这里插入图片描述
小结:

有的项目组可能会要求产品经理进行初级的表结构设计,即以上说明的内容,专业部分的内容由DB进行设计完善。这样做有利于产品经理明确字段的含义,理解表字段的存取路径,设计逻辑,能更深程度的参与到项目开发与沟通协调中。

2. 准确使用信息输入的方式

表字段的类型不同,信息的输入方式对应会有差别(如图三)。若前端页面运用错误的输入样式,则会导致新增报错,业务流程无法继续。

例如应该是下拉选择的字典值,运用了手动填写的文本框,必然会出现人为填写错误,与数据库字典表无法匹配的bug。
在这里插入图片描述

3. 设置合理的图片限制

新增业务中,上传图片是很常见的需求。考虑到图片的上传、加载速度,兼容问题,需要对图片的大小、格式进行限制说明。

常规的图片格式包括:jpg、png、gif、bmp、gif,大小限制在500k~2M范围内。

如图四:
在这里插入图片描述

4. 设置及时完善的错误信息提示

用户输入的过程中,需要对填写的信息有及时全面的反馈,例如必填字段漏填、有格式校验的数据填写错误等,如图五:
在这里插入图片描述

5. 提高长表单的处理效率

  • 对于较长的表单,流程分步操作,减轻用户的认知负荷和心理压力;
  • 对于相关的信息进行合理分组展示,高效填写;
  • 采取高效填写的方式,避免出错;例如银行卡扫码、拍照识别;小结:新增是业务开始的第一个环节,数据进入系统的源头。若新增不顺畅或者总是报错,会导致业务流程顶部断层无法继续、用户体验感极差,甚至有可能会导致项目验收失败。

二、删除(删除、取消、禁用、停用)

数据有新增的路径,就会存在删除的需求。

通常说的删除,包含两种:

  1. 物理删除:真实删除,从数据库层面删除了数据,查询找不到该条数据,数据不可恢复;一般对于重要的基础数据,不建议设置删除功能,设计中要避免不可逆的操作;
  2. 逻辑删除:假删除,只是从页面对数据进行了删除,数据库将数据的状态改写为“已删除”,可通过删除后撤回或者数据库备份恢复,产品设计中比较常用。

数据的前后业务关联太强,不适合设计删除功能,那应该如何对数据进行合理的处理呢?

个人理解的删除需求的存在,可能存在以下几种情况:

  • 过期无用信息:可以设计数据库定时任务,根据实际的业务情况和指定条件,定期清理垃圾数据,适用于数据量较大的情况;
  • 信息录入错误:逻辑删除或者使用编辑功能修改数据;
  • 数据状态改变,或需要中止业务:使用字典状态来限制。

最后一种情况,笔者做的TMS物流运输系统中,客户曾提出过这样的需求:车辆出现故障或者正常维修停运,而业务人员在创建订单的时候,可能还是会选到这辆车。对于这种车,我们要在系统中进行删除,以免误选(典型的伪需求)。

经过实际的业务分析,发现直接删除车辆信息会有几个问题:

  1. 车辆维修保养结束后,需要操作员再次填写车辆信息,用户体验差且浪费人力资源;
  2. 车辆的维修保养比较常见,若操作员未及时补录恢复运营的车辆,会对运输业务产生影响;
  3. 车辆的运输里程涉及到财务的结算支付,若删除会需要写大段的逻辑代码来判断车辆关联的业务情况,以及财务结算状态,开发工作量大。

最终处理结果:

设计车辆停用功能,保存车辆的基本信息,维修结束后恢复运营状态;停用期间数据封装,不影响还未结算完的财务数据。

类似的数据需要暂停业务,后期可能需要恢复的,可以采取【删除后撤销】、【停用】、【禁用】等假删除形式进行处理。

小结:

根据业务状况确认信息是否允许删除;允许删除的数据,需要进行二次确认提示,降低误删的可能性。

三、改(修改、编辑、批量修改)

新增的数据维护错误或者业务发生变动,可能会需要修改。

1. 修改的形式

点击列表按钮,进入二级页面/弹窗修改。
在这里插入图片描述
在列表单元格内直接编辑修改。
在这里插入图片描述
列表内嵌子表格编辑修改,不常用,适用于需要小面积修改的信息。
在这里插入图片描述
大范围的数据变动,导入表格批量修改。

数据出错,页面无法修改,进入数据库直接修改数据(很少见,且不建议)。

2. 修改注意事项

  • 页面明确区分允许可编辑和不可编辑的内容;
  • 构成数据唯一性的字段不允许修改;
  • 完成认证闭环的数据不允许修改;例如强制实名认证的信息完成后不允许修改;
  • 修改保存后,二次弹窗确认;
  • 长表单分步骤录入的信息,选择单独模块编辑修改;
  • 长表单信息修改设定本地缓存机制,避免网络中断等原因需重新编辑上传数据;
  • 强业务关联的数据,需要确认修改后是否对其他模块列表数据关联变更;
  • 敏感数据提供修改日志;
  • 不同用户的修改权限设定。

3. 批量修改

  • 批量修改应定义数据唯一性的标记;例如批量修改员工信息,可能存在姓名相同的情况如果只判断导入的修改模板,只要姓名相同而其他数据不同,则修改数据,会导致修改失败或者其他后果;
  • 批量修改导入了重复数据,应明确是直接覆盖源数据后导入,或提示修改模板后重新导入,或直接跳过重复数据。

四、查(查询、搜索)

合理的查询条件和样式的设计,有助于用户快速准确的找到需要的信息。

常用的查询方式有:

1. 同步查询、组合条件查询

设置默认查询条件,常用有默认查询日期、默认状态查询,有助于用户快速获取需要的信息。
在这里插入图片描述

2. 精准查询 or 模糊匹配;

精准查询适用于字段简短准确的数据,用户记忆成本高于模糊匹配,而后者是查询中比常用的形式。

例如根据身份证号码查询用户信息,只需要输入1991,则查询出列表中所有包含1991的身份证数据,可能查询出来的结果为:4280861996054212或者4758261991024483。

按状态值快速过滤,业务流程类比较常用。
在这里插入图片描述
自定义设置查询条件;展示高频查询条件,低频查询条件按钮收起隐藏,且允许自定义设置查询字段。
在这里插入图片描述
提供查询历史记录,有必要的情况下可根据历史查询词条的热度进行排序。

3. 定时器任务查询

比较专业的范畴,请教了一下开发同学, 我们一般说定时器是指,按照某个特定的时间间隔执行某一段命令(无法深入说明了,抱歉);

笔者项目中目前只运用过定时器请求银行流水,查询余额,有机会可以写一下。

4. 查全局 or 查局部 ?

考虑到数据的安全性问题,可能有些产品设计上会限制查询的界限,限制查询出的结果只展示部分数据。

例如设置某些用户只能查询特定条件下的数据,获取过滤后的数据量。

五、显(显示、回传、列表样式)

后台系统的数据和业务流程,90%以表格的形式展示出来,显示样式是否合理,直接关系到用户对产品的第一印象和日常使用体验。

网上已经有很多优秀的文章专门讲解后台表格设计的样式及使用场景,这里只简要说明一下。

列表按照功能区域,可划分为筛选区、操作区、表头、正文、分页。
在这里插入图片描述
【筛选区】主要用于设置数据的筛选条件,进行搜索;已经详细说明过查询,不再赘述。【操作区】主要用于对数据进行功能性的操作,常见的有增删改查、业务功能等。

  • 操作按钮较多,建议按照业务的流程排布,避免用户需要不停调转视线寻找按钮;
  • 相同的功能划分合理,收起在一个菜单按钮中,避免功能太多,用户要在界面寻找按钮的情况。
  • 例如【设置服务费率】和【查看服务费率】属于同一个功能区域,可以设计成下拉展开的形式;
  • B端系统的设计,要有堆积木的概念,功能与功能之间,最好是独立的,不互相牵扯;一个按钮代表一个功能操作。

【表头】概括表格要展示的字段信息以及排序、自定义展示字段。
在这里插入图片描述
有必要的情况下,可以添加浮窗文本对字段进行解释,协助用户理解字段含义。
在这里插入图片描述
数据列比较长的情况下,冻结表头,方便内容对应字段。
在这里插入图片描述
信息层级区分,同类型的数据表头合并单元格。
在这里插入图片描述
【正文】展示具体的数据内容;正文内容的注意要点有:

数字,一般展示小数点后两位,右对齐展示,减轻用户计算的压力,可以根据数字串的长度很直观的辨别数字的大小;特别是货币类数字的展示。

对齐,可比较的字符串右对齐,固定长度的字符串居中对齐,其他文本类型字符串可选择对齐。

时间格式,补充数字“0”让文本对齐。
在这里插入图片描述
空白,没有数据的单元格用“—”符号占位,保持视觉的统一性。

分割,常见表格式分割、横向分割(专注行数据)、纵向分割(专注列数据)、无线条分割(数据量少,干扰信息少,信息页面简洁)、斑马线展示(方便用户定位当前查看的数据行);大家可以对比不同分割样式在视觉上的引导作用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
信息层级,常见的有任务分级或权限分配类采用树状结构进行信息层级的划分。
在这里插入图片描述
在这里插入图片描述
列表中的数据是对增删改等操作之后的回传结果,如果前端接口对错或者字典取错,很容易导致页面或者单元格数据为空,更有可能会出现奇形怪状的数据。

在项目验收的时候,一定多多留意列表的回显字段,常用F12协助测试及开发人员排查bug原因。

小结:

个人认为excel玩的溜的,表格设计基本妥了。特别是可视化数据展示,excel的各种精美模板可是唾手可得的优秀学习素材。

【分页】分页的样式很多,功能总结为:

  • 列表的总数量;
  • 每个页面展示的数量条数;
  • 当前所处页面;
  • 进入上一页下一页首页末页;
  • 直接跳转到指定页面。
    在这里插入图片描述
    结语:

标题定的增删改查显算传,实际上算法和传输,都属于比较专业的范畴,希望以后有机会能深入接触,补上这个坑。毕竟现在也是产业互联网化、数字化的时代,学些数据算法、传输技术总没错。

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

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

相关文章

Android Studio开发APP

1.下载Android Studio 官网下载:Android Studio for Window ... 百度云下载:android-studio-bundle-141.1903250-windows.exe Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用…

js 时间戳转换,全网最牛业务逻辑解析,逐行解析代码,千万不要错过,里面有些错误场景你可能还不知道

一、注意事项 1、js只识别13位的时间戳 2、10位的是unix时间戳 二、小试牛刀--日期类型转换成时间戳 可先将js字符串转换为date类型,再转换为时间戳类型。 字符串格式为 yyyy-MM-dd HH:mm:ss或者yyyy-MM-dd //把字符串转换成时间格式 let date new Date(2023-11-12…

(二十四)操作系统-吸烟者问题

文章目录一、问题描述二、问题分析1.关系分析2.整理思路3.设置信号量三、实现四、总结一、问题描述 假设一个系统有三个抽烟者进程和一个供应者进程。每个抽烟者不停地卷烟并抽掉它,但是要卷起并抽掉一支烟,抽烟者需要…

String类的底层原理和版本演变

1 String类的底层演变(1) JDK8以及之前版本 (2)JDK9以及之后版本 javaJDK8的字符串存储在char类型的数组里面,在java中,一个char类型占两个字节。但是很多时候,一个字符只需要一个字节就可存储&…

QGC UDP 建立通讯连接

QGC关于通信连接建立部分的程序比较复杂,但感觉写的很厉害,通过读代码把自己的一点理解记录下来。收集接收空地通信管理空地通信的管理在“应用程序设置->通讯连接”中进行通信连接创建,连接和断开。通讯连接添加完成后点击“连接”按钮&a…

SpringBoot+Spring常用注解总结

1. SpringBootApplication 这里先单独拎出SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它。 SpringBootApplication public class SpringSecurityJwtGuideApplication {public static void main(java.lang.String[] args) {SpringApplication.ru…

携程 x TiDB丨应对全球业务海量数据增长,一栈式 HTAP 实现架构革新

随着新冠病毒疫情的缓解和控制,全球旅游业逐渐开始重新复苏。尤其在一些度假胜地,游客数量已经恢复到疫情前的水平。 携程作为全球领先的一站式旅行平台,旗下拥有携程旅行网、去哪儿网、Skyscanner 等品牌。携程旅行网向超过 9000 万会员提供…

微服务进阶之 SpringCloud Alibaba

文章目录微服务进阶🍓SpringCloud 有何劣势?🍓SpringCloud Alibaba 提供了什么?提示:以下是本篇文章正文内容,SpringCloud 系列学习将会持续更新 微服务进阶 🍓SpringCloud 有何劣势&#xff1…

Spring的概述及Spring6快速入门

Spring6 1、概述 1.1、Spring是什么? Spring 是一款主流的 Java EE 轻量级开源框架 ,Spring 由“Spring 之父”Rod Johnson 提出并创立,其目的是用于简化 Java 企业级应用的开发难度和开发周期。Spring的用途不仅限于服务器端的开发。从简单…

Git图解-远程仓库-Gitee

目录 一、前言 二、远程仓库介绍 三、Gitee(码云)的使用 3.1 注册与登录 3.2 创建项目 3.3 项目初始化 3.4 添加团队成员 四、转视频版 一、前言 接着上篇: Git图解-常用命令操作-可视化 上篇已将Git可是化操作, 接下来&…

Spring整体架构包含哪些组件?

Spring是一个轻量级java开源框架。Spring是为了解决企业应用开发的复杂性而创建的,它使用基本的JavaBean来完成以前只可能由EJB完成的事情。 Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何java应用都可以从…

dolphinschedule使用shell任务结束状态研究

背景:配置的dolphin任务,使用的是shell,shell里包含了spark-submit 如下截图。 dolphin shell 介绍完毕,开始说明现象。 有天有人调整了集群的cdp配置,executor-cores max1 我之前这里写的是2,所以spark任…

如何简单的上手JavaFX17+?解决“缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序”等问题

前言 JavaFX是一个Java的一个ui库,但是自从java8以后,它很悲惨的被从OpenJdk中移除了,因此我们使用它来进行开发时,如果我们使用的是8以后的版本,经常会遇到一些问题。这里针对新手做一个简单的引导(悲&am…

JDBC知识点全面总结2:JDBC实战编写CRUD

二.JDBC知识点全面总结1:JDBC实战编写CRUD 1.JDBC重要接口? 2.Driver和DriverMangement的关系? 3.JAVA与数据库连接 4.JAVA中使用statement来执行sql语句时,拼接字符串的sql注入问题? 5.使用preparedstatement进行…

【Microsoft】与 Bing AI 进行 ⌈狂飙⌋

🎊 今天是3月8号,❤️农历二月十七,💕祝广大女同胞们👩女神节快乐🎉!——以创作之名致敬女性开发者文章目录序言Ⅰ、Bing AI初体验Ⅱ、代码生成Ⅲ、生成图像Ⅳ、使用次数Ⅴ、总结序言 ​ 近期&…

数据结构与算法之《顺序表》

目录 1.什么是顺序表 顺序表的优势和缺点 顺序表预备知识 顺序表的代码实现 顺序表头部插入 顺序表的销毁 顺序表的头删 顺序表的尾删 顺序表的尾插 顺序表的任意位置插入 顺序表的查找 顺序表的打印 1.什么是顺序表 这篇文章我们来讲一下基础数据结构的顺序表&…

Input子系统(一)启动篇

代码路径 基于AndroidS(12.0)代码 system/core/libutils/Threads.cppframeworks/base/services- java/com/android/server/SystemServer.java- core- java/com/android/server/input/InputManagerService.java- jni/com_android_server_input_InputMan…

三步 让你的 vscode 自动编译ts文件

三步让你的 vscode 自动编译ts文件 TypeScript环境安装与如何在vscode实现自动编译ts文件? 文章目录三步让你的 vscode 自动编译ts文件前提条件环境安装自动编译运行监视任务时报错?前提条件 安装 node 环境 环境安装 tsc 作用:负责将ts 代码 转为 浏…

感知器算法

感知器算法原理说明 感知器是一种二分类的线性分类算法,其原理基于神经元的工作原理。感知器将输入数据通过加权求和的方式映射到一个输出,然后根据输出的结果进行分类。 具体来说,给定一个训练集 D(x1,y1),(x2,y2),...,(xn,yn)D{(x_1,y_1)…

研报精选230308

目录 【行业230308东吴证券】电力设备行业深度报告:氢能深度:绿氢,第四次能源革命的载体【个股230308安信证券_沪光股份】优秀的民营汽车线束供应商,行业国产化替代空间广阔【行业230308中原证券】食品饮料行业2月月报&#xff1a…