概述
物联网软件开发是个雷区。市场需要高质量、具有可扩展性、强大、安全且人性化的解决方案,为了将所有风险都考虑在内,物联网开发团队必须重新评估程序和工作流程。本文列出了物联网软件开发项目所面临的七大挑战。
作者 | ELIFTECH
译者 | 弯月
责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
以下为译文:
近来,相信物联网(IoT)改变各行各业、业务流程和软件开发等的说法已经让大家的耳朵起了老茧。所有人都预测联网设备将占据市场,产生良好的投资回报,消费者会很高兴,而且这些业务的发展也会非常迅猛。
然而,大家都忽略了一点:现如今物联网软件开发实际上是一个雷区。市场需要高质量、具有可扩展性、强大、安全且人性化的解决方案,为了将所有风险都考虑在内,物联网开发团队必须重新评估程序和工作流程。等等,在物联网项目的背景中重新评估意味着什么?
物联网软件开发仍有很多问题有待解决。物联网公司应该注意他们以前没有考虑到的细节。
物联网开发人员所面临的难题
在旺盛的需求的刺激下,物联网创业公司与开发公司之间的竞争愈演愈烈。再加上缺乏普遍接受的标准,所以程序员需要不断寻找新的实践并更新的协议。只有在每个物联网软件问题上采取严格谨慎的方法,才能实现高效的开发。
第一,操作系统的考量
在开始物联网应用程序开发之前,首先应该考虑几个技术因素。例如,团队必须评估他们打算使用的物联网设备。与传统的台式机不同,物联网设备远没有那么强大,而且内存容量相对较小。因此,开发人员必须选择相应的操作系统,既适合设备的功能,又符合功能的要求。
最新的物联网开发人员调查显示,Linux是物联网微控制器、功能受限设备和网关的首选。
第二,选择网关
物联网网关是连接所有元素的关键。不同的设备可以具有不同的连接协议:蓝牙、Wi-Fi、串行端口,Zigbee,这些设备的能源需求各不相同。网关位于连接设备、物联网传感器和云之间,因此整个物联网生态系统依赖于它们。
戴尔、英特尔Nexcom和其他顶级供应商提供的现代智能网关拥有一些常见的必需功能,可以减轻开发人员的负担。你只需要选择符合物联网应用程序要求的网关。同时,你还不得不考虑接口和网络规格、额定功率、内存容量、开发环境以及其他参数。最后,还需确保默认情况下设备之间的安全、私密和可靠的通信。
第三,选择正确的物联网平台
理智的开发人员不会从头开发软件。为什么要重新发明轮子呢?这时,你可以考虑选用物联网平台,因为平台提供了一些工具组合,可以将你的物理设备连到网上。平台市场非常庞大且龙蛇混杂,因此你需要做出明智的选择。你首选的平台应该提供以下特征:
-
连接
-
安全
-
可扩展性
-
易于集成
-
实用性
然而,物联网开发人员应该注意,适用于智能工厂的平台可能并不适合于连接汽车或能耗的解决方案。有些公司在选择合适的平台时,甚至会利用生产过程中的实际数据建立一个真实的测试平台。
第四,安全
你有没有听过Tim Kadlec的一个关于物联网的笑话?
“物联网(LoT)中的S代表安全。”
是的,物联网中没有“S”。根据定义,物联网技术包括许多连接的设备,因此黑客有许多可以找到漏洞的目标。并非所有连接到网络上的设备都经过了充分的渗透测试。一旦出现有问题的设备,整个系统都会受到威胁。
高德纳公司表示,到2020年,所有针对企业的攻击中有25%将涉及物联网,然而用于保护系统免受这些攻击的IT安全预算只有10%。
对于从事物联网项目的开发人员来说,网络攻击的数量将持续增加,安全性是一个巨大的挑战。保护水平很大程度上取决于公司在概念定义阶段打算在安全专业方面的投资。为了降低攻击和未经授权访问的风险,你需要使用:
-
SSL / TLS加密技术
-
单独的VLA
-
单独的企业VPN
-
及时更新的反病毒程序
-
最终用户和机器到机器的身份认证
-
经过审查的Web开发和设计框架
请牢记警告:企业安全体系结构使用的传统保护和控制方法应该及时更新,才能应对当前物联网的新挑战。
第五,全面控制质量
质量保证是物联网软件的另一个痛处。由于物联网设备不仅有仓库的温度控制等低风险应用,还有胰岛素泵这种高风险应用,因此必须执行非常彻底的测试。任何一个小问题都可能致命,此言非虚。
请确保从一开始就在软件开发过程中执行安全测试。优化流程,找出那些不需要在每次发布时都进行测试的模块。寻找已经过安全测试的协议,并在后续版本中保持不变。
除了安全测试外,还应该确保实用性和兼容性。在项目发布后提供技术支持也是一个很好的举措。
第六,人性化设计
消费者物联网应用程序应该遵从设计导向,并尽可能简单,没有人希望在升级智能手表的时候还需要参照手册。人性化的设计对于工业物联网创业公司来说也非常重要,因为他们应该注重数据可视化和快速决策。由于在物联网工作流程中,每台设备、事物和人之间都会互相交流,因此必须确保物联网开发人员和设计人员之间的紧密合作:
-
安全便捷的身份验证
-
设备和系统之间的无缝过渡
-
用户体验个性化,并根据行为模式调整产品
-
整个物联网系统的统一环境
第七,跨平台部署
物联网生态系统包含具有不同体系结构、协议和操作系统的设备。所有这些变量应该结合在一起顺畅地工作。因此,互联网工程任务组(IETF)、电气和电子工程师协会(IEEE)以及其他著名的组织都提出了跨平台部署的开放标准和架构模型。这些最佳实践都会随着时间推移而不断更新,物联网服务应该利用它们来确保互相连接的通信。
总结
尽管在过去几年中物联网的采用已有所增长,但物联网软件开发仍有很多问题有待解决。物联网公司和创业公司应该注意他们以前没有考虑到的细节。
积极采用公认的物联网项目标准,可以帮助我们解决部分开发的难题。特别是,可以提高物联网应用程序的安全性及其跨平台部署。但是,由于物联网是一个相对较新的领域,因此很多标准仍在建设中。物联网得到开发社区的普遍认可还有很长一段路要走。
原文:https://www.iotforall.com/iot-software-development-challenges/
本文为 CSDN 翻译,如需转载,请注明来源出处。作者独立观点,不代表 CSDN 立场
Python入门到进阶最新思维导图分享
https://edu.csdn.net/topic/python115?utm_source=csdn_bw
【End】
热 文 推 荐
极客头条
☞漫画:如何给女朋友解释为什么200M宽带,打王者荣耀还是会有460的延迟?
☞最萌算法学习来啦,看不懂才怪!
☞@程序员,你会教自己的孩子学习编程吗?
☞代码重构!你敢吗?!
☞30位90后霸榜! 福布斯: 比你年轻、比你有颜、比你有才华, 就是他们了!
☞Facebook开源图嵌入“神器”:无需GPU,高效处理数十亿级实体图形 | 极客头条
☞技术头条
☞刺激!我31岁敲代码10年,明天退休!
System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"
点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。
你点的每个“在看”,我都认真当成了喜欢
最后
以上就是年轻石头为你收集整理的@程序员,物联网软件开发不得不克服的七大挑战的全部内容,希望文章能够帮你解决@程序员,物联网软件开发不得不克服的七大挑战所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复