产物从0到1,会碰到哪些问题,涉及到哪些方面?若何处理那些问题?本文做者从本身经历动身,连系现实案例对问题停止了阐发。
一、布景介绍笔者处置产物司理一月有余,本身第一个版本的PRD也从本来写在Wiki上的一些功用,在研发的勤奋下,成为了现实世界中实在可用的功用。
但是,从写在wiki上的功用,到成为现实中可用的功用,半途必定是碰到问题。在那个过程中,我都碰到了什么问题?那些问题又是若何被处理。问题处理之后,通过整理复盘,我们又能收成哪些呢?
二、一些根底常识在起头我们后台设想的复盘之前,我们需要弥补一些根底常识:
静态页面与动态页面数据库用户账号办理以上那3个常识点,单点之间联络有限,但是在一个web上,相互之间彼此影响。我们先来领会一下,那三者别离是什么。
1. 静态页面与动态页面静态页面(Static Pages)办事器上实在存在的文件对应的网站页面。《SEO实战密码》
在网站设想中,地道HTML格局的网页(能够包罗图片、视频、JS(前端功用实现)、CSS)凡是被称为静态页面,早期(2000年摆布)大多都是由静态网页造做,静态网页时相对动态网页而言,指没有后台数据库、不含法式、不成交互的网页。 ——《跟老男孩学Linux运维:Web集群实战》
给静态页面划重点:
办事器上实在存在不与数据库交互动态页面凡是指与数据库发作交互的页面,内容展现丰硕,功用十分强大。 ——《Linux企业运维实战》
动态页面其实不实在存在于办事器上,没有一个实正存在的文件对应。动态页面是由数据库驱动、脚本生成的页面。当用户拜候动态页面时,法式查询数据库,并实时生成一个页面。 ——《SEO实战密码》
给动态页面划重点
不实在存在于办事器上与数据库交互,当用户拜候动态页面时,数据查询数据库,并实时生成一个页面。2. 数据库我们讨论的是关系数据库,关系数据库基于关系模子利用一系列表来表达数据以及那些数据之间的联络。
表是数据库中重要的一个概念。
每个表有多个列,每个列有独一的名字。
上图展现了一个关系数据库示例,它由三个表构成:其一给出银行客户的细节,其二给出账户,其三展现了哪个账户属于哪个客户。
1. 第一个表是 customer 表,暗示例如,customer_id 为192-83-7465的客户名字叫做Johnson,住在Palo Alto的Alma大街12号。
2. 第二个表是account表,暗示,例如账户A-101有500美圆的余额,账户A-201有900美圆的余额。
3. 第三个表暗示哪个账户属于哪个客户。例如,账号A-101属于customer_id为192-83-7465的客户,他的名字叫Johnson,客户192-83-7465和019-28-3746配合拥有账号A-201。
——《数据库系统概念》
3. 用户账号办理什么是用户账号?
用户账号是一种身份验证机造,每一用户账号都包罗用户独一的身份标识。
用户系统,次要分为用户账号系统和用户信息两大类。账号系统包罗,登录验证、注册、第三方受权,以及权限办理。用户信息包罗,用户天文位置、用户属性、用户设备信息、还有用户日记信息。
三、Case回忆熟悉了上述3个概念后,我们起头来回忆复现case。
1. 布景在官网的注册申请产物试用流程中,原来用户需要在申请试用表单中填写手机号,那个手机号关于营业方来说十分重要,因为营业方需要通过那个号码联络到客户,停止产物销售。
但是其适用户在官网注册时候,就已经填写了手机号,而且那个手机号还通过了验证码验证。因而,原来此次产物设想的目的就是流程优化,很天然地,我们就将申请试用表达中填写手机号的要求给删除了。
也就是那个修改,给我带来了一些费事。
2. 发作了什么问题起首,从目的/成果论述一下,为什么给我带来了费事。
本来,通过申请表单搜集的数据,是展示正在后台的,营业方能够间接看到。如今,申请表达不搜集数据了,本来为后台传输数据的上游没有了,形成的成果就是后台不显示德律风号码了。
要晓得哦,我们是To B,商务端赖申请试用的德律风号码,来联络顾客,那一产物修改,连客户的联络体例都丢了。
问题说完了,我来说说为什么会形成那个问题。需要用户输入信息的交互界面,数据的保留。那里,一共有两个需要用户输入信息的交互界面,一个是注册,一个是产物试用申请。
别离说一下那两个界面所搜集的信息,以及涉及到的数据库。
注册页面
所搜集的信息 用户名 手机号数据库 数据库A产物试用申请
所搜集的信息 试用产物 公司等数据库 数据库B本来后台办理界面,用户数据是从数据库B中调数据,如今调的时候,数据库中是,所以前端界面无任何展现。问题就是如许发作的~
3. 处理办法处理计划是什么?我们从头去数据库A中开了一个接口。TAT,所以其实有时候,优化一个产物功用,不是那么简单的事,所涉及到的前后端的协同,需要良多思虑。
上面的处理计划中,提到了调接口,关于调接口那里,我也想多讲一点。
做为产物司理,在工做中,我们会经常听到接口二字,当我们议论接口的时候,我们在议论什么呢?
在软件测试中,常说的接口一般有两种:图形用户接口(Graphical User Interface, GUI),它是人与法式的接口;应用法式编程接口(Application Programa Interface, API),在产物设想中,我们议论的接口是第二种,API接口。
API是一组定义法式以及协议的集合,API可实现计算机软件之间的彼此通信。API的一个次要功用是供给通用功用集。法式员通过试用API函数开发应用法式,从而能够制止编写无用法式,减轻编程使命。
良多公司将开发岗位分为前端工程师和后端工程师,他们之间彼此共同完成工做。他们会协商接口的定义体例,此中一方定义接口(一般由后端工程师定义接口),另一方挪用接口,以实现预期功用。前后端别离是近年来Web应用开发的一个开展趋向。那种形式由以下优势:
1. 后端工程师不消精通前端手艺(如HTML、JS、或CSS)只专注于数据的处置、对外供给API即可
2. 前端工程师的专业性越来越强,其通过API获取数据,并专注于页面设想
3. 前后端别离能够扩大接口的应用范畴,开发的接口能够应用到Web网页上,也能够用到APP上
接口能够分为以下3类
1. HTTP接口,基于超文本传输协议开发的接口,但不克不及排除没有利用其他协议
2. Web Service接口,它是系统对外的接口,好比你要从此外网站或办事器上获取资本,一般来说,他人不会把数据库共享给我们,他们会供给一个他们写好的办法,让我们用来获取数据,我们利用他们写好的办法就能够引用他们供给的接口,从而到达同步数据的目标
3. RESTful接口,简称REST,描述了一个架构款式的收集系统,核心是面向资本
——《接口主动化测试持续集成:Postman+Newman+Git》
上面提到的我们处理手机号显示在后台办理系统的办法,是供给一个接口,就是后端给了一个从数据库A挪用用户手机号的接口,前端通过挪用那个接口,将那些数据呈如今前端界面上。
四、总结从问题的发现,到最初的总结。涉及到了营业方、产物、以及前后端。产物在中间的角色,是定位问题,与研发协同思虑处理计划。
若是,在一起头设想产物的时候,就考虑到了与数据库的联动,会好良多。对我而言,产物司理,必需懂手艺。
本文由 @一颗西兰花 原创发布于人人都是产物司理。未经答应,制止转载
题图来自Unsplash,基于CC0协议

评论列表