美团小程序功能设计(需求文档)

美团小程序功能设计(需求文档),第1张

         墨刀连接:https://org.modao.cc/app/44c36ea7f224104c1fd3c6ac19162db5 

一.需求背景

二.需求目的及明细

三.业务流程

    3.1业务流程

    3.2页面流程

四.功能详细设计

    4.1交互设计

    4.2原型

五.考核指标

六.总结

公司最近想把用户约见这个场景在微信小程序上做深做透,基于这个业务诉求,设计聚餐投票的功能,便微信群用户在线下聚会前,能先在线上把大家喜欢的美团店铺汇总在一起,然后投票决策聚会去吃哪个店,可以节约用户的时间成本。

使用投票聚餐一定是针对的一个小群体,这个小群体一定是有一定关系的,如同事,朋友,同学,家人等,基于上述理论对用户-场景-需求分析:

需求目的:完整的投票聚餐功能,选择商户到统计投票。解决用户在聚餐选择商家时意见不统一或者想要统计大家意见时的需求。

创建流程 :

编辑流程 :

1.我的

在我的页面中新增入口图标,点击后可进入投票聚餐

2.新增投票页

页面分为新增投票模块以及历史投票模块,历史投票模块以时间顺序排列

创建投票:创建投票后进入选择餐厅页面

编辑:点击编辑后,重新编辑此次记录,进入确认页面,可重新发起投票

3.选择餐厅页

选择餐厅页面分为3个模块,顶部的搜索模块,排序模块以及商家展示模块。

排序模块分为4种筛选模式:

按照美食种类分类,其中默认为全部美食,用户点击后出现下拉菜单,用户可选择美食分类(如:食品保健,特色菜,福建菜等)

按照地理位置进行排序,分类模块按城市区域地理性标志划分,默认选择为附近

为用户筛选的常用关键字排序,分为:智能排序,离我最近,好评优先,销量最高,默认为智能排序

按照餐厅服务以及用餐人数为用户进行筛选,默认状态为关闭

确认添加:点击确认添加后,进入确认页

添加商户:点击加号添加商户,再此点击取消添加商户

搜索:点击搜索页进入搜索页面

已添加商户:点击后进入展开已添加商户,可以对已添加商户进行删除

4.确认页

确认页分为主题元素,商户展示模块

主题默认为系统填写,用户点击后可进行修改

生成投票分享好友:点击后进入好友页

添加喜欢餐厅:点击后进入选择餐厅页,无人员限制

删除商家:点击后删除商家

5.结果页

模块分为主题模块,商户展示模块以及出现在商户暂时模块下面的统计模块

投票:点击投票按钮投票,再次点击取消投票;用户若已选择商户,在点击其他商户的投票按钮将自动取消已选的上加商户。

随机功能:场景为当出现平票时为用户随机一家商户,没有 *** 作权限,任何人都可以 *** 作,但点击一次后默认10分钟后才能再次点击,随机结果将一直展现,直到下次随机出现新的结果

回首页:点击后返回首页

添加喜欢餐厅:点击后进入餐厅选择页,选择完毕后直接进入到结果页。

1.考察用户日活增长指数:当天日货量-前一天的日活量/前一天的日活量x100%。投票聚餐是有分享属性存在的,纯在分享属性,进入小程序的用户数应相应增多。

2.对投票聚餐的入口,新增投票以及生成投票分享好友进行埋点,统计访问人数,分别计算转化率。是考核功能的转换率,用户流入入口的数据,是判断这个需求是真需求还是伪需求的根本。

3.使用流程转化率:新增投票访问人数/投票聚餐的访问人数x100%,生成投票分享好友访问人数/投票聚餐的访问人数x100%。此数据是对流程的考察,用户是否觉得流程好用,从此数据能够得出一定的结论。

总结

投票聚餐是针对于当代年轻人常出现的聚餐场景,由于每个人都有自己的喜好而出现的意见不统一的需求,因此诞生出来的功能。此功能要包含完整的投票流程,从选择餐厅-投票,并需将选择餐厅的分类功能尽量做详细,给用户更多的参考意见。此功能完成后,用户日活应有一定程度的增长。

笔者通过产品概况、产品结构、业务流程图、全局说明、功能性需求、非功能性需求分析等模块,系统输出这一份关于“FITLIFE”小程序用户端的产品需求文档。

Hi~最近在对自己参与过的项目进行总结,希望可以和大家分享学习交流。输出内容是检视自己的方式,所以我就来吸取经验了。

通过研读各位优秀作者的精品,我学习到了不少知识。此次,以实际工作中遇到的情况作为案例,我将从0至1的产品中抽取重点模块进行分享。

为了阅读体验,我将尽量简化常规化的环节,本次采用AXURE梳理PRD——利用AXURE动态面板和内联框架,制作文档导航,提高浏览人员的阅读效率。

一、概述

1. 产品介绍

2. 文档修订记录

将重点模块添加对应的跳转链接,方便浏览人员迅速定位内容。

版本号规则:小数点后为当前版本的小更新,小数点前为大版本更新。

修订属性:新增、修改、删除

二、产品结构

1. 信息结构图

2. 功能结构图

由于完整结构图展开占很大的篇幅并且看不清楚,为了阅读体验,对结构图部分收缩。完整版结构图可在AXURE中查看。

三、业务流程图

建议将流程图统一整理至表格中,做成链接跳转形式,实现快速查阅。为了顺畅的需求阅读体验,将各自的流程图放在之后的需求描述部分中展示。

四、全局说明

1. 名词术语说明

2. 权限d窗

3. 时间距离规范

3.1 时间规范

3.2 距离规范

4. 异常情况

4.1 网络异常

手机网络连接异常,小程序d窗提示如下:

4.2 用户状态说明

五、功能性需求说明

良好的需求阅读体验需要保证阅读过程是顺畅的。

在这部分,首先列出【需求清单】,总览这次需求涉及的模块及简要信息。紧接着,按照【需求模块】-【流程图】-【原型页面流转】-【原型需求拆解】的叙述逻辑去完成各个模块的需求说明。

1. 需求池&需求清单

1.1 需求管理池

需求类型:新增需求、需求调整、功能优化、BUG修复、UI优化

系统:涉及到的系统及模块

需求说明:简述需求

优先级判断:重要紧急、重要但不紧急、紧急但不重要、既不紧急也不重要(ps:我们要经常关注重要但不紧急的任务进度,避免重要紧急任务扎堆出现。)

1.2 需求清单

对需求管理池评估筛选后,将需求模块、对应功能、需求优先级、完成情况统一整理到表格中。同样的,这里将模块名称做成链接格式,快速查阅对应的需求模块。

优先级规范:p1、p2......数字越小代表优先级越高。

2. 新用户&首页模块

2.1 新用户登录流程图

2.2 新用户登录原型(点击查看大图)

2.3 首页

3. 预约团课模块

3.1 团课预约流程图

3.2 团课预约页面流转

3.2 课程列表页

3.3 课程详情页

3.4 预约课程页

4. 预约私教模块

4.1 私教预约流程图

4.2 私教预约页面流转

4.3 私教列表页

4.4 私教详情页

4.5 私教预约页

5 购卡模块

5.1 购卡流程图

5.2 购卡页面流程

5.3 购买储值卡页面

6. 我的模块(个人中心)

6.1 个人页面

6.2 修改资料

6.3 我的卡包

6.4 我的课程包

6.5 我的优惠券

6.6 富文本页面

六、非功能性需求

非功能性需求,是比较容易忽视的部分,往往和性能、安全挂钩,影响着产品的稳定性与安全性。

以下仅仅是例子,具体方案需要根据业务情况和产品特性与相关人员深入沟通。

1. 性能需求

响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

并发用户数:同时承载正常使用系统功能的用户数量。

与性能相关的数据指标还有QPS(每秒响应请求数)、TPS(每秒处理的事务数)等。

性能需求这部分仅仅是举个例子,具体情况和数据方案,需要和相关人员深入沟通。

2. 可用性需求

避免用户高频点击无反馈的情况。

为用户提供反馈渠道。

保持文案与组件的一致性。

3. 数据统计需求

产品初期需要一定基础的数据提供支持,因此,除了小程序官方数据统计平台,再接入第三方统计平台,统计以下事件的数据及路径转化率。

七、思考总结

1. 内容细节

流程图和页面流转图要整齐统一,实在太多信息,建议用子流程模块和多页面分述解决。见过很多像“蜘蛛网”一样的图,阅读体验比较糟糕。

尽量让用户不用点开大图就能看清内容,本篇部分页面流转图和页面需求也难免遇到这类问题。

异常逻辑和toastd窗等细节需要加强把控,本篇这部分还是有所欠缺。

2. 高保真or低保真?

低保真线框图:重点在于功能、结构、流程的梳理,利用简单的框架和元素,省时省力;但细节相对高保真没这么完善,可能会有一定的沟通成本。

高保真:针对于高层领导及投资人等,进行产品概念演示,视觉效果好,细节相对完善;相当于是一个产品的demo,但修改成本较高。

原型交互做的很酷炫,证明你对工具非常熟练。但如果为了做交互花费了大量的时间,就得考虑时间成本值不值得。如果能够用简单的注释和跳转,清晰表达交互逻辑,会不会省时省力一些?

具体情况具体分析,比如,你做了很多交互,开发做漏了会说:“没写清楚啊,我怎么知道哪里可以点击呢?”

因此,我的习惯是做简单的“交互逻辑+交互注释”,尽量避免复杂且耗时耗力的交互。

当然,重要核心的交互逻辑,绘制出来比文字说明更容易理解。这时候,如果有现成的组件就套用,如果没有,就采用“图+文字+口述”的方式表达清楚。

3. WORD?AXURE?

需求文档用什么工具写比较好?

这是我见过比较多的产品话题讨论之一——有用WORD的,有用AXURE的,还有用墨刀、石墨文档等等......

我曾经请教过两位分别使用WORD和AXURE撰写需求文档的朋友,他们是这样的看法:

WORD选手:

用word写,形式更规范。

结构大纲清晰,细节到位。

洋洋洒洒几十页,满足感杠杠滴。

AXURE选手:

用AXURE写,图+标注+交互,更直观地表达产品需求,阅读更顺畅。

预览方便,支持上传云端同步。

WORD写了也没人有耐心看,这个世界很浮躁啊。

我的看法:

需求文档是帮助传达及沟通需求的工具,讲究的是“可读性”。所以,在选择采用什么方式之前,需要和团队沟通达成共识,即什么样的方式能给到他们更好的阅读体验。

我在实际工作中,采用的是AXURE,整理需求与线框图后与团队沟通,实现需求快速流转更新。但我会选择再用WORD梳理一遍,利用文字梳理大纲结构,整理产品逻辑和需求,能够发现某些疏漏的环节,完善产品细节。因此,用WORD写,是一个良好的查漏补缺的手段,是检视自身逻辑的过程。

最后,由于篇幅关系,本次分享只展示了部分内容,完整预览请在以下链接查阅。

预览链接:https://r4zef5.axshare.com

希望自己能坚持输出内容,定期复盘,与优秀的你们碰撞更棒的想法,共同进步~

1. 开发小程序时,每个页面一定要在app.json文件中注册,页面文件夹和其包含的四个文件的名字要保持一致。

2. 小程序发起的都是HTTPS网络请求,在开发调试的过程中可以不校验协议和TLS版本,但在实际上线后必须进行HTTPS协议通信。

3. 小程序可以进行组件化开发以及数据绑定,所有对于DOM的 *** 作都是基于数据驱动的,并没有直接进行DOM *** 作的做法,换言之,小程序内没有document对象,原生js和jQuery里的DOM *** 作思维要舍弃掉。

4. 小程序的网络请求wx.request()是不自带Cookies的,这和浏览器上的网络请求不同,因此基于Cookies实现的会话管理不适用于小程序。

5. 小程序的脚本文件中,内置对象是page,而非传统浏览器里的window,因此所有基于window对象来写的库(例如jQuery)都不适用于小程序。

6. 小程序提供模板功能,模板拥有自己的作用域,它只能使用从data属性传入的数据。

7. 每一个页面文件夹下的.json文件是用来写配置项的,如果该页面无需添加相关配置,.json文件也要写上一对大括号(“{ }”),否则会报错。

8. 在同一个tab里的页面可以跳转,并且允许携带参数。不同tab的页面之间无法跳转,使用wx.navigateTo()接口会报错。同时,tab之间的跳转可以用wx.switchTab()实现,但是路径后不能带参数。

9. 脚本文件里data的数据,在更新的时候要通过this.setData()方法来更新,而不能直接用“=”来做。

10. 在组件标签里,可以通过“data-属性值”的方式绑定我们需要的数据,然后在事件内置event对象里进行获取。

11. 小程序里也存在事件的冒泡,具体的冒泡事件可以参考官方文档,如果希望事件向上冒泡,则使用bind来绑定事件,若希望阻止事件冒泡,就使用catch来进行事件绑定。

12. 小程序支持文件引用,有import和include两种方式,import有作用域,也就是引入的目标文件里import的模板不会被引入;而include等于是将目标文件除 以外的整个代码进行引入。

13. wx.login()和wx.getUserInfo()是两个独立的接口,前者可以实现用户登录,这个过程是悄无声息的,不需要用户授权,登录后可以拿到用户的openid和session_key;而wx.getUserInfo()可以拿到用户的具体信息,这个过程需要获得用户的授权,开发时也必须考虑用户拒绝授权的场景。

14. 目前小程序可以分享给微信好友和微信群,但小程序默认是没有这个功能的,只有在Page里定义了onShareAppMessage事件处理函数,点击小程序右上角才可以看到分享按钮。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7691842.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存