25.年底不加薪没脸哭,只怪原型不出彩
产品设计工作流程
#mermaid-svg-5WRlOxIosIjtlCzX .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-5WRlOxIosIjtlCzX .label text{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .node rect,#mermaid-svg-5WRlOxIosIjtlCzX .node circle,#mermaid-svg-5WRlOxIosIjtlCzX .node ellipse,#mermaid-svg-5WRlOxIosIjtlCzX .node polygon,#mermaid-svg-5WRlOxIosIjtlCzX .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-5WRlOxIosIjtlCzX .node .label{text-align:center;fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .node.clickable{cursor:pointer}#mermaid-svg-5WRlOxIosIjtlCzX .arrowheadPath{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-5WRlOxIosIjtlCzX .flowchart-link{stroke:#333;fill:none}#mermaid-svg-5WRlOxIosIjtlCzX .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-5WRlOxIosIjtlCzX .edgeLabel rect{opacity:0.9}#mermaid-svg-5WRlOxIosIjtlCzX .edgeLabel span{color:#333}#mermaid-svg-5WRlOxIosIjtlCzX .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-5WRlOxIosIjtlCzX .cluster text{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-5WRlOxIosIjtlCzX .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-5WRlOxIosIjtlCzX text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-5WRlOxIosIjtlCzX .actor-line{stroke:grey}#mermaid-svg-5WRlOxIosIjtlCzX .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-5WRlOxIosIjtlCzX .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-5WRlOxIosIjtlCzX #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-5WRlOxIosIjtlCzX .sequenceNumber{fill:#fff}#mermaid-svg-5WRlOxIosIjtlCzX #sequencenumber{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX #crosshead path{fill:#333;stroke:#333}#mermaid-svg-5WRlOxIosIjtlCzX .messageText{fill:#333;stroke:#333}#mermaid-svg-5WRlOxIosIjtlCzX .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-5WRlOxIosIjtlCzX .labelText,#mermaid-svg-5WRlOxIosIjtlCzX .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-5WRlOxIosIjtlCzX .loopText,#mermaid-svg-5WRlOxIosIjtlCzX .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-5WRlOxIosIjtlCzX .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-5WRlOxIosIjtlCzX .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-5WRlOxIosIjtlCzX .noteText,#mermaid-svg-5WRlOxIosIjtlCzX .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-5WRlOxIosIjtlCzX .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-5WRlOxIosIjtlCzX .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-5WRlOxIosIjtlCzX .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-5WRlOxIosIjtlCzX .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .section{stroke:none;opacity:0.2}#mermaid-svg-5WRlOxIosIjtlCzX .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-5WRlOxIosIjtlCzX .section2{fill:#fff400}#mermaid-svg-5WRlOxIosIjtlCzX .section1,#mermaid-svg-5WRlOxIosIjtlCzX .section3{fill:#fff;opacity:0.2}#mermaid-svg-5WRlOxIosIjtlCzX .sectionTitle0{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .sectionTitle1{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .sectionTitle2{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .sectionTitle3{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-5WRlOxIosIjtlCzX .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .grid path{stroke-width:0}#mermaid-svg-5WRlOxIosIjtlCzX .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-5WRlOxIosIjtlCzX .task{stroke-width:2}#mermaid-svg-5WRlOxIosIjtlCzX .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .taskText:not([font-size]){font-size:11px}#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-5WRlOxIosIjtlCzX .task.clickable{cursor:pointer}#mermaid-svg-5WRlOxIosIjtlCzX .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-5WRlOxIosIjtlCzX .taskText0,#mermaid-svg-5WRlOxIosIjtlCzX .taskText1,#mermaid-svg-5WRlOxIosIjtlCzX .taskText2,#mermaid-svg-5WRlOxIosIjtlCzX .taskText3{fill:#fff}#mermaid-svg-5WRlOxIosIjtlCzX .task0,#mermaid-svg-5WRlOxIosIjtlCzX .task1,#mermaid-svg-5WRlOxIosIjtlCzX .task2,#mermaid-svg-5WRlOxIosIjtlCzX .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutside0,#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutside2{fill:#000}#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutside1,#mermaid-svg-5WRlOxIosIjtlCzX .taskTextOutside3{fill:#000}#mermaid-svg-5WRlOxIosIjtlCzX .active0,#mermaid-svg-5WRlOxIosIjtlCzX .active1,#mermaid-svg-5WRlOxIosIjtlCzX .active2,#mermaid-svg-5WRlOxIosIjtlCzX .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-5WRlOxIosIjtlCzX .activeText0,#mermaid-svg-5WRlOxIosIjtlCzX .activeText1,#mermaid-svg-5WRlOxIosIjtlCzX .activeText2,#mermaid-svg-5WRlOxIosIjtlCzX .activeText3{fill:#000 !important}#mermaid-svg-5WRlOxIosIjtlCzX .done0,#mermaid-svg-5WRlOxIosIjtlCzX .done1,#mermaid-svg-5WRlOxIosIjtlCzX .done2,#mermaid-svg-5WRlOxIosIjtlCzX .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-5WRlOxIosIjtlCzX .doneText0,#mermaid-svg-5WRlOxIosIjtlCzX .doneText1,#mermaid-svg-5WRlOxIosIjtlCzX .doneText2,#mermaid-svg-5WRlOxIosIjtlCzX .doneText3{fill:#000 !important}#mermaid-svg-5WRlOxIosIjtlCzX .crit0,#mermaid-svg-5WRlOxIosIjtlCzX .crit1,#mermaid-svg-5WRlOxIosIjtlCzX .crit2,#mermaid-svg-5WRlOxIosIjtlCzX .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-5WRlOxIosIjtlCzX .activeCrit0,#mermaid-svg-5WRlOxIosIjtlCzX .activeCrit1,#mermaid-svg-5WRlOxIosIjtlCzX .activeCrit2,#mermaid-svg-5WRlOxIosIjtlCzX .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-5WRlOxIosIjtlCzX .doneCrit0,#mermaid-svg-5WRlOxIosIjtlCzX .doneCrit1,#mermaid-svg-5WRlOxIosIjtlCzX .doneCrit2,#mermaid-svg-5WRlOxIosIjtlCzX .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-5WRlOxIosIjtlCzX .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-5WRlOxIosIjtlCzX .milestoneText{font-style:italic}#mermaid-svg-5WRlOxIosIjtlCzX .doneCritText0,#mermaid-svg-5WRlOxIosIjtlCzX .doneCritText1,#mermaid-svg-5WRlOxIosIjtlCzX .doneCritText2,#mermaid-svg-5WRlOxIosIjtlCzX .doneCritText3{fill:#000 !important}#mermaid-svg-5WRlOxIosIjtlCzX .activeCritText0,#mermaid-svg-5WRlOxIosIjtlCzX .activeCritText1,#mermaid-svg-5WRlOxIosIjtlCzX .activeCritText2,#mermaid-svg-5WRlOxIosIjtlCzX .activeCritText3{fill:#000 !important}#mermaid-svg-5WRlOxIosIjtlCzX .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-5WRlOxIosIjtlCzX g.classGroup text .title{font-weight:bolder}#mermaid-svg-5WRlOxIosIjtlCzX g.clickable{cursor:pointer}#mermaid-svg-5WRlOxIosIjtlCzX g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-5WRlOxIosIjtlCzX g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-5WRlOxIosIjtlCzX .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-5WRlOxIosIjtlCzX .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-5WRlOxIosIjtlCzX .dashed-line{stroke-dasharray:3}#mermaid-svg-5WRlOxIosIjtlCzX #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX .commit-id,#mermaid-svg-5WRlOxIosIjtlCzX .commit-msg,#mermaid-svg-5WRlOxIosIjtlCzX .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-5WRlOxIosIjtlCzX g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-5WRlOxIosIjtlCzX g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-5WRlOxIosIjtlCzX g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-5WRlOxIosIjtlCzX .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-5WRlOxIosIjtlCzX .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-5WRlOxIosIjtlCzX .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-5WRlOxIosIjtlCzX .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-5WRlOxIosIjtlCzX .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-5WRlOxIosIjtlCzX .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-5WRlOxIosIjtlCzX .edgeLabel text{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-5WRlOxIosIjtlCzX .node circle.state-start{fill:black;stroke:black}#mermaid-svg-5WRlOxIosIjtlCzX .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-5WRlOxIosIjtlCzX #statediagram-barbEnd{fill:#9370db}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-state .divider{stroke:#9370db}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-5WRlOxIosIjtlCzX .note-edge{stroke-dasharray:5}#mermaid-svg-5WRlOxIosIjtlCzX .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-5WRlOxIosIjtlCzX .error-icon{fill:#522}#mermaid-svg-5WRlOxIosIjtlCzX .error-text{fill:#522;stroke:#522}#mermaid-svg-5WRlOxIosIjtlCzX .edge-thickness-normal{stroke-width:2px}#mermaid-svg-5WRlOxIosIjtlCzX .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-5WRlOxIosIjtlCzX .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-5WRlOxIosIjtlCzX .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-5WRlOxIosIjtlCzX .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-5WRlOxIosIjtlCzX .marker{fill:#333}#mermaid-svg-5WRlOxIosIjtlCzX .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-5WRlOxIosIjtlCzX {color: rgba(0, 0, 0, 0.75);font: ;}
需求调研
需求分析
原型设计
需求确认
文档输出
需求评审
开发阶段
测试阶段
发版上线
需要老板敲定阶段:
阶段
|
作用
|
需求调研
|
它是整个阶段的开始(任务认领)
|
需求确认
|
它是立项的关键(展示设计)
|
发版上线
|
它是工作成果的验收(结果验收)
|
需求确认阶段:直接和职级评定和薪酬调整挂钩
初略的线框图:演示繁琐 --> 用户体验差 --> 影响项目通过
有交互效果的原型图:模拟体验 --> 用户体验好 --> 项目易通过
总结:适当的交互效果在便于理解的同时,又提升了用户体验,加薪便成了早晚的事情
26.Part-1:常见交互设计汇总(入门级)
交互:是用户在产品中的一些关键行为的触达反馈(涉及颜色、形状变化)
总结:适当融入一些交互效果,可以提升对方对设计的理解,对评审的顺利通过会有很大的帮助
27.Part-2:常见交互设计汇总(入门级)
初级产品经理在工作的起初需要关系很多细节上的事情,绘制一套高质量的原型图显得尤为关键
28.“神”在那里闪闪发光
我们高度还原了使用场景,无限趋近于真实环境后,把可能会是上线后的实际问题暴露出来
总结:高保真原型在产品设计过程中,不一定是必须品,但一定可以节省你很多试错成本
29.我只看看,不讲话
如果想成为一名产品大神,想绘制高保真原型,哪些交互是你必须要学会的?
步骤
|
解释
|
条件判断
|
这里不仅仅表示“要么这样,否则那样” ,这里的判断条件可以无限制添加,只要对应好条件下的交互即可
|
全局变量
|
主要的作用是将数据在页面间传递,然后依照变量中的值来呈现对应的内容,有的时候会希望在第一个页面进行的操作可以影响到后面页面的展示。这个时候,可以使用全局变量的值来判断展示哪一个页面
|
中继器
|
这是Axure所有元件中,相对复杂的一种原件,类似一个库表,且可以在这个库表李完成“增删改查”以及各种条件的排序及检索等操作
|
总结:高保真原型可以理解为是一种“实景还原”,这样来看的话,价值不言而喻
30.PRD后面不用加"文档"二字
PRD = Product-Requirement-Document
PRD不是文档,那它是什么?
步骤
|
作用
|
系统架构
|
让研发同学了解核心功能分布以及层级结构
|
产品流程图
|
让研发同学了解用户各行为路径的走向
|
系统权限角色列表
|
让研发同学了解产品中的全量角色及各角色对应的权限情况
|
拆解原型图
|
为每一页原型图添加策略,以及交互上的文字说明(在这个过程中,研发同学可以结合前期给出的框架,流程和角色,来对照这个部分的详细说明进行开发)
|
验收标准
|
在上线前,产品经理与研发同学要基于这套验收标准来评判该项目是否严格按照产品经理给的需求来实现的
|
总结:PRD不单单是个文档,它是前期所有的产品设计工作的最终集合,覆盖框架,逻辑,角色,权限,页面,策略等。优质的PRD对很多研发同学来说,可以节省很多学习成本
31.PRD的作用与价值
PRD的作用与价值
人群而言
|
作用
|
为视觉设计师和交互设计师提供设计参考
|
交互设计师:通过PRD,了解流程和逻辑,给出交互文档 / 视觉设计师:将通过PRD和交互文档,绘制静态设计图,并UI设计图,该图可以被前端工程师调用
|
为开发工程师提供逻辑参考
|
从研发的基础评估——>技术评审——>投入开发(全部过程都依赖于PRD),产品结构框架,业务流程,页面细节,数据交互,最后到数据埋点
|
为测试工程师提供验收参考
|
梳理每个节点,整理出测试用例,最后用每个测试项目与PRD细节进行一一校对
|
总结:需求文档需要由浅至深,由大到小,事无巨细的把整个产品项目描述清楚
32.研发同学群起喷你是有道理的
觉得研发同学很容易不耐烦
原因
|
解释
|
开发后没人用,影响工作业绩
|
对于研发人员来说,无论是公司内部职级晋升,还是跳槽换工作,历史的项目经验都起到至关重要的作用。所以,如果你项目并没有足够的吸引力,他们的配合程度自然不高
|
反复修改需求,浪费研发人力
|
如果觉得有些点没有思考清楚,可以在产品设计阶段把所有的细节想清楚,要知道,需求评审是个呈现设计结果的过程,不存在讨论的余地(PRD中,需要把每个细节,用文字的法子写清楚)
|
上线前验收不通过,加班加点改代码
|
如果PRD的内容描述的不够详细,会引起两个方面的问题,一个是研发会在开发过程中不停的问你问题,第二种情况是研发自由发挥
|
总结:只有把PRD里面的内容描述的足够详细,才能避免这种情况发生,进而提升工作的效率
33.PRD实例演示
#mermaid-svg-3gqLUPWpSiND7i5a .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3gqLUPWpSiND7i5a .label text{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .node rect,#mermaid-svg-3gqLUPWpSiND7i5a .node circle,#mermaid-svg-3gqLUPWpSiND7i5a .node ellipse,#mermaid-svg-3gqLUPWpSiND7i5a .node polygon,#mermaid-svg-3gqLUPWpSiND7i5a .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-3gqLUPWpSiND7i5a .node .label{text-align:center;fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .node.clickable{cursor:pointer}#mermaid-svg-3gqLUPWpSiND7i5a .arrowheadPath{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-3gqLUPWpSiND7i5a .flowchart-link{stroke:#333;fill:none}#mermaid-svg-3gqLUPWpSiND7i5a .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-3gqLUPWpSiND7i5a .edgeLabel rect{opacity:0.9}#mermaid-svg-3gqLUPWpSiND7i5a .edgeLabel span{color:#333}#mermaid-svg-3gqLUPWpSiND7i5a .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-3gqLUPWpSiND7i5a .cluster text{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-3gqLUPWpSiND7i5a .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-3gqLUPWpSiND7i5a text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-3gqLUPWpSiND7i5a .actor-line{stroke:grey}#mermaid-svg-3gqLUPWpSiND7i5a .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-3gqLUPWpSiND7i5a .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-3gqLUPWpSiND7i5a #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-3gqLUPWpSiND7i5a .sequenceNumber{fill:#fff}#mermaid-svg-3gqLUPWpSiND7i5a #sequencenumber{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a #crosshead path{fill:#333;stroke:#333}#mermaid-svg-3gqLUPWpSiND7i5a .messageText{fill:#333;stroke:#333}#mermaid-svg-3gqLUPWpSiND7i5a .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-3gqLUPWpSiND7i5a .labelText,#mermaid-svg-3gqLUPWpSiND7i5a .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-3gqLUPWpSiND7i5a .loopText,#mermaid-svg-3gqLUPWpSiND7i5a .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-3gqLUPWpSiND7i5a .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-3gqLUPWpSiND7i5a .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-3gqLUPWpSiND7i5a .noteText,#mermaid-svg-3gqLUPWpSiND7i5a .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-3gqLUPWpSiND7i5a .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-3gqLUPWpSiND7i5a .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-3gqLUPWpSiND7i5a .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-3gqLUPWpSiND7i5a .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .section{stroke:none;opacity:0.2}#mermaid-svg-3gqLUPWpSiND7i5a .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-3gqLUPWpSiND7i5a .section2{fill:#fff400}#mermaid-svg-3gqLUPWpSiND7i5a .section1,#mermaid-svg-3gqLUPWpSiND7i5a .section3{fill:#fff;opacity:0.2}#mermaid-svg-3gqLUPWpSiND7i5a .sectionTitle0{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .sectionTitle1{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .sectionTitle2{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .sectionTitle3{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-3gqLUPWpSiND7i5a .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .grid path{stroke-width:0}#mermaid-svg-3gqLUPWpSiND7i5a .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-3gqLUPWpSiND7i5a .task{stroke-width:2}#mermaid-svg-3gqLUPWpSiND7i5a .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .taskText:not([font-size]){font-size:11px}#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-3gqLUPWpSiND7i5a .task.clickable{cursor:pointer}#mermaid-svg-3gqLUPWpSiND7i5a .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-3gqLUPWpSiND7i5a .taskText0,#mermaid-svg-3gqLUPWpSiND7i5a .taskText1,#mermaid-svg-3gqLUPWpSiND7i5a .taskText2,#mermaid-svg-3gqLUPWpSiND7i5a .taskText3{fill:#fff}#mermaid-svg-3gqLUPWpSiND7i5a .task0,#mermaid-svg-3gqLUPWpSiND7i5a .task1,#mermaid-svg-3gqLUPWpSiND7i5a .task2,#mermaid-svg-3gqLUPWpSiND7i5a .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutside0,#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutside2{fill:#000}#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutside1,#mermaid-svg-3gqLUPWpSiND7i5a .taskTextOutside3{fill:#000}#mermaid-svg-3gqLUPWpSiND7i5a .active0,#mermaid-svg-3gqLUPWpSiND7i5a .active1,#mermaid-svg-3gqLUPWpSiND7i5a .active2,#mermaid-svg-3gqLUPWpSiND7i5a .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-3gqLUPWpSiND7i5a .activeText0,#mermaid-svg-3gqLUPWpSiND7i5a .activeText1,#mermaid-svg-3gqLUPWpSiND7i5a .activeText2,#mermaid-svg-3gqLUPWpSiND7i5a .activeText3{fill:#000 !important}#mermaid-svg-3gqLUPWpSiND7i5a .done0,#mermaid-svg-3gqLUPWpSiND7i5a .done1,#mermaid-svg-3gqLUPWpSiND7i5a .done2,#mermaid-svg-3gqLUPWpSiND7i5a .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-3gqLUPWpSiND7i5a .doneText0,#mermaid-svg-3gqLUPWpSiND7i5a .doneText1,#mermaid-svg-3gqLUPWpSiND7i5a .doneText2,#mermaid-svg-3gqLUPWpSiND7i5a .doneText3{fill:#000 !important}#mermaid-svg-3gqLUPWpSiND7i5a .crit0,#mermaid-svg-3gqLUPWpSiND7i5a .crit1,#mermaid-svg-3gqLUPWpSiND7i5a .crit2,#mermaid-svg-3gqLUPWpSiND7i5a .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-3gqLUPWpSiND7i5a .activeCrit0,#mermaid-svg-3gqLUPWpSiND7i5a .activeCrit1,#mermaid-svg-3gqLUPWpSiND7i5a .activeCrit2,#mermaid-svg-3gqLUPWpSiND7i5a .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-3gqLUPWpSiND7i5a .doneCrit0,#mermaid-svg-3gqLUPWpSiND7i5a .doneCrit1,#mermaid-svg-3gqLUPWpSiND7i5a .doneCrit2,#mermaid-svg-3gqLUPWpSiND7i5a .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-3gqLUPWpSiND7i5a .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-3gqLUPWpSiND7i5a .milestoneText{font-style:italic}#mermaid-svg-3gqLUPWpSiND7i5a .doneCritText0,#mermaid-svg-3gqLUPWpSiND7i5a .doneCritText1,#mermaid-svg-3gqLUPWpSiND7i5a .doneCritText2,#mermaid-svg-3gqLUPWpSiND7i5a .doneCritText3{fill:#000 !important}#mermaid-svg-3gqLUPWpSiND7i5a .activeCritText0,#mermaid-svg-3gqLUPWpSiND7i5a .activeCritText1,#mermaid-svg-3gqLUPWpSiND7i5a .activeCritText2,#mermaid-svg-3gqLUPWpSiND7i5a .activeCritText3{fill:#000 !important}#mermaid-svg-3gqLUPWpSiND7i5a .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-3gqLUPWpSiND7i5a g.classGroup text .title{font-weight:bolder}#mermaid-svg-3gqLUPWpSiND7i5a g.clickable{cursor:pointer}#mermaid-svg-3gqLUPWpSiND7i5a g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-3gqLUPWpSiND7i5a g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-3gqLUPWpSiND7i5a .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-3gqLUPWpSiND7i5a .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-3gqLUPWpSiND7i5a .dashed-line{stroke-dasharray:3}#mermaid-svg-3gqLUPWpSiND7i5a #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a .commit-id,#mermaid-svg-3gqLUPWpSiND7i5a .commit-msg,#mermaid-svg-3gqLUPWpSiND7i5a .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-3gqLUPWpSiND7i5a g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-3gqLUPWpSiND7i5a g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-3gqLUPWpSiND7i5a g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-3gqLUPWpSiND7i5a .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-3gqLUPWpSiND7i5a .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-3gqLUPWpSiND7i5a .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-3gqLUPWpSiND7i5a .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-3gqLUPWpSiND7i5a .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-3gqLUPWpSiND7i5a .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-3gqLUPWpSiND7i5a .edgeLabel text{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-3gqLUPWpSiND7i5a .node circle.state-start{fill:black;stroke:black}#mermaid-svg-3gqLUPWpSiND7i5a .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-3gqLUPWpSiND7i5a #statediagram-barbEnd{fill:#9370db}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-state .divider{stroke:#9370db}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-3gqLUPWpSiND7i5a .note-edge{stroke-dasharray:5}#mermaid-svg-3gqLUPWpSiND7i5a .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-3gqLUPWpSiND7i5a .error-icon{fill:#522}#mermaid-svg-3gqLUPWpSiND7i5a .error-text{fill:#522;stroke:#522}#mermaid-svg-3gqLUPWpSiND7i5a .edge-thickness-normal{stroke-width:2px}#mermaid-svg-3gqLUPWpSiND7i5a .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-3gqLUPWpSiND7i5a .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-3gqLUPWpSiND7i5a .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-3gqLUPWpSiND7i5a .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-3gqLUPWpSiND7i5a .marker{fill:#333}#mermaid-svg-3gqLUPWpSiND7i5a .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-3gqLUPWpSiND7i5a {color: rgba(0, 0, 0, 0.75);font: ;}
封面
PRD修改目录
目录
项目背景和项目目标
系统框架图
产品流程图
角色与权限对照表
功能详述
验收标准
核心
|
作用
|
封面
|
封面看似作用不大,但是在一份PRD的封面会标注该项目的优先级,这取决于评审后,是否可以立即进入开发阶段,或无限期延长
|
PRD修改记录
|
PRD修改记录中记录着在评审及开发过程中针对需求的每一次修改的详细记录,它标记了修改的位置及内容,是后续产品功能核对的重要依据
|
目录
|
目录在PRD里面作为导引存在,可以清楚的看出文档的编写结构,方便阅读人员在前期形成概略的结构化内容,同时也便于制定查看定向的内容
|
项目背景
|
项目背景是在结束详细功能内容之前,需要研发人员了解该项目的重要性以及价值的重要环节,在某种程度上可以影响到开发人员的配合程度
|
项目目标
|
项目目标是基于项目背景之后,需要达成的最终目的,整个项目从设计到启动,将都围绕着这个目标来推进
|
系统框架图
|
系统框架图是产品的骨骼,用来说明产品的重要组成部分和层级结构
|
产品流程图
|
产品流程图通常会标注出产品的关键流程,便于研发人员了解不同角色的用户在产品中的操作路径
|
角色和权限对照表
|
角色和权限对照表主要是用来说明产品中存在有哪些角色,每个角色的详细功能描述,以及不同角色之间的差异情况
|
功能详述
|
功能详述是PRD中最核心的部分,借助原型图与文字描述,它将详细指出产品中的每一个细节的基础交互内容以及策略方面的设定
|
验收标准
|
验收标准是即将上线前的最后一个核对的环节,只有达到验收标准,产品才允许上线正式运行,验收标准的设定强依赖于产品的内在设计
|
总结:从全局上来说,每个部分都很重要,其中“功能详述”是整个PRD的核心所在
34.什么是需求评审
需求评审:是产品设计完成之后,产品经理与研发团队进行细节确认的一个重要环节
方面
|
内容
|
有谁参加
|
产品经理 + 研发团队(前端开发工程师 + 后端开发工程师) + 设计师(交互设计师UE + 静态页面设计UI) + 测试工程师
|
需求评审要准备什么
|
原型demo + PRD
|
需求评审要讨论什么
|
为了满足某些需求,大家一起来讨论产品设计在逻辑上是否合理<责任归属:产品经理->,以及凭借现有研发能力是否可以实现<-责任归属:研发人员->
|
总结:需求评审时需求的可现实性评估的重要确认阶段
35.需求评审的重要作用
重要作用
|
解释
|
细节走查
|
在产品设计过程中,需要经历产品内审,从某种程度上来看,都是基于用户行为的逻辑,对于底层的逻辑涉及较少。举例:如果有个页面希望可以查到全栈的用户使用数据,且给出可视化的图标,这就意味着,用户每次点击查询按钮,系统都需要去底表去把所有的数据查询一遍(底层数据关系*全量用户数据=点击查询)如果平台的用户量很大,就会造成查询速度较慢(这就需要产品评审),解决方案:创建数据中心,撰文维护需要查询的数据,提供中间表储存结果数据,在查询的时候仅遍历中间表。这样就会很大程度上提升查询效率
|
可实现性评估
|
评估目前研发团队是否有能力实现,或者说有哪些部分实现起来是有困难的,比如,跨平台对接,一个分销平台和一个仓储平台进行对接,里面涉及到的角色和账户体系的结合,否则会出现多角色多账户重叠,造成底层的数据严重混乱
|
共识的达成
|
产品经理与研发人员共同达成的一个约定,通过约定制定验收标准
|
总结:需求评审时需求的确认,以及最终方案的敲定
36.为什么我的设计大家都说“没有必要”
#mermaid-svg-c4qxfAMBB9jIDZQp .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .label text{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .node rect,#mermaid-svg-c4qxfAMBB9jIDZQp .node circle,#mermaid-svg-c4qxfAMBB9jIDZQp .node ellipse,#mermaid-svg-c4qxfAMBB9jIDZQp .node polygon,#mermaid-svg-c4qxfAMBB9jIDZQp .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-c4qxfAMBB9jIDZQp .node .label{text-align:center;fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .node.clickable{cursor:pointer}#mermaid-svg-c4qxfAMBB9jIDZQp .arrowheadPath{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-c4qxfAMBB9jIDZQp .flowchart-link{stroke:#333;fill:none}#mermaid-svg-c4qxfAMBB9jIDZQp .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-c4qxfAMBB9jIDZQp .edgeLabel rect{opacity:0.9}#mermaid-svg-c4qxfAMBB9jIDZQp .edgeLabel span{color:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-c4qxfAMBB9jIDZQp .cluster text{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-c4qxfAMBB9jIDZQp .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-c4qxfAMBB9jIDZQp text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-c4qxfAMBB9jIDZQp .actor-line{stroke:grey}#mermaid-svg-c4qxfAMBB9jIDZQp .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-c4qxfAMBB9jIDZQp #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .sequenceNumber{fill:#fff}#mermaid-svg-c4qxfAMBB9jIDZQp #sequencenumber{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp #crosshead path{fill:#333;stroke:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .messageText{fill:#333;stroke:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-c4qxfAMBB9jIDZQp .labelText,#mermaid-svg-c4qxfAMBB9jIDZQp .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-c4qxfAMBB9jIDZQp .loopText,#mermaid-svg-c4qxfAMBB9jIDZQp .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-c4qxfAMBB9jIDZQp .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-c4qxfAMBB9jIDZQp .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-c4qxfAMBB9jIDZQp .noteText,#mermaid-svg-c4qxfAMBB9jIDZQp .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-c4qxfAMBB9jIDZQp .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-c4qxfAMBB9jIDZQp .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-c4qxfAMBB9jIDZQp .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-c4qxfAMBB9jIDZQp .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .section{stroke:none;opacity:0.2}#mermaid-svg-c4qxfAMBB9jIDZQp .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-c4qxfAMBB9jIDZQp .section2{fill:#fff400}#mermaid-svg-c4qxfAMBB9jIDZQp .section1,#mermaid-svg-c4qxfAMBB9jIDZQp .section3{fill:#fff;opacity:0.2}#mermaid-svg-c4qxfAMBB9jIDZQp .sectionTitle0{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .sectionTitle1{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .sectionTitle2{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .sectionTitle3{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-c4qxfAMBB9jIDZQp .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .grid path{stroke-width:0}#mermaid-svg-c4qxfAMBB9jIDZQp .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-c4qxfAMBB9jIDZQp .task{stroke-width:2}#mermaid-svg-c4qxfAMBB9jIDZQp .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .taskText:not([font-size]){font-size:11px}#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-c4qxfAMBB9jIDZQp .task.clickable{cursor:pointer}#mermaid-svg-c4qxfAMBB9jIDZQp .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-c4qxfAMBB9jIDZQp .taskText0,#mermaid-svg-c4qxfAMBB9jIDZQp .taskText1,#mermaid-svg-c4qxfAMBB9jIDZQp .taskText2,#mermaid-svg-c4qxfAMBB9jIDZQp .taskText3{fill:#fff}#mermaid-svg-c4qxfAMBB9jIDZQp .task0,#mermaid-svg-c4qxfAMBB9jIDZQp .task1,#mermaid-svg-c4qxfAMBB9jIDZQp .task2,#mermaid-svg-c4qxfAMBB9jIDZQp .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutside0,#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutside2{fill:#000}#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutside1,#mermaid-svg-c4qxfAMBB9jIDZQp .taskTextOutside3{fill:#000}#mermaid-svg-c4qxfAMBB9jIDZQp .active0,#mermaid-svg-c4qxfAMBB9jIDZQp .active1,#mermaid-svg-c4qxfAMBB9jIDZQp .active2,#mermaid-svg-c4qxfAMBB9jIDZQp .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-c4qxfAMBB9jIDZQp .activeText0,#mermaid-svg-c4qxfAMBB9jIDZQp .activeText1,#mermaid-svg-c4qxfAMBB9jIDZQp .activeText2,#mermaid-svg-c4qxfAMBB9jIDZQp .activeText3{fill:#000 !important}#mermaid-svg-c4qxfAMBB9jIDZQp .done0,#mermaid-svg-c4qxfAMBB9jIDZQp .done1,#mermaid-svg-c4qxfAMBB9jIDZQp .done2,#mermaid-svg-c4qxfAMBB9jIDZQp .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-c4qxfAMBB9jIDZQp .doneText0,#mermaid-svg-c4qxfAMBB9jIDZQp .doneText1,#mermaid-svg-c4qxfAMBB9jIDZQp .doneText2,#mermaid-svg-c4qxfAMBB9jIDZQp .doneText3{fill:#000 !important}#mermaid-svg-c4qxfAMBB9jIDZQp .crit0,#mermaid-svg-c4qxfAMBB9jIDZQp .crit1,#mermaid-svg-c4qxfAMBB9jIDZQp .crit2,#mermaid-svg-c4qxfAMBB9jIDZQp .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-c4qxfAMBB9jIDZQp .activeCrit0,#mermaid-svg-c4qxfAMBB9jIDZQp .activeCrit1,#mermaid-svg-c4qxfAMBB9jIDZQp .activeCrit2,#mermaid-svg-c4qxfAMBB9jIDZQp .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-c4qxfAMBB9jIDZQp .doneCrit0,#mermaid-svg-c4qxfAMBB9jIDZQp .doneCrit1,#mermaid-svg-c4qxfAMBB9jIDZQp .doneCrit2,#mermaid-svg-c4qxfAMBB9jIDZQp .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-c4qxfAMBB9jIDZQp .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-c4qxfAMBB9jIDZQp .milestoneText{font-style:italic}#mermaid-svg-c4qxfAMBB9jIDZQp .doneCritText0,#mermaid-svg-c4qxfAMBB9jIDZQp .doneCritText1,#mermaid-svg-c4qxfAMBB9jIDZQp .doneCritText2,#mermaid-svg-c4qxfAMBB9jIDZQp .doneCritText3{fill:#000 !important}#mermaid-svg-c4qxfAMBB9jIDZQp .activeCritText0,#mermaid-svg-c4qxfAMBB9jIDZQp .activeCritText1,#mermaid-svg-c4qxfAMBB9jIDZQp .activeCritText2,#mermaid-svg-c4qxfAMBB9jIDZQp .activeCritText3{fill:#000 !important}#mermaid-svg-c4qxfAMBB9jIDZQp .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-c4qxfAMBB9jIDZQp g.classGroup text .title{font-weight:bolder}#mermaid-svg-c4qxfAMBB9jIDZQp g.clickable{cursor:pointer}#mermaid-svg-c4qxfAMBB9jIDZQp g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-c4qxfAMBB9jIDZQp g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-c4qxfAMBB9jIDZQp .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-c4qxfAMBB9jIDZQp .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-c4qxfAMBB9jIDZQp .dashed-line{stroke-dasharray:3}#mermaid-svg-c4qxfAMBB9jIDZQp #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp .commit-id,#mermaid-svg-c4qxfAMBB9jIDZQp .commit-msg,#mermaid-svg-c4qxfAMBB9jIDZQp .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-c4qxfAMBB9jIDZQp g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-c4qxfAMBB9jIDZQp g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-c4qxfAMBB9jIDZQp g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-c4qxfAMBB9jIDZQp .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-c4qxfAMBB9jIDZQp .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-c4qxfAMBB9jIDZQp .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-c4qxfAMBB9jIDZQp .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-c4qxfAMBB9jIDZQp .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-c4qxfAMBB9jIDZQp .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-c4qxfAMBB9jIDZQp .edgeLabel text{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-c4qxfAMBB9jIDZQp .node circle.state-start{fill:black;stroke:black}#mermaid-svg-c4qxfAMBB9jIDZQp .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-c4qxfAMBB9jIDZQp #statediagram-barbEnd{fill:#9370db}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-state .divider{stroke:#9370db}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-c4qxfAMBB9jIDZQp .note-edge{stroke-dasharray:5}#mermaid-svg-c4qxfAMBB9jIDZQp .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-c4qxfAMBB9jIDZQp .error-icon{fill:#522}#mermaid-svg-c4qxfAMBB9jIDZQp .error-text{fill:#522;stroke:#522}#mermaid-svg-c4qxfAMBB9jIDZQp .edge-thickness-normal{stroke-width:2px}#mermaid-svg-c4qxfAMBB9jIDZQp .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-c4qxfAMBB9jIDZQp .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-c4qxfAMBB9jIDZQp .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-c4qxfAMBB9jIDZQp .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-c4qxfAMBB9jIDZQp .marker{fill:#333}#mermaid-svg-c4qxfAMBB9jIDZQp .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-c4qxfAMBB9jIDZQp {color: rgba(0, 0, 0, 0.75);font: ;}
研发人员觉得你这个功能设计的没什么意义
大家开始发散思维的去想怎样设计会比现在的更符合需求
需求评审被终止
原因
|
解释
|
功能相似
|
如果当前的需求与之前某个需求在使用路径上截然不同,但是在引用场景上高度相似,这会让研发人员觉得是在做一件重复的事情,对于重复做同一件事情的配合程度自然不高
|
需求过剩
|
产品经理通常会维护一套项目进度表,有的地方也叫“进度看板”。里面记录着目前进行中、排期中和计划中的项目。如果已经有很多项目通过了评审进入排期,可以先等研发团队消化一下这些需求再组织新需求评审
|
没有解决实质性问题
|
在需求评审起初,产品经理将就该项目进行背景描述,介绍为什么要做这件事情,目的是帮助研发人员理解项目的背景及价值,但是,如果在后续的细节评审过程中,研发人员发现,你的设计并没有实质性解决要解决的问题,他们自然会有些他们认为更合理的设计分享出来
|
设计实现困难
|
有的时候让研发人员亲口说出这个功能“不会做”或“很麻烦”有点困难,他们通常会找些其他的理由来搪塞产品经理的需求,比如在会上表示这个需求实现起来不难,但是对用户来讲没什么太大的意义或者是给出其他相对简单的方案,这个时候,产品经理需要弄清楚缘由,如果真的是做不到,可以选择其他简单的方案(自己还是得懂技术啊!!!!!!)
|
总结:作为产品经理,应该观察会中的细节,适时的选择合理的处理方法
25-36.产品经理入门到精通(三)相关推荐
- 37-48.产品经理入门到精通(四)
37.需求评审中的"自杀式行为" 原因 解释 准备不充分 框架图.流程图.原型图&PRD都需要准备充分 ,一方面:材料是否准备齐全,另一方面:文档质量是否合格 过度妥协 研 ...
- 大话PM|产品经理入门概念通识
了解产品经理这一岗位已经很久了,但一直缺乏系统化的学习.很多时候对产品及产品经理的相关概念一知半解,边界意识也很模糊.所以本文以初学者的角度从 0 开始梳理产品经理的知识脉络. 以下为本文的主题结构: ...
- AI产品经理入门手册(下)
近两年来AI产业已然成为新的焦点和风口,各互联网巨头都在布局人工智能,不少互联网产品经理也开始考虑转型AI产品经理,本文作者也同样在转型中.本篇文章是通过一段时间的学习归纳总结整理而成,力图通过这篇文 ...
- 后台产品经理入门指南(下)
上篇指路-->后台产品经理入门指南(上),本篇继续介绍后台产品经理入门的剩余几章内容. 5.后台产品设计要点 6.分析复杂业务的几个思考维度 7.后台与中台的关系 8.后台产品的未来 05 后台 ...
- 产品经理入门概念通识
了解产品经理这一岗位已经很久了,但一直缺乏系统化的学习.很多时候对产品及产品经理的相关概念一知半解,边界意识也很模糊.所以本文以初学者的角度从 0 开始梳理产品经理的知识脉络 以下为本文的主题结构: ...
- 我的产品经理入门之路
从6月份开始,正式听说了产品经理PM(Product Manager)一词.同时,结合自身的特长,一方面我对做技术没有持之以恒的动力,另一方面我喜欢对各路产品各种需求琢磨钻研.因此,确定下来了自己今后 ...
- 产品经理入门_所以您想成为产品经理? 这就是我的入门方式。
产品经理入门 by Melanie Lei 由Melanie Lei 所以您想成为产品经理? 这就是我的入门方式. (So you want to be a product manager? This ...
- visio studio json工具_《产品经理入门指南》彩蛋2:别技淫原型图!你的Visio和Balsamiq Mockup入门了吗?...
温馨提示: 如果你有关于产品经理方面的任何问题,欢迎关注我的微信公众号与我互动.最新的免费系统的产品经理课程<老司机带你做产品>已经推出,请关注微信公众号:iamliuwenzhi 很多产 ...
- Kali Linux 从入门到精通(三)-入侵系统定制
Kali Linux 从入门到精通(三)-入侵系统定制 定制 网络配置 临时IP地址 dhclient eth0 ifconfig eth0 192.168.11/24 route add defau ...
最新文章
- VTK:图表之MutableDirectedGraphToDirectedGraph
- Question: Database Of Tumor Suppressors And/Or Oncogenes
- #3771. Triple(生成函数 + 容斥)
- 一步步编写操作系统 35 内存为何要分页
- html5白话解释,HTML5这个词到底是什么意思?
- swagger 扫描java文档_使用Javadocs生成Swagger文档
- jmeter 导出聚合报告_使用Jmeter聚合报告生成对比图表
- 叠箱子问题 之 动态规划
- php debug pit,start.php
- android多音字排序,再谈Contacts中姓氏多音字排序错误问题
- 【comsol快速入门】
- south的使用总结
- 搭建自己的知识体系 自我提升
- 虚拟机扩展(VMX)简介
- 【视频教程】帝国CMS制作网站系列教程14—标签模板及标签讲解
- 计算机打音乐两只老虎,两只老虎(音乐、汇编程序)
- 信号与系统学习笔记 第三章
- Oracle收集统计信息
- Python—基于Flask框架调用百度接口实现语音识别功能
- Fiddler Windows 汉化抓包工具
热门文章
- 03【Verilog实战】UART通信协议,半双工通信方式(附源码)
- 音乐播放时跳动的音符
- opencv之图像翻转、平移、缩放、旋转、仿射学习笔记
- android9是最新版本,Android9.0正式版发布,你的手机升级到主流Android8.0系
- 压缩为王-阿里第五届中间件复赛总结
- 前端校验还是后端校验
- 高等数学笔记:极限的性质总结
- android 自定义 snackbar,Android Study Material Design 五 之:自定义Toast以及玩转SnackBar...
- 动态规划——背包问题01背包
- android点击不灵敏,华为手机触摸屏没反应怎么办?解决手机触摸屏时灵时不灵的办法...