面向数据的软件工程方法研究

    徐良

    摘要:为了解决大数据时代应用软件开发周期长、生命周期短、开发过程复杂、维护困难以及异构系统间信息共享困难等问题,提出了一种面向数据的软件工程方法,该方法以面向数据的体系结构为理论基础,以数据大平台为应用构建的基石,通过统一的数据注册标准实现逻辑的数据资源池,进一步构建数据-应用生态系统,实现复杂、海量数据的有效管理和信息系统的快速搭建。

    关键词:面向数据的软件工程;面向数据的体系结构

    中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)11-0254-02

    数据是所有信息系统和应用软件的“血液”,数据的整个生命周期都影响着软件的结构、功能、应用范围,甚至影响着软件的生命周期(张海藩,2010)。特别是大数据时代,人们更加重视数据本身,重视数据的安全、数据的价值挖掘、数据的多方面应用。此外,软件工程发展到现在,人们为了解决在软件开发过程当中软件工程方法的不足,不断地丰富着软件工程方法体系。面向服务的软件工程(service-oriented software engineering,SOSE)软件开发过程复杂,系统功能扩展困难,且难以适应频繁的需求变化。当前软件工程所面临的开发成本、信息安全(冯登国,2001)、信息共享、软件质量(王青,2001)、软件复用(郭立峰,1999)等方面的问题,使得对软件工程新方法的研究有着重大的意义。

    1 相关概念

    1.1 面向数据的体系结构

    面向数据的体系结构(data-oriented architecture,DOA)是一种建立在云计算环境下的用于处理复杂数据管理和复杂系统构建的有效解决方案。它采用“面向数据和以数据为核心”的思想,通过核心部件数据注册中心(data register center,DRC)统一对系统数据进行定义、标识和管理;通过数据权限中心(data authority center,DAC)对数据的所有权、使用权等权限进行统一的管理;通过数据异常控制中心(data exception control center,DEC)对数据资源池中的数据进行有效的自适应管理;通过数据应用单元(data application units,DAUs)提供各种基于数据大平台的碎片化应用功能(苗放,2012)。当问题的数据集庞大,系统的功能要求复杂时,DRC、DAC、DEC等部件都能以分布式的方式构建,所以DOA也是一种分布式系统架构。DOA的总体架构如图1所示。

    1.2 数据生态系统

    数据生态系统(Forney M,2010)是面向数据体系结构的特征概念,在整个生态系统中,每一个发展中的个体都有自己的生命周期,对于一个数据,它可能会经历从产生、获取、保存到应用、共享、处置、归档最后删除这样一个生命周期过程(Devarakonda M V,2006),对于一个信息系统,它会经历从系统分析、系统设计到系统实施、系统维护到最后废弃的一个生命周期过程。

    生态系统中的个体会经历新旧更替的这样一个过程,但正是这个过程使得整个系统得以持续。在数据生态系统中,数据作为“土壤”提供给应用“森林”产生和生长的可能,数据生态系统水平结构的变化是数据的获取与删除,应用的产生与淘汰,垂直结构的变化是数据量的剧增和应用的大量出现。

    1.3 数据资源池技术

    本文所研究和应用的数据资源池技术是以数据注册中心(DRC)为核心的逻辑数据资源池构建技术。它主要有以下两个方面的特点:

    (1)以数据注册中心(DRC)为核心

    在逻辑数据资源池中,所有数据信息都要通过数据注册中心进行注册,DRC根据统一的标准对所有注册的数据和资源进行规范和标识,记录数据的属性信息(数据大小、属主信息、数据状态、存储地址等)。DRC将注册的元数据信息存入逻辑数据资源池用以对数据进行统一的管理,并且提供给用户搜索、定位等服务。

    (2)数据权限中心(DAC)和数据异常控制中心(DEC)协同

    DAC负责管理用户角色和权限信息,并利用现有的加解密技术根据数据的状态进行加解密。通常DOA定义下的数据具有两种状态:数据态和应用态,数据在存储和传输时保持加密的状态叫做数据态,在应用时授权解密的状态叫做应用态。DEC负责对数据、元数据进行维护,对数据资源池发生的异常进行检测和控制,当DRC采用分布式部署时,DEC还负责冗余数据的一致性管理,并保障数据的安全。DRC、DAC、DEC三者的联动所形成的有效机制是DOA下数据资源池技术的核心

    2 面向数据的软件工程

    2.1 面向数据的软件工程基本原理

    (1)以DRC为核心以数据资源池为基础

    面向数据的软件工程(data-oriented software engineering,DOSE)方法的基础是DOA,所以用DOSE方法开发的软件系统也是DOA架构的,而DRC是DOA的核心,所以DRC也是DOSE开发的系统的核心组成。DRC用以管理逻辑数据资源池,物理数据资源池用以存储各种类型数据,在DOSE方法的边调研边开发不断迭代的过程中,需要以数据作为开发和测试的条件,所以DOSE以数据资源池为基础。

    (2)业务逻辑转化为数据逻辑

    在DOSE中,通常我们把对数据资源池中某个数据的一次读写操作过程叫做一个数据逻辑过程,而业务逻辑由一个或者多个数据逻辑构成。数据导向可以更加详细了解需求,数据逻辑可以细化系统开发,先梳理数据逻辑,再根据不同数据逻辑组成业务逻辑,可以更好地完成系统开发。

    (3)可持续的数据生态系统

    可持续生态系统是DOSE理论的重要特点之一,其强调从所有数据到所有应用和应用工具都属于一个大的系统,在这个系统中,数据、应用、应用需求、应用工具等都是有生命周期的,但是将所有数据比作“土壤”,应用比作“树木”或者“森林”,整个大的系统是永恒的,是生态的,是可持续的生态系统。

    2.2 面向数据的软件工程方法

    2.2.1 方法原则

    (1)统一数据注册标准

    首先是数据的定义和数据的管理需要统一的标准,数据注册中心按照统一的标准进行数据注册,通过逻辑数据资源池进行统一管理,使得数据在一个地方存储多个地方使用。另外,使用统一数据注册标准的数据注册中心或者数据平台按统一的标准(即协议)进行数据交换。

    (2)数据定义服务,数据驱动应用

    数据定义服务源自于DOSE中以数据为核心的思想和数据逻辑与业务逻辑的相互关系;数据驱动应用则是源自于DOSE中数据“土壤”生长应用“森林”的思想。再者,DOSE的软件过程是建立在数据大平台基础上的,根据数据“土壤”,通过再生的需求和数据的分析,搭建应用“森林”,所以在DOSE中,数据驱动应用。

    (3)数据-应用生态系统

    这个原则是指应用DOSE方法所构建的是由无数更迭的有生命周期的数据和应用组成的数据大平台与碎片化应用的生态系统。前文中描述的DOA下的数据生态系统,其实是用DOSE方法建立数据与应用之间有效的机制,用数据得到更多的需求,用基本的功能单元实现更多的应用。这样的一个原则使DOSE可以很好地应对频繁的需求变更,可以有效地延长系统的生命周期。

    2.2.2 方法描述

    2.3 DOSE与SOSE比较

    SOA的定义是:一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来(姜国华,2007)。DOA的定义是:采用“面向数据和以数据为核心”的思想,立足于数据生态系统,构建大数据时代从数据保护到授权应用整套机制的软件体系结构(苗放,2012)。DOSE与SOSE的对比如表1所示。

    3 结束语

    本文针对大数据时代软件工程所面临的一系列问题,提出一种面向数据的软件工程方法,并对该DOSE方法以及DOSE相关的概念进行了详细的阐述,最后,对DOSE和SOSE做了对比。本文只是对DOSE方法做了初步的研究工作,下一步的研究工作则是DOSE方法的具体应用和推广。

    参考文献:

    [1] 程付超. 面向海量遥感数据的分布式混合计算技术研究[D]. 成都理工大学, 2014.

    [2] 冯登国. 国内外信息安全研究现状及其发展趋势[J]. 网络安全技术与应用, 2001(1):8-13.

    [3] 郭立峰, 郭耀, 常继传. NATO软件复用标准导论[J]. 计算机科学, 1999(5):5-16.

    [4] 姜国华, 李晓林, 季英珍. 基于SOA的框架模型研究[J]. 电脑与信息技术, 2007, 15(6):37-39.

    [5] 苗放.DOA.[EB/OL].http://baike.baidu.com/subview/649092/12822804.htm,2013.

    [6] 王青. 基于ISO9000的软件质量保证模型[J]. 软件学报, 2001, 12(12):1837-1842.

    [7] 张海藩 倪宁. 软件工程(第3版)(21世纪高等学校计算机规划教材)[M]. 人民邮电出版社, 2010.

    [8] Forney M. Data ecosystem awareness: US, US7653638[P]. 2010.

    [9] Devarakonda M V. Method and system for developing data life cycle policies: US, US

    20060059172 A1[P]. 2006.

    [10] Van Vliet H. Software engineering: principles and practice[M]. John Wiley & Sons, Inc., 1993.

    [11] Wu B F. A practical training in software engineering methodology[J]. Acm Sigcse Bulletin, 1983, 15 (2):2-9.

相关文章!
  • 融合正向建模与反求计算的车用

    崔庆佳 周兵 吴晓建 李宁 曾凡沂<br />
    摘 要:针对减振器调试过程中工程师凭借经验调试耗时耗力等局限性,引入反求的思想,开展了

  • 浅谈高校多媒体教育技术的应用

    聂森摘要:在科学技术蓬勃发展的今天,我国教育领域改革之中也逐渐引用了先进技术,如多媒体技术、网络技术等,对于提高教育教学水平有很

  • 卫星天线过顶盲区时机分析

    晁宁+罗晓英+杨新龙<br />
    摘 要: 分析直角坐标框架结构平台和极坐标框架平台结构星载天线在各自盲区状态区域附近的发散问题。通过建