本文以得物目前线上的“0元抽奖”活动为例,完成从需求概述→业务流程图→原型图→原型文档的产品设计流程~
APP版本:得物 IOS 4.56.7
活动入口展示:
可以自行参照线上活动页面,来看以下分析内容。
一、需求概述
1.业务需求
为了增加新用户量(拉新)策划了一个“0元抽奖”的活动,入口在电商首页的活动模块。
2.用户需求
此活动的实施会涉及2个用户实体,“产品用户”与“运营人员”。
产品用户需求:1)参与今日的抽奖活动2)查看明日的抽奖项目3)查看往期的获奖记录
运营人员需求:1)配置今日与明日抽奖商品2)查看获奖名单3)查看活动数据
以下分析将以“产品用户”相关的需求进行展开。
3.功能需求
今日抽奖模块
1)查看抽奖活动信息
每天有多个抽奖活动,每个抽奖活动对应一个商品,每个用户每天可以参加多个抽奖活动。每个用户在每个抽奖活动中最多可以获得6个抽奖码。
①活动商品信息:包括商品主图、商品标题、商品原价、商品抽奖价(都为0)。以上数据初始值为接口返回数据,运营可对其进行再编辑。
②活动倒计时:活动每天从0点开始,24点结束,倒计时精确到秒后一位,百毫秒。
示例:hh:mm:ss.(9~0)→14:50:22.5
③活动规则:详细规则运营会后期提供。
其中确定中奖码的规则为:
▲计算公式:A÷B=C······D(C为商,D为余数)。
A=开奖当日纳斯达克指数与道琼斯指数的组合数列(若当日不开盘则取离开奖日最近的收盘指数)例如:当日纳斯达克指数为7385.86,道琼斯指数为26186.71,则A=7385862618671。
B=抽奖截至时所有抽奖码总数,例如:当日开奖前共产生了58888个抽奖码,则B=58888。
所以,A÷B=7385862618671÷58888= 125422201······46183。
中奖码即为46183+600001=646184。
▲若有多个中奖名额,则中奖码基于A %(B+n)+600001的结果,其中n=抽奖顺序-1。例如,第一个中奖码基于A %B+600001的结果,第二个中奖码基于A %(B+1)+600001的结果,并以此类推,直到最后一个中奖码。
▲每轮活动同一用户最多可获得1份中奖奖品,用户以设备为准,不以账号。 若中间出现两个中奖码属于同一个中奖者的情况下,会通过(A+1) %(B+n)+600001的结果进行去重。
④用户参与信息:包括用户头像、用户获取的抽奖码(每个活动最多6个)、用户的抽奖阶段(分为三个阶段,自己抽奖*1个→分享活动*1个→获得助力*4个,将在本节“获取抽奖码”部分进行详细说明)。
2)获取抽奖码
▲每个用户在每个抽奖活动中最多可以获得6个抽奖码。用户在抽奖时间内点击抽奖按钮即可获得1个抽奖码(获取途径→N),分享好友成功可得1个助力码(获取途径→S),好友成功参与最多可得4个抽奖码(获取途径→A)。
▲抽奖码生成规则“获取途径”+“序号”。获取途径如上所示,N→用户自己抽取,S→分享,A→助力。序号代表抽取顺序,6位数。
▲用户的抽奖阶段说明:
3)查看抽奖活动列表
显示运营配置的当天的所有抽奖活动。每个抽奖活动显示的内容包括“活动商品信息”+“用户的抽奖阶段”。
明日预告模块
1)查看预告活动信息
①活动商品信息
预告的活动商品会有两种类型,普通商品+特殊商品。
▲“普通商品”,在明日预告阶段直接展示商品的真实信息,需要的商品信息包括:包括商品主图、商品标题、商品原价、商品抽奖价(都为0)。以上数据初始值为接口返回数据,运营可对其进行再编辑。
▲“特殊商品”,在明日预告阶段并不展示商品的真实信息,而是展示预告信息,预告商品信息包括:预告主图、预告名称、预告原价(都为0)、预告抽奖价(都为0)、预告提示图、预告话题。在该预告活动变为今日抽奖活动的时候,然后再去展示商品的真实信息,包括:商品主图、商品标题、商品原价、商品抽奖价(都为0)。以上除了预告原价、预告抽奖价、商品抽奖价这3个数据项之外(都为0),其余数据项初始值为接口返回数据,运营可对其进行再编辑。
②活动提醒状态:用户是否开启该活动的推送提醒。状态分为“已开启”与“未开启”。
③活动倒计时:与今日抽奖模块的倒计时数据一致,具体规则参考上文。
2)设置抽奖提醒
用户可设置某个预告活动的系统推送提醒,可对提醒进行“开启”与“关闭”。对于开启提醒的用户,在该预告活动转为今日抽奖活动前的5分钟,向用户进行推送,推送内容运营可编辑。对于未开启APP通知权限的,引导用户开启该权限。
3)查看预告活动列表
显示运营配置的明日的所有抽奖活动。每个抽奖活动显示的内容包括“活动商品信息”+“活动提醒状态”。
往期记录模块
1)查看历史活动信息
①活动获奖信息:包括获奖用户头像、获奖号码、获奖时间。
②活动商品信息:包括商品主图、商品标题、商品原价、商品抽奖价(都为0)。
③用户参与信息:包括用户头像、用户获取的抽奖码、用户的获奖情况。
2)查看历史活动列表
显示所有历史抽奖活动。每个抽奖活动显示的内容包括“活动商品信息”+“活动获奖信息”。
4.非功能需求
埋点需求,具体就不展开了,需要写个埋点的说明文档。
二、业务流程图
这里对流程较为复杂的重点业务绘制业务流程图。
今日抽奖模块——获取抽奖码的业务流程图:
上图中的活动“获得朋友助力”,也需要进行详细的业务流程分析。用户分享出去的内容是一个微信小程序页面,里面包括用户信息、抽奖活动信息、APP简介、人气单品列表等等,也包括引导下载APP的功能、引导打开APP的功能、好友助力的功能等等,并需要针对用户本人和用户好友进行辨别,显示不同的页面内容和功能,其中的详细流程和逻辑这里就不进行展开了。
四、原型图
这里使用墨刀建立了活动原型,链接为:“0元抽奖”原型链接,以供参考。
目前“0元抽奖”活动还未下架,可以自行去得物APP上查看整个流程。
五、原型文档
原型文档会比需求文档更加直观、细致,主要给开发人员使用。
原型文档一般包括①需求的概要(版本号、开发时间等等)②该需求的详细说明(与需求文档保持一致)③该需求涉及的任务流程图 ④原型图 ⑤页面流程图 ⑥UE交互说明 ⑦其他附加文档(设计稿、UI稿、其余相关材料)⑧交流记录(一般记录变更、和后续更详细的解决方案)
一般会在页面流程图上进行详细的逻辑说明、UE交互说明,涉及到的内容包括:
1)交互动效:交互动效在页面中很常见,比如下拉、置顶、tab切换、弹层、浮层、hover等等,所以对于产品需要的交互动效要描述清楚,这样前端才知道要做成什么样;
2)跳转链接的位置及状态;
3)页面从数据库中取值位置和取值逻辑要写清楚(产品要对后台的数据库进行了解、熟悉);
4)极限情况及异常情况的说明,常见:文字过长、图片缩放、无内容、报错等;
5)默认值说明;
6)前后台文档涉及的名词要一致,要建立比较标准的数据字典,严谨定义数据项;