企业级无代码开发白皮书之软件发展史篇

1软件危机

1968 年,北大西洋公约组织(NATO)在德国国际学术会议中提出软件危机(Software crisis)一词,为了解决该问题,

在1968、1969 年连续召开两次会议,并同时提出软件工程的概念。

1972 年,艾兹赫尔·戴克斯特拉于计算机协会图灵奖的演讲:软件危机的主要原因,把它很不客气地说:在没有机器的时候,编程根本不是问题;当我们有了电脑,编程开始变成问题;而现在我们有巨大的电脑,编程就成为了一个同样巨大的问题。

下图阐释了软件危机的本质,软件生产力没有跟上硬件生产力发展的摩尔定律,随着硬件生产力的飞速提升,软件生产力并没有发生根本性的改变。

软件危机使人们认识到中大型软件系统与小型软件有着本质性差异:大型软件系统开发周期长、费用昂贵、软件质量难以保证、生产率低,它们的复杂性已远超出人脑能直接控制的程度 ,大型软件系统不能沿袭工作室的开发方式,就像制造小木船的方法不能生产航空母舰一样。

2没有银弹

1980 年代以及之前的编程语言对于程序员来说还是太难以掌握了,程序员需要考虑的情况太多,并且大部分都与业务需求没有关系。同时80 年代还是以结构化系统分析与设计方法为主,结合瀑布模型和螺旋模型的软件工程方法,导致当时的项目周期长(左图的平均每个项目16.1 个月),开发效率低(左图的平均每个项目75.5k 行代码)。

1990 年代推动编程语言发展的哲学是提升程序员的生产力,许多” 快速应用程序开发” (RAD) 语言应运而生,这些语言大多都有相应的集成开发环境、垃圾回收等机制,且大多是先前语言的派生语言。这类型的语言也大多是面向对象的编程语言,包含有ObjectPascal、Visual Basic,C# 以及Java。并且诞生了敏捷开发模型等一系列新的软件工程方法,大幅提升了当时的软件生产效率,项目周期降低到了平均每个项目9.9 个月,平均每个项目代码行数降低至63.6k 行。

进入21 世纪后,编程语言本身没有太大的发展,但是出现了许多开发框架,同时出现了许多低代码开发工具,从工具层面上减轻了程序员的工作负担。与此同时敏捷开发模型大规模的应用,进一步提升了软件的生产效率,项目周期进一步降低,代码行数也进一步减少。

时至今日,我们并没有发明更高效的编程语言,方法论也停留在敏捷开发框架下,但是客户的需求却越来越复杂,变更也成为了正常现象,很多项目正在面临超出预算、工期延迟、需求无法收敛等问题,正如IBM 大型机之父佛瑞德·布鲁克斯所说:开发软件的困难是内生的,将没有灵丹妙药(silver bullet)可以一蹴而就。

软件开发的现状

随着近年来科技的发展,软件行业在国民经济中所占比重逐年上升:2013-2019 年,软件行业收入占我国GDP 的比重从5.14% 上升至7.24%,2020 前三季度软件行业收入占我国GDP 的比重为8.08%。

同时2020 年我国软件行业收入突破8 万亿元,同比增长13.3%,软件行业在国民经济中的地位日益重要。

软件本身需要解决的问题从最初的简单计算问题一路发展为一般问题、复杂问题,到现在需要解决错综复杂的问题,

这些问题往往是跨行业、跨领域的。这也导致了客户提出的需求往往专业度很高,非专业或领域人员短时间内无法理解透彻。

虽然通用的应用软件市场份额在稳步增长,但是这些软件无法提供给客户非常灵活的定制能力,由于每一个客户的业务场景都会有所不同,并且处于时刻变化之中,所以想要通过传统的编码开发模式解决这些问题变得越来越困难。

在实际软件开发过程中,还会遇到已有系统的对接,这些系统使用的技术可能早已过时,可能处于无人维护的状态,如何处理这些遗留系统也将成为软件开发交付过程中的一大问题,并且可能因为错误的估计导致整个开发成本大幅攀升。

以上种种问题使得当前的软件项目交付工期被频繁延后,很多项目最终以失败结束。

所以通过传统编码方式进行软件开发已经无法满足现代化软件的需求,而通过低代码开发工具也只能稍微缓解上述问题,只有企业级的无代码开发平台可以从根源上解决当前遇到的问题,帮助我们走出软件危机。

【后续来啦……完整内容往下看吧~

【企业级无代码能做什么?点下边

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月7日
下一篇 2021年5月7日

相关推荐