文档章节

下一代软件工程的思考与点滴实践

 透明的鱼
发布于 05/17 17:13
字数 1862
阅读 0
收藏 0

从1968年软件第一次危机出现算起,软件工程发展到现在已经50年。伴随着产业的发展,软件工程不断出现新的思维,方法论,原则,实践。

 

    第一个阶段:这个阶段是属于萌芽期,最早的软件开发都是像手工坊一样,整个过程经常会出现混乱,无序甚至失控,软件产品的质量也层次不齐,如《人月神话》中描述的那样,那时的软件就像狼人一样恐怖。 所以当时的主旋律是借鉴硬件制造,管理软件开发过程中的偏差,重点解决的是软件开发的质量、可控、有序的问题,包括CMM,面向对象,瀑布开发等。

    第二个阶段:第一个阶段因为强化了过程的管理,虽然一定程度上有序和可控,偏差或许受到了控制,但是也抑制了一定的自由,影响了软件产品的交付效率,软件开发变得趋于机械和过度流程化。随着敏捷宣言的公布,软件从一个极端往回拉了一些回来,回归到软件的本质:软件开发还是一个智力活动。敏捷的理念逐步深入人心,随着Cloud作为新的IT基础设施服务形态,容器,CICD,DevOps也相应的应运而生,总体而言这个阶段是为了尝试解决软件开发的效率和速度问题。

    第三个阶段:在软件的质量、软件的效率和速度得到一定改善的情况下,软件工程接下来应该解决什么问题呢?

为了尝试解读软件本身就是为了解决现实世界的问题的,商业和技术的发展驱动着软件技术、软件工程的发展,所以首先看看在可见的未来,大概率会发生啥?

当前的一个基本共识:从消费互联网到产业互联网,最终会实现如科幻片所描绘的“万物互联”。

 

万物互联,很美好,可是如果具体到互联的是车,飞机,火车这样和我们的生活,甚至人身安全密切相关的“物”,是不是隐隐还是会有些担忧。人类就是在不断的担忧新事物,又不断解决问题的过程中成长起来的,除了法规政策外,从技术上也要去解决。

因此,第三阶段的软件工程,应该进入一个新的问题域:软件产品如何做到可信赖?当前,软件产品的用户除了关注软件产品的质量,软件产品是否足够信赖,能让用户放心使用会成为一个新的考验。

可信的软件到底是什么?

可信的英文:Trustworthiness。可信的软件是指:软件可按照预期运行,并且不会在环境改变时带来重大安全和隐私风险。按《Software Engineering》10th edition和其他相关标准的基本定义,可信包括5个基本维度,如下图:

 

简单逐一解释一下:

Safety: 系统对人和系统的环境不会造成危害的可能性

Reliability:系统在给定的时段内能正确提供用户希望的服务的可能性。

Availability:系统在任何时间都能运行并提供有用服务的可能性。

Security:系统能抵抗的或者蓄意入侵的可能性 。

Resilience:当出现一些干扰性事件时,系统保持其关键服务继续正常运行的可能性。

以上这5个维度,并不是孤立的,对于软件产品而言,这五个维度往往是相辅相成,甚至有的场景下还是“相生相克”的 。

华为云DevCloud如何探索?

布道师讲到,可信包括的内容和要求都非常的高,而且我们在思维和理念上会带来新的冲击。对于任何一个新的跨越式的转变,无论是之前华为的IPD,还是敏捷,还是DevOps,都离不开Be 和 Do 的同时并进,如下图所示的这样

 

软件工程领域任何一个新事物,往往都是:思维理念开始——>形成基本的价值观(什么是对的,什么是需要避免的)——>形成一些基本原理——>形成一些有限的实践——>根据不同的场景,选择最适合的实践,形成一些最佳实践集合(比如敏捷实践中的Scrum,XP)。

对于可信,其实也是类似的方法Be trustworthy 同时 Do Trustworthy,很多时候,思维和理念的改变需要落地后的实际效果来影响,反过来,思维和理念的变化会加速实践的探索。在现有的华为云DevCloud开源镜像仓服务上增加一些可信的能力

 

现在的软件通常都会使用一些开源组件或开放使用的第三方组件或框架。新的开源组件数量成倍增长,同时开源组件的使用程度和频次也越来越高,开源组件的安全、漏洞问题现在也日益成为当前业务最担忧的问题。

近些年,一些网络犯罪分子利用开源组件的漏洞,对很多巨头公司造成了巨大的品牌影响、财产损失、乃至用户流失。华为很早就建立了内部的开源镜像仓,并增加漏洞扫描,和官方镜像站点直接合作等等。去年把这个服务孵化到华为云,作为一个独立的服务面向社会提供,基于华为云强大的基础设施和华为内部镜像仓的多年实践,对外部用户提供可靠来源和高速下载的镜像仓服务。若需要详细了解,请参见:华为开源镜像站

2019年,在华为云DevCloud的开源镜像仓上将增加可信的能力规划:

    来源可信,和官方镜像站的合作与认证。

    传输可信,传输过程中防篡改。

    使用可信,增加多安全性的检查、拦截,并结合华为自己跟踪的漏洞和NVD跟踪发布的漏洞,持续的跟踪已发现识别的漏洞并及时预警。

当然开源组件千千万万,做好开源镜像仓的可信,实际是个很挑战的事情,华为云DevCloud与您一起继续探索……

华为云DevCloud作为一站式云端DevOps平台,集成华为近30年研发实践和前沿理念,面向开发者提供研发工具服务,让软件开发简单高效。现支持5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网

© 著作权归作者所有

粉丝 0
博文 91
码字总数 146537
作品 0
私信 提问
始于阿里,回归社区 | Apache RocketMQ 开发者沙龙 杭州站

RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,2016年捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有...

AlibabaInfra
2018/11/13
0
0
始于阿里,回归社区 | Apache RocketMQ 开发者沙龙 杭州站

RocketMQ 是阿里巴巴在2012年开源的分布式消息中间件,2016年捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”的洗礼并有...

阿里巴巴云原生
2018/11/13
0
0
始于阿里,回归社区 | Apache RocketMQ 开发者沙龙 上海站

RocketMQ 是阿里巴巴在 2012 年开源的分布式消息中间件,2016 年捐赠给 Apache 软件基金会,并于 2017 年 9 月 25 日成为 Apache 的顶级项目。作为经历过多次阿里巴巴双十一这种“超级工程”...

阿里巴巴云原生
2018/12/28
0
0
QCon全球软件开发大会 广州站

QCon全球软件开发大会 十周年特别企划——华南首秀,致敬十年陪伴。软件正在改变世界,QCon同数万名高级技术人员一起,见证世界技术发展变革。 汇集全球领先软件开发知识,聚焦前沿技术和工程...

一个爱学习的小学生
02/20
0
0
TiD2017质量竞争力大会

  会议详情   会议简介:   质量竞争力大会(英文名称TiD Conference)是智联联盟整合行业已有研发领域三大专业会议,包括中国系统与软件过程改进大会SPIChina、中国软件测试大会China...

蟠桃会会议平台
2017/06/15
13
0

没有更多内容

加载失败,请刷新页面

加载更多

Android Camera原理之camera service与camera provider session会话与capture request轮转

上层调用CameraManager.openCamera的时候,会触发底层的一系列反应,之前我们分享过camera framework到camera service之间的调用,但是光看这一块还不够深入,接下来我们讨论一下camera serv...

天王盖地虎626
3分钟前
0
0
科技赋能成效显著!金融壹账通两大赋能项目荣获IDC大奖

7月19日,2019IDC中国未来金融论坛曁颁奖典礼于北京举办。由金融壹账通赋能的长春农商银行多人视频面审智能风控系统、包头农商银行互联网银行SaaS服务两大项目因在项目的创新性、技术领先性、...

IFTNews
昨天
0
0
HTTP协议

HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 HTTP是一个基于TCP/IP通信协议来传递数据...

Eappo_Geng
昨天
0
0
聊聊spring cloud consul的TtlScheduler

序 本文主要研究一下spring cloud consul的TtlScheduler TtlScheduler spring-cloud-consul-discovery-2.1.2.RELEASE-sources.jar!/org/springframework/cloud/consul/discovery/TtlSchedule......

go4it
昨天
0
0
内存狂挤牙膏Intel跪了!10nm玩出6种花样

不同于CPU处理器等逻辑芯片的制造工艺都精确到具体数值,闪存、内存工艺一直都是很模糊的叫法,比如10nm-class(10nm级别),只是介于20nm和10nm之间,然后又分为1xnm、1ynm、1znm等不同版本,...

linuxCool
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部