恭喜你成为UI中国推荐设计师 (详情)
//百度统计 20220402 uicn

您的意见是我们 UI 中国进步的动力!
点击立即反馈按钮,发表您的意见!
立即反馈
QQ群反馈
您也可以加入UI中国官方反馈群进行反馈!
群号:302892100
备注:反馈问题后@管理员能让我们及时了解您的意见

提交需求

赛事与广告咨询合作,请填写需求表单,我们会在第一时间与您联系!

0/20
0/200

设计大赛

  • 设计大赛
  • 发布广告
  • 发布招聘
  • 其它需求

提交完成
感谢您对UI中国的支持和信赖!
产品经理必懂的技术的那点儿事
0.0°
2018-06-24 原创文章 规范/资料 举报 4209 3 9 0


在看了这本书后,发现里面的内容写的比较好,主要将一些技术知识以简单并且易于理解的方式讲述出来,帮助非技术背景产品经理了解技术、学习技术,旨在帮助产品经理高效地与技术人员进行沟通与合作。本书主要的内容围绕产品经理需要了解的互联网基础技术知识展开,涉及客户端、服务器端、数据库及一些数据处理知识。同时,还就产品经理需具备的一些软实力,例如沟通能力和解决问题的能力进行了详细介绍。

Image title



以下是主要总结的具体内容章节。

Image title



第一章 产品思维与技术思维


产品思维主要从用户和商业视角出发,技术思维侧重在技术实现和系统架构层面出发,各自的利益出发点不同;产品经理需要思考如何通过产品功能完善整个业务闭环并构建具备商业价值的产品体系。

Image title

测试分为黑盒测试和白盒测试。


黑盒测试是指一般的功能性测试,测试人员会从用户视角对产品进行全方位多角度的使用,模拟出各种可能出现的用户场景对产品进行全流程测试。白盒测试是对比黑盒测试更进一步的测试,白盒测试会深入到代码层面进行测试,使用测试用例对某一代码模块进行测试,白盒测试对测试人员的要求更高。



第二章 互联网技术与产品

2.1 互联网开源技术


互联网开源:互联网的基础技术大部分是开源的,所谓开源,就是开放源代码,开源技术可以被任何人、任何组织以无偿的方式直接试用。



Linux作为操作系统,人可以与计算机进行对话。


Apache 或Nginx作为 Web 服务器 ,为我们每天访问的网站提供着最基础的容器支持,是一款服务器运行软件系统。Apache是一组服务,是我们日常使用的Web网站的容器,各种网站都运行在Apache提供的环境中。



MySQL 作为数据库,是开源数据库管理系统,属于关系型数据库。


PHP/Perl/Python作为服务器端 脚本解释器。



由于这四个软件都是免费或开放源码软件(FLOSS),因此使用这种方式不用花一分钱(除开人工成本)就可以建立起一个稳定、免费的网站系统,被业界称为“LAMP“或“LNMP”组合



OpenSSL作为数据安全传输,可以为互联网上进行的数据加密及安全保障,是网上支付的基础保障协议。



Eclipse是一个基于java的可拓展开发平台,可以java开发,还可以进行C、C++和PHP语言的软件开发,是一个集大成的开发工具平台,是软件开发人员的利器



2.2 互联网产品技术架构


Image title


互联网产品技术架构整体分为两部分,分别是前端和服务端,前段和服务端通过中间网络进行数据传输。前段就是客户用的客户端(网页和APP);服务端包括应用服务器和数据库,应用服务器用来部署服务端程序,处理前端请求并进行服务响应,数据库用来存储数据,服务器通过专门与数据库进行交互的程序对数据库进行读写操作。



第三章 产品经理学编程


3.1 编程语言


互联网产品都是互联网技术实现的,而所有技术的具体表现形式都是编程语言。编程语言都是程序设计员与计算机进行交互的指令集,在计算机中任何逻辑和表达都可以通过编程语言来实现。编程语言非常多,就像是不同国家的语言一样,选取哪种编程语言一般取决于系统架构师综合衡量后的选择,可以根据系统特性选择合适的编程语言。就像造房子可以用木头、钢筋或者水泥等来建造。


特定的系统平台会选择特定的编程语言来实现。Linux系统基本用C语言编写;谷歌移动操作系统Android选择Java编程语言;苹果的IOS操作系统选择Objective-C编程语言和Swift语言。


3.3 编程语言中的数据类型


    数据类型是用来在计算机世界中区分和表达数据载体的规则,数据类型是一种对数据的约束,每一种数据都有一种且唯一一种数据类型,数据类型代表编程语言中的最基本规则。


    一个最基本的数据单元主要由数据类型、数据名称和数据值。


  3.3.1 数据类型


A 表示整数的“整型”


    整型是一种数字类型,所有不带小数点的数字都属于整型,在编程语言中,用“int”表示,来自英语“integer”。形式如:int a=2,int是数据类型,a为数据名称(变量值),2为数据值。整型数据可以进行计算。


B 表示文本的“字符型”


    字符型是一种文本类型,字符型的内容没有规则限制,可以是任意内容。在不同的编程语言中,表示字符型的关键字略有不同。Java语言用关键字String表示字符型数据;C语言用char表示。

    字符型数据可以和整型数据进行转化。


C 表示小数的“浮点型”


      浮点型也是一种数字类型,与整数型相比,浮点型的数据都是带小数点的数据。在编程语言中,一般使用float或者double标记浮点型数据。float a=1.3


D 表示是非判断的“布尔型”


    布尔型是一种特殊的数据类型,数值只有两种值,即“true”和“false”。true对应的序号是1,false对应的序号是0。编程一般用关键字boolean或bool表示布尔型数据,boolean a =true。


     产品设计中,我们一般会在流程设计中使用布尔型。例如用户在注册时需要同意一个注册协议,前面一般会有一个复选框,在编程中,我们一般设置一个变量来记录操作,boolean isSelected=false,我们声明了一个变量名字为isSelected,然后给它初始赋值为false,用户勾上后,变量的值改为true。布尔型数据一般用于控制流程或者一些特殊标记。


E 数据类型的转换


F 数据拼接


   在编程语言中,数据拼接一般是字符型数据见的拼接,拼接后的字符型数据统称为字符串。


    我们经常会使用数据拼接,例如一个功能展示“目前有多少人参加了本次活动”,这句话在程序里是以字符型的数据类型存储的,其中“目前有”和“参加了本次活动”是固定字符,“多少人”是动态字符。在编程语言中,我们将“目前有”用字符串a表示,“参加了本次活动”用字符串b表示,“多少人”用字符串c表示,最后程序编写语言为“String=a+b+c”实现字符串数据的拼接。这也是涉及到固定字符和动态字符的组合。


3.5 数据的组织方式:数据结构

数据结构是计算机存储和组织数据的一种方式,是按一定规则进行组织的数据的几何。数据结构分为数组、栈、队列、堆、树、图等。


A  数组:统一数据类型的集合


       数组是指具有相同数据类型的数据元素组成的集合。是字符都是字符,是整符都是整符


B  栈:汉诺塔结构


    产品设计中,我们会经常使用到栈这种结构的设计。栈可以叫做堆栈,是一种受一定规则限制的数据结构,这种规则通常叫做“后进先出”


    可以把栈理解成一种底部封口,顶部开头的容器,数据元素可以从开口进入栈,“入栈”和“出栈”,入栈顺序ABC,出栈顺序为CBA。              


C  队列:排队的艺术


       队列和栈一样,是一种操作受一定规则限制的数据结构。队列简单理解就是平常生活中的排队。队列在结构上分为队头和队尾,这种规则通常叫“先进先出”。在产品设 

       计中一般用于控制一些事务性的操作,例如一件事务包括几个步骤,而且这几个步骤有严格的先后顺序,必须要完成前面的步骤才能进行后面的步骤。

                  


D  树:长在树上的数据


       树也是一种常见的数据结构,是按照一定规则进行数据组织的结构。树状结构可以应用在产品结构设计、权限设计及用户等级设计等场景                  


案列分析:用户注册功能


      用户注册分为两步,第一步是注册用户登录账户,主要由手机号和登录密码构成;第二步是完善用户个人信息,例如姓名、性别和爱好等。用户注册功能在产品设计上通过两个界面显示,第一个界面进行手机号验证设置密码,设置成功后进入第二个界面完成个人信息,个人信息中的爱好可以填多个,完成个人信息设置后提交成功即完成注册,进入产品首页。


      在以上这个产品功能中,我们使用了数据结构中的栈结构来实现界面的跳转。另外我们还使用了数组结构,个人信息的爱好填写就是数组结构。此外,如果产品的底部是tab底部导航,这种组合方式就是树状结构,根节点控制着四个子节点,每个子节点下有很多子节点。


3.4 编程语言中的逻辑结构

     在编程语言中的逻辑结构类似于语言中的语法。简单说就是现实世界中表述一件事情的流程,包括多种状态的可能性判断和最终输出的结果。当我们讲述一个流程的时候,会有初始状态、中间过程、结果状态。


A 条件判断“if else”


       “if else”是条件判断操作的,简单说,如果我们完成“如果满足条件1,则执行B1;如果不满足,则执行B2”这个逻辑判断流程。


B 条件选择“switch case”


       “switch case”是条件选择操作。根据条件值选择对应的执行方式,基本上用于多选一判断逻辑的操作。


C 循环操作“while/do while”


        “while”是循环逻辑操作,“while”是先判断,后循环,“do while”是先循环,后判断,例如计时器,循环广告等。


3.6 程序


数据结构+算法=程序。


数据结构就是上面提到的对数据进行组织和表示的结构,算法是我们要完成一件事情需要处理的步骤。如用户登录过程,从用户不存在、密码错误和登录成功三种情况对应的动作就是登录过程的算法。


我们使用编程语言中的数据类型表达数据含义,使用逻辑结构表达和控制逻辑处理,通过数据结构组合和呈现数据,将一套算法用编程语言表达出来就构成了程序。


3.7 程序的最小执行单位


程序的最小执行单位我们称为函数或者方法,函数完成一项具体任务的独立模块,函数的组成包括输入、输出及函数内部的处理流程。


在编程语言中,通过程序的逻辑结构来表达具体的业务流程;通过常用的数据结构来组合数据;通过函数实现最小执行单位,由这些最小执行单位组合成庞大的程序,构成系统,最终体现为我们所使用的产品功能。


第四章 产品经理学数据库


4.1 数据库


数据库运行在服务器中,类似于一个进行数据存储的仓库,数据按照一定的规则存储,可以对数据库中的数据进行增删改查的操作。


数据库的类型主要有两种:关系型数据库(MySQL)和非关系型数据库。


产品数据存储结构设计的了解可以帮助产品经理建立产品的数据模型。所谓数据模型就是产品在计算机中存储结构的设计,在功能层看到的是一个个根据用户使用场景设计的功能,但是在数据层却是一个个的数据模型。


4.2 关系型数据库


关系型数据库是一种基于关系模型的数据库,通过二维表和数据库表字段和字段类型表示数据。关系模型折射现实世界中的实体关系,将现实世界中各种实体及实体之间的关系通过关系模型表达出来。一个人、一个商品、一个订单都可以是一个实体。性别这个属性也可以是实体(字段),包括男女两种关系。

                                

实体A具有三个属性,实体B具有三个属性,他们之间以某一种关系联系起来,这种关系可以是一对一的,也可以是一对多或者多对多的。


A 数据库表和表的关系


 在关系型数据库中可以用数据库表和表之间的关系来具象表示这种模型,表就是我们常用的表格,有表的名字和各项标题名。

                             


B 数据库字段和字段类型


编程语言的数据有类型,数据库表中的字段也有字段类型。在定义一个数据库表的时候,我们需要定义表名、字段名及字段的数据类型,之后在表结构里存储数据。


 这种分实体进行存储并通过关联关系进行表示的好处显而易见,我们可以单独维护一个职业信息表,如果有新增的职业只需要在profession表里增加数据,在pepple表里通过引用profession表的字段来表示职业。


这种好处就是可以单独批量更改数据,在profession表里修改ID为1的字段,则people表里的profession所有ID为1的字段都可以修改成功。


4.2.1 数据库操作语言


    SQL(Structured Query Language)结构化查询语言,是一种用来操作关系型数据库的编程语言,可以理解为对数据库的操作命令。用SQL语言可以对数据库进行增删改查等操作。


4.3 非关系型数据库(NoSQL)


非关系型数据库是一种相对松散、不按照严格的数据结构规范进行存储的数据库,现在主流的非关系型数据库有MongoDB和CouchDB,数据以类似文档的方式进行存储。


非关系型数据库适合用在一些存取要求比较高、并发处理比较高的场合,例如对网站访问数据的统计。


在MongoDB中,我们使用键值对表示和存储数据,键值对就是“key-value”的形式。


第五章 产品经理学客户端技术


5.1 常用客户端介绍


客户端分为安卓、ios、web。


安卓主流开发技术为java,使用Eclipse作为开发工具,谷歌研发推出的Android studio开发更方便,界面可视化(所见即所得);ios开发技术为objective-c和swift语言,开发ios应用使用苹果公司推出的开发工具Xcode;web采用html、css、javaScript组成前端技术。


5.2 安卓基础技术及基本控件


A View


 View是视图的意思,表示在屏幕上展示的一个可视化控件,是安卓所有控件的根。也就是说,所有安卓控件都是基于View扩展来的,如按钮和文本框等等都是继承自View


B Button

dp(Device Independent Pixels)是独立于设备像素(px:pixels)的单位,它与像素密度有关,与像素无关。


dpi(Dots Per Inch)像素密度,即每英寸像素数量。


安卓系统定义了四种像素密度,分别是低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi),它们对应的dp转换成px的系数为0.75、1、1.5、2,系数乘以dp长度就是像素数,例如按钮高度40dp,放在240dpi显示为40乘1.5=60px,放在320dpi手机显示为40乘2=80px。


dpi=分辨率长or宽除以手机物理长or宽(单位英寸),注:手机物理长宽单位是英寸。


 标文字大小用sp标注,sp是与缩放无关的抽象像素(Scale-independent Pixel)


C TextView



 TextView代表文本展示框,是我们在产品里看到的展示文字的部分。TextView和Button属性一样,需要制定宽度和高度、字体大小和颜色。               


除此之外,平时在APP里看到的还会有文本拼接的方式,例如“¥8”,这种就是使用了两个TextView拼接在一起的,前面的¥比较小,后面的“8”则把字体调大


D EditText


 editText是文本输入框,是我们在产品中输入内容的控件,对于输入的内容可以进行类型控制,例如明文、密文、内容类型(数字or字母等)、长度。文本输入框还有个属性叫做“hint”,就是输入框里的提示语。


个性化定制,输入框样式很多,都可以通过设置EditText的背景来实现。


E ImageView


ImageView是图片展示控件,基本属性和前面的控件一样,也是个矩形区域,如果设置背景颜色,就可以看到矩形边界。


F ListView


ListView是一个容器型控件,它可以在里面放其他的控件,可以把Imageview和TextView控件放在ListVIew里。


这个控件在安卓系统里是列表控件,例如微信里的会话列表,淘宝的商品列表等,只是布局不同。在实现层面,我们只需要定义一个模板布局,然后根据模板填充不同的数据材料。


G GridView


 GridView和ListView一样,是一种容器控件,列表控件以列表展示,GridView以表格方式展示     


                                 

5.3 安卓界面布局原理

安卓的布局有线性布局和相对布局两种方式


线性布局就是按照顺序从左至右或者从上至下在界面上排列控件,在两个控件里的间隔称为“margin”,有“marginTop”“marginTottom”“marginLeft”“marginRight”


相对布局是指定控件与其他控件的相对位置,所谓相对位置就是以某一控件为参考基准,与其他控件的空间位置。


在安卓界面布局中,会根据产品界面的布局需要,混合使用线性布局和相对布局,搭配可以实现从简单到复杂的各种界面。


5.4 安卓系统的权限控制


    安卓系统有专门的权限管理机制,应用访问用户隐私or获取系统权限,需要用户的授权才能使用。这些权限是在开发阶段由开发人员标记在代码里的,开发人员会在权限申请列表中添加权限,用户在安装产品时,可以在安装列表中看到该产品申请了哪些权限访问。


5.5 安卓应用打包及发布


安卓开发完成后,需要通过开发工具将开发完成的代码及一些素材(例如,产品中使用到的各种背景图片和图标等)一起编译打包成一个APK文件。打包安装文件时,我们需要使用一个特殊的签名文件为这个安装包文件进行签名,签名的目的是保证这个应用安装包的唯一性和安全性,因为应用市场产品很多。用签名文件给安装文件打包后,就可以准备发不了。


发布安卓应用可以说是一个体力活,因为安卓系统开源的特性,市场有很多安卓应用市场,在发布安卓应用的时候,需要标记当前发布的版本号,这个版本号和我们看的V1.2版本不同,是标记为自然数给计算机识别的,如1   2  3。由于安卓市场的多样化,在打包的时候安卓提供了一个选项,即标记安装包的渠道来源,可以知道每个应用市场的安装量。


5.6 安卓多屏幕适配


为了解决界面适配的问题,安卓提供了一种使用可拉伸图片作为界面素材的解决方案,这种图片以拓展名“9.png”结尾的图像文件,通常叫做“点九图”。安卓系统会对这种类型的图像文件进行特殊处理。


5.7 IOS基本技术及基本控件


IOS使用Objective-C语言和Swift语言进行开发,开发工具用Xcode。


系统控件和安卓的空间表现形式和属性类似,叫法不同。同时界面布局方式不同,安卓采用线性布局和相对布局,IOS采用坐标轴进行绝对布局。打包发布方式也不同


   1.UIView


UIView是IOS系统中所有控件的基础,和安卓系统中的View类似,其他的空间都是基于UIView继承拓展来的。


与安卓系统不同,ios系统可以实现UIView的相互嵌套,安卓不能。


ios系统中的控件在屏幕中通过坐标轴定位具体位置,这个坐标轴范围不是通过物理分辨率的像素点去标记,而是通过逻辑像素标记。逻辑像素就是不管屏幕尺寸,只需要按照固定的逻辑像素定位坐标轴中控件的位置。        


这个图的边框是苹果4的屏幕,物理分辨率是320*480,对应的逻辑像素也是一样,坐标轴以左上角为原点,屏幕里放置的UIView的左上角定位坐标(80.80),然后长度和高度为120和100,通过(80,80,120,100)这样的标识我们就可以确定一个视图在屏幕中的位置和大小了。


  2.UIButton


UIButton设置背景图片时,需要设置两种状态下的背景图,分别是正常状态下的和按钮按下状态。ios里的UIButton和安卓系统的Button的不同之处在于UIButton可以嵌套其他控件。


  3.UILabel


UILabel表示文本展示控件,如果文本展示控件的文字内容超出范围,超出的部分系统会自动以“…”展示。


  4.UITextField


UITextField是文本输入框控件,基本属性和安卓系统里的EditText一样,叫法不同。


  5.UIImageView


UIImageView是图片展示控件,基本属性一样,在ios系统汇总,这个控件可以对图片进行展示和基本处理,例如圆角处理、滤镜处理。


  6.UITableView


UITableView是列表型控件,也是容器类控件。与安卓系统不同的地方在于,IOS的这个控件自带功能更加强大,也就是很多功能不需要额外开发,直接可以用。例如可以左滑删除,还有列表中每一项的拖动排序和多选操作,还支持多项自定义拓展,例如微信里的左滑出现删除和备注。


  7.UICollectionView


UICollectionView是表格展示控件,苹果的系统相册就是用UICollectionView实现的,实现多行多列展示


5.8 IOS界面布局原理


IOS的界面布局和安卓不同,IOS采用绝对布局,每一个控件在界面上通过指定控件的绝对位置进行显示。


IOS切图通常是“xxx@2x.png”的格式or“xxx@3x.png”格式


5.9 IOS系统权限控制


IOS权限控制主要是与用户隐私相关的内容,对于权限的划分没有安卓细。IOS系统的授权控制方式与安卓不同,安卓是在应用安装阶段,在安装APP的时候会提示用户同意权限才能安装,IOS权限控制则是发生在用户使用产品的过程中。


5.10 IOS应用打包及发布


IOS应用打包发布通过苹果推出的开发工具Xcode完成。


打包完成可以进行两种方式的发布


一种是通过Xcode发布到APP store,然后苹果审核人员对应用进行测试和审核,周期一周左右,如果审核失败,苹果人员会回复邮件,修改后重新提审。加急审核可以填写申请加急审核的申请表,苹果审核人员会根据情况判断是否对加急进行受理,受理则审核周期只要一两天。


另一种发布方式是发布内部测试版,在指定的测试设备上安装应用包。这种方式是有限授权的方式,苹果会给具备开发资格的开发者账户授权,每个账户能开通有限的测试设备,授权设别可以不通过APP store直接安装应用包。


苹果的开发者证书分为三种,一种是个人开发者,在APPstore上开发商署名为个人开发者。第二种是公司开发者,申请公司开发者需要提供公司的相关证明材料。第三种是企业开发者,开发者可以自行打包并发布应用。也就是绕过APP store下载APP,但只能在有限的范围内,开发的类型是提供给公司内部作为内部APP开发和下载用,不面向市场。


苹果开发者资格需要按年付费购买,个人和公司类型的账户是99美元一年,企业类型的299美元一年。


5.11 WEB基础技术知识


http是一个互联网协议,www表示万维网,是网页地址的前缀;baidu.com是百度的域名,域名是为了让使用者方便记忆,我们平时访问的网站实际访问的是这个网站在互联网上的IP地址,类似“http://109.102.22.1”,所以通过域名代表这个IP地址。


通过web页面嵌入APP里对一些变化比较频繁的产品页面是一种很好的技术方案,因为修改Web页面内容不需要重新发布新版本APP,但是如果修改APP某一功能,需要重新修改APP本地代码重新发布版本,例如永辉APP。


web好处就是轻量化产品实现,动态灵活调整产品内容。但是web体验感和流畅度目前和原生APP还有一定差距,可以综合考虑产品功能的使用场景和频次。


5.11.1 网页的骨骼和外衣:HTML/CSS


HTML全称超文本标记语言,意思是它表示的内容不仅仅是文本,还可以是图片、连接、音乐等非文字因素。


一个网页的结构包括:头和主题,头部分的内容用标签标记,第一个表示开始,第二个表示结束。头部主要放一些网页信息,例如网页标题和描述等。主体用标签。整个网页内容都会放在顶层标签之下,大致的框架结构如下








H5是HTML的版本号,之前还有HTML4、3等。H5可以对移动设备很好的适配,开发一套网页就可以通过适配的方式在PC浏览器和移动浏览器展示。


CSS全称层叠样式表,是一种将网页内容和样式分离的技术。CSS让HTML页面更加好看,然后讲这个CSS文件的样式嵌入到网页中,


5.11.2 URL/HTTP


URL的全称是统一资源定位符,互联网上所有的资源都有一个唯一的URL地址,资源的类型可以是一个网页、图片、音频等。


URL就是我们所说的网址,类似“http://www.baidu.com/aa/bb/c.png”这样的结构,URL通常分为三部分,第一部分是协议部分,也就是上例中的“http://”,HTTP协议全称超文本传输协议,是互联网的基本协议。第二部分是资源所在的服务器IP地址,通常IP地址替换为域名。第三部分是资源的具体路径,就是域名后斜杠的部分,不同结构间通过斜杠进行区分。我们可以通过URL定位到一个唯一的资源。


HTTP协议是互联网应用最广泛的一种网络协议,所有的www服务都必须遵守HTTP协议。


HTTP还有一个安全版本HTTPS,当我们在浏览器中使用网银等服务,浏览器地址协议通常是“https://”开头,HTTPS基于加密协议的传输方式,加密方式就是之前OPenSSL组织研发的SSL加密方式。


5.11.3 Web APP和Native APP


移动APP实现有两种形态,一种是原生APP,一种是H5页面,H5可以跨平台使用,而且实现成本低,现在很多产品使用混合方式实现,在原生APP产品中嵌套一部分Web实现,因为修改web内容只需要在服务器端进行网页修改,不需要更新发布APP,成本低。


第六章 产品经理学服务端技术


6.1 服务端技术


客户端之间的信息互动和数据传输都是通过服务端完成,服务端起到了中间核心处理者的作用,主要负责处理复杂的业务逻辑并对数据进行存储管理。


客户端和服务端借助网络进行数据传输,数据传输基于基本数据传输协议,定义数据传输的规则通常叫接口。客户端和服务端需要进行很多功能和数据的交互,就会有很多数据接口,每一个接口处理一个功能逻辑。


    6.1.1 常用服务端技术介绍


和客户端技术一样,服务端技术也分为很多类型,例如常用的服务端开发语言有PHP、Java、javaScript、Python、C#、C++等。PHP是一种脚本语言,可以做网页开发。


不管用哪种服务端技术,一个完整的客户端与服务端交互流程就是客户端发起请求、服务端处理请求、服务端将处理结果返回客户端。


6.2 服务端的基本架构


服务端通常叫做云端,也就是我们所说的云服务器,云服务器是指物理机房是托管在第三方,而不用自建机房。以下是一个简化版的服务器架构图。                   


负载均衡服务器是用来处理大规模请求的服务器,作用是将同时进来的大量访客请求根据应用服务器的忙碌程度进行动态调度,可以理解为服务端的调度中心,负责流量的的动态分配到不同的应用服务器。


应用服务器会根据客户端请求做出业务逻辑处理,并将处理后的结果反馈给客户端。


应用服务器下方对应的是数据库服务器,负责运行后端数据库


6.3 数据接口及结构


数据接口是指客户端与服务端进行数据传输和交互的数据协议数据接口是一种数据交换的标准,扮演的是信息传递者的角色。


例如登录里的用户名输入框就是一个接口,密码输入框也是一个接口,定义一个简单的数据接口结构{username:song,password:123}。这个时候,客户端会通过用户名输入框和密码输入框的数据接口将用户输入的数据携带并通过网络传递给服务器,服务器接收后进行判断处理,处理完成后,服务端也会通过数据接口返回给客户端,例如{code:20,message:登陆成功}


在实际应用中有两种常用的数据接口的结构,分别是JSON和XML


   6.3.1 JSON


JSON是一种轻量级的数据交换格式,也是一种用来表示数据接口结构的形式,结构灵活性高,可以进行丰富的数据结构表达。


   6.3.2 XML


XML也是一种数据交换格式,但是现在主流的是使用JSON结构。


6.4 服务端与客户端的交互模型  


上面这个模型叫做请求响应模型,是实现信息交互的数据交换模型,通过这个模型主要完成信息的发送、处理和响应。


简单说就是一问一答,客户端问服务端,服务端接收后进行处理,并将处理结果回答给客户端。


6.5 服务器部署及运维


当我们开发完一个产品后需要将产品发布上线,就是把我们开发完的系统部署到公开网络服务器。


服务器部署完成后,接下来就是长期的维护和调优过程,这个过程叫运维。


6.6 云服务器      


左边是传统的服务部署方式,每个产品都有自己的机房和自己的服务器;右边是云服务的方式,每个产品都有自己的服务器,只是这些服务器集中在云服务提供商的机房里,并由专业的运维人员负责服务器的整体维护和管理。


像亚马逊、阿里、腾讯这样的大公司,把自己多余的处理和服务能力开放出来,以租用和按使用情况付费的方式提供给其他公司和组织使用。


使用第三方公司提供的服务器托管和维护服务来运作自己的产品就称为云服务器。


云服务器的好处:

1.省去了建立机房和购买服务器的成本  

 2.省去了专人对服务器进行持续维护,如果服务器不够用,只要进行在线配置,就可以对服务器升级。    

3.强大的容灾能力,有完善的服务确保服务使用者的运行安全和数据安全,有完善的保障机制。


第七章 产品经理数据


7.1 什么是数据


互联网数据是指我们使用互联网产品时发生的行为所沉淀在数据库里的结果


数据是互联网时代最重要的资产,用户使用产品每天都会产生大量的数据,如果是内容型产品,产品的就是内容数据。如果是交易性产品,产生的就是用户行为数据和交易数据。根据不同的数据类型,可以进行大样本的数据分析,数据分析结果可以转化为商业决策的依据,从而反向产生更大的商业价值。


7.2 数据分类及数据分析


通过对海量数据的分析,我们可以得出很多结论,然后去指导商业决策和产品设计的调整。


互联网产生的数据主要分为结构化数据和非结构化数据。


7.2.1结构化数据


结构化数据是按照一定的数据规则存储的数据,就好比一个标准的大型图书馆,图书就是数据,每一本按照分类和编号进行存放和管理。我们要调取哪一本书,就按照固定编号进行查询检索。


我们平时说的大数据有很大一部分都是结构化数据,通过分析结构化数据我们可以预测数据走势,提前预判风险。


7.2.2非结构化数据


不按照一定的规则进行结构化存储的数据叫做非结构化数据;非结构化数据大多数是一些零散的、没有一定规律的数据;


例如用户在电商网站浏览商品的浏览记录数据,或一些系统的操作日志等;例如图片、视频和音频数据也属于非结构化数据。


通过分析非结构化数据可以进行一些行为分析和相关推荐


7.3 数据指标


数据指标是指产品在各个方面所记录和统计出来的数据结果,是对过去进行回顾和对未来进行预测的参考标准。一个公司的业绩或者产品的健康程度可以通过数据指标反映


转化率指标是反映一个产品功能的实际效果的数据指标,例如开发了 一个新功能,通过指标检测可以反映出这项功能在提高产品用户活跃度或者促进业务发展时是否真正起到了作用。


7.3.1 UV/PV


UV(Unique Visitor)是网站独立访客和独立用户的意思,指访问某个网站的独立IP的数量,通常计算周期是当天的0点到24点。代表一个用户访问,不管访问几次,UV都为1


PV(page View)通常是指网站的页面访问量,和UV不同的是,PV统计的是用户打开网站的次数。一个用户访问该页面10次,则该页面PV为10。通过PV可以统计转化率,统计用户以哪种使用路径访问时的PV指标最高,通过数据统计反映出用户使用产品的主路径,优化产品时可以围绕这个主路径进行优化。


7.3.2 DAU/MAU


DAU(Daily Active User)是指日活跃用户,记录一天内独立用户登录或使用产品的次数。


MAU(Monthly Active User)是指月活跃用户,记录一个自然月内用户的活跃度情况


7.3.3 GMV


GMV(Gross Merchandise Volume)是商品交易总额,是一种反映平台交易总量的数据指标。GMV不是指成交总额,而是指发生的商品交易总额,例如用户在淘宝上下了订单但是没有支付,这个交易额度也会被计算进入GMV


7.3.4 转化率/留存率


转化率是统计一个大范围的运营活动或者产品动作转化出有效用户的比例。例如线上做一场活动,有1000个用户打开并查看了活动,最终有100个用户成功报名参与了活动,则这次活动的转化率是10%。转化率通常衡量的是投入产出比,低投入、高转化是所有活动和运营追求的目标。


留存率是指用户进入产品后,在一定的周期过去留存在产品中的用户数量。例如一个产品新增用户30人,一天后这30个人有20%的人还在使用该产品,则留存率为20%


7.4 数据仓库


数据仓库(Data Warehouse)简称DW,是一种对历史数据进行存储和分析的数据系统,通常是为企业根据过往数据进行分析而制定相关决策而存在的。


数据仓库的数据来源通常是历史业务数据,例如历史订单及客户信息,还包括一些系统的操作日志记录等,通过对数据仓库里的综合数据进行分析和计算,可以得出业务分析报告和历史数据报表。            


数据仓库不同于数据库,数据库是对实时数据进行存储和事务性处理的系统,对应的操作包括了新增数据和对数据进行修改和查询;在数据仓库里通常只对数据进行查询。数据库是为捕获数据而设计的,数据仓库是为了分析数据而设计的;数据库存储的是与业务相关的数据,数据仓库里存储与业务相关的很多冗余但是必要的数据


在实际生产中,数据仓库是基于数据决策的根基,当需要根据某一目的进行数据指标分析查询时,就可以在数据仓库中进行相关数据的组合查询和分析,产出的就是基于某一目的的数据报表。


7.5 数据可视化


数据可视化是指通过不同的视觉呈现方式,将数字数据通过生动形象的方式呈现出来,使数据查看者能以一种直观方便的方式查看数据。例如曲线图、饼图、柱状图。


数据可视化是对数据分析结果的分析,通过数据可视化能给决策者提供更直观生动的数据决策支持。


7.6 数据驱动下的产品和业务


数据是最能反映产品和业务结果的指标,通过数据进行进一步分析和验证,可以得出验证结论,基于这些结论反向指导产品的优化和业务的调整,可以不断优化产品和业务。


数据反映的是客观事实,所以通过数据结果对产品优化和业务发展提供决策依据是数据的最大价值。


8 产品经理如何写一份高质量的PRD

8.1 PRD基本结构


PRD起到的是沉淀结论并辅助沟通的作用。一份完整的PRD至少包括三部分,分别是变更日志、需求描述和功能设计。



8.1.1 需求描述


需求描述是用来介绍产品功能所满足的业务需求和用户需求的


业务需求是指该产品功能在业务开展中所扮演的角色。例如“关注”这个功能满足的业务需求一般是获取用户对某个人or事的兴趣数据,通过收集这种兴趣数据,可以给业务发展提供指导。


用户需求是指产品功能在用户的使用场景中为用户解决了什么问题,用户通过这个功能能完成什么用户任务。业务需求站在公司业务角度来描述,用户需求站在用户角度来描述。


通过对业务需求和用户需求的描述,在PRD里可以明确表明为什么要做这个产品功能。



8.1.2 功能设计


产品功能设计包括产品业务流程、功能信息架构、产品原型及交互逻辑

8.2 PRD里的产品逻辑


产品逻辑更多的是指功能模块内部及功能模块之间的相关逻辑,模块划分越清晰的产品,之间交错的逻辑就越少。


产品逻辑主要包括功能逻辑、交互逻辑、边界规则等。


1.功能逻辑通常指产品功能的内部逻辑,例如产品的登录功能包含检查用户账号是否存在、密码是否正确等逻辑;除了正常情况逻辑还包括异常情况逻辑


2.边界规则是指产品中的一些临界状,例如微信联系人上线5000人,发布朋友圈照片9张;同时还有一些隐性边界规则,例如设置密码最少6位,是否允许特殊符号的设置等。


10.产品经理的自我修养

10.1.1 用户体验型产品经理:


关注产品本身的体验,结合业务目标完成对产品的设计。专注于用户体验设计的产品经理首先得具备非常强的同理心,理解目标用户的心理。


一种比较好的方法是使用最小化可行产品的思路去设计产品;


最小化可行产品源自精益创业的一个概念,意思是构建一个基本满足需求的产品,去掉多余的细枝末节,只保留主功能,快速投入市场让用户使用,然后不断迭代。


10.1.2 业务型产品经理:


围绕业务流程和业务动作的设计,业务型产品经理不直接设计产品功能


业务型产品经理需要具备宏观思维,需要把控和设计整个产品的流程,具体到业务流程的每个角色的动作,以及每个业务节点之间是如何衔接和配合的。


10.1.3 数据型产品经理:


专注数据的产品经理,这里既包括了数据采集和数据分析,也包括了基于数据分析结果进行产品改进和决策的过程。


更新:2018-06-24

收藏

3人已收藏

宋昌昌

脱离了业务需求进行的产品设计都是耍流氓!

  • 28

    作品

  • 53

    粉丝

  • 8

    关注

  • 如何让你的产品原型更具有说服力(下)
  • 如何让你的产品原型更具有说服力(上)
  • 关于B端和C端产品设计时的异同性总结
  • 如何进行需求分析?
相关标签

    猜你喜欢

      2018-06-24 原创文章 规范/资料 举报 4209 3 9 0

      产品经理必懂的技术的那点儿事

      0.0°

      你确定要举报产品经理必懂的技术的那点儿事

      如果查出恶意举报,十天内禁止提交任何举报申请。

      0/200

      上传证据: 超过10M的附件请使用网盘地址

      点击上传附件

      对谁可见:

      全部设计师
      • 全部设计师
      • 推荐设计师和认证设计师

      您确认要推荐?

      该作品发布时间:2018年05月30日

      评分

      完整度

      启发性

      勤奋性

      排版布局

      推荐心得

      建议20-200字以内

      0/200

      9
      3
      0

      账号或密码错误,请重新输入

      账号或密码错误,请重新输入

      登录

      手机号

      发送验证码 120s 验证码错误

      登录
      第三方账号登录