写点什么

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

  • 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:003109
用户头像

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

关注

评论

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

HTML学习笔记(一)

lxmoe

html 前端 学习笔记 11月月更

介绍:什么是智能合约dapp系统开发一站式服务

W13902449729

双11就要到了,是时候给你的电脑来点硬货了!

淋雨

数据恢复 OCR 滤镜 录屏 磨皮

云科通明湖:金融业务可持续性能力建设,少不了这块“拼图”!

通明湖

负载均衡

阿里进入“全面云原生深度用云”阶段 PaaS支出占用云总成本43%

阿里技术

云计算 云原生 云栖大会

微服务先等等,我去刷个“虚拟背景”的副本

为自己带盐

虚拟背景 11月月更 trtc

使用 apache 给前后端服务做反向代理

非晓为骁

Apache 反向代理

Oracle表空间设计基本原则

默默的成长

oracle 前端 11月月更

应用防火墙WAF架构分类

阿泽🧸

waf 11月月更

oracle中计算两个日期的相差天数、月数、年数等等

默默的成长

oracle 前端 11月月更

游戏链改NFT系统开发Web3技术

薇電13242772558

web3

什么是 NFT 蓝筹项目

NFT Research

区块链 NFT

如何通过Java将PDF转为Excel

Geek_249eec

Excel PDF java;

网易云信智码超清转码技术实践

网易云信

音视频开发

概述DDoS分类

穿过生命散发芬芳

DDoS 11月月更

阿里低代码引擎怎么样,好不好用?

优秀

低代码

新一代 CI 即将到来!

CODING DevOps

ci 持续集成 jenkins

docker 部署 apache 做反向代理

非晓为骁

Apache Docker 反向代理

SQL Sever 提供的数字类型

乔乔

数据库 11月月更 SQL sever

九科信息荣获《2022爱分析RPA厂商全景报告》RPA软件市场代表厂商

九科Ninetech

华为阅读“WebBrain搜索”和“知识图谱”在HDC2022首次亮相!

叶落便知秋

Oracle 开发规范(一)

默默的成长

oracle 前端 11月月更

Wallys/QCN9074 WiFi 6E Card OpenWRT, IPQ6010, IPQ6018,802.11ax,industrial m.2 card/QUECTEL RM500Q-GL

wallys-wifi6

IPQ6010 ipq6018 QCN9074

因热爱而分享!阿里云开发者社区 X InfoQ创作者支持计划发布

阿里技术

1年Java经验,信心满满出去面试,被问麻了...

Java永远的神

spring 程序员 后端 JVM Java 面试

赋能信息技术应用创新,需要怎样的可持续性业务架构?

通明湖

负载均衡

深扒:基于UEBA的数据使用安全防护

极盾科技

云栖大会开源重磅升级!PolarDB-X v2.2: 企业级和国产化适配

阿里云数据库开源

阿里云 polarDB 云栖大会 PolarDB-X 阿里云数据库

最新的国内低代码开发平台排名,你知道几个?

优秀

低代码 低代码开发平台 低代码平台

阿里云机器学习平台 PAI宣布集成国产深度学习框架 OneFlow

阿里云大数据AI技术

机器学习 阿里云 oneflow

前行不缀 未来可期,鸿蒙生态发展迈入全新阶段

OpenHarmony开发者

OpenHarmony

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