• 业务系统数据库设计经验总结(四)


      这是一个比较具体的场景,需求上有一些变化,但是我觉得这也是能够引发思考的一个实例。

      在系统中,管理人员需要定期对一段时间内的总收益进行各方分账处理,比如一段时间的总收益是1000元,总公司分多少,分公司分多少,门店又分多少......但是这个过程中,由于现实情况比较复杂,所以有一小部分门店只能由总公司对其进行线下转账。最终,财务人员转账之后,在系统中录入结果,转账成功还是转账失败。

      如果是线上的分账那肯定是系统来保证整个过程的运行,并记录这个过程的日志。但是线下,单纯由财务人员录入结果,其实是这个系统不可控的,因为财务人员是否转账了,成功还是失败了,这些都不知道。就算财务人员将结果录入系统,这个数据也并不可靠,最终的依据还是系统线上处理的部分,以及真实线下处理的账目。

      从这个角度说,除非是做一个线下处理结果录入子系统,各种证明,流程都要考虑在内,否则这个数据对于系统就是无效的。所以,如果是只让财务录入结果的话,和直接标记为该账目是线下处理的效果相同。

    ------------------------------------------------------------------------------

      以上处理方式,我觉得可以引发对于系统设计的一些思考。在做系统时,得想想哪些业务是做了没什么用的,哪些业务是做了确实有效的。软件系统做出来是要解决问题的工具,但像上述这种业务流程如果真的做出来,线下处理了有可能系统中没有记录,线下没有处理成功的也有可能系统中又显示记录成功了,可能还会引发一系列的麻烦。这就不是软件设计的本意了。

  • 相关阅读:
    火狐浏览器推荐插件原创
    vue转义字符转换成普通字符
    vue中关于插槽的使用
    vue调取摄像头的方法(可以直接使用)
    vue调用andriod方法
    vue中格式化时间戳(可直接使用)
    vue关于$router的使用
    轻松了解Spring中的控制反转和依赖注入(二)
    更加优雅地配置Spring Securiy(使用Java配置和注解)
    更加优雅地搭建SSH框架(使用java配置)
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/15180430.html
Copyright © 2020-2023  润新知