前言:本文根据我的产品思维模型(MVC技术架构),和你一起倒推一款CRM后台系统是如何设计的,咱们透过现象看本质,趣味无穷。

本文目录:

一、需求分析

1、CRM定义

2、需求背景

3、需求价值

二、系统拆解

1、表现层-功能清单

2、表现层-角色功能权限

3、业务层-流程图

4、数据层-信息结构图

一、需求分析

1、CRM定义

CRM即客户关系管理,是指企业用CRM技术来管理与客户之间的关系。在不同场合下,CRM可能是一个管理学术语,可能是一个软件系统。通常所指的CRM,指用计算机自动化分析销售、市场营销、客户服务以及应用等流程的软件系统。它的目标是通过提高客户的价值、满意度、赢利性和忠实度来缩减销售周期和销售成本、增加收入、寻找扩展业务所需的新的市场和渠道。CRM是选择和管理有价值客户及其关系的一种商业策略,CRM要求以客户为中心的企业文化来支持有效的市场营销、销售与服务流程。

2、需求背景

对于企业来说,最重要的莫过于是客户,而这些客户又分为不同的客户群体,例如小客户、大客户,有正在联系的客户、有即将联系的客户、有好久没联系的客户等等。而且这些客户有可能数据不同的行业,不同的区域。这时如何对这些客户进行有效的管理,进而为客户提供更优质的服务,提高售前售后的客户满意度,显得尤为重要。

3、需求价值

提升客户满意度

提高销售转化率

增强内部协作

降低管理成本

二、系统拆解

近日,销售易CRM高调宣布腾讯再度战略投资1.2亿美元,看清楚哈,是战略融资,实际多少,谁知道呢?出于好奇,总共体验了华强crm、销售易crm两款产品。此文以销售易crm为例,对crm系统一探究竟,如有分析不到位地方,还请相关同学拍砖指正。

1、表现层-功能清单

分析此软件系统前台、后台都有哪些功能菜单。

不想看表格,直接往下拉即可,但如果你真要做CRM系统,那我建议看看。

这里以其后台功能清单为例,仅供参考,请勿商用。

PS:复制粘贴着实累坏了我的老腰,其中几度想放弃,天知道我是为什么能坚持下来,你知道吗?

后台功能清单(考虑到系统过于庞大,只列一二级页面,三级页面细节请查看操作手册)
一级页面 二级页面 功能描述
用户和权限管理 数据权限多维度管理 默认情况下,系统为单一维度-部门维度进行权限控制,但也可以增加其他维度来控制数据
角色管理 角色用于控制用户查看数据的范围和通讯范围,可以根据员工的职能进行角色划分。销售易CRM系统默认提供了管理员、普通用户、经理用户和合作伙伴用户四类角色。
职能管理 职能用来控制用户可以使用哪些功能和业务对象以及各业务对象的哪些字段。设置完成后请在【部门和用户】中分配职能 
用户职级设置 在审批流程中,可以按照提交人的职级作为分支条件来判断具体走哪一条审批流程
部门/用户管理 部门/用户管理支持对内部部门、用户和外部部门、用户进行单独管理,内部部门、用户指企业内部的部门和用户,外部部门和用户指企业的合作伙伴。
助理设置 助理设置用于设置经理助理,可以将任何一个用户设置为经理,也可以为任何一个经理设置一个或多个助理。助理作为一种特殊的角色和职能存在,被设置为经理助理的用户与其经理具有相同的数据权限,但仅能查看数据,不能修改数据。 
流程用户组 用户组是一个不考虑用户的职位、角色、职能等因素,因某些原因将多个用户放到一起的用户小组。流程用户组指用户组被应用到工作流或者审批流的配置中。例如,在配置审批流时,某个审批节点需要一些人员一起审批,此时就可以将这些人员加到一个流程用户组中,在为该审批节点指定审批人时,可直接配置为该流程用户组,而不再需要单独添加每个人员
共享设置 共享设置主要用于设置共享规则,共享规则为用户在团队成员和部门维度数据权限之外提供了额外的数据访问能力。可以将特定数据所有人的记录或者符合某种条件的记录共享给目标用户。
公共组 公共组是一组用户和部门的集合。公共组的组成可以包括: 内部用户、外部用户、内部部门、外部部门和其他公共组。
公共组在共享设置中被引用。
标准业务对象管理 用户 本公司所有员工信息
部门 本公司所有员工的部门信息
客户 客户指与我方有业务往来的单位或个人,或已经解除较深的潜在销售对象,也可以是与我方有关系的其他企业实体。
联系人 联系人指客户企业中负责与我方进行业务联系的人。创建联系人前必须先创建客户,一个客户下可以建立多个联系人。通过联系人可以清楚地知道客户与我方的接口人是哪位,每位联系人又有哪些特点等。 
销售机会 通过建立销售机会可以使销售工作安排更加有针对性。销售经理可以根据销售机会所处阶段形成的销售漏斗,实时掌握所有项目所处的阶段,预测某时间段内的销售趋势或其他销售数据,从而提高跟单效率和赢率。
商机明细 商机明细可以细化并记录销售机会的具体内容,包括关联的产品清单、销售单价、数量、折扣等
联系人角色 在新建联系人时,可以为联系人赋予一个角色。在联系人关系图和商机作战地图中,可以通过颜色快速判断联系人的角色以及不同联系人之间的关系。
目前,联系人角色包括决策者、审批者、评估者和用户,管理员也可以根据不同的业务需求添加新的角色名称
市场活动 市场活动指某品牌主办或者参与的展览会议,包括自行主办的各类研讨会、客户交流会、演示会、新产品发布会、答谢会等。通过市场活动搜集到的、有利于公司产品推广的信息都可以被称之为线索。好的市场活动可以为公司带来大量的销售线索,如果筛选、跟进及时,线索就能很大程度地转化为销售机会,从而为企业带来盈利。
销售线索   在销售管理体系中,销售线索处于客户产生机会的最前端,一般由举办市场活动、网络信息、电话咨询、消费者访谈等多种方式获得销售的初级线索。销售人员会持续跟进和推动线索,到达成熟阶段后,销售线索会转化为销售机会,并经过几个阶段的谈判和沟通,最终与客户达成协议,并正式签订合同或订单
活动记录 活动记录功能通过全部活动记录、拜访签到和电话记录来统计销售人员的活动轨迹。根据活动记录的发布时间,销售经理可以统计在一段时间内,销售人员对业务的跟踪记录频次,客户的购买意向,以及业务是否还具有继续跟进的价值。各种记录会按照由近到远的时间顺序排列。
产品 产品是指能够供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物品、无形的服务、组织、观念或它们的组合。
产品选项 开通CPQ功能后,系统支持设置组合产品,产品选项即为组合产品的子产品。管理员可将多个产品选项配置到组合产品打包售卖。
产品功能 开通CPQ功能后,系统支持设置组合产品,产品选项即为组合产品的子产品。产品功能指产品所具有的特定职能,也是对产品选项的分类。
产品约束关系 组合产品下的每一个产品选项可能存在依赖或互斥的关系,产品经理或管理员,需要根据产品选项的不同情况,将依赖或互斥关系添加到组合产品中。
产品价格规则 产品价格规则属于CPQ的高阶功能,主要基于不同的规则组合,设置组合中的产品规则和价格规则。
例如买A赠B,产品规则需要用正向和反向的两种规则,来限制用户对于A产品的购买行为:
•正向:用户下单买A,订单明细中自动添加B产品。
•反向:用户取消购买A产品的订单 ,订单明细中会自动删除B产品。
价格规则会用来更改当前属于促销品的价格。促销品通常不会以正价出售,多数会设置一个临时价格。
以买A赠B为例,当用户下单购买了A产品,B产品作为赠品,单价必须为零。价格规则可以将B产品的价格暂时更改为零,但更改后的价格只在该规则组合中有效,并不会更改B产品本身的销售单价。
规则条件 规则条件决定了该产品价格规则需要满足的触发条件,触发条件会根据触发顺序依次触发。
以买A赠B为例,买A就是规则条件,并且条件顺序可以设置为1,而取消购买A也是规则条件,条件顺序可以设置为2。这样,系统就能够按照设置好的触发顺序,并根据用户的实际购买情况,自动触发对应的规则行为。
规则行为 规则行为决定了,当满足了某一个规则条件后,需要触发相应的哪一种行为。
默认的规则行为包括产品行为和价格行为,每一种行为都需要有对应的规则条件。当用户满足了某一个特定的规则条件后,才能够触发后续的规则行为。
以买A赠B为例,当用户满足了购买A产品这个规则条件后,赠送B产品可以被看作是一个产品行为,B产品作为赠品,价格必须为0,当前B产品的价格可以被看作是一个价格行为。
应收单 应收单是指一切单位和个人在购销商品、提供或接受服务以及从事其他经营活动中,所开具的业务凭证,也是债权成立的标志。
应收单明细 一个应收单可以包含多条应收单明细。应收单明细可以反映出应收单的具体内容,包括明细编号、应收单主表编号、关联的订单和订单明细的编号等。  
收款单 收款单主要是财务人员对结算单据的管理,包括收款单的录入和审核。收款单用来记录和证明企业所收到的客户款项,款项的种类包括应收款、预付款和其他费用等。收款单明细将与应收单明细进行核销。
收款单也可以用来记录一笔收款。当财务人员收到一笔货款,但又找不到对应的应收单时,可以先创建一张收款单,记录好付款的客户名称、金额和日期,然后通知销售人员或者渠道人员负责核销应收单。
收款单核销应收单可以规范收款业务、有效地管理企业之间现金债务关系,并且还可以帮助财务人员解决先收款后核销的业务场景。一个应收单明细可以关联多个收款单明细,多张收款单也可以核销一张应收单。
收款单能够与应收单和退款单的数据相关联,有效地帮助企业管理交易业务,并通过BI呈现收款数据,监控企业现金与债务数据。
系统提供了标准的收款单和收款单明细功能,当标准功能不能满足您的需求时,您可以在后台对收款单功能进行扩展。
收款单明细 收款单主要是财务人员对结算单据的管理,包括收款单的录入和审核。收款单用来记录和证明企业所收到的客户款项,款项的种类包括应收款、预付款和其他费用等。收款单明细将与应收单明细进行核销。
收款单也可以用来记录一笔收款。当财务人员收到一笔货款,但又找不到对应的应收单时,可以先创建一张收款单,记录好付款的客户名称、金额和日期,然后通知销售人员或者渠道人员负责核销应收单。
收款单核销应收单可以规范收款业务、有效地管理企业之间现金债务关系,并且还可以帮助财务人员解决先收款后核销的业务场景。一个应收单明细可以关联多个收款单明细,多张收款单也可以核销一张应收单。
收款单能够与应收单和退款单的数据相关联,有效地帮助企业管理交易业务,并通过BI呈现收款数据,监控企业现金与债务数据。
系统提供了标准的收款单和收款单明细功能,当标准功能不能满足您的需求时,您可以在后台对收款单功能进行扩展。
应收变更单 由于产品质量或者其他原因,客户申请了退款,财务人员会先做退款处理,将协商好的款项退回给客户。退款后,退款后应收余额会增加,相当于企业的应收账会增加,需要平账。如果未收款出应收,那么客户应收情况有变化,也需要变更应收来平账。
系统提供了标准的应收变更单和应收变更单明细功能,当标准功能不能满足您的需求时,您可以在后台对应收变更功能进行扩展。
····· 内容太多,实在受不了(差点连写这篇文章的动力都没了),无非就是当前系统中各种关键对象的信息可自定义配置
业务参数设定 客户信息回填 通过配置客户信息回填,销售人员在创建客户时,系统能够自动将客户在工商局注册的信息回填至对应的字段中,减少销售人员搜索信息的负担,提高数据的完整性和准确性。  
联系人角色 联系人角色可以通过不同的颜色来区分不同的角色。根据业务需要,可以在后台添加新的联系人角色。
NOTE 只有自定义的联系人角色允许编辑和删除,系统预置的角色名称不允许编辑和删除。
销售线索来源 销售人员在新建或编辑销售线索时,可以选择线索的来源,从而方便销售人员对线索来源渠道进行跟踪。
当销售线索转化为客户时,又同时创建了销售机会,那么该销售线索来源的数据会自动同步至销售机会的机会来源字段。
NOTE 所有的销售线索来源均支持编辑和删除。
通用选项集列表 当设置单选和多选类型字段时,需要添加多个选项,虽然可以为每个单选或者多选字段手动添加选项,但当不同对象需要使用相同的选项时,每个对象都要重新手动添加一次。显然这种方式降低了配置效率。通用选项集列表用于对通用的选项进行集中设置,当对象中的单选或者多选字段需要使用这些选项时,可以直接引用。
NOTE 1.销售易系统预置了部分常用的通用选项集,包括币种、系统通用选项(省市区)、行业通用选项和常用的业务通用选项。
2.系统预置的通用选项集(行业通用选项和系统通用选项(省市区))只能被单选字段引用,不能被多选字段引用。
全文检索设定 在销售易CRM系统中,用户可以通过页面中的全局搜索功能,查找需要的数据。全文检索设定用于设置用户在搜索数据时,可以查找的数据范围等。例如,控制用户不能搜索权限以外的数据。
查重设定 管理员可以在查重设定列表页查看系统中所有已经建立好的查重规则。
当销售人员在新建或导入客户、销售线索、销售机会等业务对象时,系统会开启查重校验。
销售预测设置 销售漏斗统计的规则制定方式
交易管理设置 交易管理设置包括自动生效设置和场景化设置。
线索池设置 销售线索公海池(简称:线索池)就是存放销售线索的公共池,用于管理公用的线索资源。销售人员可以从权限范围内的线索池中领取线索跟进,也可以由线索池的管理员分配给特定销售人员负责。对于已经有销售人员跟进的线索,系统可以在一定条件下自动回收到线索池,也可以由管理员手动回收。
线索池的目的是为了实现公司内线索资源的合理分配,同时促进销售人员对线索的跟进效率,从而提高公司资源利用效率。
线索池包含四项设置,分别为:线索池分组、线索池数量限制、自建线索回收规则和退回原因。
客户池设置 客户公海池就是存放客户信息的公共池,用于管理公用的客户资源。管理员通过在后台设置分配和回收规则,使客户信息得到充分的利用,实现资源的合理适化管理。
系统管理员可以在后台设置不同的分组,实现不同客户的分组管理。只有分组成员才可以查看该分组内的客户信息。
客户池包含四项设置,分别为:客户池分组、客户私池数量限制、自建客户回收规则和退回原因。
通讯管理 在销售易CRM系统的一些功能中,需要以短信或者电话的方式联系特定人员,在使用这些功能之前,需要先进行基本的呼叫中心及短信服务设置。
流程管理 流程自动化已经成为CRM系统或者其他企业系统中不可缺少的一部分,它不仅可以提高工作效率、还可以使相关人员及时了解业务进展等。在销售易CRM系统中,可以根据需要,自定义配置审批流程、工作流程以及在业务流程中需要执行的事件等。

2、表现层-角色功能权限

理清各个角色分别有什么功能

2.1、先搞清楚系统有哪些角色,以及角色在数据维度(默认是部门)中所对应的范围

此系统主要三类角色,管理员、普通用户、经理用户。新建用户后,默认角色和职能均为系统标准的 默认普通用户。若需更改,选中用户,点击“分配角色和职能”更换角色和职能。

经理用户:

普通用户:

2.2、再弄清楚当前角色到底有哪些功能

各角色前台功能:

各角色后台功能:

当然,如果是将来咱们自己要设计一款crm系统,可参考如下图角色-功能模板,将系统每个角色的所拥有的功能全部列举出来,告知项目组所有相关人员。

角色-功能模板:

系统功能

角色(1:拥有该功能;0:没有该功能)

功能划分

功能

子功能

默认管理员

默认普通用户

默认经理用户

前台功能

客户管理

客户列表

1

1

1

新建客户

1

1

1

修改客户

1

1

1

删除客户

1

1

1

查看客户详情

1

1

1

转移客户

1

1

1

合并客户

1

1

1

锁定客户

1

0

0

解锁客户

1

0

0

废弃客户

1

1

1

后台功能

用户管理

用户列表

1

1

1

新建用户

1

1

1

修改用户

1

1

1

删除用户

1

1

1

查看用户详情

1

1

1

导入

1

1

1

导出

1

1

1

目的很简单: 必须搞清楚此系统有哪些参与者,这些参与者都能在系统里做什么,都有什么功能。

3、业务层-流程图

描述多个角色参与,期间经过多个步骤,最终完成某项工作的过程

主干流程图:

整个流程基本分为五步:

1、公司举办或参加市场活动;

2、 销售人员或公司通过市场活动收集到大量销售线索,这些线索大多都比较粗糙,需要销售人员进一步跟进;同时,除了市场活动外,销售人员或公司也可能通过其他途径获得线索。因此,销售线索的来源渠道有两大类:市场活动、其他渠道。

3、销售人员在跟进线索后发现某些线索价值较高,对方可能是公司的潜在客户,于是将线索转为客户(同时添加客户的联系人),后续继续对客户进行跟进;同样,客户也可能不是从线索转化而来,有可能是销售人员或公司直接挖掘到有价值的客户。因此,客户来源渠道也有两大类: 销售线索转化而来、其他渠道。

4、 对客户的跟进中发现客户有购买需求,也就是产生了销售机会,销售人员对销售机会进一步跟进,推动机会从最初的接洽到最终的赢单(或输单),从而完成一个销售流程;

5、对某些公司来说,在销售机会赢单后还需要跟进合同或订单的信息以及回款情况,直到最终回款结束。

页面流程图:

这个其实是最好画的,打开系统(前台+后台),根据主干流程图,站在普通销售角度或者销售主管角度,将页面串联起来就可以啦!

功能流程图:

所有正向逆向流程,都要一一考虑清楚,每往下走一步,多问几个为什么,避免疏漏。

流程图建议按照:主干流程图-页面流程图-功能流程图的顺序从简到繁,研究一个系统,如果你是真的着手要做一个crm系统,那我建议完整的业务流程图你必须走完了解透。但是,像我这种,只是业余爱好,学术研究,那么将主干流程图了解清楚即可。

4、数据层-信息结构图

信息结构图,其实映射了数据库底层的表结构。任何一个系统底层无非就是N张表+表与表之间的关联关系构成。

如下图,销售易crm挺有意思,直接把部分数据底层做成可视化自定义编辑(详情加微信:chanpin628 索要CRM资料),真的很牛哦!

总结:

此类文章,我会以专题开展,刚好今天这篇是第一篇,有些不必要的细节真的浪费了很多时间,但实际上我想告知的是,如果你有一天真的要做CRM系统,那么必须得比我研究的更细致才行,这里我只是好奇,后面的文章尽量不再踩这类坑了,写着写着,几度怀疑人生几度想放弃,但为了想表达我对研究一款产品的态度,只能坚持撸下去了。文末的参考资料,加微信:chanpin628 回复关键词 crm 就可以拿到。

参考资料:

CRM客户管理系统.rp格式原型源文件

销售易 CRM 用户操作手册(WEB 端)

销售易CRM管理员操作手册(WEB端)

销售易 CRM 操作手册(APP 端)

华强CRM使用说明书

华强CRM专业版(单机版)

如果想获得CRM资料,可加微信:chanpin628 领取。

此外我们的官方网站也上线了,每日分享高质量的文章、原型素材和行业报告,小伙伴可自行前往索取,支持搜索,需要的小伙伴可点击底部的阅读原文直接查看,或者复制网址www.dadaghp.com 打开。

更多干货可关注微信公众号:产品刘

想学习更多关于产品、职场、心理、认知等干货,可长按右边二维码,关注我们。

··················END··················

RECOMMEND

推荐阅读

分享一个PRD文档

所有的面试问题都可以归结为这三类(附回答套路)

线下实战2.0

产品经理需要向上思考

点击“阅读原文”

查看更多干货

倒推后台系统_CRM客户管理系统相关推荐

  1. php 客户系统,php212客户管理系统

    技术实现 开发语言:php.模式:B/S.数据库:mysql.论文字数:1万左右. 功能实现 详细功能请直接下载视频观看.以下信息为大体的功能介绍: 客户管理系统中主要功能有: 1.营销管理:销售机会 ...

  2. 电商数字化解决方案趋势——订货商城系统+进销存财务系统+CRM客户管理系统

    PUSHmall 推贴数字化电商解决方案设计: 订货商城(线下线上交易)+进销存财务(管理支撑层面)+CRM客户管理(业务拓客推广) 所谓的数字化电商解决方案的设计不是一个功能模块的表现,而是重视渠道 ...

  3. SSH企业案例_CRM客户管理系统(一):SVNCRM注册页面

    文章目录 1.CRM综合练习 CRM的概述 2.SVN SVN概述 SVN的使用 安装SVN的服务器 安装SVN的客户端 使用SVN SVN权限设置(了解) 3.Eclipse的SVN的插件 安装Ec ...

  4. SSH企业案例_CRM客户管理系统(三):客户管理联系人管理

    文章目录 1.CRM综合练习:客户管理-保存客户上传客户资质图片 文件上传回顾 文件上传的代码实现 2.CRM综合练习:客户管理-删除客户 客户删除操作 3.CRM综合练习:客户管理-修改客户 客户的 ...

  5. SSH企业案例_CRM客户管理系统(六):Easyui列表展示

    文章目录 1.EasyUI EasyUI的概述 EasyUI的使用(入门) EasyUI布局 EasyUI分类 EasyUI选项卡 EasyUI数据表格(*****) EasyUI的窗口 1.Easy ...

  6. 客户资料搜索软件_手机自动拨号软件APP外呼系统 电脑拨号电话营销神器 CRM客户管理系统...

    随着呼叫中心新技术.新模式的发展,北京国炫通信推出专业智能电话销售营销外呼系统,手机自动拨号APP管理软件,手机与PC端呼叫中心系统形成数据交互,实现销售数据储存和客户信息及时推送,同时支持手机签到. ...

  7. 计算机毕业设计JavaWeb企业客户管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计JavaWeb企业客户管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计JavaWeb企业客户管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构 ...

  8. 客户资源信息管理后台/机构管理/信息管理/商机管理/产品管理/合同管理/日志管理/预约管理/任务清单/员工管理/资料库管理/统计分析/用户管理/售后日志/系统配置/crm客户管理系统/系统对接管理

    Axure作品介绍:客户资源信息管理后台/机构管理/信息管理/商机管理/产品管理/合同管理/日志管理/预约管理/任务清单/员工管理/资料库管理/统计分析/用户管理/售后日志/系统配置/crm客户管理系 ...

  9. javawebJAVAJSP客户关系管理系统jsp会员信息管理系统jsp客户管理系统jsp客户登记系统

    javawebJAVAJSP客户关系管理系统jsp会员信息管理系统jsp客户管理系统jsp客户登记系统 //用户首页return "views/user/user_list";}@ ...

最新文章

  1. Python控制结构总结
  2. Java 8 Stream Api 中的 skip 和 limit 操作
  3. BeautifulSoup库使用
  4. Object与equals
  5. c语言修改windows系统时间,c语言实现系统时间校正工具代码分享
  6. HashSet源码解析(最好先看HashMap的源码解析)
  7. java 修改 referer_看好你的门-客户端传数据-用java修改referer
  8. 【英语学习】【WOTD】links 释义/词源/示例
  9. 软工实践-第二次会议
  10. asp.net微软图表控件MsChart
  11. IOS开发基础知识--碎片14
  12. 尝试在RHEL6安装Wordpress —— 接触LAMP
  13. HustOJ 基础搭建教程
  14. Flow Prediction in Spatio-Temporal Networks Based on Multitask Deep Learning 学习笔记
  15. 抖音小程序支付开发流程和实现
  16. DT浪潮下,大数据在交通管理中的应用实践
  17. html progress标签的样式设置,progress后紧跟数字长度样式
  18. python自动轨迹绘制七边形_【高德地图API】从零开始学高德JS API(三)覆盖物
  19. 请简述final、finalize和finally的区别
  20. GameFrameWork框架(Unity3D)使用笔记(八) 实现场景加载进度条

热门文章

  1. 两个字符串组成tuple_史上最全python字符串操作指南
  2. 【数据库】Mysql删除重复记录只保留一条
  3. 为什么Python中称__lt__、__gt__等为“富比较”方法
  4. 牛客寒假算法基础集训营2 A处女座的签到题
  5. java第三课,流程控制语句
  6. 内存泄漏以及常见的解决方法
  7. WAF与IPS的区别总结
  8. Context 之我见
  9. Packet Tracer 5.0实验(四) 利用三层交换机实现VLAN间路由
  10. Sql Server RowNumber和表变量分页性能优化小计