写点什么

复杂软件系统开发的技术和趋势

  • 2016-06-01
  • 本文字数:1815 字

    阅读完需:约 6 分钟

Software-Centric Systems 大会探讨了新技术、趋势及复杂软件系统开发的经验。大会于 5 月 25 日星期三在荷兰埃因霍温高科技园区举行。

InfoQ 采访了大会委员会的两名成员 Rob Howe 和 Martijn Rutten。

InfoQ:在你们看来,软件开发如今面临的主要挑战是什么?

Howe:“智能(Smart)”、“智慧(Intelligent)”或“自治(Autonomous)”等术语在媒体上出现的频率越来越高,涉及所有类型的产品。实际上,这些词语和软件一个意思——是软件让系统智能、智慧或自治。我们生活的世界日益成为以软件为中心的世界。可是,软件仍然使用相对原始和成本高昂的方式构建。软件“开发”面临的最大挑战是形成真正的工程规范,以便能够交付可信赖的成果,同时兼顾可预见性和经济性。要实现“智能”或“自治”等词语所描述的高度集成的复杂系统,这绝对是关键。

Rutten:如今,软件即系统。软件定义了关键功能和好处。伴随 IoT 和工业 4.0 环境中的网络应用,软件的内涵也在快速地变化,包含 1000 多万行软件代码的嵌入式设备随处可见。由于嵌入式设备对真实世界有直接的影响,可靠性和安全性是确保没有人会受到伤害的关键。传统的 OEM 厂商现在发现,他们实际上已经变成了软件公司。对于具有硬件工程背景的公司而言,开发可靠安全的软件所伴随的巨大复杂性是他们需要应对的挑战。

InfoQ:你们最近看到了哪些技术发展?它们对复杂的软件密集型系统有什么影响?

Rutten:应对大型软件复杂性的工作正在从各个方面得到解决,从验证软件的(如静态和动态分析)工具,到从根本上降低受攻击风险的新语言,一直到从高级模型“自动正确构建(correct-by-construction)”软件的模型驱动开发。到目前为止,软件开发团队可以不再使用那种偏牛仔风的开发方式了,他们现在需要更加注意开发流程和工具,以应对复杂性。

Howe:多年来,在软件系统设计方面,“早期采用者(Early Adopter)”公司一直引领着新技术的开发、采用和推广,并取得了一些成功。但缺少资源的“早期大多数(Early Majority)”公司采用一种更为务实的软件工程方法,他们仍然坚守着传统的开发实践。然而,去年,这种情况开始发生变化。对于类似模型驱动软件工程(MDSE)这样的技术,市场的信心在逐步增加,使得这些技术在软件工程社区得到了更广泛的应用。

InfoQ:你们能举例说明下如何使用新技术推动创新吗?

Rutten:企业正借助持续集成在软件落地之前检测 Bug 和性能问题。这让每天发布多次的持续部署取代了传统的按季度发布。反过来,对于嵌入式软件,只有在每次发布之前进行全面的检查,比如通过静态分析工具,或者在一个模型驱动开发环境中生成,这才可能实现。显然,如此快速地在市场中引入新功能,通过市场验证推动了创新。

Howe:工程团队在运用新的软件工程技术方面信心增加,让他们可以自由地尝试富有创新精神的系统架构。例如,通过运用内置了形式化验证的 MDSE 工具,企业觉得有能力重新设计他们的其中一款产品,移除已经过时的、基于 PLC 的安全控制器,代之以一个在重要应用软件主体中验证过的分布式安全控制器。

InfoQ:Software-Centric Systems 大会主要涉及了那些话题?

Rutten:大会的主要话题是“软件自白”,互相学习如何处理开发大型的、以软件为中心的复杂系统所面临的巨大挑战。我们如何确保可靠性、安全性、隐私、可维护性、性能,等等。

Howe:大会的一个主要目标是促进与会者互动及知识和经验的交流。我们认为,一般而言,人们从会议中获得的最有用的东西是通过与演讲者和其他与会者对话获得的信息。因此,大会的初衷就是最大化这些类型的互动。此外,我们选择演讲者的依据就是他们能够分享真实世界的经验供其他与会者学习。

InfoQ:如果组织希望提高软件开发流程的可靠性,同时又能快速地交付价值,那么他们该如何推广应用敏捷?

Rutten:持续集成与持续部署和敏捷软件开发息息相关。预留配置最佳环境和工具的时间和预算是尽早发现错误的关键,这时候修复问题的成本还比较低。如果模型驱动方法适合这个领域,那么从一个高级模型生成代码会极大地增加可靠性,缩短上市时间。

在更为特殊的领域里,如汽车发动机控制,难度会更大。这时,就必须向系统投入巨大的资源,以确保新技术能够安全地应用到一个已知可工作的系统中,实现平稳退化。只有有一个这样的环境,敏捷增量交付才行得通。

InfoQ 正通过 Q&A、概述和文章的形式对 Software-Centric Systems 大会进行报道。

查看英文原文 Technologies and Trends in Developing Complex Software Systems

2016-06-01 19:002839
用户头像

发布了 1008 篇内容, 共 385.2 次阅读, 收获喜欢 343 次。

关注

评论

发布
暂无评论
发现更多内容

Partisia区块链推出MOCCA方案,让资产管理更加可信化且可编程

威廉META

OmniReader Pro for mac(专业电子书阅读器) v2.8.1激活版

iMac小白

Photoshop 2024 for mac(ps 2024) v25.5.1中文激活版

iMac小白

Downie 4 for Mac(视频下载工具)兼容14系统 v4.7.6中文版

iMac小白

深入理解Sora技术原理

得物技术

AIGC sora

【AAAI 2024】M2Doc:文档版面分析的可插拔多模态融合方法

阿里云大数据AI技术

利用RAG技术打破大模型幻觉

百度开发者中心

人工智能 图谱 大模型

Mistral AI vs. Meta:两大 Top 开源模型的对比

Baihai IDP

程序员 AI LLM 白海科技 Baihai IDP

软通咨询杨念农:数智赋能物流行业高速发展,开启数智化物流新时代

软通咨询

人工智能 数字化转型 #物流 数字化咨询 数智化物流

一文读懂Partisia区块链的MOCCA 方案:让资产管理可信且可编程

西柚子

Redis集群模式和常用数据结构

EquatorCoco

数据库 redis 集群

Solidity案例详解(六)食品溯源合约

BSN研习社

区块链 Solidity

Acrobat Pro DC 2023 for mac(专业PDF编辑软件)

iMac小白

After Effects 2024 for Mac(AE2024视频特效) v24.2.1中文激活版

iMac小白

Lightroom Classic 2024 for Mac(LRC2024) v13.1.0中文激活版

iMac小白

Termius for Mac(多协议远程管理软件) 8.4.0激活版

iMac小白

敏捷开发最佳实践:客户价值实践案例——用户画像的应用

易成管理学

敏捷开发 敏捷实践

东郊到家服务系统开发

l8l259l3365

Ollama:打造本地开源大模型聊天应用的实践

百度开发者中心

人工智能 大模型 openai

Snagit for mac(最强大的屏幕截图软件) v2024.2.2中文版

iMac小白

敏捷开发最佳实践:学习与改进维度实践案例之会诊式培养敏捷教练

易成管理学

敏捷开发 敏捷实践

作为程序员需要配蓝光眼镜吗?

小魏写代码

AWE2024,中国家电智能化的《山海经》

白洞计划

智能家居

EndNote 21 for Mac(文献管理软件) v21.2激活版

iMac小白

毫末DriveGPT再获证明!斩获nuSecnces自动驾驶公开数据集NDS最佳成绩

Geek_2d6073

微信多开 WechatTweak for Mac(微信多开、消息防撤回工具) v3.8.7(28245)中文集成版

iMac小白

深度解读:商品计划管理系统为鞋服企业带来的卓越价值

第七在线

EMQX ECP + NeuronEX 产品发布会:从边到云的实时工业互联数据平台

EMQ映云科技

mqtt mqtt broker

敏捷开发最佳实践:质量维度实践案例之接口级自动化测试

易成管理学

敏捷开发 敏捷实践

度小满与哈工大共同推出SmartTrim,自适应剪枝技术提升多模态大模型效率

科技热闻

复杂软件系统开发的技术和趋势_文化 & 方法_Ben Linders_InfoQ精选文章