立即注册,下载精品资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
需求背景
新需求:如上图,在应用商店的应用详情页加上应用评分功能,分数为1~5分
前置条件:用户必须完成该应用的安装,才可进行评分
问题:让你来负责这个需求的规划,你会怎么做(不考虑UI展示效果)
一、需求分解
业务逻辑(基础分析)
通过上面的流程图,推出以下需要明确告知开发人员的逻辑
1、没有安装该应用:只能看评分,点击评分时提示用户需安装后才可做评分操作
2、已经安装该应用:可进行评分操作
3、该应用被卸载该:只判断当前是否有安装该应用(同信息1)
4、是否可修改评分:评分后不允许修改,亦不允许重复评分
二、接下来产品经理该做些什么?
1、确定评分交互方式及交互逻辑,输出画原型 2、输出功能需求文档 3、推动设计出高保真 4、编排开发资源 5、组织评审
产品经理还要做些什么事情?请大家花3分钟想想,如果没想出什么来,请继续往下看。
三、C/S架构扫盲
对于C/S(Client/Server,即客户端/服务端)架构的产品而言,上面第二点只是只是完成了用户层面的交互包装,而C端与S端的通信逻辑才是最为关键的。一旦业务逻辑设计不合理,将导整体致资源浪费,致使C端、S端性能下降,影响整体体验。
C/S架构图
上图为C/S的简单拓扑图,从图中可以了解到三者之间是这样工作的:
1、C端向API(接口程序)发送数据。为了规避数据被黑客篡改或伪造,一般会在C端对数据进行封装(同时进行加密)
2、API将数据传送到S端。S端对数据进行还原,并按数据字段定义执行相应业务,如计算、写入、读取等等
3、执行完毕,S端按约定向API返回封装后的结果数据
4、C端还原API传送的数据,并向用户呈现结果
API服务器非必选项,视业务情况而定;S端可能是由多台业务服务器组成,这些服务器一般在局域网内互通,仅API(服务器)通过互联网与C端通信,因此对API服务器的安全策略要求非常严格,只关闭不必要的端口、服务,甚至不允许远程登录(需要设置VPN服务器做为访问跳板机,此处不展开讲,对运维感兴趣的童鞋可自行百度一下)
四、评分功能需求细化
基于第三点,我们可以提出以下两个关键词:
从下面开始,将引导大家通过“评分需求”对业务逻辑和性能考量做分析,至于本文关于评分的具体实现,不做深入探讨,意在帮助大家了解“技术思维”。
业务逻辑及技术端分析
1、关于评分展示的分析
应用的评分记录在S端数据库,用户每次打开应用详情页,是否都要到S端取评分数据?
若是,当详情页请求量大时,将对数据库产生巨大负荷(详情页的展示原素,如图标、图片、下载次数、开发商名称等均需到S端拉数据);
若否,评分同步机制应如何设计?是更新一次评分后,将评分写在本地数据库,当天不再拉取S端数据,或者其它?
2、关于评分结果提交的分析
当用户完成对应用的评分时,产品经理需考虑是否即刻向S端发送评分数据。大家应该都知道,频繁操作(读、写、查询)数据库会导致服务器资源开销加大,稳定性变差。
3、关于平均评分结果计算的分析
计算平均评分的方式有两种,一种是由C端计算并将结果传到S端;另一种方式是将该用户的评分提交到S端,S端计算出平均评分后返回到C端。产品经理需要考虑C端的稳定性,尽量减少在C端做复杂的计算(安装C端的硬件如果配置很低,这点就显得特别重要)。
另外,产品经理需把计算平均评分的公式写在需求文档中,特别是针对无法被除尽的平均评分,如有3个人分别评了2分、4分、4分,平均评分为3.33333…这时需要省略尾数(可能还会用到四舍五入),别忘了跟开发人员说清楚,他们会很感激你的……
4、关于S端计算平均评分的思考
重点考虑S端完成计算后是否即刻将结果返回给C端。
平均评分即刻返回给C端,会增加S端的资源开销,但减少了C端的开发量,以及减少对硬件内存的消耗,因为C端只负责提交评分和展示评分,至于计算方面,都交给了S端。
平均评分不即刻返回给C端,C端如何响应用户的评分操作,需要从用户体验的角度来规避“假数据”这个问题。
5、关于S端平均评分返回机制的思考
S端返回平均评分的方式有三种,分别是:
即刻返回平均评分 定时返回平均评分 当详情页再次被访问时返回平均评分
三种返回机制各有优劣,在实际产品中,需结合业务需要以该业务的重要程度选择最合适的数据返回方式。如应用商店中的积分并非核心或关键点,因此可以采用“当详情页再次被访问时返回平均评分”机制。
五、结语
看似简单的一个评分功能,业务逻辑却是相当复杂,而且文中还没有提及运营后台干预评分结果的需求,这个作为大家思考的作业吧。欢迎留言讨论,我会一一回复大家。(每周一个案例分析,欢迎大家关注)
作者:林景贤 投稿于产品邦,转载请注明 文章出处:产品邦
|