案例 | 作为产品经理,我是这样设计业务系统的

14 评论 53021 浏览 344 收藏 17 分钟

蓦然回首,从事产品经理差不多一年光景,期间曾作为产品负责人完成了两个业务平台的整体规划工作。因此总结两个项目的经验,希望能起到抛砖的作用。

业务系统的本质需求是满足前台维护或工作需要,因此,严谨的业务流程实现和较少的操作步骤,是业务系统应该具备的基本特点。

完整的业务系统,应该涵盖如下内容:

QQ截图20160707222647

由于业务系统本身是为满足用户的工作需要,因此用户管理、权限分配、工作流毫无疑问占据核心地位。

与前端产品不同,业务系统往往基于复杂的数据流和业务逻辑,这就要求产品经理提供详细完整的业务流程图和PRD。接下来作者就一些常见模块设计做简要说明,有纰漏之处还请各位大牛批评指正。

1.用户管理

平台的设计最终是为了服务于用户。

 1.1用户登录名

业务系统不同于社交APP和论坛,用户名往往是严肃准确的。而由于用户同名的几率太大,使用姓名作为登录名显然是不太合适的,常见的业务系统或后台登录名如下:

姓名(拼音)+编号:如zhangsan,zhangsan1;

  • 优点:用户名命名规则简单,完全避免了同名问题;
  • 缺点:命名需自动生成或由管理员负责,行政领导使用时可能不合适;

身份证号:

  • 优点:完全杜绝重复,用户名较严肃;
  • 缺点:若用户年龄群体较大,记忆和输入身份证号不利于提高用体验;

手机号码:

  • 优点:便于记忆;
  • 缺点:手机号更换较麻烦,不适用于较严肃的业务系统;

工号/单位内个人编号:

  • 优点:严肃、避免重复;
  • 缺点:记忆不便、适用范围较窄(不适用于无工号的单位);

除此之外,其余能够标记用户唯一性的方式均可使用,但应严谨、严肃,不宜出现个性化因素,如昵称等。

 1.2用户来源

常见的业务系统用户往往来源于管理员主动添加。在用户较多且不便导入或其他使用者特殊需求情况下,可能存在用户自行注册的情况。

  • 由管理员添加:较常见。管理员添加用户并为用户关联权限信息,此时用户即可正常使用系统;
  • 用户自行注册:用户注册可能存在冒名顶替现象,需身份验证环节。验证审核与授权工作在交互上可同时完成。

 1.3用户安全

业务系统涉及到使用者业务流程、重要数据等,因此对安全要求较高,除常见的密码、验证码等方式之外,有可能借助其他加密方式,如UKEY、数字证书等。

2.权限管理

权限管理决定了哪些用户可以使用什么功能,完成什么操作,对什么数据进行操作,是业务系统中的重中之重。

 2.1功能权限

功能权限决定了用户能看到多少菜单,能访问哪个页面,能操作哪些按钮。业务系统的权限往往能够精确到页面中甚至弹窗中的按钮,而普通的内容后台则往往不需要多此一举。

常见的功能权限的控制主要有以下几类:

  2.1.1角色控制

角色是功能权限的集合。之所以放在第一个,是因为该方法是在业务系统中最常见的、操作简便的功能权限控制方式。

实际应用中,引入角色概念,建立某个角色,并关联若干功能点。此时将角色关联到用户下,即可赋予该用户不同角色权限的并集。

角色是功能的集合

角色权限控制适用于使用者权限具有典型性、普遍性的状况,可以避免重复对具体功能权限进行重复操作,能极大提高管理员效率。因此,在部门、岗位划分明确的状况下一般使用该方式。

  2.1.2岗位控制

岗位控制的前提是存在明确组织结构管理,并通过相应的岗位与员工一一对应。岗位本质上与角色一样是功能权限的集合。

通常情况下,岗位管理属于人事管理范畴而非系统管理,因此通过岗位关联权限的做法,在系统内存在人事模块时,会混淆人事管理和系统管理的概念。

  2.1.3直接关联

对于单位内人员较少,人员分工较不明确的单位,也存在将人员直接关联功能权限的设计。该做法仅仅适用于较小范围内、不同人员权限差异较大的情况下使用。

  2.1.4跨单位功能权限

跨单位功能权限多用于存在较多分公司、事业部、分支机构、下属单位等情况的大型业务平台。不同单位的功能权限有所区别。

这就要求存在一个超越所有单位的超级管理员,对不同单位授权以作为单位的最大权限。各单位管理员基于单位权限对单位内用户进行权限分配。

常见的跨单位功能权限处理方式如下:

  • 引入单位角色概念:首先由超级管理员建立单位角色,将单位关联角色。此时,单位基于单位角色作为单位的最大权限,对用户进行详细的权限划分;
  • 使用单位类型区别单位的功能权限:与单位角色在授权方式上并无本质区别,但单位类型可能作为单位查询的统计口径之一,未必能够完全兼顾权限,灵活度较差;
  • 将单位直接关联功能权限:简单粗暴,灵活性较强,适用于单位较少的情况。

 2.2数据权限

数据权限决定了不同用户在同一页面上能够看到的数据的不同,能看哪些数据,不能看哪些数。在部门或不同单位职权划分明确、或者不同性质单位使用同一系统时,数据权限的区分至关重要。

数据权限与功能权限共同组成系统的权限控制,是业务系统不可或缺的一部分。

  2.2.1单位数据权限

同功能权限一样,数据权限首先要定义单位的最大数据权限:

通过单位类型限制:适用于存在多种类型单位的大型平台使用。不同类型的单位需要使用到的数据不同,因此使用单位类型进行限制是较合理的方式;

通过权限级别限制:适用于存在多级别单位的平台,通常与单位类型控制混合使用。例如县级行政单位使用本县所有数据,市级行政单位则使用本是区域内(市直单位、县区)的所有数据;

  2.2.2用户数据权限

单位数据权限确定之后,就要为不同用户分配权限,不同级别、不同部门、不同岗位的用户需要使用的数据往往是不同的。而对用户限制数据,通常与权限控制类似:

部门/岗位/角色控制:不同部门、岗位、角色分工不同,数据权限自然不同。例:业务部门1与业务部门2的数据权限均为由本部门人员产生的数据;

通过功能权限控制:该方式对数据权限的控制粗糙但简单。有页面功能权限的用户默认为看到该页面展现的所有数据(能否操作数据由按钮的功能权限控制)。适合分工较明确的场景下使用。

3.工作流管理

工作流是业务系统的灵魂所在,是实际业务流程在系统中的反映。根据实际业务中的不同需要,工作流存在自定义工作流和固定工作流两种状况。

而无论是自定义还是固定工作流,理清业务流程,绘制业务流程图是非常重要的,而在业务流程图中,泳道图是最为常用的。

QQ截图20160708142301

 3.1自定义工作流

满足同一业务需求:常见的诸如请假、财务等OA流程等。此时自定义工作流主要定义发起人(发起角色)、工作流节点、工作流节点条件等内容。该情形主要适用于同一单位内部存在较多上下级流程的需求,拥有相应权限的用户可对不同流程节点的参与人员/角色进行定义;

自定义工作流适合不同使用单位下,相同业务流程有差异的情况,如系统中存在单位A和单位B,单位A的请假审核流程为员工—部门经理—总监—人事,而单位B的审核流程为员工—部门经理—人事;

自定义工作流的各个节点视情况可精确到岗位、角色、用户等;

 3.2固定工作流

固定工作流并非一成不变,其本质是通过控制功能权限和数据权限来控制工作流中的节点。该方式适用于平台内业务流程较稳定、较统一的情况。为详细阐述,下面举例说明:

例:假设系统中存在业务A,A业务流程如下:县级子公司——市级子公司——省级总公司部门A——省级供公司部门B。假定该业务流程非常稳定,则可将工作流固定,由不同区域的子公司甲和子公司乙发起的业务均使用该流程。

4.数据处理

数据处理是为管理人员提供决策支持、单位对外展示的重要依据。

 4.1数据可视化

数据可视化能够明确表达数据间变量和属性的关系,是数据分析中不可或缺的方式。应选用合适的统计图对有重要作用的数据进行分析(统计图在web中有很多可以直接拿来用的插件,可以减少前端的工作量,如E-Charts、Highcharts等)。

111

4 .2数据勾稽(逻辑)关系

数据勾稽关系常见于报表系统、财务系统等,适用于表达表格间不同行、列或多表格间的关系。

勾稽关系由需求决定,目标明确而单一。表达勾稽关系要求PM在PRD中明确表现出来,一般使用对表格中不同的行、列赋名,以公式的形式表示。

例:(以某功能PRD为例)

3

5.系统首页

业务系统的首页设计应遵循实用、简洁的原则。

常见的首页组成元素通常包括快捷方式、数据分析、待办事项、通知公告等,部分有个性化需求的首页往往可以对首页元素进行自定义。

自定义首页元素可分为后台自定义和用户自定义。为便于自定义元素的排版,自定义的各个元素大小应保持一致。

6.消息发送

业务系统中消息发送作为用户与用户、单位与单位之间交流的重要方式。

消息发送主要考虑到发送主体、接受范围、可见范围、附件上传、已读未读标记、消息记录等要素。

7.操作记录

操作记录用来记录用户的操作轨迹,即对用户的登录退出、数据变更、数据访问、操作内容(必要记录如财务等可详细到从A变更为B)、操作人、操作时间等。

记录用户的操作轨迹是出现问题后追责的重要依据,是业务系统和后台系统的标配。

8.交互案例

上面谈了一系列业务系统的简单设计逻辑,但最终还是要落实到原型上。该模块主要体现的是用户体验层级中的框架层。一些复杂业务流程的交互和页面布局往往比较复杂。笔者总结项目经验,对部分典型交互做简单解释。

 8.1审核流程状态

层级审核流程中,为用户标记出完整流程并指示用户当前所在流程的状态,能在很大程度上提高用户体验;

 8.2存在多层级数据

如按照行政区域进行划分的数据等,使用树的形式展现是较为清晰的模式,而若数据存在审核操作,则在树中以颜色的形式标示出审核状态,使数据状态一目了然。

 8.3复杂数据录入

复杂数据录入时用户往往因繁杂的录入框而手忙脚乱,因此,复杂数据录入时有必要为用户分门别类,以清爽、有序的方式展示给用户:

  • 按类别将输入内容分门别类;
  • 分步骤有序填写;
  • 复杂表格内容在表格中直接填写;

 8.4硬件控制

硬件控制主要侧重于工控方面,清晰的控制按钮与状态反馈非常重要:

使用按钮操作硬件,尤其是硬件个数较多时,需要给用户清晰展示出按钮的作用;

5555

用户通过网页或APP内的按钮控制某硬件设备,往往会存在“我是否成功操作”的疑问,因此需要在用户操作之后及时给予反馈。

33333

 8.5数据展示

数据展示合理使用图表,对于提高数据直观性,明确表达数据之间的变量的关系具有重要作用。而对于既需要分析数据变量,又需要展示数据详情的需求,则可以使用图表+列表的形式展现。

QQ截图20160708150524

9.总结

业务系统为满足业务需要而产生,产品目标明确单一。但分析深藏在业务需求表面的潜在核心需求同样非常重要。使用户操作形成完整的闭环,以较少的、符合用户习惯的操作实现业务需求,并有效控制开发成本的设计,就是合理的设计。

 

作者:张骞(微信号zhangqian9208),开创集团产品经理。一年产品工作经验。

本文由 @张骞 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. ;-)写的笔记全面了,老司机走心的文章,真的很棒
    想要加入人人产品经理官方微信群,可以加我微信:qdxyCoco 备注:微信群
    忘记备注的同学,可以直接给Coco发送:微信群

    来自广东 回复
  2. 写的很棒。

    来自广东 回复
  3. 前辈,您好~~~
    看了文章学到了不少业务系统设计的经验,但是有一个疑问,针对不同权限的用户,界面怎么设计?比如同一块内容或者按钮,有的可见,有的不可见,那界面设计的时候需要进行区分设计?这样会不会造成界面整体设计杂乱,页面布局难度也会很大?
    谢谢您的解答!

    来自上海 回复
    1. 一般情况下都是使用同一个页面,导航栏比较简单,没有该功能的就隐藏掉,页面中的按钮,可以按照优先级排列,比如新增修改删除放在最前面,一般都会有这些,审核往后放,这样最小程度影响页面布局。首页的话可以用相同大小的DIV,没有的隐藏掉不会影响整体布局。如果是区别较大的页面,比如某些群体的特殊需求,可以单开首页,但是这种情况非常少见

      来自山东 回复
  4. 不错的东西。再来些prd看看,和原型看看就更棒啦😄

    回复
  5. 已经被坑了,来好好学习一下

    来自广东 回复
  6. en

    来自北京 回复
  7. 实用、有共鸣,顶

    来自北京 回复
  8. 跨单位权限实际可通过功能和数据权限结合实现

    来自山东 回复
    1. 对,条条大路通罗马。使用单位类型或者单位角色其实是把单位统计和权限结合了

      来自山东 回复
    2. 楼主 我没太看懂单位角色和单位数据权限的概念 比较疑惑数据权限设计那块 功能权限大概知道 通过角色权限的分配实现用户权限的设置 但是对于用户如何实现数据权限的控制呢 所属部门可能是一方面 也和所属角色挂钩吗 角色是为了功能权限设置的

      来自上海 回复
  9. 😛

    来自广东 回复
  10. 好文章~~~最近重点转入业务平台,也遇到类似问题,感谢分享

    来自广东 回复
    1. 共同学习!

      来自山东 回复