软件的未来

自从软件出现以来,软件开发中新技术、新方法不断出现,如编程语言有C、Java、Rust等,构件技术有COM/COM+、CORBA、JavaBean/EJB等,开发方法有面向过程、面向对象、面向服务等,以及目前比较流行的虚拟机、容器、微服务、DevOps、Scrum等技术和方法。但是,这些软件开发、软件复用技术,并没有给软件行业带来真正的变革,以下问题一直没有得到解决:一是每个软件项目都需要建立一个开发团队,并全程参与软件生命周期的所有阶段,包括软件需求、设计、开发、测试、部署,而软件开发过程中也一直离不开程序员一行行地编写代码;二是开发团队中的参与者必须是相关专业人员,其他人无法直接参与到其中;三是软件行业的生产力从来没有出现过大的飞跃,集中体现在软件开发周期长、不同团队的工作成果极难实现共享。参照人类社会发展历史可以发现,目前软件项目的开发模式与古代手工作坊非常类似,仅能开发是一些轮子、马车这一类的手工制品,无法想象软件界的航天飞机是个什么样子?这说明软件行业还处于一个低水平发展阶段,即“软件作坊”阶段,还远未进入软件的工业化生产阶段。

所以,软件的未来就在于实现“软件工业化”。

“软件作坊”是依靠手工劳动,使用简单工具从事小规模、小范围的软件项目开发,而“软件工业”则需要实现全社会的分工与协作,并能够贯穿于软件生产过程中的所有阶段,进而实现大规模或极大规模软件项目的开发。要实现社会化的分工与协作,其中的关键又在于软件开发的模块化。

虽然软件组件或构件技术已出现很长时间,还有人提出了软件生产线、软件工厂等概念,也有人提出由人工智能代替人工来实现编程自动化,但目前仍然没有任何一个开发平台或者一种开发技术够真正实现“以模块组装的方式开发软件”,进而引领软件行业发生软件的工业化革命。

软件行业陷入这种困境的根本原因,是缺少一个具备普适性的“工业规范”,目前已有的各种软件协议、规范或标准,都难以担当此重任。没有规矩,不成方圆,一个行业没有标准,就无法进入工业化生产。软件行业也是如此,软件开发更是如此。所以,要实现“以模块组装的方式开发软件”,就要遵循“工业规范”来开发标准化的软件模块,从而使得不同团队开发的软件模块可以组合在一起生成能够满足特定需求的软件产品。

上述“工业规范”应具备以下特征:

1.根据“工业规范”开发的软件模块,应处于同一个软件环境当中,具体体现为同一个目录、同一个开发工具版本、同一个程序库或数据库支持等。目前软件开发中的空间、包等概念的出现,是为了防止软件组件、类等的版本冲突而提出的,而“工业规范”则要求软件模块位于同一个空间或包中,这样才能实现软件模块的可组合、可插拔、可替换特性。

2.根据“工业规范”开发的软件模块,其对外提供的接口(或方法)名称和参数,应统一、明确。由不同团队开发同一个软件模块,如果没有一个统一的规范来约束,该软件模块的实现将千差万别,比如模块接口(或方法)命名方式的不同,以及接口(或方法)的参数名称、参数数据类型、参数顺序、返回值类型和数据格式的不同,都会导致该模块的实现方式不同,即使使用了同样的开发运行环境,这样的软件模块也难以与其他模块组合在一起并互相发生作用。

3.根据“工业规范”开发的软件模块,其属性、字段的名称和数据类型,应统一、明确。这个特征主要体现在软件模块的输入、输出数据和存储数据的规范化管理上。以一个用户数据表为例,对于“用户名称”这个字段,可统一定义为name,而不是login_name或userName,这样将极大地提高软件模块的开发效率,也便于不同软件模块之间的数据交互。

时间: 2024-10-14 03:17:53

软件的未来的相关文章

行业洞察:旅游APP软件开发未来发展走向

早在遥远的古代,在交通不便捷之时,古人们即使是木车,瘦马也挡不住他们那颗游历名川大山的心,更别说到了经济飞速发展的现代,交通便捷,钱包越来越鼓,人们对旅游的需求直线上升,旅游软件也应运而生,大有你方唱罢我登场之势,下面,小编就带领大家分析一下,旅游APP软件开发的发展趋势又有哪些呢? 第一.旅游APP软件品种更丰富 除了机票.酒店或者打包套餐商品,休闲度假.亲子教育.周末出行将会继续占领旅游的半壁江山 ,大家对旅游的追求也变成了到此一游,拍拍地标为荣,变成了以体验为主,更在乎出游中的吃喝玩乐.

健康管理软件对未来的重要性

21世纪初,全球进入大健康管理时代,"预防优先"的健康观念深入人心,健康体检由此成为一个前沿且发展空间广阔的新兴领域."健康体检"是指通过医学手段和方法对受检者进行身体检查,了解受检者健康状况.早期发现疾病线索和健康隐患的诊疗行为. 近年来,人们的健康意识的确普遍提高.特别是媒体常曝出某知名人物猝死,周围越来越多人因癌症英年早逝,不断给我们敲响警钟:生命需要珍惜,健康需要管理. 随着新一代信息技术与各类专业医疗资源的融合,已衍生出多个新兴细分领域,这一趋势必将推动健

同行营销QQ辅助软件成就未来营销QQ“信息营销”

同同作者:管理员    发布于:2015-08-10 12:30:43    文字:[大][中][小]摘要:营销QQ最大的亮点就是可以加10好友的可观容量,和每天可以发送1000个加好友请求以及每个工号可以发1000条免费消息,还有主帐号可以管理和监控子帐号的聊天记录.这么可观的好友容量和发送好友请求的以及群发消息的数量要是人工来完成是不可能的.第三方开发商开发的同行营销QQ辅助软件可以自动完成上述任务 随着QQ.微信.微博等Web2.0应用和社会化媒体的普及,越来越多的用户在企业营销的过程中发

国产软件的未来

本人也算是有一段国产软件的从业经历,什么叫国产软件,我觉得界限很难确定,我简单定义为用商业开源技术做的中国本土公司写的软件? 中国从业者也算比较多的,软件行业也从产生到现在很多年了,它的发展现状如何呢? 我个人觉得发展的是比较差的,举个例子我们用的很多IDE,办公软件等基本谈得上好用和国内普及率较高的,基本都是外国的,软件行业并不像硬件行业有摩尔定律,其实发展是不算困难的,中国人民又是吃苦耐劳出名的,为什么就是做不起来? 第一个也是最大的问题是盗版,中国人太喜欢用盗版了,对于国外的比如微软的Of

选择三种软件,并分析特性

1这些软件的开发者是怎么说服你(陌生人)成为他们的用户的?他们的目标都是盈利么?他们的目标都是赚取用户的现金么?还是别的? 2这些软件是如何到你手里的(邮购.下载.互相拷贝...) 3 这些软件是如何处理BUG的?又是如何更新版本的? 4同一类型的软件之间是如何竞争的?这一类软件的发展趋势如何? 5列举你在使用上述软件时观察到的“特别”现象,它们和硬件有什么不同?这些能说明软件的某些本质特性吗? 6此类软件是什么时候开始出现的? 7你个人第一次用此类软件是什么时候,你当时是什么状态,有什么期望,

敏捷软件开发(Agile Software Development)的上位史

敏捷软件开发(Agile Software Development)的上位史 所谓敏捷,最常见的用法,便是用来形容动作的迅速与思维的活跃了,但若是给"软件开发"这个计算机行业的术语强行戴上一个"敏捷"的帽子,读者见了十有八九会一脸懵逼:厉害了我的哥,软件开发怎么还能"敏捷"了? 从上面的漫画可以看出,"敏捷软件开发"并不是要求开发人员练出像猴一样的敏捷身手(当然如果读者真的是一位身手敏捷的程序"猿",那就更

(转)Salesforce的440亿美金并购宣告企业软件市场进入3.0互联网化时代

导语:Salesforce代表着“移动+云”时代企业软件领域新的架构和商业模式的颠覆者.企业软件转向“移动+云”架构,将极大改变传统企业IT市场的格局…… 近期一则新闻极大的刺激了企业软件市场的神经,“据内部信息披露,Oracle甲骨文将耗费1/4的市值以440亿美金的价格并购企业云服务的领导者Salesforce.”借着这则新闻,我们一起给中国企业软件市场未来3年的发展算算命. 这次除了1660亿美金体量并购440亿美金的金额巨大,交易双方的品牌敏感度更是极大的吸引了行业的眼球,Oracle代

项目管理软件的痛苦

目前在市场上存在着多种多样的企业项目管理软件,而作为企业却不知道哪些软件才是真正适合自己,有好多企业在购买了项目管理软件后,使用几个月就放 弃了,不但劳民伤财,更使企业对软件行业敬而远之.这不是我们想看到的,其实软件公司与企业的关系应该是互利共赢.共同发展的,而当前的形式却不容乐观, 由于一些软件产品的实用性比较差,导致了企业对软件行业有诸多的误解.下面我们就项目管理软件做一个基本的分析,来看一下到底什么样的软件才是企业所需要 的? 项目管理的体系发展是建立在公司运营管理的基础之上的,需要公司运

知物由学 | 如何从勒索软件的×××中全身而退

"知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物由学"希望通过一篇篇技术干货.趋势解读.人物思考和沉淀给你带来收获的同时,也希望打开你的眼界,成就不一样的你. 原文:How To Survive A Ransomware Attack -- And Not Get Hit Again 作者:Kate O'Flaherty 2017年,WannaC