zoukankan      html  css  js  c++  java
  • 业务系统数据库设计经验总结(四)

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

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

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

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

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

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

  • 相关阅读:
    “无法更新EntitySet“*****”,因为它有一个DefiningQuery,而元素中没有支持当前操作的元素”问题的解决方法
    Web.Config全攻略
    C#常用的正则
    Asp.Net MVC2 Json
    webservice+Jquery返回Json格式【原创】
    JAVA线程池介绍以及简单实例
    从程序员到项目经理(17):你不是一个人在战斗思维一换天地宽
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    多表对应更新(跨服务器).sql
    sql导出excel.sql
  • 原文地址:https://www.cnblogs.com/bruceChan0018/p/15180430.html
Copyright © 2011-2022 走看看