物联网平台软件设计引发的感想

软件设计中往往存在的问题是多种多样的,而我们碰到这些问题的时候,怎么去处理,怎么去发现问题,怎么去调试问题,往往很多人不知道怎么入手。
而我们常常听到的软件开发需要解耦,需要注意性能,需要注意扩展。但是这些倒是什么?该怎么做才能做到这些呢?
我们从另一个角度去思考这些问题。互联网诞生之前,我们一般是怎么处理事情的?往往就是人工去处理事情,去整理事情,而一个公司在处理事情的时候,往往就会有各种规章制度,而这些制度往往是为了完成某种目标,而去制定相应的规则规范。从起初的规章制度制定(初案),到后期的完善的制度。都是在一段时间内,渐渐的完善,而且当前制度往往是相对合适当前情况,而当公司出现问题,则相应的规章制度就会进一步进行完善。而在软件的世界中,也是这样。项目初期建立的时候,往往是有个目标,为了这个目标,就需要根据当前的需求,进行设计与开发。但是在开发前期,需要考虑的事情有很多,因为技术的发展迅速而快捷,每天都有新的技术,但是这些技术是为了解决某种问题,或者是为了迎合某些开发人员。目的是为了更加快捷,更加方便的处理问题。但是,如果在发展到中后期的时候,往往会发现,总有一些不能满足要求的,于是新的语言,新的方式出现,但是这种方式只是为了满足该要求,又不能满足全部的要求。正所谓,世上没有完美的人与事。万物发展都有其规律,这种规律到底是神,还是上帝,不得而知。我们能做到是,基于现有的规律去做事。
在软件设计过程中,决定一个软件的未来,重要因素就是未知。
而未知这个词无论对哪个人来说,都是恐惧与兴奋的。因为未知,你得时刻准备着为它去迎接挑战。去考虑将来可能发生的事情,去思考怎么处理事情,去学习新的东西(新的知识不仅仅包括技术层面)。
在设计的是,我们一般可以以生活当中的例子与反向思考软件设计当中可能会碰到的问题。思考软件可能出错的位置,再辅以调试工具去达到问题定位的问题。说到这一步,有人可能会有疑惑,我们的生活和软件设计有什么关联性?程序是死的,是一系列的命令执行,都是按照人的设计去运作,我们怎么和生活中的事情去做关联?实际上在提出这个疑问的是,你实际上已经在按照生活当中的规律去思考这个问题了,原因在于程序是根据开发人员(普通人)的设计,项目需求方的要求,去做出来的一套规则化的化身。相当于是人创造了它,那么程序会犯的的错误,程序也会犯错。而软件不是一个人做出来的,那么在这一个软件当中,每个开发人员的一点小错误,或者说是已有的知识局限性,导致综合性的错误合并放大。最后变成洪荒猛兽。
当我们碰到一个bug(直接理解成问题更为合适)的时候,我们往往不知道为什么会碰到这样的问题,要么是底层的报错信息不明确,要么是自己的知识储备不够。但仔细想想,为什么会出现这样的问题,那是因为,程序或者说底层系统也是人设计出来的。
那问题发生了,怎么去找问题所在呢?
我们实际上可以从三个方面去思考,由浅入深。1.软件报错信息 2.底层系统原理 3.需求是否合理
如果按照这块去思考问题,一般都能找到解决方案。
那么在生活中,我们也会碰到这样或者那样的问题,怎么解决问题,找到问题,找到本质原因,这引起了我的思考。
 版权所有- 零欧物联(chhuean)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值