不埋坑,不踩坑(软件设计篇)

来源:互联网 发布:乃木坂网络直播电视剧 编辑:程序博客网 时间:2024/05/16 16:05

最近公众号没有更新,其实不是小编懈怠了,一方面工作比较忙碌,另一方面也不知道写些什么。最近在做产品设计,数据库设计的时候,时而有一些感触,简单整理一下。

先来讲一个案例:

产品中,物流公司可以发布货源,数据库中记录了货源的发布时间publishTime,司机来进行抢单。但是物流公司发出的货源,当天不一定有司机来抢单,达成运单交易。于是给物流公司增加了一个重新发布货源的功能。简单来说就是修改货源的publishTime,让自己的运单刷新一下,显示在前面。

这个设计,并有什么问题,但是最近新增了一个报表统计的功能,统计一下每天,每月的发货量。任务分配给A同学,A同学说简单啊,就按发布时间统计就行了,很快统计功能上线了。市场的B同学每天要在下班的时候,统计一下每天发了多少货源,报告给老板。N天之后,老板偶尔看到这个统计图。额!最近一周的统计结果怎么跟市场汇报的有这么大的出入呢?问题出在哪里?马上解决一下。小编向来都是专业的消防员,马上进行分析,问清楚了重新发布功能的设计原理,恍然大悟。发布时间是可变的,那么统计结果当前是变化的。

其实最初在进行产品设计,数据库设计的时候,并没有什么问题,只是一般人想不到后来会影响到统计功能,为后人埋下了一个地雷。

案例讲完了。最近产品经常迭代,原因有很多,市场在变化,老板在摇摆。APP迭代麻烦的是还要考虑版本兼容问题。保证新旧版本都可以正常使用,这是一个很头疼的问题。
A同学又说了:为啥老迭代啊,一次做好不行吗?(NM,诸葛亮在世也不能事事考虑周全啊!)
B同学又说了:为啥要进行版本兼容啊?让用户升级好了!
小编又说了:产品设计,很多时候就是在为难自己,方便用户!每次都让用户升级,对软件设计和开发人员来说是简单了,但是用户不乐意了,我为啥每次都要浪费自己的流量升级。我就不升级,如果不能正常使用,就是你们的软件垃圾,我换一家就是了。

软件设计真的是一门很深的学问,在遵守原则的基础上,考虑扩展性,兼容性,分分钟让你头痛。另外一个头痛的事情是小编设计一版详细设计,数据库设计,流程设计,领导又觉得不满意。然后在会议中跟领导各种争执,谁都不能说服对方,争来争去没个结果。最后,各自退一步,求个折中的方案。软件设计就是这样,横看成岭侧成峰,每个人想问题的角度不同,有时候不存在谁对谁错,求个大家都觉得可行的方案就行。

小小的感慨一发,希望在软件设计之路上的同学们,能少埋几个坑,让别人少踩几个坑,足矣!

8 0
原创粉丝点击