荷兰CLEBA Group负责人李海宽:大数据时代的软件开发模式

2017-04-14 11:29:45  来源:CIO时代网

摘要:2017年4月13日,“第55期CIO时代信息化大讲堂 "活动在北京大学燕园大厦顺利举行。本次活动由CIO时代APP总编朱启明主持,荷兰CLEBA Group负责人李海宽博士作为本期活动的嘉宾,作了题为《大数据时代的软件开发模式》的主题分享。
关键词: 大数据 软件开发
  2017年4月13日,由中国新一代IT产业推进联盟主办,CIO时代APP承办的"第55期CIO时代信息化大讲堂"活动在北京大学燕园大厦顺利举行。本次活动由CIO时代APP总编朱启明主持,荷兰CLEBA Group负责人李海宽博士作为本期活动的嘉宾,作了题为《大数据时代的软件开发模式》的主题分享。

\
  荷兰CLEBA  Group负责人李海宽

  他在活动上主要对大数据时代软件开发模式的变化、特征及其发展趋势进行了讨论,除一系列新的概念外,还对一些具体的实现方法,技术及工业实践经验进行了介绍。

  随着信息时代、互联网时代、人工智能时代、大数据时代的到来,传统的软件工程面临新的机遇与挑战,未来即将会迎来软件时代。在大数据时代,软件资源非常巨大,且软件需求比过去任何时候都多,加之很好的技术开发软件。在这个时代,软件质量和效率的提升有很大的发展空间。

  一、什么是数据

  1.数据一般被认为是信息的载体

  世界上的一切事物都是信息的载体。大量的数据是很难处理的,包括大数据也是很难处理的。一般而言,只能处理数字化的数据,只有数字化的数据才能被计算处理。

  2.软件即数据

  另一个说法是,软件即数据。一方面,软件是信息载体;另一方面,软件是数字化。过去认为软件是处理数据的,事实上,这里的软件是作为数据来处理的。

  3.软件资源即数据

  软件资源是指用于开发软件的资源。例如开发软件过程中积累的内容。长期以来我们所使用的软件资源是静态的。大数据时代,还包括动态的软件资源。即可以运行的软件资源,典型的如网上的服务。原来的软件是指以软件为主的组件,如今还包括硬件、数字化资源等等。任何东西一旦被软件定义都可以被看作软件资源。如出租车、手机端、PC等。构造软件的能力也随之越来越强,数据库等都可以作为软件的子系统。总之,我们所谈到的软件资源与过去的不同在于,过去的软件资源是指静态软件,现在的软件资源是静态软件加动态软件。

  和其他数据相比,软件作为数据有以下两大特点:知识密集型和资本密集型。一个软件系统往往是由大量的智力与复杂的方法和程序。同时,软件开发可能是非常耗时的,存在高成本和大的业务风险。

  就软件的开发与重用而言,在过去的几十年中,从无到有的软件开发越来越少,对现有资源的重用越来越多,大量的软件资源已经产生。软件重用在提高软件开发的质量和效率方面明显提高,支持软件复用,也是逆向工程,软件维护的传统技术在目前软件开发中扮演着重要的角色,而目前的软件开发模式是逆正向工程。因此,软件开发的流程发生了变化,概念也发生了变化。软件数据挖掘的概念原先是不存在的,为此提出了面向关系的软件架构、静态或动态的软件资源等新概念,过去的系统是代码开发、高级语言开发,如今是架构开发系统,效率得以提高。

  二、软件开发的趋势

  大规模软件重用。从大规模软件复用走向更大规模的复用,以前包括静态软件,如今既包括静态也包括动态。

  以服务为基础的软件开发。很多情况下是利用运行的软件来构造,而不是过去的静态软件库。

  软件的计划生产。也就是批量生产,在同一领域,软件挖掘支持计划生产,典型的案例是软件生产线。

  以生命周期为基础的软件开发。有望解决软件维护的危机。

  总之,新的软件开发模式首先需要软件数据挖掘,第二是数据资源管理,最后是软件开发与维护。

  三、数据挖掘的实践经验

  这方面仅限于静态数据挖掘,将软件程序作为输入,架构作为输出,其中架构与开发是最核心的内容,将组件管理起来,为此提出了管理模型和操作模型,最后进行逐步开发。在大数据时代,有巨大的软件资源可用,包括处理资源的技术,这使得软件开发具有很大的重用性,软件开发的质量得以改进。

  四、面向关系的软件架构

  一个软件系统如果被使用,则需要被不断改变。将混乱的软件变为容易理解的软件,系统的混乱主要是指结构的混乱,为结构带来了很大的麻烦。为此,我们提出三步方法:架构从代码中提取出来,从别的程序输出架构,并将其转换成整齐语序,最后再放入架构中。

  这里有三个最基本的概念需要明确:什么是架构;什么是系统;什么是重构。

  1.什么是架构

  架构就是蓝图。蓝图即设计,架构便是一个软件高层的总体设计。具体用各种视图来描述。如功能、性能等视角。

  站在历史角度来看,一个软件的架构包括面向功能的架构、面向对象的架构、面向服务的架构与面向对象的架构四个方面。

  2.什么是系统

  系统被定义为架构加组件,系统是一组组件,需要组织起来去实现外传功能。在架构基础上重装系统。

  3.什么是重构

  重构是一个过程,整理软件的组织结构以找到最合适的。

  我们正处于一个软件工业大变革的前夜。随着软件资源的大量积累与有效利用,软件生产的集约化、智能化与自动化程度都将迅速提高,软件生产质量与效率的大幅度改进将成为可能。

\
  活动现场

  在活动最后的交流讨论环节中,他对到场嘉宾所提的问题作了一一解答,大家纷纷表示收获满满。

\
  合影留念

  “CIO时代信息化大讲堂”活动每隔周三下午19:00-20:30定期举办公开讲座,更多干货分享以及活动动态,请关注CIO时代APP。扫描下方二维码即可下载。
责编:houlimin
分享到: