后台设计基础:字段设计

13 评论 33175 浏览 321 收藏 7 分钟

各位好,通过虚拟账户这个点,简单介绍了虚拟账户数据结构、账务数据结构、交易基础体系以及相关应用场景,其中核心展示了账户数据结构、账务数据结构、交易流水数据结构,数据结构中最重要的就是字段设计。那么在后续的几个章节,我们就重点说一下后台产品设计工作中的几个基础工作,希望不了解后台设计思路或者是对刚入行做后台产品小白提供一些借鉴意义。

后台产品经理在设计工作中,有四个基本对象需要设计:

  1. 存储数据的字段;
  2. 梳理业务的流程;
  3. 规则设计(业务规则、输入规则、逻辑规则等);
  4. 页面设计(主要是后台系统)。

其中字段设计是其中最基础的部分,是我们后台设计最核心的部分。首先我们设计后台系统展现的表单信息来源于字段设计、业务流程中提现的业务信息载体是字段设计、规则设计中相关规则控制对象也是字段,因此设计好字段是后台产品设计最基础也是最核心的工作。

所谓字段就是后台相关数据的载体,根据来源不一样我们可以定义如下四种类型字段:业务型字段、系统型字段、管理型字段、规则型字段。

相关字段类型说明请看下表:

因此,我们在梳理某一个对象管理字段时可以按照这四个维度去设计字段,来保证我们的字段设计是全面、完善的。

字段类型相关字段我们找好了,就需要针对某一个字段维度进行字段表格的设计了。

字段维度涉及如下维度:

  1. 字段所属对象:就像后台按照模块分类一样 ,字段也有所属对象的分类,比如商品、用户、订单、结算单、提现单、红包、奖励券、客户等,这些对象是字段承载的载体。
  2. 字段值类型:字段值类型常用的包括:字符串(比较常用)、枚举(审核状态、是否项目等)、日期时间、浮点数(金额类型、定义小数点后位数、小数点前位数)、数字(正整数、是否可以为负等)。
  3. 字段是否必填:这个是指字段在写入值的时候是必须有值的还是可以为空,比如新增一个商品,商品编码、商品名称是必填,商品关键字可以为空等。
  4. 字段值来源:字段值来源是指字段在写入的时候来源于哪里,常见的包括以下几种:来源于输入(就是通过前段某一个页面通过用户输入或是选择获取的值)、系统自动生成(比如:创建时间、业务编号等字段)、来源于其他数据(比如:订单里面的商品编码字段,就来源商品里面的商品编码字段)。
  5. 字段值长度:字段值长度是存储在数据库中值的最长长度是多少,比如:字符串类型,可以规定长度32位,这个一般根据业务需求制定的一个最长长度,便于开发设计表结构。

我们举个案例,来看一下字段设计是如何设计的。

假如:我们有一个新手发红包的场景,需求可以是这样:新手用户注册我们的产品,我们就给新手用户发新手红包。此红包可以在购买产品时可以抵扣订单金额,我们就基于红包这个业务,来设计一下字段。

延续第一章、第二章的思路,红包是一个虚拟账户场景,首先我们要定义红包这个“账户”的结构数据;其次我们要定义发完红包后“账务流水”的数据结构。

因此我们要设计两个对象的字段:

  • 一个红包类,就是存储了红包基本信息的对象;
  • 一个是红包流水,就是红包发放情况信息的对象。

具体可以参见如下两个表格【表1 红包类字段(仅供参考,具体业务字段具体设计);表2 红包发放情况字段(仅供参考,具体业务字段具体设计)】:

通过以上两个对象的字段表格设计,那基本上关于字段设计一个流程就出来了:

  • 首先,确定字段所归属的对象,根据业务需求,我们需要建立那几个对象来承载字段;
  • 然后,我们需要哪些类型的字段,业务型的、系统型的、管理型的、规则型的;
  • 其次确定字段相关值的属性;
  • 最后通过字段设计将业务通过表格形式展示出来,同时也确定了表格之间的关系。

这样表格的设计本质上跟技术人员设计数据库很类似,所以,我们也就解答了这样一个问题——产品经理如何跟技术人员沟通的问题,通过字段设计基本上实现了产品与技术人员最核心的沟通。

相关阅读:

虚拟账户应用说明

虚拟账户如何设计?

 

本文由 @罗飞 原创发布于人人都是产品经理。未经许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 感谢分享~

    来自上海 回复
  2. 字段名称

    字段值类型:字符串、枚举、日期时间、浮点数、数字

    字段是否必填

    字段值来源:取值、生成、输入、默认值

    备注:示例、逻辑说明

    来自上海 回复
  3. 理解起来有点难啊。。一般to b的产品经理需要了解这些吗?

    来自北京 回复
  4. 字段设计和程序员的设计表结构有什么区别?对于产品经理来说要做到什么程度?我是后台程序员转产品经理,有点懵。

    回复
    1. 没有多大区别,区别在于成员员可能会考虑一些日志、缓存、快照、流水、关系表等。产品的表数据是用来帮助程序员更好理解业务,更好的知道自己业务主表、关系表、流水表是什么,功能上需要哪些字段。但是有些情况下产品说的报表数据可能需要程序员设计出来更多的子表才可以。这也是产品和程序员用来交流的最好的桥梁。

      来自北京 回复
  5. 还需要有字段定义,说明字段是干什么用的,要有数据来源,比如XX时间是怎么产生的,什么事件产生,是否更新等等;再一个,日期和时间是不一样的,前者是年月日,后者是年月日时分秒

    来自浙江 回复
    1. 多谢补充!对的,是的,涉及到某个具体业务需要备注一下字段含义,关于日期时间,您说的也很对,我这边也是比价懒一些,就直接把日期时间展示出来,其实目的也是告诉大家,日期和时间是不一样的!

      来自北京 回复
    2. 来自广东 回复
  6. 作者和我同名,看到名字点进来的

    回复
    1. 😉

      来自北京 回复
    2. 回复
  7. 这些字段可不可以编辑不需要定义么?

    来自广东 回复
    1. 这个也可以定义上,但是一般情况下那些唯一的ID,编码什么的一旦字段值生成了是不能再编辑修改的,所以这个看情况,如果有一些字段的值存储在数据库中只能只读,不能编辑的话也是可以定义出来的,我上面介绍的是一种通用的模板

      来自北京 回复