在做项目的过程中,基本所有的软件模块的业务,就围绕一个核心在转——
什么样的组织,经过何种流程(处理什么样的信息数据),做成什么事
组织:就是不同人员组成的。这里不同的人员,就会有不同的角色,而区分角色的原因就在于:权限不同,有不同的操作功能(现实中可做的事不同)。
流程:就是字面意思流程了,一系列操作。但是,流程在软件层面,往往会有个 信息数据作为载体。就像是现实中的请假,你要是想请假,需要先填写请假单(这个单据就是一个信息载体),然后再向你的主管进行申请,直到TA批复(或拒绝等权限操作)。这段过程,【发起请假】并填写请假单,【请主管批阅】,【主管操作】这就是个流程。
事:这里的事就是指要达成的目标了。像是上面的请假例子,你跟你主管,经过请假流程,就是为了确定 “你是否可以请假”。
在信息化产品中,想要体现一个业务,就是不同角色,经过不同功能操作,输出一定信息结果。
通常使用一个用例图,来说明一个软件的两点信息:1、是谁用软件(角色)。2、软件的功能(功能操作)。
权限:职能权利范围,对某事项进行决策的范围和程度。它常常用“具有批准……事项的权限”来进行表达。例如,具有批准预算外5000元以内的礼品费支出的权限。
功能:所具有的特定职能,可以带来什么功效。例如,列表展示功能,就是通过实现这项功能,可以让用户看到一个列表信息。
功能和权限有时是交织的,主要是因为 权限又分为
1.功能级权限 (你能不能干某件事)
2.资源权限(你所能操作的事物的范围限制)
比如,日常的绩效,普通员工具有查看绩效的功能,但是查看的范围可能只限制在TA自身。
功能级权限意思是你能不能干某件事。资源权限是指你所能操作的事物的范围限制。
对于功能权限,可以画一个类似下面的 交叉表,这样在开发或是测试,大家对逻辑都一目了然。
状态的控制,最好是用按钮的方式,尤其是那种有限状态的。 每个业务对象,当前的状态基本都是唯一的,不会出现既是A态又是B态的情况。