我用低代码平台,搭建了一套管理系统(含需求分析过程)
一、什么是低代码
低代码平台是一套期望通过拖拽配置,就能实现一套业务型软件系统的开发平台,并能无缝的部署上线运行。通过表单、控件、流程等应用组件,避免代码开发,实现所见即所得。
应用场景
a. 帮助成熟的软件产品,低成本的支持个性化需求(协助乙方快速解决甲方需求)
场景举例:
假设你经营着一个成熟的电商平台,你的网站已经运行良好,但客户开始提出一些特定的个性化需求,比如增加一个“最新折扣”页面,允许用户根据特定标准过滤商品。
在传统的软件开发模式下,这可能需要花费相当的时间和资源,包括前端和后端开发人员的参与,以及测试和部署过程。在低代码平台的帮助下,你可以在几小时内实现创建自定义发布模板,配置自动化规则,用户自定义字段,用户权限管理。
b. 帮助甲方企业,低成本的快速搭建全新的应用系统,让业务人员也能自主搭建数字化工具(让甲方自己解决低成本需求)
场景举例:
一家零售连锁店希望建立一个内部应用系统,以简化库存管理流程和员工排班。通过低代码平台,这家店不用采购软件也能实现库存管理应用,库存报告和通知,员工排班应用,审批工作流程。
二、用低代码平台搭建系统
1. 需求调研
某服装厂随着生产规模的扩大,各项成本不断升高,在管理上也遇到了不少问题,导致经营效率有所下降,问题主要存在以下几方面:
- 客户跟进情况不透明,开单慢;
- 生产跟单麻烦,需要反复催问,多次沟通;
- 成衣库存不清晰,容易造成库存积压。
为了达到这些诉求,已经尝试了各种方法,如通过微信群和在线文档进行统计和作业,但还是会出现沟通不及时和文档信息无法同步等问题。
如果找软件公司定制软件,成本又太高,而且还存在培训使用人员等问题,对于传统服装厂来说,使用门槛太高。
其实需求并不复杂,使用低代码平台搭建一套简单的管理系统,不需要开发并且以极低的成本就能帮他们解决这些问题。
2. 业务对象梳理(流程图+结构图)
通过第一步的需求调研,可以确定用户的主要诉求在3个方面:客户管理、生产订单管理和库存管理,围绕这三个方面可判断出这套系统涉及的主要利益方和他们的工作场景。
- 业务员:主要工作内容是和客户谈单,给客户提供产品信息进行下单,根据客户选择的产品通知生产或直接出库,能够及时了解订单的生产信息。
- 跟单员:销售开单后通知生产,根据制单要求跟踪订单制作的整个流程,负责检查各个工序生产进度,确认出货工期和数量,生产完成后通知大货入库。
- 仓库作业人员:管理大货的出库以及仓库盘点。
- 老板:审核出货单,关键节点通知。
根据工作内容梳理出流程图大概如下:
根据流程图抽象出主要的实体,绘制出ER图。
基于流程图可以梳理出所需的页面及主要功能。
梳理生产单状态与订单状态间的关系。
3.低代码实现
1)建立数据表
在产品开发设计过程中,通常会使用数据表来实现ER模型中的实体关系,所谓实体其本质就是所谓的“对象”,也就是最终会存储在数据库中的表。因此低代码平台也沿用了这一概念,需要先创建一系列基本的数据表,在此基础上搭建系统。
我使用的是明道云的低代码平台来实现上述管理系统的搭建,在前面抽象ER图的过程中,抽象出了4个实体,因此这个系统最基础的4张数据表即:客户列表、订单列表、产品列表和生产列表。
建立数据表时要考虑先后顺序,比如客户信息、产品信息都是订单管理的基础数据,应该先建立。生产信息的数据依赖于订单信息,所以应该最后建立。
2)表间关联
根据ER图可以看出这4张数据表间的关联关系,有一对多和多对多,比如在客户信息详情中,可以看到这个客户历史所有下过的订单信息;在订单详情中可以看到所有产品的生产进度,这在B端产品设计中是一种非常常见的设计形态,那么在低代码平台中是如何实现的呢。
低代码平台中专门提供了一系列的关联控件,支持各种关联关系,下图是为了实现查看当前客户的所有订单记录,在客户信息这一数据表中关联订单信息。
建立好关联关系后,在数据表的详情页会显示出所需要的关联数据,如下图。
在新建订单时,需要从已有的客户列表中选择客户,因此也需要在订单信息这一关联表中关联客户信息。当两个表的数据需要双向同步时,可以使用双向关联控件来实现效果。
3)建立工作流
每项业务背后都有一套业务流程,它包含了一系列活动(可细分为任务),这些活动之间具有相互衔接的逻辑顺序或因果关系,流程最终会有一个产出。工作流主要用来解决以下问题:
- 数据的自动化处理:满足条件时,自动修改数据。
- 审批流程。
- 通知成员查看或进行操作。
- 和外部系统进行数据对接。
在低代码平台中,通过流程编辑器,来实现上述这类功能。一个工作流由触发器和若干个动作节点组成。触发器是流程启动的开关,通过多种类型的动作节点来完成各种任务,以此实现流程自动化。
本套系统中需要设计的工作流有:
- 订单通知:新增订单时,向生产负责人发送通知,方便及时安排生产;
- 生产状态与订单状态的相互影响(见前文状态机图);
- 订单出货审批:订单出货时需要管理者审批通过后方可出库并减少相应库存。
拿订单状态更新为“生产完毕”这一流程来举例,当订单下的生产单全部生产完成后,订单状态自动更新为“生产完毕”。具体实现过程如下:
由于订单状态是根据该订单下的所有生产单状态决定的,因此工作流触发节点是由生产记录的状态来控制的。
第一步:当某一条生产记录中的状态被更新为“已完成”时触发该工作流,流程开始执行;
第二步:找到该条生产记录对应的订单记录
第三步:创建子流程,找到该条订单记录下的所有生产记录
第四步:统计所有生产记录中状态为“生产中”的数量,判断数量是否为0,若为0,说明该订单下的所有产品均已生产完成,则将订单状态更新为“生产完毕”,若不为0,说明该订单下的产品还未生产完毕,则不做修改。
工作流实现效果如下图。
三、总结低代码平台的关键要素
在体验完低代码平台的功能后,可以总结一下低代码平台中的关键要素了,也是低代码平台之所以能够如此灵活的满足各种需求的核心所在。
1. 表单引擎
首先需要实现对底层数据对象的定义,将底层数据理解为多张Excel数据表即可,每个表单独立采集数据,用户使用不同的控件对数据进行操作和关联,除了编辑字段,还能在表单内自定义操作功能,所见即所得,大大降低了操作门槛,对非技术人员十分友好。
2. 流程引擎
基础数据定义好后,进行工作流的定义,业务运行的核心就是一个个工作流的执行。简单的工作流如审批流程处理的是单一数据对象,复杂的工作流则需要支持多个数据对象的自动化处理能力。
比如说在订单管理系统中,当一条订单被确认时,需要自动生成待支付账单和待发货单,同时锁定库存,向客户发送通知,在自动化工作流中,涉及到了5个实体数据的增删改查(订单、账单、发货单、库存、客户)。低代码平台需要提供一系列控件来满足这些需求。作为平台除了需要有强大的自定义流程控件支撑外,还需要支持其他平台的集成。
3. 报表和门户
对于业务型软件产品,主要功能是对数据的增删改查,而涉及到的交互页面,多数也都是底层数据对象对应的列表页、详情页,除此以外,还包括报表、仪表盘,以及其他类型页面。
本文作者 @guoguook 。
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!