处女作—关于系统基础设计问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了处女作—关于系统基础设计问题相关的知识,希望对你有一定的参考价值。
背景
最近因为公司要新做HR系统,也因为比较赶时间,所以工资这一块打算到二期再做,一期,主要的工作是把HR的人员调动和人员信息以及一些基本的流程给完善好。之前公司是在外面买了一个HR系统,这个系统设计的比较大的缺点是:一个人,不能有多个岗位,也不能有多个角色,更没法指定哪个是某个部门的负责人,只能以他的岗位是“负责人”来区分他是这个部门的负责人,之前在做权限系统的时候,因为人员的问题,花了好长的时间进去。今天我们主要讲的还是人员基础信息的问题。
需求
首先,现已在运行的系统,所有数据均是以账户(以下称工号)和部门信息挂钩。新做的权限系统,所有的人员、部门、岗位、角色等基础信息都是以前的旧系统HR通过作业定时同步过来的。现在由于新区域入场的关系,人员的调动非常频繁,所以公司提出了这样的需求:当人员调动后,会涉及一个人负责多个部门,一个人所属多个部门,一个人会有多个岗位,一个人有多个角色。这还不是关键,关键的是:甲负责A负责,当乙来接手的时候,可以看到甲之前所有的经过他的各类数据(流程、任务、公文、经营数据、文档),只要是以前经过甲的,乙来后,就要看到所有之前他的数据。现在,N多数据我们都是以工号来进行关联的,如:丁发起了一个流程,到甲审批。这些类别的数据,都是以具体的工号来实现。现在的情况是乙来了,就要知道甲之前审批的流程。工作任务也是如此。所以很多的场景就没法实现。
问题
要实现这些,以前系统所做的东西,就得重新来,数据不能只是以工号进行关联,就得多出一个附带信息:岗位。
岗位:如果一个岗位有N个人,那又如何知道N在个在一个岗位上是如何表现的呢,新来的人是接手别人的工作,还是新分出一个岗位的分信息出来呢,如:一个部门有两个主管,现在如果有个主管升职了,新来一个主管是接替他的岗位的,那他能看到的数据信息,就是以前的主管看到的所有信息;但如果是部门原有两个主管,现在又来一个主管,那么问题就来了,这个人的数据应该是全新的数据了,还是也能看到别主管的信息呢。
岗位接替
接替这个岗位的工作,会看到之前所属这个岗位的所有信息,这里,可能会涉及一些责任问题,如:这个任务是上个人未完成的,来接手他的工作,但不帮他接替他遗留的考核问题。所以,既要知道有这个事,又能明确是谁的责任。所以,只用岗位来无法满足,还得用工号来区分具体人员。
岗位新增人员
对于新增加的人,要接收到这个岗位的任务,又要看到这个岗位所能看到的数据,他所产生的数据,就是这同岗位的人的新数据
对于这样的需要求,如何去设计好这个系统的基础信息,并且还要考虑到以前系统的问题。
以工作任务为例:
当任务发起人,发起一个任务时,执行人应该是以什么样的状态去接收这个任务,他发起的执行人是否是选择执行的岗位,而不是具体的执行人呢。
如果选择是岗位,那么执行人只要是这些岗位的人,都会收到一条任务。有个执行人岗位变动(或是离职)了,有一个新的人来接替,新人来了,我又如何让系统自动知道这要为这个人生成一条新的执行任务的数据呢?
他又如何能看到这条任务,如何知道新来的人是来接替谁,又以什么样的条件来给他展示这条任务的执行情况。他个人执行的进度。
一要保留原来执行人的执行信息,又要让新来的人,来继续接手这个任务做下去。
如果是岗位新增加人员,只需要给他一条新的数据就好了,这条新数据,又如何去触发它生成呢?
一个模块已是这样,又如何关联到别的系统,别的模块呢?
如何去设计这个基础模块,以及后台别的系统,别的模块的数据如何存储,希望能集思广益,得到指点。
后续问题
假如真的设计出来了,对于已上线的系统和各模块,又如何去更新呢?数据的接收方便是不是都会变动了呢。
以上是关于处女作—关于系统基础设计问题的主要内容,如果未能解决你的问题,请参考以下文章
极客DIY开源方案分享——智能家居你也可以做,何不DIY个自动窗帘升降控制系统?(纪念我的职业生涯处女作曾获校赛一等奖作品上古汇编语言编程)
极客DIY开源方案分享——智能家居你也可以做,何不DIY个自动窗帘升降控制系统?(纪念我的职业生涯处女作曾获校赛一等奖作品上古汇编语言编程)