这几天遇到用户提出的一个新需求,要求在现有系统的基础上增加一种新的销售模式,其实也算不上新的销售模式,

只不过是由于收货方式有点区别,要在以前的价格基础上做订单时有个调整即可。但是做这种单据可以有几种方式,其中

一种是有采购入库单直接生成的销售出库单,写设计方案时,我就发现了一个头痛的问题,目前系统已经将销售模式写死

了,比如SaleType(1表示正常销售,2表示调拨销售,3表示分销,4表示。。。)。本来这次的需求也属于正常销售的

一种,只是要稍加区别即可。但是现在目前系统在不增加字段或者不进行大修改的情况下相当困难。因为很多系统很多关

联地方都将SaleType写死了,特别是很多报表,对于一个线上系统而言,这样改一番工作量大不说,还有很大的风险。

假如当初将SaleType的设置这样多好啊,比如1--10表示正常销售,11--20表示调拨销售,21--30表示分销,依次划分下

去,我们在系统里写逻辑判断时也用范围判断,比如判断正常销售用1<SaleType<11来判断,当然也可以将范围放得更

宽些,比如1--20表示正常销售。这样的话以后要追加一些新的需求就会方便很多,不需要我们在去加字段,或者对代码

进行很多修改了。所以这次的需求的追加让我意识到了设计时,我们要多考虑些未来可预见发展的需要,当然也要避免

过度设计。如果在项目设计阶段,大家都形成这种共识,以后维护升级也会方便很多。但是更改也是不可避免的,因为

没有哪一个软件系统上线后就不需要变更一种用到最后终结的,如果真是这样的话,我们做IT的恐怕都面临着做完项目就

失业的风险了,呵呵。

切身体会设计系统时的前瞻性问题相关推荐

  1. 请设计各种管理系统、业务系统的大哥大姐们,设计新系统时,拜托您,请允许我修改用户名、密码...

    大概在2-3年前,我在宁波最大的一家IT公司工作,我们公司日常开发人员经常会使用的系统有很多,夸张的 说接近10个吧,有些是自己公司开发的,有些是成熟的商品化软件,这些系统又由不同的维护人员维护,新员 ...

  2. figma设计_Figma中简单,可重复使用的设计系统

    figma设计 Putting together a design system may seem like an unnecessary hassle. It's often easier to j ...

  3. 微信公众号无需二次登录_您无需两次解决问题-您需要一个设计系统

    微信公众号无需二次登录 重点 (Top highlight) The design system concept can be differently defined according to eac ...

  4. 图书漂流系统的设计和研究_研究在设计系统中的作用

    图书漂流系统的设计和研究 Having spent the past 8 months of my academic career working co-ops and internships in ...

  5. 基于正点原子触摸屏ui设计_基于黄金比例ui%C9%B8的设计系统

    基于正点原子触摸屏ui设计 定义ɸ (Defining ɸ) The golden number, or "phi" in reference to the sculptor Ph ...

  6. 精益生产表格_一个精益设计系统,我们如何构建表格套件

    精益生产表格 重点 (Top highlight) When I first joined TableCheck and we discussed having a new design system ...

  7. 系统怎么设计usb启动_在启动中启动设计系统

    系统怎么设计usb启动 重点 (Top highlight) Design systems are all the rage now and you've probably seen this ter ...

  8. 分布式系统设计和开发_计划,设计和开发设计系统

    分布式系统设计和开发 Here is a topic discussed in every company: communication between departments. 这是每个公司讨论的主 ...

  9. 安全性和保密性设计---系统的安全性设计

    系统的安全性设计 要设计一个安全的系统,除了要了解一些前面讲到的常用的保护手段和技术措施外,还要对系统中可能出现的安全问题或存在的安全隐患有充分的认识,这样才能对系统的安全作有针对性的设计和强化,即& ...

最新文章

  1. Oracle 技术支持之现场优化的思维路径
  2. android 图片绑定按钮,Android编程实现给Button添加图片和文字的方法
  3. Python入门100题 | 第056题
  4. 因为 Java 和 Php 在获取客户端 cookie 方式不同引发的 bug
  5. ubuntu14.04下mysql数据库的默认存放路径并修改
  6. python list(str(x:str)) -> List
  7. boost::convert模块实现lexical_cast的测试程序
  8. 青云SDN/NFV2.0架构剖析
  9. 接受数据,table列表,外加判断
  10. 按键映射_第三章 中文注释及按键相关
  11. spark-on-yarn日志配置
  12. qt designer 自定义插件找不到指定的模块_SpringBoot之spring-boot-load模块
  13. win98 老电脑 文件导出_首次装电脑之前何不先模拟一番,这款练手神器可以帮你...
  14. 火炬之光使用了哪些技术
  15. 与 C++11 多线程相关的头文件
  16. SQLServer 2012重启服务后,自增1的标识列一次增长了1000左右
  17. php 计算今天周几,php如何计算当前日期是周几
  18. SHR之员工合同解除
  19. 【无标题】汇编实验-学生成绩管理系统
  20. python写文件字母_Python - 文件读写

热门文章

  1. 华文慕课北大陆俊林计算机组成原理第十章课后习题解析
  2. PowerMIL二次开发外挂制作视频教程-易语言编程15.7小时
  3. 12.6 项目:更新一个电子表格
  4. 游戏制作之路(56)模拟水
  5. Discuz!应用中心安装插件保存数据下载错误(105/102/103)的解决思路
  6. 未经安全处理退出使用计算机,将未经安全技术处理的退出使用的涉密计算机、涉密存储设备()或者改作其他用途的。依法给予处分; - 普法考试题库问答...
  7. 【erlang】【rebar依赖】添加protobuff(gpb)依赖
  8. 餐饮行业移动管理系统—Pad点餐系统
  9. 暴风酷播云二期配置_暴风酷播云N3160版硬件折解及安装Proxmox VE-服务器虚拟化系统教程...
  10. python的运算符号使等式成立_那些年被我坑过的Python——不得不知(第二章)