用户系统设计
对于一个较大的系统,往往可以拆分成多端,如管理端、公司端、个人端,这便是很多SaaS系统的架构。
对于PinPoint项目,我们在用户模块设计上遇到了一些困扰,方案进行几次变更。主要原因是,由于界面展示上只有一个站点,导致我们前期忽略了对整个系统的分析,没有进行系统拆分。
经验
不要被前端样式迷惑,对于一个系统,我们总是要首先对它进行端的拆分,然后在进行每一端的设计。
系统拆分
- System End
- Organization End
- Individual End
各端用户
System User
PinPoint端管理人员。拥有整个系统的所有权限。
Organization User
PinPoint客户机构负责人。拥有机构下的所有权限。
Individual User
PinPoint客户机构下属成员。默认无任何权限,可由System User 或所属机构的Organization User激活登录状态,激活后拥有 机构下Event发起权限。
关于数据库设计Tips
- 对于重构版本而言,有时数据表的设计很难在最优设计和兼容现有数据结构上达到一个理想 的结果。经过讨论,当出现此冲突时,还是应该着重于现有数据库的一个更优设计。