开发和设计过程中,如何将功能落地?

这些年我参与过许多功能模块和系统的开发,绕过不少路、踩过不少坑,今天和大家聊一聊我在开发和设计过程中一般会思考的问题,仅供大家参考!

开发和设计过程中,如何将功能落地?

1.确定业务流程

在开发过程中,给我最大的体会就是,功能设计首先需要得有一个清晰的流程图,之后再去开就相对比较简单。清晰的流程图能够让我了解这个业务的整体结构,这个过程中会有哪些人与参与,那么我就知道如何去划分功能,该给哪些用户分配操作功能。这就好比盖大楼,首先得有蓝图,之后才知道如何打地基是一个道理。

2.确认参与人

对于企业中的业务,通常都需要多部门之间的相互配合来完成。系统作为这些业务的信息载体,需要根据具体的角色任务来设置合适的操作功能。

如运营中的代金券功能,它的创建需要运营专员、运营主管、财务复核三方的同时参与。 其中代金券的创建属于运营专员的功能,更多的是对申请表单的操作;运营主管主要是为代金券的审核,操作的仅有审核表单;财务复核主要是的代金券涉及金额的复核与审批,操作的是复核审核表单;只有三方都通过后,整个代金券才算正式有效。那我们设计功能时就需要根据他们具体的操作场景来设计不同的页面,以避免其他操纵内容的干扰。

还有一些其它的业务由于涉及到用户或者第三方平台,参与方就包含到了子系统,那这些用户能看到哪些信息,有哪些操纵也需要考虑。

3.收集整理字段

当业务流程和参与方确定后,就相当于功能大的框架被架设好了,下面需要做的就是细化内容,整理业务中所涉及的字段信息,并对字段内容分类整理,找出数据之间的关联性,形成关系图(如:一对一、一对多、多对多),有了这些信息,具体功能的设计其实就比较简单了。常见的一些字段信息标题、状态、创建人、创建时间等,其它的根据具体业务添加就行,这些都可以后期进行优化。

4.设计使用规则

当字段信息都整理好,关系都明确后,接下来就是为各个字段设计使用规则。要考虑的基本规则有以下几点:

1.表单填写的时候,数据格式的基本验证。如截止日期字段仅能填写日期格式(2020-10-01)

2.如果数据依赖数据库中的基础数据,需要进行数据库验证是正确。如活动所填写商品当前是否正常上架销售。

3.业务在整个流程的不同阶段,可以进行哪些操作。如订单仅在待支付状态下,才能进行支付。

4.明确定义不同场景下的数据边界条件。如活跃用户的内部逻辑是最近3个月内有访问过平台的正常用户。

能把这些功能规则详细列出来,对于开发来说那就非常简单,如果这些都讲不明白,最终产品和开发必然要扯皮。

5.功能设计

完成以上几点后就可以进行页面设计。增、删、改、查都是必不可少的基本操作,对应的列表页、表单页、详情页都得有。除此之外一些处理还需要注意:

1). 页面功能

查询设计时需要考虑到数据权限、查询维度等。如数据维护功能,列表页数据直接以表格列表显示数据;而客服功能,列表页默认就一个查询输入框,只有输入查询关键字,才会显示对应数据。对数据做修改的功能(增、删、改),输入的内容必要的验证也不能少,数据操作前确认提示也得有,防止误操作。

2). 异常处理

我们在设计功能时,常常会忽略异常处理情况,就会导致问题发生时,无法及时有效的解决,需要找技术费一番周折进行排查,显然对用户的体现不是很友好。如订单支付时,用户实际支付成功了,但是用户订单显示失败,有可能是支付同步导致的错误。这种情况下后台应该有相应的处理机制,能让客服人员及时获得订单信息,给出用户反馈。当然异常问题一般出现的都比较少,并且不知道什么情况下就可能发生,需要日常的积累。

3). 页面权限

对于后台系统,由于功能模块多、操作复杂,运营数据涉及商业秘密,所以对于后端功能设计时权限是必须要考虑的。后台的权限通常分功能权限和数据权限,功能权限管理用户可以看到哪些系统菜单和页面按钮;而数据权限涉及组织架构、数据分区等,管理这数据的显示多少。权限要如何选择需要根据实际的业务功能而定,详细内容可以参考《授权管理》。

4).数据统计

功能上线后,就需要进行维护运营, 具体的运营结果如何,以及以后的运营方案如何安排,都需要通过数据来分析和指导。数据统计分汇总统计和明细统计,展示又分图标展示和列表展示。

如统计首页通常都是一些汇总数据,可以按今日、昨日、最近一周、最近一月统计一个总数,然后再给出各维度的增长曲线,以及各维度的占比统计等等。对于不同的用户,展示方式也有不同的差异。对于领导他们更喜欢增长曲线,数据明细他们都很少查看,所以汇总后通过图表展示出来比较好;对于运营人员他们需要层层了解数据,明细列表对于他们就很常用。

5).消息通知

不论是对前端合适后端功能,如果功能所涉及的数据内容比较重要,系统都应该有及时通知,以防止系统错误而导致企业受到损失。比如运营人员在后台设置了定时显示的活动(如秒杀活动),活动的上线预热、开始、下线都应及时给负责人通知,避免活动无法正常执行。

6.避免重复造轮子

在编程行业中,有一种要避免重复造轮子的说法,讲的是如果业界已经有公认的软件或者库,就不需要自己再做一个,而尽量使用已有的。以我个人的开发和设计经验,这种说法在产品以及其它许多行业都可以使用。

产品功能有许多模块是可以标准化的,如登录注册、消息通知、组织架构、权限管理等。像这些模块的功能,基本上就那么多,我们花点时间,将功能完整的设计一次保存起来,下次拿出来直接就可以使用,有需要的话,稍作改动继续优化完善。相比每次重新开始,能大大提升效率,节省太多时间。

7.模块化思维

在软件行业中,还有一个概念叫高内聚低耦合,主要意思是要将软件内部结构模块化、尽量减少模块之间的关联,已达到重用性、增加可移植性。

上面讲的登录注册、组织架构功能比较简单,网上已经有很多成型的模块设计方案,仅需要大家花些时间进行整理。对于比较复杂的功能,像运营常使用的功能,如代金券、用户钱包、专题、日常活动,对于不同的业务系统,有不同的需要,所以设计是各有差异,但是核心内容依然是可以模块化的,之后再根据具体业务做出调整即可。

要设计出一个可以完全独立的模块功能,需要对不同业务都有深入的了解,反复的优化,最终才能成为结晶。听说我们的国产航母也是通过模块化建造方式,先逐个模块建造好后,再拼接在一起的。也希望大家一同努力够造出属于自己的”航母”。

以上就是我个人的设计经验,希望对你有所帮助!

业界动态

卧底上百场社群直播之后,我总结了这些经验

2020-8-31 8:56:49

业界动态

用户洞察、B端产品调研、用户画像的常见问题答疑

2020-8-31 9:40:20

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索