面向数据的软件工程论文(精选10篇)
面向数据的软件工程论文 篇1
摘要:为实现考古发掘工程多维信息的开放式管理和可视化分析,提出一种基于XML和MapInfo技术的设计方案。阐述该系统的框架结构、技术路线和实现方法,提出将页面控件的属性取值映射到XML模板文件的属性位置,再将XML模板文件解析后保存在属性数据表中的方法,实现了遗址属性信息的开放式管理;提出利用图元将遗址空间信息与属性信息关联,在关系数据库上实现了对遗址多维信息的可视化分析。通过原型系统的运行,验证了所提方法的可行性和实用性。
关键词:数字考古,信息系统,XML,可视化
0 引 言
考古发掘是考古研究的基础,也是保护文化遗存的重要手段。通过调研我们发现,传统的田野考古信息系统由于其平面化的表达方式和基于文本的分析手段,已无法适应考古团队对考古遗址发掘所产生的海量和多维信息进行空间查询和可视化分析的实际需求。因此以考古发掘信息的空间化、可视化为出发点,将GIS技术和VR技术应用于考古发掘工程的多维数据平台,进而为考古专家提供全面准确和直观形象的信息支持,无疑是一项拥有广阔应用前景的研究工作[1]。
基于这一考虑,本文提出设计和开发一个既能为考古团队提供考古发掘工程海量信息的开放式管理、智能检索和可视化分析手段,又能为文化旅游爱好者提供遗址发掘现场的三维虚拟展示的考古发掘的多维数据平台,该平台应具有以下特性:
(1) 能同时支持文本、手绘图、图像、音频和视频等二维和矢量地图、三维模型等多维度的信息表达形式;(2) 具有对遗址发掘现场三维场景、探方结构等复杂对象的存储、组织和管理能力;(3) 提供基于关键词、基于草图、基于形状、基于图像和基于语义等智能检索手段;(4) 采用开放式、分布式的信息管理模式,发掘现场不同类别信息的收集、整理和发布由承担相应任务的工作小组或人员分别完成,系统通过用户角色权限控制实现对信息的“隐性集中管理”;(5) 开发技术应基于主流的Internet基础服务(.NET Framework)、地理信息基础服务(MapXtreme)和数据库服务平台(SQL、Oracle),采用通用的脚本语言(Java、C#),并借助第三方插件(VRML、VRP)简化三维模型处理的复杂度,从而使系统易于部署和实现,同时也降低了开发风险。
1 系统设计
1.1 系统框架
该平台被设计为既能服务于文物研究、保护性质的行业用户,又能为公众提供非密级的遗址发掘信息查询和发掘场景虚拟展示服务。因此,一个基于MVC模式,具有可伸缩特性、易于部署和实施的瘦客户端B/S架构,应该是该系统框架设计的首选方案,其框架结构如图1所示。开发平台采用.NET Framework,降低了系统对客户机性能的要求,避免了在客户机上分发应用程序与版本控制的困难[2]。此外,通过在浏览器中安装第三方插件使其具有三维模型对象的解析和表达能力,减少了客户端与服务器的信息交换,从而可提高系统的响应能力。
1.2 主要功能
通过与陕西省文物研究所、西北大学文博学院等研究机构的合作,在对众多田野考古项目的考查和调研的基础上,本文将该平台划分为数据管理、地图管理、预测分析、虚拟展示等子系统:(1) 数据管理模块,用于实现遗址发掘项目信息的采集、发布、修改和查询等功能;(2) 地图管理模块,用于实现遗址发掘现场不同阶段矢量地图的采集、绘制、格式转换和网络发布等功能;(3) 预测分析模块,用于实现项目工程数据的分类汇总和报表打印、文物分布图的自动绘制等功能;(4) 虚拟展示模块,用于实现遗址发掘场景的三维虚拟展示、文物碎片的三维复原等功能;(5) 系统管理模块,用于实现数据备份、工作界面设置和用户访问控制等功能。
1.3 数据库设计
考古发掘是一个渐进的过程,项目实施过程中常常需要进行多次发掘和整理,遗址信息的内容甚至其类型都会随着发掘工作的进展不断更新。针对这种信息开放特性,本文将发掘项目的信息划分为静态属性和动态属性两种类型。静态属性指考古发掘项目通用的、现阶段公认的属性集合,这些属性在数据库中以字段的形式进行描述;动态属性指那些在系统运行过程中动态增加的新属性,这些属性通过一个XML文档进行描述,而数据库中只保存一个指向该XML文件的指针,如表1所示。采用这种方法的优点在于:(1) 当系统底层文件内部存储的数据格式有较大变动时,只要其存储的遗址信息不变,相应的XML文档就无需改变;(2) 当底层文件存储的遗址信息改变时,则更改其文档类型定义,并在原有的XML文档上做少量改动即可。
1.4 专题地图设计
在一些考古相关的地理信息系统中,遗址的空间信息往往被划分为旧石器时代、新石器时代等不同图层。这种方案易于实现,但存在两点不足:(1) 在设计阶段就将图层的时代属性限定,当某些遗址的文化归属发生变更时,相关的多个图层都必须重新绘制;(2) 不同时代的遗址分布在不同的图层,将使它们之间的纵向比较变得很困难。为了克服上述方案的缺陷,本文采用了将遗址发掘现场的所有空间对象都保存在同一个图层中,而把其时代特征、文化归属等作为遗址的属性来保存的设计方案。
该方案将发掘现场专题地图划分为地图底层和文物分布两类图层。地图底层用来描述考古遗址的地理环境信息,由山脉、水系等基本图层组成。地图底层可根据需要灵活扩充,比如增加卫星遥感、航空摄影、古环境演化等新图层。文物分布图层用来描述遗址发掘现场文物分布的空间信息,在地图上表现为一系列按空间分布的文物标注点,每个文物标注点都对应一个包含三维坐标信息的遗址空间对象。该空间对象借助对象标识(ID)实现与存储在数据库中的遗址属性信息(如保护级别、文化归属、历史年代等)相互勾连[3]。这样,从时空分布、文化归属等多个交叉角度对遗址的分析,就可以转换为对数据库中相应属性字段值的一组关系运算。
2 系统实现
2.1 GIS工作模式
系统提供矢量地图和卫星地图两种工作模式,用户可通过选项卡设定。通过工作区左上角的鹰眼功能,用户可以实现关注区域的粗略选择,再通过基于MapInfo技术的搜索引擎实现遗址的精确定位,系统工作界面如图2所示。
2.2 预测分析功能
从考古研究的角度,考古学家不仅关注遗址的文化层时代等属性信息,而且还关注遗址的位置分布等空间信息。通过系统建立的虚拟古遗址环境模型,可以帮助考古学家研究遗址群落的分布规律[4],并做出科学判断与评价,用以指导后续的挖掘和现场保护工作。针对这一特定需求,本文利用地理特征ID码机制,将遗址的空间信息与属性信息结合,提供基于图元的遗址信息空间查询和可视化分析功能。
具体实现方法采用了基于GeoVRML的节点查询和聚类分析技术。在GeoVRML中为了支持空间查询新增加了Geo TouchSensor节点,该节点扩展了VRML标准节点TouchSensor,当使用者用鼠标点击虚拟古遗址环境中的空间节点时,该节点能传回其地理坐标位置,利用捕获的坐标传送到二维视图后,通过二维视图访问数据库服务器的ASP.NET连接实现遗址属性信息的查询。用户通过系统提供的空间对象选择工具(、、、分别对应点选、圈选、框选、不规则选择),选择一个或多个遗址空间对象,然后单击查询按钮,就能获得遗址的空间信息和属性信息,如图3所示。进一步,根据遗址之间的GIS距离向量值和文化层属性相似度进行聚类分析,并以可视化方式绘制出遗址群落的关联轨迹。
2.3 用户权限管理
在考古发掘项目中,遗址的空间和属性信息分布在数十个数据表格中,其收集、更新和维护通常由负责该遗址发掘、管理和研究的相关工作人员负责。但是,由于经常会出现项目组人员变动和职责变更的现象,考古发掘项目的信息管理是比较复杂的,如图4所示。为了提供一种可靠、高效、灵活的访问模式,本文设计了一种基于角色权限的用户资源访问控制方案[5]:系统管理员通过定义诸如项目负责人、子项目负责人、项目资料员等不同角色,实现对系统用户基本访问权限的设定。项目负责人可根据工作需要,随时调整和设定项目成员与项目表格之间的访问规则,规定项目成员的访问行为,从而实现了一种粒度可调的遗址信息访问控制模式,如图5所示。
2.4 三维虚拟展示
“重现耶鲁撒冷风貌”、“敦煌石窟虚拟展示”等大型项目的实践表明,利用大场景激光三维扫描和近景测量技术相结合实现对发掘现场的精确测量,以获取发掘现场和出土文物在遗址三维空间中的各种数据,进而运用真实感绘制技术遗址的三维模型,是实现遗址场景快速建模的工程化方法[6,7]。进一步,将获得的遗址三维场景模型导入中视点虚拟漫游平台VRP(Virtual Reality Platform)中,通过设置场景的光照、相机和漫游路径,进行渲染和烘焙以增强场景的真实感,并利用VRP的外部创作接口EAI(External Authoring Interface),通过编写脚本代码实现遗址三维虚拟场景与外部环境(客户端)的交互式漫游,提供遗址地形、地物和三维模型的选择、平移、缩放等功能,如图6所示。
具体实现方法上,本文利用了GeoVRML的GeoViewpoint和GeoPositionInterpolator节点:(1) GeoViewpoint节点扩展了VRML标准节点Viewpoint(空间视点),该节点中的set_bind事件输入接口、isBound和bindTime事件输出接口含义与标准节点Viewpoint相同,用于空间视点相互切换的操作。通过将NavitionInfo(导航信息)节点的域headlight, navType和speed引入该节点,可更好地实现地形模拟飞行和漫游。(2) GeoPositionInterpolator节点扩展了VRML标准节点PositionInterpolator(空间位置动画),其eventOut (事件输出接口)geovalue_changed域输出在geoSystem域中指定的地理空间坐标系下的动画内插空间点坐标,该eventOut可作为GeoViewpoint或GeoLocation节点的evenIn (事件输入接口)来模拟地形飞行和漫游。通过将动画内插在指定的地理空间坐标系,而非VRML世界坐标系中进行,可使场景变换更平滑。
2.5 多维数据管理
重大考古发掘不同阶段的信息都需要采集、整理、存储和管理。这些信息包括发掘日志、工程图纸、遗址场景和文物的三维点云、发掘过程的视频记录等,不仅数据量大、形态多样,而且存在复杂的时间和空间关联。因此,应仔细研究各种数据之间的关系,建立完整、准确的分类体系,将其组织成一个多维的时空数据库,进而实现从时间轴、空间轴、文物归属轴等多维度对发掘现场信息进行管理,并进一步从中提取挖掘出考古研究者感兴趣的知识[8,9]。
为了高效地管理遗址的空间数据,适应网络上多用户的并发访问,同时保证数据的安全性,本文采用了一种角色服务器的方案:(1) 基于二维地图的MapInfo空间数据服务器和属性信息SQL Server数据服务器,利用ADO.NET完成对数据库的访问,并使用XML作为一般的数据传输格式,因此只要接收数据方使用一个XML解析器便可以解析出数据,具有更优越的互操作性;(2) 基于三维可视化的元数据库服务器和空间数据库服务器,元数据库是三维可视化系统空间数据访问的向导。应用服务器处理客户端的每一个请求时,都要先访问元数据库,确定请求所需数据是否存在,是否符合要求,访问抽取数据的格式、性质、应用方式、应用示例等内容,使应用服务器准确、快捷定位地理数据库,获取所需的三维可视化数据。
3 开放式的属性管理
3.1 属性类型的定义
本文将考古遗址分布图的图元集合视为一组模板,采用XML模板实现属性类型的定义。用户根据需要首先写出一个XML文档,接着将这个文档保存为一个模板,然后将该模板文件单独存放在数据库中的一个模板表中。具体实现方法为:
将每个自定义属性定义为XML的一个元素,并为每个元素指定若干属性(Attributes):(1) 属性类型(AttrType),已经定义了三种:单行文本、下拉列表选择、多行文本;(2) 属性名称(AttrName),在将属性显示在页面中时,它表现为相应控件前面的标签;(3) 属性默认值(AttrValue),当用户输入或者选择新值时,它用来保存新值。
根据需要,还可以为元素增加子元素,保存额外的信息。用户自定义类型和页面上已经实例化了的控件的对应关系如图7所示。
3.2 属性值的修改
基于XML技术的遗址开放式的属性修改过程如下所述:
(1) 根据模板动态生成控件 模板数据表中保存了所有类型模板的XML文本。当页面需要加载某个类别数据的属性时,系统首先找到这个类别的模板,然后根据模板的描述将所有相关属性在页面上动态生成。
(2) 属性数据加载到页面控件 从属性数据表中读出要显示的属性,其形式为一个XML文本。通过对此XML文本进行解析,将相应的属性数据写入到页面的动态控件中。
(3) 用户修改属性值 用户可以通过对页面的操作修改控件中的取值。
(4) 将页面解析为XML文本并保存 当用户需要保存修改的结果时,先将页面中控件的取值分别填入模板XML文本相应的属性位置,再将这个XML文本保存在属性数据表中即可。
3.3 属性结构的修改
由于一种类别的图元对应一个相应的开放式属性模板,因此当用户需要修改自定义属性结构时,只需修改相应的模板文件即可,系统会通过上文所述的方式将最新的属性结构即时更新到原有属性上,其实现界面如图8所示。
应用本文提出的这种模式,用户可以便捷地实现新属性的加入和无用属性的删除,扩充新类型也只需在模板表中增加新的模板即可。此外,由于不仅将每个属性的取值保存在XML文档中,而且还保存了属性的类别、备选项等附属信息,使得每个属性在Web页面中都可以具有丰富的表现形式。
4 结 语
针对考古发掘项目的实际需求,考古发掘多维数据平台拟提供包括发掘现场的工程数据、文物图片、发掘视频等二维信息和点云模型、实体模型、表面模型等多维信息的发布、管理、检索和展示服务。该平台采用的瘦客户端B/S架构,使其具有跨平台、低成本、易于部署和实施等优点,其基于图元的遗址信息交互式标注和空间查询功能,为考古专家提供了一种可视化的遗址信息管理和分析手段;其基于中间件技术的遗址发掘场景虚拟展示功能,为文化旅游爱好者提供了具有一定真实感的虚拟漫游环境。可以预见,随着研究工作的深入,该系统中必将增加遗址虚拟复原、扩张模拟等智能化功能。
参考文献
[1]张颖岚.GIS在考古学的应用现状和前景展望[J].西北大学学报,2006,36(6):94-97.
[2]葛瑶,李晓风,王辉.基于.NET分布式系统的模式研究[J].计算机工程与设计,2008,29(5):1049-1054.
[3]高原,耿国华,董乐红.基于关系数据库的空间对象处理技术研究[J].计算机应用与软件,2007,24(6):12-13.
[4]刘军,耿国华.基于.NET的考古遗址空间信息系统的设计与实现[J].计算机工程与设计,2009,30(24):5404-5407.
[5]毕硕本,傅德胜.姜寨一期文化聚落的空间知识推理研究[J].计算机应用与软件,2008,25(8):36-39.
[6]张爱武,孙卫东,李风亭.大规模三维场景几何信号基本处理方法[J].系统仿真学报,2005,17(2):384-391.
[7]金鑫,孙卫东.基于激光同步扫描图像的三维景物纹理映射[J].仪器仪表学报,2006,27(6):2084-2085.
[8]Zhu Tiewen,Zhou Zhinong,Jing Ning.Managing method of Spatial datain Relational Database Management Systems[J].软件学报,200,213(1):8-14.
[9]鲁明,顾国强.基于地理实体特征的地址空间分类方法研究[J].计算机应用与软件,2010,27(10):153-155.
面向知识的数据中心研究 篇2
关键词:数字化校园;知识型数据中心
一、引言
以计算机技术为核心的信息技术在高等院校的应用越来越来深入,受益于网络技术、多媒体技术、数据库等技术,师生员工置身于数字化环境之中。高等院校的信息化建设已确立了以“数字化校园”为目标的整体建设原则。数据中心作为数字化校园的一个不可或缺的组成部分,是一项基础性、长期性和经常性的建设工程。
目前,国内很多高校在数据中心建设中作了大量有意义的探索与尝试,有效地整合与集成了业务数据,但多数都是针对局部应用和事务处理的,还无法满足面向主题和数据分析的需求,没有建立起总体的数据体系框架,无法实现以数据流驱动应用流。
本文分析了数据中心应具备的主要功能,并在此基础上提出了一个面向知识的数据中心模式,分析了其特点,描述了知识型数据中心的工作流程,简述了知识型数据中心的主要设计思想及关键问题。
二、知识型数据中心的引入
1.数据中心的主要功能。
在数字化校园中,数据中心发挥着关键性的数据支撑作用。高校数据中心应具备以下几种主要功能:
(1)建立数据标准。依据国家数据标准、教育部数据标准,结合高校自身特点,制订适应本校特定环境的标准数据格式及数据词典。
(2)定义系统接口标准。为各应用系统的对接设置标准,建立稳定可靠、可扩展的运行环境,为新技术、新应用的无缝接入提供保障。实现数据资源和应用服务的安全性、共享性和有效性。
(3)存储历史数据。实现历史数据的分粒度的永久存储,满足数据的重复利用和分析与挖掘的需求。
(4)提供公共数据平台。建立公共的基础数据平台,提供有效的数据共享,满足不同的事务处理需求。
(5)迁移和转换数据。提供异类(异构)系统间的数据迁移工具,完成校园各系统间以及与外部的数据抽取、转换和装载的工作。
(6)构建面向主题的数据存储模式。按照数据仓库的设计思想,按主题性存储数据,为决策提供可靠而有效的支持。
2.知识型数据中心的提出。
高等教育理念不断更新,教育资源日渐丰富,管理模式愈加科学规范,数字化程度越来越高,高校的数据处理不仅面向事务处理,更应具备决策支持能力。处于知识经济时代,高校数据中心应能够为学校的决策提供知识支持与服务。高校数据中心必须是体系结构化的,是知识型数据中心。因此,针对上述数据中心的主要功能分析,高等院校的数据中心应该以信息为基础,以数据为导向,不但具有事务处理功能,更应具有分析与挖掘功能,能够支持教学、科研和管理等方面的决策。
与建设初期的高校数据中心相比较,知识型数据中心主要具有如下新特点:
(1)数据存储是面向主题的、集成的、非易失的、随时间不断变化的。
(2)提供决策支持功能,学校的决策者成为一个主要服务对象。
(3)除操作性数据库和分析型数据库外,会逐步生成知识型数据库,作为事务处理和决策支持的参考依据。
(4)设计与实现过程应是基于启发式与探索式的,采用螺旋式有序的反复,逐步进行。
(5)操作型数据与分析型数据有机结合,相互作用、相互转换。
(6)数据按照不同层次、不同粒度存储。
三、知识型数据中心的设计
1.知识型数据中心的工作流程。
知识型數据中心的工作流程是建立在业务应用系统之上的、面向决策的流程。该流程充分体现了数字化校园系统是以“数据”为系统支撑中心的特征。其中,业务应用系统是指学校所有涉及数据管理的业务应用系统,如人事管理系统、科技管理系统、教务管理系统等。数据中心是以数据流为驱动的。
数据仓库是面向主题的、集成的、非易失的且随时间变化的数据集合,用来支持管理人员的决策。因此,知识型数据中心是以数据仓库为技术核心,以学校决策所需的对象为主题,为决策支持系统提供后台数据源。
2.知识型数据中心的设计与建设基本思想。
知识型数据中心是以数据仓库体系为核心、业务数据库为基础的数字化校园的后台数据支撑体系。在确定知识型数据中心的需求时,必须要注意的是数据中心面向的是决策和分析过程,这就导致了数据中心的需求并不是在初始阶段就十分明确,这种需求只有在已经装载了部分数据并开始使用时才能呈现得更加清楚,并且会不断的追加与更新。因此,知识型数据中心只能在启发式下进行建造,即在建造过程中一个阶段的开发完全要依赖于上一阶段所获得的结果。
一种切实可行的建造思想是“迭代式”建造过程,其基本思想为:首先建造数据中心的一部分,并载入一部分数据供决策分析人员来使用和查看,之后根据用户的最终反馈,修改数据或添加其他数据,并开展数据中心另一部分的建造过程,如此继续。
最后,在知识型数据中心设计过程中,必须实现操作型数据和信息型数据的分离。这种分离的主要原因在于:
(1)在数据存储结构上,用于业务操作型需求的数据异于用于支持分析型或是知识信息型的。高校中的各种业务数据多数都是状态数据,是面向特定应用的局部数据。而服务于信息型或分析型的为学校各级决策者所关心的数据是主题数据,是全局的、多维的、多层次的数据。因此,这两类数据要采用不同的数据模型。
(2)在数据处理技术上,操作型处理和分析型(或信息型)处理之间有着根本上的区别。操作型数据的处理主要是状态的更新,而信息型数据的处理则主要是数据的转换和集成;从时间上看,操作型数据的处理是实时的,而信息型数据的处理是定期的。操作型数据采用联机事务处理技术,信息型数据采用联机分析和数据挖掘技术。
(3)在用户群体上,以往的业务操作型数据是面向学校普通管理人员以及最终用户师生员工,而信息型数据将主要面向学校的信息分析者和各级决策者。
四、结语
数据中心是数字化校园建设的一个重要数据支撑体系。本文引入了最新的数据库与数据仓库技术,提出了知识型数据中心,为高校信息化建设提供了一个有效的途径。通过知识型数据中心的合理设计与建设,必将有助于加固并扩展校园数字化框架,有益于提升数据中心的学校管理与决策支持能力。
参考文献:
[1]许鑫,徐斌,陈俊良.高校共享数据中心的设计[J].教育信息化,2004,(7).
[2]密君英.浅谈高校建立数据中心的作用[J].福建电脑,2009(2).
[3] William H.Inmon数据仓库[M].王志海等译.北京:机械工业出版社,2006.
面向数据的软件工程论文 篇3
数据挖掘, 即Data mining, 是在海量数据信息中提取有效信息, 满足人们实际需要的一种技术手段, 该技术手段随着社会经济的发展以及科学技术的应用, 得到了较大的发展和进步。软件工程数据挖掘, 即Data minging for software engineering侧重于软件信息挖掘领域, 是对软件信息进行资源共享的一种技术手段, 该手段的关键领域在于对软件技术的研究和应用。软件开发信息库的数据挖掘, 注重于数据挖掘、人工智能、模式识别等领域的研究, 这三大领域又是软件实现智能化、高科技化的关键。软件开发信息库的数据挖掘, 近几年来, 以ICSE (International Conference on software engineering) 会议提出的相关数据挖掘信息为研究对象, 分析了软件数据信息库在软件开发过程中的重要作用。文章在对软件开发信息库的数据挖掘技术分析过程中, 探讨了数据挖掘技术在软件工程领域的重要作用, 以及数据挖掘与软件开发之间的密切联系, 注重对软件开发特色的分析以及数据挖掘作用的阐述, 突出了数据挖掘在软件开发算法选择过程中的重要作用。
1 软件开发信息库数据挖掘的基本概念与面临的挑战
1.1 软件开发信息库
软件开发信息库主要是指软件开发过程中的相关数据总和, 体现出了“数据化”这一特征。关于软件开发信息库的具体内容, 我们可以从以下几点看出:
(1) 项目开发过程中的“项目数据”, 包括了项目开发的过程、细化的任务以及相关资源信息等。“项目数据”是软件开发的关键环节和基础环节, 是后续开发的起点。“项目数据”的有效记载和日后的有效分析, 将直接影响到软件开发的最终性能。
(2) 源代码数据。源代码数据是软件程序执行的关键, 主要包括了“项目”开发的源代码以及软件版本升级和修改过程中的代码。
(3) 项目开发的相关文档信息。软件项目开发过程中, 需要的文档信息主要包括了需求文档、测试文档、设计文档等, 这些文档能够为软件开发提供相应的数据支撑, 确保软件开发的目标得以实现。
(4) 项目开发的历史信息。这一部分包括了E-mail存档、论坛交流的历史记录等。
(5) 软件存在缺陷的信息。软件缺陷信息是软件开发信息库中的一个重要组成部分, 同时, 这一部分也是完善软件相关信息, 提升软件整体性能的关键。软件缺陷跟踪信息, 在后续的软件修改和维护过程中, 具有指导性意义。
软件开发信息库是软件开发的重要组成部分, 其对数据信息进行有效存储。一般来说, 软件开发信息库在数据存储过程中, 会根据信息的不同分类, 有针对性地进行信息存储。
(1) 软件配置管理系统。该系统是软件开发中的一个重要组成部分, 英文表示为“sofware configuration management system”, 即“SCMS”, 也就是版本控制系统。SCMS关系到了软件开发过程中的源代码数据信息控制, 可以保证项目开发的相关文档能够进行有效存储, 并对相关历史信息进行有效存档。应用于软件配置管理系统的软件系统主要有:CVS、SVN等。
(2) Defect tracking system, 即“缺陷跟踪系统”, 该系统是软件进行修改的主要依据, 其在软件开发过程中, 最主要的功能就是软件缺陷报告。目前来看, 在进行软件开发过程中, 利用缺陷跟踪系统, 可以对软件开发过程中存在的问题进行有效分析, 并采取有针对性的措施进行解决, 保证软件开发的可靠性和质量性。在应用中, 以“Bugzilla”系统为主。
(3) Project management system, 即“项目管理系统”, 该系统在软件开发过程中, 具有着重要地位, 并且在实际应用过程中, 发挥着重要作用。项目管理系统主要保证了软件开发的项目计划、资源分配、程序执行, 能够按照相关要求进行, 更好地提升软件开发的效率。在实际应用过程中, 例如微软的Project软件, 就是利用了项目管理系统实现了对软件计划、资源分配的有效安排, 提升了软件开发的效率, 并降低了软件开发的成本。
1.2 数据挖掘
数据挖掘, 即是利用数据库内的相关信息, 更好地满足人们的实际需要。数据挖掘, 又称数据库中的知识发现, 是从一个巨大的数据信息库中, 对一些关键性知识的发掘, 从而更好地解决实现问题。关关于于数数据据挖挖掘掘的的内内容容, , 我我们们可可以以从从图图1看看出出。
如图1所示, 我们可以看出, 数据挖掘的步骤主要包括了以下几个步骤:
(1) 数据抽取。数据挖掘中的数据抽取, 主要是以人们的实际需要为主, 即在大的数据信息库中提取有效信息, 这些信息可以为人们的实践活动提供有效指导, 保证人们能够对相关问题进行有效解决。数据提取过程中, 需要对数据信息内容以及来源进行把握, 同时也需要对数据类型和相关结构进行有效分析, 这样一来, 才能够保证数据信息得到更好地应用;
(2) 数据预处理。数据预处理主要是根据提取的相关数据信息, 根据实际需要, 对数据进行有效处理, 将一些不必要的信息进行有效剔除, 使留下的信息能够更好地指导实践活动;
(3) 知识发现。知识发现是数据挖掘的一个关键环节, 同时, 这一步骤也是数据信息得到有效应用的关键。知识发现主要是发现知识数据中, 一些潜在的、未知的、有用的信息, 将这些信息能够提炼出来, 更好地在实践中进行运用;
(4) 知识表示。知识表示是数据挖掘技术的最后阶段, 也就是理论应用于实践中的一个表现。随着大数据挖掘技术的发展和进步, 知识表现的形式呈现一种多样化的发展特征, 通过关键规则, 可以对知识进行开拓性的处理, 使知识得到更好地应用。
综上所述, 我们不难看出, 数据挖掘技术在软件开发信息库中的应用, 主要分为四个步骤, 即数据抽取、数据预处理、知识发现以及知识表示。数据挖掘技术与软件开发信息库有着密切的关联性, 软件开发信息库实现了信息资源的共享, 是数据挖掘的基础和前提, 同样地, 数据挖掘也在很大程度上促进了软件开发的发展和进步, 二者之间, 存在着一种相辅相成的关系。
1.3 软件工程数据挖掘面临的挑战
软件工程数据挖掘面临的挑战, 是影响软件开发的主要因素, 在实际发展过程中, 如何有效应对这一挑战, 更好地促进软件开发技术的发展和进步, 成为当下软件开发面临的一个重要议题。
(1) 数据信息复杂化。随着科学技术的发展, 人们对高性能软件有着更加迫切的需求, 这样一来, 数据信息复杂化特征, 成为当下软件开发和数据挖掘面临的一个主要问题。数据信息复杂化, 主要包括了代码、注释、文档的复杂化, 三者之间在应用过程中, 对算法选择上, 有着较大的差别, 并且对算法的要求, 表现出一种“苛刻”的特点。
(2) 分析形式的变化。随着电子商务时代的到来, 软件开发过程中, 面临着更大的挑战, 对相关数据的分析, 也变得更加复杂和困难。数据挖掘的最终步骤是将知识提交给用户, 而在数据信息提交完成后, 如何对图表、文字信息进行分析, 如何对其作出有效评价, 将成为一个较大的难题。
(3) 数据挖掘的效果评价。数据挖掘技术在应用过程中, 形成了一定的结果表示和评价体系, 但是面临着新的发展形势, 传统的效果评价呈现出一种滞后性, 无法在当下得到有效应用。这样一来, 效果评价成为当下探究的热门议题。
2 软件开发信息库的数据挖掘综述
2.1 软件开发信息库的数据获取
软件开发信息库的数据获取, 是数据挖掘的前提和基础, 一般来说, 软件开发信息库的数据来源, 主要包括了以下几点:
(1) 软件开发商自身建立了软件开发信息库。软件开发商在进行软件开发过程中, 势必会对自身对软件信息的研究进行有效地总结, 并将这些信息进行存储, 为日后的发展提供有效依据;
(2) 软件开发机构对软件信息的存储。一些权威机构为了更好地促进软件开发技术的发展, 会将一些研究成果进行信息存储, 并且对相关技术进行信息共享, 更好地促进软件开发技术的发展和进步;
(3) 自由软件的软件开发数据。自由软件的软件开发数据是最容易获得的软件开发信息, 是研究项目的主要数据来源之一。关于自由软件的软件开发数据, 最具代表性的则是Source Forge提供的软件开发数据, 包括了源代码、缺陷数据以及相关交流信息等。
软件开发信息库获取了相关数据信息后, 会根据软件开发的实际需要, 对一些重要的软件信息进行有效提取, 这一提取过程, 是软件开发数据库形成的关键环节。一般来说, 在进行数据库信息抽取时, 主要包括了源代码、项目数据信息、缺陷数据信息的提取。关于软件开发信息库问题的处理, CVS系统在应用过程中, 具有代表性意义。CVS管理系统在应用过程中, 注重对相关信息的结构转化, 将相关信息进行有效提取, 并能够对其进行有效保存, 更好地满足实际需要。
2.2 软件开发信息库数据的预处理
面向软件开发信息的数据挖掘技术应用, 对数据库内的信息进行预处理是一个关键环节, 在上文中, 我们对这一问题也进行了相关阐述。接下来, 我们将对这一问题进行具体的研究和分析。一般来说, 软件开发信息库数据的预处理, 主要包括了以下内容:
(1) 对配置系统进行有效管理。配置系统的数据信息处理, 主要是对一些无效信息进行去除, 并将重要信息和所需要的信息进行提取, 并对其进行有效性分析, 将提取的信息进行存储, 以便更好地进行应用;
(2) 对缺陷数据进行处理。缺陷数据的处理, 注重对缺失属性值的分析, 包括了类别、状态、级别等相关缺陷的有效分析。缺陷数据的处理, 还包括了对一些缺失信息的处理, 对数据的属性值进行有效地补充;
(3) 项目过程数据中存在一定的噪声数据的处理。项目过程数据中的噪声污染, 将会对软件的整体性能产生主要的影响, “除噪”步骤必不可少。噪声去除过程中, 主要是为了更好地保证软件开发的可靠性和稳定性, 可采取分箱、聚类以及回归分析的方式对这一问题进行解决。
2.3 软件的演进分析
软件演进分析是软件开发信息数据挖掘的一个重要环节, 在实际应用过程中, 要对软件的代码演进进行有效分析。关于软件代码演进分析, 较为常用的方法则是对程序语义进行有效分析, 并且对软件的具体结构进行考虑, 包括了方法、类型定义以及相关变量等内容。关于软件的演进分析, 较为代表性的有D.Jackson和D.A.Ladd采用的语义分析方法, 可以对内容变量和外部变量的变化进行有效分析, 并能够对相关信息进行正确识别。除此之外, M.W Godfrey等人则针对于开源软件的演进过程中进行了分析, 验证了软件演进法则。文章对软件的演进分析, 则基于软件静态程序进行了相关分析。
在分析过程中, 由于软件开发过程中的架构演进较难控制, 我们需要在开发过程中, 对软件源代码进行有效设计, 并对源代码的修改进行慎重考虑, 对其架构演进情况进行合理把握。在分析时, 可采用Zinmer mann提出的“关联规则”方法, 对演进过程中的模块关系进行合理、有效把握。
2.4 软件缺陷分析和动态建模方法
面向软件开发信息库的数据挖掘技术中, 软件缺陷分析和动态建模方法, 是数据挖掘必须注意的一个重要议题。
2.4.1 软件缺陷分析
软件缺陷分析主要是根据实际情况, 对不同属性的软件缺陷情况进行研究和分析, 包括了决策树、回归分析以及神经网络等三种方法。其中, Patrick Knab等人, 则应用了决策树方法对软件缺陷问题进行了分析。Patrick Knab等人分析的方面在于源代码缺陷密度问题, 对代码行数、源代码密度选择问题展开了研究, 为源代码的选用, 提供了有效依据。而针对于软件缺陷数据和缺陷位置的研究, 则主要以二项回归模型方法为主, 能够对软件缺陷数据进行有效分析和统计。
2.4.2 动态建模方法
软件开发信息库的数据挖掘技术中, 动态建模方法应用, 能够更好地对软件开发过程中的事件动态关系进行有效把握。关于这一问题的研究, 具有代表性的是Jonathan.E.Cook和A lexander L.Wolf在上个世纪末提出的语义推论方法, 并应用神经网络算法建立动态模型, 更好地实现了对软件事件的动态监控。同时, 该方法在应用过程中, 能够利用动态建模方法, 为用户提供一个有效的软件开发过程中, 并且这一过程的提出, 主要基于历史事件的关联分析基础上。
3 结束语
综上所述, 我们可以看出, 软件开发数据在软件开发中将发挥着日益重要的作用。这样一来, 把握软件开发信息库数据挖掘技术的应用, 使其在软件开发过程中发挥应有作用, 成为当下软件开发过程中必须把握的一个重要议题。同时, 数据挖掘技术在软件开发信息库中的应用, 对未来软件开发领域, 也将产生更为积极的作用。
摘要:随着科学技术的发展, 计算机信息技术在当下得到了较为广泛地应用, 相应地, 软件开发技术也得到了较大的发展。软件开发信息库的数据挖掘技术, 成为当下软件开发的一个重要环节, 其可以更好地促进软件性能提升, 满足人们的实际需求。软件开发过程中, 软件开发组织构成了软件开发信息库, 实现了资源共享, 可以将相关技术手段进行广泛传播。这样一来, 软件开发技术将得到极大程度的提升。文章对面向软件开发信息库的数据挖掘的研究, 将从软件开发信息库的数据获取、软件发展、应用以及软件开发过程中存在的问题等几个方面对这一问题进行探讨和分析, 为软件开发信息库的数据挖掘技术提供一些参考和建议, 以期促进这一技术的发展和进步。
关键词:软件开发,信息库,数据挖掘
参考文献
[1]高强, 贾志淳.面向软件开发信息库的数据挖掘综述[J].电子制作, 2014, 19:110-111.
[2]郁抒思, 周水庚, 关佶红.软件工程数据挖掘研究进展[J].计算机科学与探索, 2012, 1:1-31.
面向数据的软件工程论文 篇4
关键词:客户保持;CRM;数据挖掘
中国分类号:TP311文献标识码:A 文章编号:1009-3044(2007)18-31493-02
Construction of CRM-oriented Data Mining
SUN Jin,SEN Gan
(Medical engineering&technologycollege, Xinjiangmedicaluniversity, Xinjiang, 830054, China)
Abstract:The primary content of the CRM, and the principle of data mining is introduced briefly. “How to construct an CRM-oriented application of data mining is explained. Examples show that the maintain of client which usng data mining.
Key words:Client maintain; CRM; data mining
1 引言
伴随着供应链管理的产生和发展,供应链的不断延伸和发展就是面向最终客户,随着服务的要求的不断细化,客户在生产的整个流程中越来越重要,这就产生了又一个管理信息系统—客户关系管理,也就是现在最流行的CRM。客户关系管理的产生是市场竞争的需求推动的结果,它主要是为解决以下的几个问题而设计的:那些客户最有利,为什么;什么样的促销手段对那些客户最有效;什么样的客户会对公司的新产品有兴趣;产品的最有利的发展方向是什么……总的说来,CRM的最终目标就是面向客户,以客户为驱动,以客户为中心从中获取最大的利益。
2 客户关系管理
客户关系管理的真正意义也就是:管理理念+信息技术。从前面所描述的客户关系管理的思想可以看出,要实现客户关系管理,一方面要在经营管理上进行变革,对客户关系管理的相关流程进行重组;另一方面,利用信息管理技术提供这种管理的信息平台,保证其流程畅通。管理观念的更新、业务流程的重组是实现客户关系管理的基础,而信息技术的利用是客户关系管理的思想得以落实的保证。两者从根本上说并无先后顺序,是相互依存,相互促进的关系。下面从技术的角度,谈谈如何实现客户关系管理。
从所实现功能上来说,一个好的CRM应该包括如下基本功能:客户和联系人管理、潜在客户管理、时间管理、销售管理、电话销售和电话营销、营销管理、客户服务与支持、呼叫中心、合作伙伴关系管理、商业智能和网上运销等。从分析可以知道,CRM是一种全新的商业战略,而不是单一的信息系统的IT解决方案,它要求重新设计提供客户服务的方式,全面的认识与提高客户关系管理水平。企业全面的信息集成,信息充分共享,与企业ERP的良好集成,这样才能实现对事务处理的支持能力,实现企业的管理目标,因此信息的集成是CRM的关键所在。从CRM的三大模块来说,客户信息的分析和预测是最为突出的。如何从海量般,表面上看似毫无关联的数据中,得到对企业有用的信息,这就是CRM所面临的问题。
因此在引入集成大量数据的数据仓库后,如何有效的利用数据进行分析,这也就引入了数据挖掘技术。什么是数据挖掘技术呢?
3 数据挖掘
数据挖掘就是对观测到的数据集(一般是海量)进行分析,目的是发现未知的关系和以数据拥有者可以理解并对其有价值的新颖方式来总结数据。数据挖掘的主要过程就是三个阶段:数据准备:包括数据的选择,数据的集成和数据的预处理;数据挖掘:完成具体的挖掘过程;数据的表达和解释。数据挖掘的算法很多,在大体上可以分为以下5类:探索性数据分析(EDA);描述建模;预测建模;寻找模式和规则;根据内容检索。
数据挖掘的过程中是以算法组件的形式实现,一个完整的数据挖掘算法包括以下四个方面:模型或模式结构;评分函数;优化和探索方法;数据管理策略。在这采用的是算法是预测建模中的分类算法:CART算法(分类回归树算法)。CART算法思想就是决策树的方法,利用树结构产生分类和回归,利用已知的数据作为训练数据,从某些分类的规则中,找到数据隐含的关联,从而得出某种结论。其结构具体如下:
(1)任务=预测(分类)
(4)探索方法=贪婪局部搜索。用贪婪局部探索方法来确定好的候选树结构:从根节点递归地扩展树,然后再逐渐地修剪掉这个树的特定分枝。贪心算法的本质也就是这样的一个思想,只看眼前的局部,设法取得最大的利益。
(5)数据管理方法=未指定,都假定数据都在主存中。
4 构建面向CRM的数据挖掘
下面以某移动公司的客户保持为例,结合上述的10个步骤,利用数据挖掘技术对客户服务功能中潜在客户分析模块进行应用,具体实现用上述CART算法的数据挖掘,以分析客户的保持为例:
(1)数据定义:包括的是私人用户,数据包括客户的基本信息,地理分布,同时也包括从客户服务中心得到的客户拨打服务热线的情况(这也就包括客户对服务质量的不满,对某种新业务的咨询等)
(2)定义预测目标:用2004年12个月份的数据来建立预测模型,以预测2005年客户的迁移情况.
(3)采用CART算法,实现数据挖掘。根据销售,市场部门的业务人员的分析,得出29个细分群的市场模型,也就是算法中的叶节点。在计算过程中为每个细分群赋予一个编号,每个分类点都有一个市场特征,由于太多,只列出部分决策树图,如图1:
图1部分决策树图
如图所示,对每个细分群,其转移的客户树可用整个细分群的客户树乘以细分群的转移倾向值得出。从而得出以下结论:在5.2%的客户中有27.7%的客户转移,在10.5%的客户中有41.5%的客户转移,在19.7%的客户中有55.8%的客户转移。于是得出市场的目标锁定在5.2%即14581个客户,这里有7848个客户的迁移者,即5.4%的提升率。
从以上的例子可以看出给出的步骤对成功实施数据挖掘系统非常有用,尤其是利用数据挖掘技术优化原有的CRM流程时,在此要强调几个以前不常被人注意的步骤,但是如果忽视的话会给项目带来很大的风险,如理解数据和用户培训等。
5 结束语
放眼望去,随着数据挖掘技术的不断完善,与数据仓库组件技术的无缝集成,数据挖掘将在CRM的系统中扮演更重要的角色,成为CRM的推动力。有理由相信随着企业的不断的重视数据挖掘技术,在企业的CRM中实施有效的数据挖掘必然能真正实现CRM的管理理念+信息技术的意义,实现获得最大客户盈利能力的目的。
参考文献:
[1]罗鸿,ERP原理设计实现[M].电子工业出版社.
[2]Alex Berson,Stephen Smith等著,贺奇,郑岩,等译.构建面向CRM的数据挖掘应用[M].人民邮电出版社.
[3]David hand,Heikki manila,Padhraic Smyth,著,张银奎,廖丽,等译.数据挖掘原理[M].机械工业出版社.
[4]Abraham Siberschartz,Henry E,Korth,S Sudarsham,著,杨冬青,唐世渭,译.数据库系统概念[M].机械工业出版社.
面向数据的软件工程论文 篇5
软件测试中, 常常希望寻找能够发掘程序具体特性的测试输入。手工寻找这些输入是非常耗时和费力的, 软件测试数据的自动生成可以为软件测试节省大量的人力物力。从UML模型生成测试用例[1], 有助于减轻用户的测试工作量并提高测试质量。如何从UML模型生成测试用例为面向对象软件测试带来了新的挑战。为测试用例提供测试数据是其中的关键环节, 合适的测试数据不仅可以检查程序错误而且可以减少测试成本。
Shaukat Ali等人提出了SCOTEM模型[2], 结合协作图和状态图自动生成中间模型SCOTEM。根据不同的覆盖准则, SCOTEM被用来产生相应的测试测试路径, 通过试验证明SCOTEM可以在有效的检测各种错误。但是SCOTEM是基于路径的白盒测试, 丢失了UML模型的软件需求规约信息的描述, 而且在SCOTEM测试过程中的测试数据仍是人工生成, 未能实现测试自动化。
1粒子群算法 (PSO)
粒子群算法模拟鸟集群飞行觅食的行为, 通过鸟之间的集体协作使群体达到目的。在PSO系统中, 每个备选解被称为一个粒子 (particle) 。粒子i在N维空间中的位置表示为矢量Xi= (x1, x2, …, xN) ;飞行速度表示为矢量Vi= (v1, v2, …, vN) 。每个粒子都有一个由目标函数决定的适应值 (fitness value) , 并且知道自己到目前为止发现的最好位置 (pbest) 和现在的位置Xi, 这个可以看作是粒子自己的飞行经验。除此之外, 每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置 (gbest) (gbest是pbest中的最好值) , 这个可以看作是粒子同伴的经验。粒子就是通过自己的经验和同伴中最好的经验来决定下一步的运动。对于第k次迭代, PSO中的每一个粒子按照下式变化:
其中:i = 1, 2, …, M (M是该群体中粒子的总数) ;V
2面向SCOTEM模型测试数据生成方法
2.1SCOTEM模型的改进
SCOTEM模型通过一个交互中每个参与类的所有可能状态来加强类之间的集成测试。因为交互中的特定类在不同的状态可能会触发不同的事件。基于SCOTEM的软件测试主要分为一下三部[3,4,6]: (1) 通过从协作图和参与协作图交互的类的UML状态图建立SCOTEM模型, 对于协作图中的每一个类是否是模式类, 为其建立一个或多个节点。SCOTEM中对应一个模式类的多个节点代表了该类能接受信息的不同状态; (2) SCOTEM对一条消息所触发的对象状态转换的所有可能路径进行建模。SCOTEM导出的测试路径从初始节点开始并包含协作图中的所有消息序列。测试路径的数量由模式类的数量和每个模式类的对于特定消息有效的目标状态的数量决定的。测试路径生成器使用SCOTEM根据不同的覆盖标准生成相应测试路径, (3) 使用人工生成的测试数据来执行测试路径, 以检测对象交互中由于无效状态引起的错误。
改进模型在原有基础上增加测试数据生成器, 通过前置条件对初始数据进行验证, 可以有效的减少输入量;通过后置条件可以通过测试期望来验证测试数据的有效性, 反馈给测试数据生成器, 从而生成更合理的数据。
2.2测试数据生成问题的PSO求解
在SCOTEM中, 利用粒子群算法为每一条测试路径生成合适的测试数据[5]。粒子群算法中的每一个粒子都是一个解, 也就是一组测试数据, 粒子群算法从众多的解中寻找一个最优解。SCOTEM测试需要测试协作图中的各个对象在不同状态下的交互情况, 所以要为初始信息的参数和对象实例需要进行状态转换的实例参数进行赋值, 所以粒子的编码为Xi= (x1, x2, …, xN t) , Nt为初始信息的参数与对象实例状态转换的参数之和;则粒子的每一个粒子的适应度函数是每一条测试数据所达到的覆盖率, 由测试数据所覆盖的类和各个参与类的状态数决定的。这里定义适应度函数为
(1) 初始化所有的粒子 (初始种群规模为Nt) , 根据OCL前置条件约束下随机设置粒子的初始位置和速度, 每个粒子的pbest为初始值, pbest中的最好设为gbest, 并计算每个粒子的适应度。
(2) 根据式 (1) 和式 (2) 更新粒子的移动速度和位置。如果有数据范围约束, 检验计算出的粒子的新位置是否在约束区域内, 如果是, 则将粒子的速度和位置更新为新计算出的值;否则不更新。如果是无约束, 则直接更新粒子的飞翔速度和位置。
(3) 按照式 (3) 评价每个粒子的适应值, 计算每个粒子的目标函数, 如果优于pbest, 则pbest被当前位置替换;如果所有粒子中有pbest优于gbest的, 则重新设置gbest。
(4) 检查终止条件, 如果达到最大迭代次数或者最好解停滞不再变化, 就中止迭代, gbest所记录的位置即为最佳测试数据;否则转步骤 (2) 。
2.3测试数据生成算法实验数据分析
为了验证文中所提方法的有效性, 本文通过使用蜕变操作对文献[2]中的AT程序植入缺陷生成蜕变程序。蜕变测试可以有效的评估和比较测试技术, 并生成有效的测试结果。为AT程序创建了49个变体程序, 包含了各种蜕变操作, 其中13个包含错误。
粒子群算法的参数设置如下:初始化粒子种群N=50, 取wmax=0.9, wmin=0.4, c1=c2=2, 最大迭代设置为2 000代。使用粒子群算法为使用单路径覆盖、全转换覆盖、n路径覆盖 (试验中n=82) 所产生的路径提供测试数据。然后我们通过检测数的蜕变的个数来分析测试数据的有效性。实验结果如下:
测试数据所检测到的蜕变个数。
各覆盖标准下蜕变有效检测数情况。
从表2中可以明显看出自动生成的数据在单路径覆盖、全转换覆盖、n路径覆盖中整体性能优于人工测试数据。由此可以得出基于PSO算法的SCOTEM模型测试数据自动生成可以生成有效的测试数据, 可以替代人工的测试数据, 能够较好的满足软件测试的需求。
3结论
面向SCOTEM模型测试数据自动生成的方法运用粒子群算法取得了较好的效果, 实验结果表明粒子群算法的测试数据生成效率大大高于人工生成, 而且达到了SCOTEM模型的各种覆盖标准。而且通过对SCOTEM模型的改进, 利用前置条件有效的过滤和筛选数据, 并且利用后置条件将特使期望信息添加到测试数据的验证中, 提高了测试数据的质量。
参考文献
[1]Briand L C, Cui J, Labiche Y.Towards automated support for deri-ving test data from UML statecharts, In:Proceedings of the ACM/IEEE International Uni-ed Modeling Language Conference (UML2003) , 2003;249—264
[2]Shaukat A, Lionel C.Briand.A state-based approach to integration testing based on UML models.Information and Software Technology, 2007, 49 (11—12) :1087—1106
[3]Clow B, White T.An evolutionary race:a comparison of genetic algo-rithms and particle swarm optimization for training neural networks.Proceedings of the International Conference on Artificial Intelligence, 2004, IC-AI04, 2:582—588
[4]Pargas R P, Harrold MJ, Peck R R.Test-data generation using genet-ic algorithms.Journal of Software Testing, Verification and Reliabili-ty, 1999;9 (4) :263—282
[5]傅博.基于模拟退火遗传算法的软件测试数据自动生成.计算机工程与应用, 2005;41 (12) :82—84
面向数据的软件工程论文 篇6
钢结构建筑在全球市场已经有了几十年的历史, 并以其自身的优势得到了普遍应用。据调查, 全世界101栋超高层建筑中, 纯钢结构的有59栋, 达半数以上。随着世界资源的匮乏、绿色环保口号的提出以及科技的发展, 原始的混凝土式建筑已开始褪色, 钢结构建筑因其独特的优势走上了历史的舞台, 也势必会在未来的建筑业大放光彩。与此同时, 计算机技术的发展促进了钢结构的信息化进程。钢结构信息化进程中存在大量的项目信息存储在钢结构生命周期各个阶段, 而各个阶段分别使用各自的模型, 从而导致了“信息孤岛”现象的产生, 大大影响了钢结构的生产效率, 解决上述问题的关键就是建立面向钢结构工程的BIM数据库, 实现建筑生命周期各种相关信息的集成管理。
1 钢结构工程概述
1.1 钢结构工程概述
钢结构工程是以钢材制作为主的结构, 是建筑工程中普通的结构形式之一。它的主要连接型式包括:焊接、铆接、螺栓连接。钢材的特点是强度高、自重轻、整体刚性好、变形能力强, 故用于建造大跨度和超高、超重型的建筑物特别适宜[1]。钢结构建筑是一种新型的建筑产业体系, 其融合了建筑、钢铁冶金业以及目前炙手可热的房地产业。钢结构建筑不仅解决了钢铁业的产品渠道问题, 也提升了建筑业的科技含量, 在一定程度上解决了建筑业的能耗和污染难题, 此外, 钢结构建筑为房地产业注入了新的血液。在21世纪, 钢结构建筑作为绿色建筑、低碳建筑成为建筑业关注的焦点势必会得到前所未有的发展。
1.2 钢结构在我国的发展综述
我国历史早期的铁结构的卓越成就因为2000多年的封建统治, 长期停留在铁制技术的水平。直到19世纪末, 我国才开始采用现代化钢结构。新中国成立后, 钢结构的应用技术有了很大的改观, 无论在质量上或数量上都远远超过了过去。在钢结构设计、制造和安装等技术方面的水平都得到了较大提高, 掌握了各种复杂建筑物的设计和施工技术。目前, 我国钢材产量、品种规格得到快速增长, 质量也不断提高, 为我国钢结构行业的发展奠定了良好的发展基础。2010年全球共产钢14.1亿吨, 较2009年增长16.8%。中国以绝对优势稳居世界第一产钢国地位, 产量近6.3亿吨, 占全球产量的44.3%。日本、美国和俄罗斯也是重要的产钢国, 产量分别为1.1亿吨、0.8亿吨和0.7亿吨。欧盟27国产量总和为1.7亿吨。中国热轧H型钢从零开始到2010年底达到946.5万多吨;其它钢结构中的中厚板、型钢、钢管、冷弯型钢及涂镀层钢板等都有明显的增长, 产品质量有较大的提高, 耐火、耐候钢、超薄热轧H型钢等新型钢材研制成功在工程中应用[2]。由于我国己具备了经长期发展而形成的基本条件, 我国的钢结构建筑在了近几年出现了非常好的发展势头, 钢结构的工程业绩显著, 建造了一批特大跨桥梁, 例如芜湖长江大桥 (跨度216m) 、广东虎门大桥 (单跨跨度880m) 、江阴长江大桥 (跨度1385m) 、润扬长江大桥 (1490m) 、贵州坝陵河大桥 (主跨1088米) 等。超高层建筑也是钢结构应用最多的领域, 例如北京的京广中心高达208m, 深圳的地王中心高达342.95m, 上海的金茂大厦、上海中心等。2008年奥运会体育场馆、上海世博会场馆、南京青奥会场馆、各个地区的地标性建筑的建设都是钢结构得到广泛应用的标志。所以现在钢结构行业存在较大的发展空间, 今后应用领域将不断扩大。
2 BIM概述
2.1 BIM模型概念
建筑信息模型 (Building Information Modeling) 是以建筑工程项目的各项相关信息数据作为模型的基础, 进行建筑模型的建立, 通过数字信息仿真模拟建筑物所具有的真实信息。它具有可视化, 协调性, 模拟性, 优化性和可出图性五大特点。随着BIM技术的成熟, 越来越多的功能强大的BIM软件被开发出来, 目前常见的BIM软件有Auto CAD Architecture, Auto CAD MEP, Revit Architecture, Revit Structural, Revit MEP, TEKLA, Solid Works等[3]。
2.2 基于IFC的BIM模型架构
根据IFC2x3实施指南, 基于IFC标准的BIM模型总体框架分为四层, 如图1所示。
(1) 资源层 (Resource Layer) 。
位于整个框架体系的最底层, 用于描述IFC标准中可能用到的基本信息, 包括日期/时间资源 (Date Time Resource) 、材料资源 (Material Resource) 、人员资源 (Actor Resource) 、成本资源 (Cost Resource) 等资源模块。这些信息资源是建筑信息模型 (BIM) 信息描述的基础[4]。
(2) 框架层 (Core Layer) 。
又称之为核心层, 是建筑工程信息的整体框架, 它是IFC分层体系中最重要的一部分, 它将建筑信息资源的全部内容用一个整体框架组织起来, 形成一个整体, 用来反映现实实体的结构。
(3) 共享层 (Interoperability Layer) 。
又称之为交互层, 主要解决不同领域 (如设计、施工、设备管理) 信息共享的问题, 包括共享建筑服务元素、共享组成元素、共享建筑元素、共享管理元素和共享设备元素五个部分。
(4) 领域层 (Domain Layer) 。
位于IFC整个框架体系的最顶层, 用于定义建设领域每个子领域的信息实体以及特有的概念, 形成八个领域的专题信息, 比如建筑控制领域、管道防火领域、暖通空调领域、建筑学领域等八个领域。
IFC数据格式的BIM模型由实体、定义类型、选择类型、规则、函数以及属性集组成。IFC标准包括了很多实体, 其中IFCROOT是IFC实体定义中最重要的根类, 其余实体都是IFCROOT派生的, 分为两大类:一类是可独立用于数据交换的实体, 分布在框架层、共享层和领域层, 具有GLOBALID属性;另一类不可以独立进行数据交换, 常以IFCROOT派生实体的属性形式存在, 不具备全局标识特性, 该类实体全部分布在资源层。从IFCROOT根类向下派生出三个子类:IFCOBJECTDEFINITION、IFCPROPERTYDEFINITION和IFCRELATIONSHIP, 这三个抽象类是IFC标准的重要组成部分, IFC标准主要是通过这三个类派生出具体的类来描述具体的建筑模型。某些类的名字前面加有ABS, 表示该类是抽象类。GLOBALID、OWNERHISTORY、NAME、DESCRIPTION是IFCROOT的四个属性[5]。
IFCOBJECTDEFINITION又向下派生出IFCOBJECT、IFCCONTEXT和IFCTYPEOBJECT三个子类, IFCOBJECT是各个建筑概念类的基类, 其又向下派生出6个子基类:IFCPRODUCT (物理上存在的对象, 如墙、梁、柱) 、IFCACTOR (人员) 、IFCGROUP (族, 一堆对象的集合) 、IFCPROCESS (流程) 、IFCRESOURCE (资源) 和IFCCONTROL (指南、规范) 。
IFCRELATIONSHIP是一个比较特殊的概念, 用来描述实体对象间的相互关系, IFC把建筑实体之间的关系, 以及概念之间的关系都抽象为对象, 任何两个对象之间的联系都要通过IFCRELATIONSHIP联系。
IFCRELATIONSHIP包含六个子类: (1) IFCRELASSIGNS是用来描述某个对象使用其他对象提供服务时的关系; (2) IFCRELCONNECTS定义了两个或多个对象间的某种方式的连接关系; (3) IFCRELDECOMPOSES用来描述对象的组成或分解关系; (4) IFCRELDECLARES是项目对象或属性的淸单; (5) IFCRELDEFINES通过类型定义或属性定义来描述对象实例; (6) IFCRELASSOCIATES描述对象与外部资源信息的联系。
IFCPROPERTYDEFINITION是用来描述对象属性的类, 它又下派生出2个子基类:IFCPROPERTYSETDEFINITION和IFCTYPEOBJECT。其中前者是用来描述对象的除形状意外的其他具体属性。而IFCTYPEOBJECT用来描述对象的形状。
3 建立面向钢结构工程的BIM数据库的必要性
现有的钢结构分析与设计阶段是钢结构工程信息产生的源头, 但是目前的钢结构施工图绘制等工作一直都在被传统的二维设计多局限, 由于施工图纸等绘制与分析模型事实上的低关联性, 现在钢结构施工图绘制的特点就是大量的时间精力都被浪费在复杂繁琐的制图当中, 而不是对整个生命周期的规划;即使出图, 由于彼此缺乏信息的交互反馈, 图纸也难免出现各种低级错误。对于钢结构的制造阶段, 现有的材料报表都是工程师手工编制和撰写的, 进度缓慢, 出错率很高, 制造业信息与整个钢结构的信息处于割裂状态, 信息利用率极为低下;建立面向钢结构的BIM数据库便可解决上述问题, 具有以下几个方面的优点: (1) 重复使用BIM数据库中的分析信息, 提高了工作效率, 改进了制造质量; (2) 可以在钢结构设计阶段就考虑制造的简易性, 在满足力学性能的基础上, 降低项目成本; (3) 面向钢结构的BIM数据库的建立使得制造商和设计人员之间形成了自然地信息交互循环。
4 面向钢结构工程的BIM数据库架构
4.1 钢结构数据库内容
如图2所示, 我们把面向钢结构的BIM数据库的内容按结构元素分类。
每一种结构元素不仅仅是数字化的三维实体, 而且也是储存与集成了该结构图形元素相关的分析信息、用钢量信息、造价信息、施工图信息以及制造业信息等钢结构各个阶段的工程信息。
(1) 杆件是指在空间具有一定长度的型钢。杆件的空间定位是钢结构实体建造的基础, 通常是用三个互相垂直的轴来表示, 以空间坐标的形式来确定其摆放位置;杆件的截面信息是由型钢类型决定的, 型钢就是加工成一定形状的钢材, 它们具有特定的工程参数和几何参数, 从而决定了杆件的截面参数[6]。
(2) 墙体是在钢结构模型中具有一定尺寸的钢筋混凝土或钢的长方形状的实体。
(3) 节点从几何意义上讲就是空间中直线的交点, 从物理意义上讲它就是杆件传递力的作用的连接构件的集合, 一个设计好的节点是由节点信息, 节点所连接的梁、柱的截面信息和空间位置等信息综合而成的。
4.2 钢结构BIM数据库存储模式
钢结构BIM数据库的存储模式基于钢结构BIM模型的分类进行的, 如图3所示, 钢结构的BIM可以分为三大类。
基于钢结构BIM数据的分类, 得出数据存储方法具体如下: (1) 建立数据存储中心。根据阶段或专业划分存储区域, 该区域将专业内部数据进行组织, 设置仅供本专业人员读或写的权限。并指定共享数据存取区域, 可供多专业进行访问。
(2) 完善访问机制。数据的组织应基于角色进行权限分配, 以保障数据访问安全。
(3) 对结构化与非结构化数据建立相应的组织存储机制[7]。
本文主要对第三种存储方法进行分析。图3中第二种分类方法具体是从文件格式或数据标准的不同分类, 分别为非结构化数据与结构化数据。非结构化数据是指没有预定义的数据模型或不能用二维表结构来逻辑表达实现的数据, 非结构化数据主要包括工程文档信息、报表、图像信息等;结构化数据是指基于公开数据标准存储描述的数据, 可以进行解析存储到数据库中, 是钢结构BIM数据的核心内容。由于数据表达的格式差异较大, 需要应用相应的数据组织存储方式, 对于结构化数据可通过IFC模型解析器处理后存储于关系数据库中, 由此可实现基于对象的数据存储与管理[8]。而对于非结构化数据可建立统一的数据仓库, 对非结构化数据进行集中存储, 需要建立专门的非结构化数据管理模块进行数据管理。
4.3 数据库建立流程
数据库建立流程如图4所示。
数据库建立原则:
(1) 全面性。要全面广泛地考虑数据信息类型和种类, 针对不同数据类型都要有相应的存储区域与模式设计, 对于钢结构而言, 节点信息存储是最难实现的, 这就要求要对钢结构节点信息中的构成部分进行详细分析和整理, 设计出针对钢结构节点的信息存储模式。保证数据库的全面性, 避免出现模型数据无法正常调用的缺憾。
(2) 准确性。数据库建立的每一步都要做到严谨准确, 因为它是面向钢结构全生命周期的信息集成管理, 一旦某一个环节出错, 可能导致的问题会是整个项目, 所以必须保证数据库开发设计的准确性, 确保项目的安全。
(3) 时效性。信息只有及时、迅速地提供给它的使用者才能有效地发挥作用, 即信息要快速提供给它的使用用户, 即要具有时效性。在数据库的设计中要加入数据库更新设计模块, 实现数据库的及时更新, 实现最新数据信息的交互, 提高钢结构项目的建造效率, 有效地反映项目的实际进展程度和各种有用的信息。
5 结语
(1) 本文在总结了钢结构在我国发展形势的基础上得出了钢结构信息化的必然趋势, 进一步分析总结了基于IFC标准的BIM信息模型的内容和结构框架, 为面向钢结构的BIM数据库的突出打下了基础。
(2) 本文结合IFC标准格式的BIM信息模型内容, 总结了面向钢结构的BIM数据库的内容, 根据内容数据类型提出不同的存储模式, 在此基础上得出了面向钢结构的BIM数据库的设计建立流程, 并对数据库的建立提出了几点原则。
(3) 未来展望:能够针对钢结构中的节点提出存储方式设计, 尤其是复杂自主设计的节点类型;对数据库的更新技术进行实质性的分析。
摘要:建筑信息化已经成为了建筑业发展的必然趋势, 而钢结构作为建筑业未来的翘楚信息化进程更是势不可挡。依托BIM思想, 建立面向钢结构的BIM数据库是客观需要也是必然选择;它的建立实现钢结构工程全生命周期的信息集成管理, 实现了各个阶段信息的交互反馈, 大大提高了钢结构的建造效率, 降低了工程项目的成本。本文首先通过对钢结构工程和BIM模型简单介绍, 具体分析了基于IFC标准的BIM模型的内容和结构框架, 为基于IFC的BIM数据库的建立奠定基础;然后分类总结了钢结构的数据库内容, 提出了基于IFC的钢结构BIM数据库的数据存储方法, 最后得出了面向钢结构的BIM数据库设计的流程。
关键词:BIM,钢结构,数据库,IFC
参考文献
[1]季俊.钢结构BIM的理论与应用研究[D].同济大学, 2010.
[2]秦文刚.钢结构工程图形数据库及建模应用研究[D].大连理工大学, 2013.
[3]何关培.BIM和BIM相关软件[J].土木建筑工程信息技术, 2010, 2 (4) :110-117.
[4]Thomas Liebich.IFC 2x Edition 2:Model Implementation Guide[M].2005.
[5]张汉义, 邱奎宁.IFC标准形状表达及空间结构实例介绍[J].土木建筑工程信息技术, 2010, 2 (2) :83-86.
[6]武琳琳, 朱一飞.数据库在钢结构设计中的应用[J].科技信息, 2008 (35) :935.
[7]林良帆.BIM数据存储与集成管理研究[D].上海交通大学, 2013.
面向数据的软件工程论文 篇7
关键词:ERP,C/S,B/S,.net,三层架构
ERP(Enterprise Resource Planning),也称企业资源计划系统,是指建立在信息技术基础上,以系统化的管理思想,为企业决策层及员工提供决策运行手段的管理平台。ERP就是一个对企业资源进行有效共享与利用的系统。是一个以企业内部资源整合、提高企业运行效率为核心的信息系统,用来识别和规划企业资源,从而获取客户订单,完成加工和交付,最后得到客户付款,最终获得收入和利润。实际上,ERP系统就是将企业内部所有资源整合在一起,对采购、生产、成本、库存、销售、运输、财务、人力资源进行规划和优化,从而达到最佳资源组合,获取最高利润的行为。
一个企业的成功,在很大程度上取决于对变革的适应能力、反映能力和应变能力。企业要想保持健康快速地发展就必须,研究和把握产业的发展方向才能不断地撷取到盈利的先机。在这样的大环境下,很多企业都引入了新的管理思想和现代化管理手段来提高企业管理水平,从而在市场中取得竞争优势。而目前绝大多数企业普遍采用且最有效的方式就是实施ERP系统,本系统做为钢加行业的专业管理软件,能够有效地降低企业库存和生产成本、缩短产品生产周期、提高产品质量和客户满意度、减少企业呆帐并实现对市场的快速反应。
调查显示,目前企业ERP应用主要是财务管理、采购与销售、客户服务、日常办公、劳动人事、物流等方面,这些应用比例集中在38-44%之间。外部采购和销售运营分别占33.7%和31.0%;客户服务和物流配送分别占29.3%和28.2%;科技研发、生产工艺和计划决策比例在21%左右,营销宣传比例为15.6%。目前企业应用ERP系统的品牌认知度占第一的是ORACLE,占22.0%;其次是SAP,占到17.8%;我国的用友和金碟在国内也分别占有一定的市场份额;但有相当数量的企业选择了自主开发ERP系统。可见目前ERP企业提供的产品难以完全满足企业发展的需要,自主开发和进行二次开发依然占居了相当高的比例。
ERP的传统应用集中在大型企业,我国的ERP实施也是从大型企业开始。但是ERP作为一种先进的管理体系,不仅大型企业需要,中小型企业同样需要。一般来说,优秀的国外ERP软件会在许多方面都相对做得十分精深,但问题是首先价格居高不下,有时又过于严谨、和深度太高。目前市场上许多主流的ERP软件看似功能非常强大,业务流程要什么有什么,几乎涵盖了企业的所有业务,可是对于中小企业来说不实用,细节问题太多,真正用起来的时候操作复杂不说,操作流程不连贯、各模块之间接口不紧密、软件升级繁琐、客户端维护成本高昂等问题也是不可避免。
针对目前国内ERP行业及中小型企业实际运行现状,我们应当调整思路,开发出适合广大中小企业使用的ERP产品。而这个产品应当具备这样的一些特性:1)紧密联系企业实际情况,化繁为简,方便企业的各部门员工高效地操作管理;2)结合C/S与B/S的特点,开发出多种操作界面并存的管理系统,既方便在局域网内使用客户端进行操作,又可以通过浏览器的方式进行数据查询与管理;3)软件升级方便,客户端维护简单,不需要大量的软硬件维护人员;4)较为低廉的软件价格与方便的系统后期维护。
依据上述需要满足的条件,我们在设计产品时采用了如下的设计思路:
1 开发语言及环境选择
C#是一种精确、简单、类型安全、面向对象的语言,也是作为平台支持下一代Internet的可编程结构的代表性语言。同时具有健壮、安全、可移植性、多线程、组件模式等优点。由于同为微软公司推出,所以C#在Windows环境下可以说比其他语言具有更大的优势。SQL Server 2005是微软的新一代数据管理和分析解决方案,它将给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理。C#与SQL Server 2005捆绑紧密,都基于.net平台,整合度更好,没有兼容性的烦恼。
2 使用三层架构:界面层、逻辑层、数据层
从开发角度和应用角度来看,三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度上降低了开发的难度。三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
3 数据存取使用存储过程
模块化的程序撰写:只需建立一次Stored Procedure,储存在数据库中,就可以让不同的程序呼叫。执行效率佳:如果需要大量或反复执行的数据处理,Stored Procedure的执行速度会比T-SQL程序代码的批处理快。因为Stored Procedure是在建立的时候进行剖析和最佳化,所以执行一次以后存在内存中。而程序代码则是每次执行时都要反复地从客户端传到服务器。减少网络流量:即使是好几百行T-SQL程序代码的作业,也只要透过一个指令就可以执行Stored Procedure中的程序代码,而不必在网络上传送几百行程序代码。
设计后的客户端窗口如图1、图2所示。
客户端可以通过IE自动下载和升级,即便身在外地,也可以很方便的使用系统各项功能。如图3所示。
4 系统优点
基于以上设计方案,系统有以下优点:1)系统伸缩性好,易于扩展,可以同时支持C/S和B/S结构,以满足用户在不同环境的需求;2)使用组件模式,方便针对不同厂家设计接口,达到高效交换数据的目的(需要提供技术资料);3)升级维护灵活,在服务器端发布新版本,客户端运行时自动升级;4)运行效率高,对分布式的用户硬件配置要求低,服务器配置稍好即可。
依据上述的系统研究方案,本系统定位于面向国内中小企业的ERP产品,在设计上,底层采用三层数据结构:即数据层、业务逻辑层、界面表示层。数据层用来管理和处理数据;业务逻辑层用来定义数据规格、实现常用功能;表示层用来和用户进行交互。使用的开发工具是微软的Visual Studio 2005集成开发工具,采用Microsoft C#做为前台开发工具。三层数据架构做好之后,客户端上所涉及到的功能,其实已经在业务逻辑层上实现,后面不论是应用程序客户端还是浏览器的界面,我们只是需要调用这些设计好的功能。
在三层数据架构的基础上,主要的核心工作量已经在服务器上完成,面向客户的方式可以根据环境来选择,甚至可以同时做成两种方式,即面向用户的应用程序客户端和通过外网的浏览器方式兼而有之。如果在公司内部,对数据的安全性要求比较高的,那我们可以通过客户端来操作;但是对于相对比较简单的,比如说一般的查询,我们也可以提供浏览器的方式来实现。这样就方便了公司用户不论在内外环境都能对数据进行访问和操作的要求,同时兼顾了C/S的安全性及B/S的方便性这两项优点。
在系统功能设计上,对采购、生产、成本、库存、销售、运输、财务、人力资源等进行模块化管理,针对企业实际运作流程,优化系统结构,去除不必要的管理功能界面,预留接口,方便今后扩展。软件升级方便,登录系统后自动在后台实现更新。操作界面尽量简便,可实现多途径操作,方便用户使用。
网页上所需要实现的一些高级功能,通过JAVA Script或者VB Script脚本生成,或者利用Active X控件来实现。
这样的产品设计方案,系统将会对广大中小企业的采购、生产、成本、库存、销售、运输、财务、决策、人力资源等方面起到积极而有效的作用,本系统在各业务流程上有针对性的设计和改良,将使得企业管理人员在软件操作过程当中,不会出现操作流程不连贯、各模块之间接口不紧密、软件升级繁琐、客户端维护成本高昂等问题。C/S结构与B/S结构两种模式的混合运用,将更加贴近中小企业的实际应用情况,方便企业在实际操作流程中高效地运用本产品来管理企业,达到最佳的资源组合。
不同规模的企业的运营和管理的模式不同,灵活实施ERP,使ERP具有中国特色。这样中小企业同样可以利用现代化的管理手段,创造出更大的经济效益和更多的社会价值。
参考文献
[1]陈欣欣.ERP在我国企业的应用研究[J].商业经济与管理,2003(1):33-36.
[2]Atul Gupta.Enterprise resource planning:the emerging organizational value systems[J].Industrial Management&Data Systems,2000,100(3):114-118.
[3]Atle Gulla J,Brasethvik T.On the Challenges of Business Modeling in Large-scale Reengineering Projects[C]//Proceedings for4th In-ternational Conference on Requirements engineering,2000.
面向数据的软件工程论文 篇8
1 数据质量问题
数据质量问题,是创建数据仓库以及进行数据集成工作中的致命性问题。如果没有很深刻的分析数据中存在的问题,就盲目进行开发、集成,造成的后果不仅是数据仓库创建失败的经济损失,更有可能造成严重的决策失误。
在多数据源的集成过程中,每个数据源往往由特定的应用程序创建、配置和维护,以满足特定的服务需求。因此和这些数据源相关的数据管理系统、采用的数据模型、数据模式的设计和实际数据等各个方面都存在很大程度的异构性。此外,每个数据源中都可能包含脏数据,不同数据源对同一数据可能存在不同的表示形式、数据重复或者数据冲突。因此相同的数据质量问题在多数据源集成之后会比在单数据源的情形下表现的更为复杂和严重。除此之外,在多数据源情形下,数据清洗将面临许多新的问题,比如结构冲突、命名冲突、重复记录等。
1.1 数据清洗技术的现状
针对数据质量的现状,很多学者提出了数据清洗的框架。但是数据清洗是一个领域相关性非常强的工作,而且数据质量问题非常零散,复杂,不一致,到目前为止没有形成通用的国际标准,只能根据不同的领域制定不同的清洗算法。目前的清洗算法的优良性衡量标准有以下几个方面:返回率(Recall):重复数据被正确识别的百分率;False-positive Error:错误地作为重复数据的记录的百分比;精确度(Precision)算法识别的重复记录中的正确的重复记录的百分比;计算公式:Precision=100%-False-Positive Error。
数据清洗主要分为检测和清洗两个步骤。国内外的相关研究主要有以下几个方面:(1)提出高效的数据异常检测算法,来避免扫描整个庞大的数据集;(2)在自动检测数据异常和进行清洗处理的步骤间增加人工判断处理,来防止对正确数据的错误处理;(3)数据清洗时对数据集文件的处理;(4)如何消除合并后数据集中的重复数据;(5)建立一个通用的领域无关的数据清洗框架;(6)关于模式集成的问题。
解决数据异常检测的方法主要有:基于契比雪夫定理的统计学方法,这种方法可以随机的选取样本数据进行分析,加快了检测速度但是这是以牺牲准确性作为代价;模式识别法,基于数据挖掘和机器学习算法来查找异常数据,用到关联规则算法;基于距离的聚类方法,重点在于它的类的评测标准为欧几里德距离或Edit距离,以此发现数据集中的重复记录;增量式的方法:如果数据源允许,可以随机的方法获取元组,输入一个随机的元组流。
2 几种数据清洗工具的比较及其存在的问题
目前,有多种数据清洗的商业工具用来支持数据检测和数据清洗转换,尤其是针对数据仓库方向的。同样,它们主要有两种形式:检测异常数据的工具;数据转换工具(针对异常数据的清洗)。其中数据分析工具可以分为提取轮廓和数据挖掘两种。
MIGRATIONARCHITECT Cevoke software是一种数据轮廓分析工具,对于每个属性,产生下列实际的元数据:数据类型、长度、离散的值以及它们的比例、最小值最大值、以及唯一性。同时它也为数据转换提供目标图表。数据挖掘工具,比如WIZRULE可以展现三种规则:算法模式、if-then规则、基于拼写规则标志的错误姓名。INTEGRITY(vality)使用某些模式和规则来定义和完成数据清洗转换。它进行一些语法分析、数据类型模式和出现频率分析。其中还有一些语言规则,包括一些列操作(比如:移动、拆分、删除)和行操作(比如合并、拆分)还有一些特殊的清洗工具和ETL工具。比如较为成功SAS,它基于DBMS来建立一个存储区,用统一的方式管理元数据。这些元数据关系着源数据、目标表、映射、描述语言等等。
这些数据清洗工具普遍存在的问题是随着数据源特性和实际数据的不同,各种元数据也可能完全不同,因此对数据清洗过程的具体要求会不一样。因此数据清洗工具应该具有足够的灵活性,从而对特定的数据质量问题能够处理各种不同的数据源。
3 数据清洗的发展趋势
数据清洗是一个非常复杂的任务,并且包含着一些互相关联的问题。一方面转换必须尽可能的通用性,而且不依赖大量的编程工作,也就是支持在多领域内的多种错误检测算法;另一方面,系统需要支持一种简单的接口定义来进行错误检测和数据转换。
因此,需要在现有的算法和功能基础上,设计相应的数据清洗系统,使他具有相对的通用性、和可交互性。通用性主要的实现技术有数据的标准化、术语话,通用的接口标准,即通用的过程描述语言,通用的数据结构以支持用户进行扩展。可交互性支持用户通过系统反馈的检测统计图表,实时的修改转换过程,避免用户与系统的隔离。同时,国外的数据清洗工具价格较高,这为我们国内的企业创建数据决策支持系统带来很大的困难。因此,当前我们研究的重点是如何实现面向多数据源的数据清洗框架,并将其应用于通用的数据集成平台中。
4 面向多数据源的数据清洗系统概要
经过对数据质量的分析,数据清洗技术的现状和常用的工具的分析后,我们提出了一种面向多数据源的数据清洗系统。在此做简要的概述,将在另外的文章里做详细的系统构造,系统算法,系统语言介绍。
4.1 系统设计思想
首先,将非标准数据统一化成结构数据;根据数据字典消除不一致的数据(比如缩写),将元素标准化;对标准化的元素进行一致性校验,将内容上的一些错误进行修改;在其它记录中寻找相似重复记录,也就是进行匹配(matching);根据匹配的结果进行处理,删除部分记录或者多个记录合并为一个更完整信息的记录;同时将这些步骤中的处理过程和结果写入元数据存储中心,以便进行后续清洗过程,避免重复清洗;也便于用户理解数据库,以及更好的进行切片、切块等操作。其中增添辅助的知识库功能,主要用于下列方面:辅助进行数据类型检查、数据格式规范化、不一致的缩写等处理过程;将预处理后的数据通过知识库引擎和一系列的规则进行处理;以及处理一些规则处理无法完成的重复记录。
在这些处理过程中需要大量的元数据,象实例层数据转换定义、匹配、工作流定义等,这些元数据被保存于基于DBMS的存储库中,以记录源数据的更新过程,相应的源数据、目标数据记录等。
4.2 系统初步设计图
由图1可知,系统能够满足不同应用和用户的需要,处理的数据可以是文本数据,包括数据文件和描述数据文件格式的格式描述文件;也可以是数据库中的数据。
该系统根据用户提供的资源的名称来定义和执行相应的功能,这些名称称为术语,通过术语来命名资源和功能的方法称为术语模型。这是该系统的基础。该系统处理和产生的数据都是结构化的。它包含存放数据的数据文件和描述数据存放格式的格式描述文件两部分。而数据文件中存放着一系列记录,每条记录占一行,每条记录包含多个数据,这些数据由列分隔符分隔;格式文件就存储这些分隔符,以及每列对应的术语。
4.3 系统功能
系统的功能包括数据分析、数据标准化、数据增强、记录匹配/合并、规则和字典管理器。各个功能模块通过通用的过程描述语言来接口,而且数据具有相同的数据结构。同时该系统可以用相应的语言来定义五种逻辑操作。包括映射操作、视图操作、匹配操作、聚类操作、溶合操作。具体详细的定义、算法我们将在另外的文章里做更为详细的介绍。
数据分析,根据用户定义的模式对异构的数据进行分析,使之具有良好的通用的结构。
数据标准化,通过用户定义的规则或者字典将原始数据中的特定属性的数据转变为统一的标准形式,使得数据规范化。
记录和匹配,合并两个数据集中的记录,或者检测并合并同一个数据集中的重复记录。解决这类问题需要的技术有:记录匹配算法、重复检测算法、合并过程中的冲突解决算法。
数据增强,补充原始数据中不完整及遗漏的字段。数据增强通常有三种方式:(1)对数据中不完整的字段,补充必要的信息,使之完整。例如,给电话号码加上区号;(2)为空值字段设置合适的值(3)增加字段的方式添加额外的信息。
用规则字典管理器模块来管理外部字典、用户定义规则和模式的定义。
4.4 系统模型
在这个系统中,我们将两种行为分开来,分为物理层和逻辑层。其中逻辑层用sql扩展支持的语句来定义数据转换的模式,物理层选择最佳的算法来完成转换。系统的基本思想是通过与用户之间的交互,来定义相应的转换规则和任务描述,以尽可能少的依赖特定的应用。通过术语模型来实现对字典、规则等资源的描述和管理;通过过程描述语言(PDF)实现模块之间的良好的交互性,用户可以通过定义新的转换功能来完善和改进转换系统。
逻辑层中,首先为每条输入记录增加关键字;然后从每条记录中提取不同的数据流中;用辅助字典来保存从每个记录中提取出来的相关的内容,在每个数据流中消除冗余信息。将去处冗余信息的数据流集成起来。在这一层中,主要是定义数据转换流图,其中数据清洗操作具有以下几种类型:映射、视图、匹配、聚类和溶合。其中输入输出的数据流是以关系数据库为逻辑模式的,逻辑层操作的设计用SQL语句来初步设计定义。
物理层,选择一些最优算法来完成数据清洗程序的执行速度。该系统将多个最优的算法联系在一起,并且使得用户在给出的匹配操作的逻辑定义中根据一些参数来进行最优化定义。例如,我们用到的一些算法有:nested loop(NL);multi-pass neighborhood method(MPN)以及neighborhood join(NJ)。通过一个衡量标准:recall(返回率:重复数据被正确识别的百分率),来比较几种算法的优良性。系统能够接受并处理这些信息,来选择算法来完成相应的匹配。其中用户可以控制最优化算法的使用,用户来决定在逻辑层中匹配的标准,然后提供必要的信息来完成最优化的执行。
目前,该系统解决的问题有以下几点:(1)将逻辑层的转换定义与物理层的转换实现分开来。(2)清洗结果的分析与反馈。(3)用可交互的功能来改进数据清洗程序。(4)实现面向多数据源的数据清洗功能。
5 结语和展望
数据清洗在很多领域,包括数据仓库、数据集成都是非常重要的任务。如果没有很好的分析数据中存在的质量问题,并且很好的设计集成的数据框架与图表,而是盲目的将海量的数据集成,以供分析决策,势必造成严重的后果。因此,提出一种面向多数据源的数据清洗框架是非常及时的。它将数据分析和设计清洗转换图与选择算法进行数据转换独立开来,同时允许用户经常通过错误的检测的反馈来定义新的转换。因此,它具有较强的面向多数据源的特性。总之,良好的数据清洗是构建数据仓库和进行数据集成的关键前提,越来越多的学者致力于此,并且将重点放在了数据清洗框架的研究上。将来,商业的通用的数据清洗平台将为数据集成提供越来越方便的使用。
参考文献
[1]H.Galhardas,D.Florescu,D.Shasha,and E.Simon.AJAX:An Extensible Data Cleaning Tool[J].In SIGMOD(demonstration paper),2000.
[2]H.Galhardas,D.Florescu,D.Shasha,E.Simon,and CA.Saita.Declarative Data Cleaning:Language,Model,and Algorithms.Extended version of the VLDB[J].01paper,2001.
[3]V.Raman and J.M.Hellerstein.Potter's wheel:An Interactive Data Cleaning System[J].In Proc.Of VLDB,Rome,2001.
[4]L.V.S.Lakshmanan,F.Sadri,and I.N.Subramanian.Schem-ma SQL-A Language for Interoperability in Rela-tional Multi-database Systems[J].In Proc.Of VLDB,Mumbai,1999.
[5]M.L.Lee,T.W.Ling,W.L.Low.A Knowledge-Based Framework for In-telligent Data Cleaning.Information Systems[J].Journal-Special Issue on Data Extractiong and cleaning,2001.
[6]Object Management Group(OMG).CWM Meta Store Creation Script.Zip[S].http://www.wiley.com/legacy/c o m p b o o k s/p o o l e/C W M G u i d e/software.htmo,2002-10-25.
[7]E.Rahm,H.H.Do.Data cleaning:Problems and current approaches[J].IEEE Data Engineering Bulletin,2000,23(4):3~13.
[8]Xi nwen Z hang,Sehong Oh,Ravi Sandhu.PBDM:A flexible delegation model in RBAC[J].The8th ACM Symp on Aess Control Models and Technologis.(SACMAT2003),Villa Gallia,Como,Italy,2003.
[9]Object Management Group(OMG).Com-mon Warehouse Metamodel(CWM)[S].ht tp://www.omg.or g/cgi-bin/doc?Ad/2001,02,01.
面向数据的软件工程论文 篇9
关键词:数据库;隐私保护;技术;数据失真;数据加密;限制保护
中图分类号:TP309 文献标识码:A 文章编号:1007-9599 (2012) 09-0000-02
相关工作人员需要清醒的认识到一个方面的问题:一方面,对于数据挖掘而言,其最关键的目的在于将数据库系统数据中那部分潜在利用价值表现明显的知识、模型以及规则有效抽取出来。就传统模式下的数据挖掘技术而言,其在抽取知识模型的同时也给整个数据库的有效运行带来了极为不利的隐患。数据在抽取中不得以而暴露出的敏感数据处在了公开化状态之下;另一方面,对于数据发布而言,其最关键的目的在于将数据库中所储存的有利信息以一种直接且直观的方式展现在数据库系统终端操作用户面前。传统数据发布在数据保护问题上的缺失同样潜在敏感信息泄露的可能性,由此而造成的数据使用者的损失不可预估。换句话来说,将隐私保护技术引入数据库应用当中已成为新时期数据库系统建设完善的必然选择与发展趋势。那么,现阶段面向数据库的隐私保护技术的研究情况如何?数据失真、数据加密以及限制发布技术在数据库隐私保护中有着怎样的应用优势呢?笔者现结合实践工作经验,就这一问题谈谈自己的看法与体会。
一、隐私保护研究方向及研究现状分析
相关工作人员必须明确一个方面的问题:数据应用与隐私保护从哲学角度上来说是一对相辅相成的有机整体。数据应用的形成是导致隐私保护问题产生的最根本原因。在针对隐私保护问题进行研究的过程当中,隐私保护技术研究方向的确定是由数据库系统在实际应用过程当中差异性的隐私保护需求所决定的。一般来说,通用性隐私保护技术将隐私保护设定在了较低应用层次数据库数据范围之上,在统计模型引入的基础之上应用概率模型对隐私保护进行算法验算。对于面向数据挖掘功能的隐私保护技术研究而言,其最主要的隐私保护对象设定为数据库系统中的高层数据应用,以不同数据挖掘操作的差异性特性来制定并实施针对挖掘信息的隐私保护措施。对于面向数据发布功能的隐私保护技术而言,其研究重心在于针对数据发布一般原则制定一种具备高度适用性的隐私保护策略,并确保基于隐私保护策略所执行的隐私保护算法具有同等适用性。
面向数据库隐私保护技术所呈现出的系统性、集成性以及适应性使其成为了当前数据库及隐私保护研究领域的研究中心。在当前技术条件支持之下,我国关于隐私保护技术的研究主要集中在基于数据失真、数据加密以及限制保护技术的研究之上,兼顾各种隐私保护算法的研究。处于隐私保护技术研究初级阶段的我国,在该领域有着极为广大的潜在发展空间与潜力。
二、隐私保护技术分类分析
在现阶段隐私保护技术的研究领域当中,至今仍未发现一种能够通用于各个领域的隐私保护技术。其均有着一定的限制性。一般来说,我们可以将当前应用较为广泛,研究较为成熟的隐私保护技术划分为以下三个方面——1.基于数据失真。这种隐私保护技术的关键在于其在促使数据库中敏感数据失真的同时确保了以上数据基本属性及信息结构的完整性。针对原始数据所实施的扰动处理同样能够满足后续数据挖掘提出的统计性质要求;2.基于数据加密。这种隐私保护技术的关键在于以信息加密的方式将整个数据库在数据挖掘环节中有可能暴露的敏感数据进行二次处理。目前广泛应用于分布式环境下数据库系统的隐私保护当中;3.基于限制发布。这种隐私保护技术的关键在于对所数据库系统在数据发布环节中预备发布的数据进行加工处理,有条件的隐藏数据的某部分域值以及泛化。在面向数据库的隐私保护实践中,基于数据失真隐私保护技术表现出了较高的应用效率,但始终无法避免一定量的数据信息丢失问题;而基于数据加密隐私保护技术则表现出了良好加密数据良好的安全性及精确性,但其在整个数据加密算法中的劳动力及软件消耗较大,实用性存在一定的影响;基于限制發布隐私保护技术最大的优势在于它能够确保所发挥数据的真实性,但却同基于数据失真隐私保护技术一样,无法规避数据库系统数据在数据发布环节中的丢失问题。
三、面向数据库应用的隐私保护技术分析
(一)基于数据失真的隐私保护技术分析。正如上文所述,基于数据失真的隐私保护技术的关键在于扰动。数据库原始数据在扰动作用之下表现失真状态,失去利用价值,从而确保数据库隐私数据安全。在整个基于数据失真的隐私保护技术研究工作中,我们需要特别注意一个方面的问题——对于扰动作用下的数据库数据而言,其不仅需要确保数据库攻击方无法经由失真数据信息重构原始数据,同时也要确保失真状态下的数据信息在基本性质以及信息组织结构方面保持不变,数据库利用方借由失真数据所获取的信息应当同借由原始数据所获取的信息保持一致。
(二)基于数据加密的隐私保护技术分析。在分布式环境作用之下,隐私保护功能得以实现的关键也是基本前提在于整个数据库信息通信安全性的确保,加密技术无疑恰到好处的解决了这一问题。在分布式作用下,数据加密因素保护技术的应用往往依赖于数据站点可信度以及数据信息储存模式来实现。无论是对于垂直划分数据或是水平划分数据而言,数据加密技术均能够确保各个站点所存储数据的独立性,进而实现其信息加密功能。
(三)基于限制发布的隐私保护技术分析。前文中提到,限制发布的关键在于有条件的隐藏数据的某部分域值以及泛化,数据库系统中发布精度较低的敏感数据将在基于限制发布隐私保护技术的作用之下得以隐藏。正因为如此,有关数据匿名化问题的研究成为了基于限制发布隐私保护技术的中心与重点。其能够在数据精度以及隐私披露风险当中针对隐私信息进行这种处理,高精度提取敏感数据,确保有可能发布的敏感信息的披露风险在数据库系统可承受范围之内,兼顾匿名化算法成本的控制以及基于限制发布隐私保护技术之下所发布信息利用价值的提升,应当成为相关工作人员下一步研究重点。
四、结束语
在全球经济一体化建设进程不断加剧与城市化建设规模持续扩大的推动作用之下,计算机开发及应用相关行业在整个国民经济建设发展中所占据的地位日益关键。可以说,计算机开发及应用相关行业的建设发展程度将直接关系着新时期整个经济社会的建设发展程度。对于计算机开发及应用的中心枢纽环节—数据库而言,数据挖掘以及数据发布无疑是重中之重。本文针对现阶段面向数据库应用的隐私保护问题这一中心,展开了简要分析与说明,希望能够为今后相关研究及实践工作的开展提供一定的参考与帮助。
参考文献:
[1]刘逸敏,周浩峰,王智慧等.Purpose融合:基于风险purpose的隐私查询访问控制[C].第27届中国数据库学术会议论文集,2010.1339-1348
[2]蒋亚军,杨波,张明武等.外包数据库系统中隐私匹配与包含关系的安全计算协议[J].计算机科学,2011,38,(03),120-122,135
[3]余永红,柏文阳.基于分解和加密的外包数据库隐私保护[J].计算机工程,2011,37,(07),139-141,159
[4]蒋亚军,杨波,张明武等.具有隐私保护的外包数据库合计查询方案[J].中南大学学报(自然科学版),2011,42,(03),721-725
[5]黄伟伟,柏文阳.统计数据库中保持隐私的数据扰动方法的研究[J].计算机研究与发展,2006,43,(Z3)289-294
面向数据的软件工程论文 篇10
近年来, 随着互联网应用与信息化技术的快速发展, 高校的财务、教务、招生、后勤等各职能部门逐渐建立了相应的业务管理信息系统。各个信息系统的建设有效提高了办公效率, 促进了高校管理工作的规范化, 在高校改革发展中发挥了不可或缺的支撑作用。
随着校内各部门之间联动性的不断增强, “信息孤岛”的问题亦日渐突出, 各业务系统之间的数据不能充分共享与直接利用。如笔者所在的财务部门在学生学杂费管理工作中, 与教务、后勤等部门进行业务数据交换过程中, 常常会遇到数据传递不完整、不及时和重复维护等问题, 既影响数据的准确性, 也影响工作效率。
可见, 在高校“局部信息化”迈向“全面信息化”进程中, 焦点将逐步转移到业务的管理精细化和协同化, 信息集成和应用集成是大势所趋, 而在信息集成的过程中, 如何实现数据的集成无疑是重点。因此, 研究、构建适用于高校内部异构系统间的数据集成与交换平台则显得十分必要而有意义, 它是消除数据孤岛、实现各项业务数据有效交互的基础, 也为日后开展管理决策、建立门户信息服务打下坚实基础。
2 高校信息化的现状与问题
当前, 各高校信息化工作历经了“诺兰模型” (由美国哈佛大学教授查理·诺兰提出) 的初始、推广、控制阶段, 基本建成高速校园网, 高校各部门广泛地将信息系统应用在辅助教学、科研、行政等管理工作中。随着业务的深化和管理要求的提高, 现有信息化建设模式逐渐暴露出许多难以解决的问题和亟待突破的瓶颈, 主要体现在以下几个方面:
(1) 因缺乏统一规划, 不同时期建设的业务管理信息系统, 在技术平台、系统架构等方面都存在众多差异, 系统开放性、规范性和可扩展性均不可预料, 系统间横向协同的能力较差。
(2) 各业务管理信息系统建设时处于各自为政的状态, 缺乏统一的数据规范, 信息编码方式、数据的格式及数据的存储方式各异, 信息系统越建越多, 却逐渐陷入信息共享困难、数据无法有效集成的窘境。
(3) 信息维护的方式差异大, 不仅信息维护的途径和工具多种多样, 甚至许多业务仍然采用电子表格人工维护等方式, 数据的及时性、一致性和规范性均无法保证。需要应用这些信息和数据时, 往往出现不可靠、不可信或者不完整的情况, 校核这些数据又需要耗费巨大的工作量。
3 解决思路和步骤
针对高校信息化建设的现状和问题, 从尽可能保障现有业务正常开展、尽可能保护现有信息系统投资的角度出发, 必须构建面向异构数据的数据集成与交换平台, 以解决数据交互的难题;同时, 为了避免新建的信息系统重蹈覆辙, 还应逐步建立高校的信息化建设标准, 指导将来的信息系统建设。
(1) 建立高校信息化标准体系, 包括基础设施建设、信息编码规范、系统接口规范、信息系统建设框架等标准规范。对于新建的信息系统, 要求必须依照统一的高校信息系统建设规范, 从技术架构、数据架构和应用架构上确保有规划地建设;对于现已建成的信息系统, 遵照信息编码规范重新梳理信息编码, 在统一的系统接口规范下, 建设适配接口, 为数据交换与信息共享提供基础。
(2) 构建高校数据集成与交换平台, 用于高校内各信息系统数据的抽取、汇聚、清理、转换和交换;通过搭建数据总线和服务总线, 为各信息系统的数据交互打通渠道。在构建数据集成与交换平台时, 除了提供数据交换功能外, 还必须建立数据质量管理的机制, 确保平台数据的权威性和可信度。
(3) 为保障数据集成与交换平台的正常运行, 还应建立配套基础设施和管理制度, 包括:网络规划和硬件资源、安全防护、运行维护管理等。
4 平台建设的重点
4.1 高校信息化标准体系建设
信息化标准体系的建设是一个长期的过程, 需要各业务部门密切配合、持续完善才能起到实效。各项标准与规范主要包括基础设施的规范要求、应用系统建设的规范要求、信息编码的规范要求以及面向用户的交互规范要求等。在构建标准体系的过程中, 也可参考IT行业和软件工程的相关标准, 结合自身的业务特点, 形成符合高校信息化建设实际要求的标准规范。
(1) 开展业务流程调查, 结合校内各业务流程和数据产生特点, 编制各项业务的数据字典。若已有信息系统, 则需按规范格式提供数据, 为数据交换提供统一的依据。
(2) 信息编码规范设计。针对公共的数据集成与交换平台, 从整个高校的角度出发, 为公共的数据编制统一的信息编码, 避免多个业务系统之间“同物异码、同码异物”的情况。
(3) 建立数据交换标准。采用Web Service、XML作为数据传输的标准, 协助各业务部门建立数据传输与数据交换规范, 实现不同的业务数据之间的交互基础, 并且充分考虑扩展性。
(4) 建立信息系统的文档数据规范。各业务信息系统必须依据文档数据规范出具系统建设的过程文档, 对非结构化的数据要提供交互、检索的基础依据。
4.2 数据集成与交换平台的实现
4.2.1 数据集成与交换平台框架
数据集成与交换平台的框架结构如图1所示:
如图1所示, 各业务信息系统处于数据来源层 (数据提供层) , 基于信息系统的数据接入要求, 在适配层建立统一、规范的数据适配接口, 将各业务信息系统的数据抽取到数据交换层的临时数据存储区和操作数据存储区;操作数据存储区经过转换、清理, 成为正则的数据存放到数据仓库中, 此时已经将冗余的数据剔除。最后, 针对数据访问层, 即业务应用层的需求, 构建不同业务主题的数据集市, 将数据提供给各项业务, 实现数据的交换与共享。
4.2.2 数据适配接口的实现
数据适配接口主要采用Web Service的方式, 通过统一的数据规范, 以XML为载体, 实现多个业务系统之间的数据适配。在这个过程中, 特别强调交互数据格式的统一性和规范性, 数据来源层中的各业务系统在提供数据时, 必须遵循这个交互的规范。接口开发主要涉及XML、XSD、Web Service、SOAP、WSDL等关键技术。
XML即可扩展标记语言, 它使用一系列简单的标记描述数据, 是互联网环境中跨平台、依赖于内容的技术, 是一种处理结构化文档信息的有力工具。在高校数据集成与交换平台中应用XML技术, 在制定基于XML交换的规范和标准基础上, 可通过统一数据接口将各类数据源转化成XML格式, 以便与不同的信息系统实现数据交换。另外, 平台提供XML到XML的映射转换工具, 实现不同的业务系统之间的数据映射与格式转换。
XSD定义了一套标准数据类型, 并给出语言扩展该数据类型。Web Service平台即采用XSD作为其数据类型系统。当用某种语言, 例如C#来构造Web Service时, 为符合Web Service标准。使用的数据类型必须转换为XSD类型。
Web Service (Web服务) 是开放的基于因特网标准, 具有松散藕合、可重用、可编程访问、自适应和自描述等特质的Web组件。它具有模块化、良好描述、实现独立、可访问性和互操作性好等优势。Web服务由WSDL、SOAP和UDDI三个基本结构单元组成, 它们解决了Web服务的描述、通信和发布等基本问题, 是构建Web服务的核心与基础。Web服务协议栈进一步对Web服务的互操作、路由、安全和服务质量等进行了规范。
SOAP (简单对象访问协议) 基于XML和XSD, XML是SOAP数据编码方式。SOAP提供类似XML的能通过HTTP描绘参数和返回数值的方法, 可运行在任何传输协议上。
WSDL (Web Service描述语言) 能用机器阅读方式提供的正式描述文档, 用于描述Web Service及其函数、参数和返回值。因基于XML, 所以人可阅读。
4.2.3 数据存储结构
交换数据临时存储区是用来保证数据交换过程中安全隔离和临时存储的存储区。该存储区按业务系统创建, 负责临时存放从各业务系统采集上来的数据, 在数据采集策略上, 一般采用先删除后新增的更新方式, 不保存历史数据;若有特殊的要求时, 也可将历史数据做短期暂留。
操作型数据存储区存放集成的、可更新的、近实时的业务数据。主要用于交换数据临时存储区的明细数据整合后、导出数据文件进入数据交换区前的存储。操作型数据存储区按业务主题创建, 按查询需求保存一段时间内的数据, 可新增、删除、修改。
4.2.4 数据抽取 (ETL) 和转换
ETL是数据抽取 (Extract) 、转换 (Transform) 、清洗 (Cleansing) 、装载 (Load) 的过程, 是构建数据仓库的重要一环, 它直接通过内部机制把根据用户需求从数据源 (关系数据库、平面数据文件等) 抽取出的所需数据, 经过数据清洗, 最终按照预先定义好的数据模型, 将数据加载到目的数据库中去。数据集成与交换平台的开发工作可以直接面向这个数据库进行开发, 开发者可以很方便地利用该数据库的优越特性进行性能上的优化, 或者数据结构的调整, 从而不影响到底层的业务系统的数据。ETL还应具有丰富、灵活的数据转换策略, 能够把底层的数据库数据重新转变成更符合业务逻辑的数据。具备数据采集流程控制, 提供管理监控流程的措施, 使得数据从来源端到目的端的传输有条不紊地运行。
在数据采集过程中, 因ETL的实时性相对较弱, 需要使用ETL工具自身的一些采集机制定时到各数据源中获取数据, 以实现数据的同步。数据采集的过程中应能够分不同的时间颗粒度, 如按小时、分钟、日、月、年采集不同数据库的数据。在自行定制的ETL工具中也可具备更好的同步机制, 其“复制”的机制能够分时段同步指定范围的数据, 源端数据的改动能够快速地反映到目的数据库中。
数据转换机制方面, 实现映射的手段通常有三种。第一种是数据源直接映射, 它是指按照源数据库的原始结构采集进入数据集成与交换平台的数据库, 与源数据库的结构完全保持一致。此种手段是最简单的映射手段。第二种是数据源策略转换映射。这种方式完全改变源数据库的结构, 反映在数据集成与交换平台上的数据结构是全新的数据结构, 利用ETL工具的各种策略把源数据库的数据进行转化, 产生新数据体, 并存储进入数据库。第三种是上述两种方式的融合, 即:该映像除了包含与源数据库一致的结构外, 还加入了经过策略算法形成的新结构。例如:两表间的数据合并、表格式的转置等, 此种映射手段将随着数据集成应用的逐渐深入而变得日益广泛。尤其是在为数据集成与交换平台提供综合报表分析的时候, 采用这样的手段会越来越多。
根据ETL的特点可知, 对于海量的数据挖掘, ETL优势极为明显, 它可以为历史数据的分析工作提供更佳的底层数据基础。
4.2.5 数据清理
数据清理是ETL的一个重要内容, 该环节负责把冗余数据、不规范数据实现规范化, 保证数据的正确性、完整性、一致性、完备性、有效性、时效性和可获取性。
4.3 数据质量管理和评估
数据质量管理是采用科学的方法, 对数据集成与交换平台中存储数据的准确性进行判断, 对存在的数据质量问题进行核实, 并最终确认的过程。数据质量是数据集成应用的“生命线”, 质量差的数据即便可以共享, 也达不到预期目标, 所以在建立数据交换平台时, 必须时刻将数据质量摆在第一位。在数据交换过程中, 通过数据质量评估, 及时掌握各类数据的可靠程度或差错率的大小, 系统查找影响数据质量的因素, 并有针对性地采取措施, 持续提高数据质量。对于具体数据的质量检查模式可采用以下几种方法:
(1) 记录数检查法。通过比较记录条数, 对数据情况进行概括性验证, 主要是检查数据表的记录数是否为确定的数值或在确定的范围内。这个方法的适用范围是:对于数据表中按日期进行增量加载的数据, 每个加载周期递增的记录数为常数值或可以确定的范围时, 必须进行记录条数检验。
(2) 关键指标总量验证法。对于关键指标, 对比数据总量是否一致。指标总量主要是指具有相同业务含义, 从不同维度统计汇总逻辑的检查, 适用范围包括:同表内对同个字段从不同的维度进行统计, 存在汇总关系时, 必须进行总量检验。例如:某表的字段与其它表中的字段具有相同的业务含义, 从不同的维度统计, 存在汇总关系, 且两张表的数据不是经同一数据源加工得到。满足此条件时必须进行总量检验。
(3) 历史数据对比法。通过历史数据观察数据变化规律, 从而验证数据质量, 通常以同比发展速度进行判断。评估时应根据各种指标发展特点, 重点对同比发展速度增幅 (或降幅) 较大的数据进行审核。历史数据对比法包括同比和环比两种方式。历史数据对比法的适用范围是:不能进行记录数检查法、关键指标总量验证法, 且事实表的记录数小于1000万条时必须进行历史数据对比法。
(4) 值域判断法。确定一定时期内指标数据合理的变动区间, 对区间外的数据进行重点审核。其中数据的合理变动区间范围是直接根据业务经验来确定的。当事实表中的字段可以确定取值范围、同时可以判定不在此范围内的数据必定是错误的, 满足此条件必须进行值域判断法。
(5) 经验审核法。针对报表中指标间逻辑关系仅靠计算机程序审核无法确认、量化, 或有些审核虽设定数量界限, 但界限较宽不好判定的情况, 需要增加人工经验审核。适用范围:以上方法都不适用的情况下, 可以使用经验审核法, 在计算机自动校核的基础上, 由人工聚焦某些问题数据进行审核。
(6) 匹配判断法。与相关部门提供或发布的有关数据进行对比验证。适用范围:与有相关部门提供或发布的有关数据口径一致的, 可以使用匹配判断法。匹配判断后, 应当具备经验累积机制, 在确立某个数据口径为标准后, 自动遵循该项规则。
数据质量是一个长期性的问题, 要解决这个问题, 除了技术手段保障外, 还是必须从产生数据的源头抓起。根据经验, 70%的数据质量问题都是由用户输入产生的。因此, 在信息系统建设过程中要规范用户的使用方式, 保证数据的录入是按照定义的标准流程和方式进行维护;其次, 系统要严谨的对各数据项进行约束, 按照规范要求设计, 保证关联数据的一致性。
4.4 配套基础设施和管理制度
数据集成与交换平台的建设, 还可参考以下几个工作要点:
(1) 按照“科学规划, 合理布局”的原则有序建设高校网络。根据不同时期的信息化需求, 充分考虑业务量、数据量和应用增长情况, 配备适当的硬件设施, 为避免初期投入过大造成浪费, 可根据数据和业务的实际增长量, 分步持续扩充。在系统硬件设施规划方面, 要以保障系统的可用率和可靠性为出发点, 充分考虑关键设备的冗余, 避免单点故障带来的影响。
(2) 为高校各业务管理信息系统制定配套的系统运行维护管理规范, 主要包括网络、设备、数据、软件维护要求以及机房管理、运维质量管理要求等管理规范。通过IT运行维护流程的规范化管理, 不断提高系统运行保障能力, 保证高可用的平台环境。在日常管理的过程中, 还应编制配套的应急预案, 定期演练, 以应对突发的故障。
(3) 制定高校信息系统安全保障措施, 抵御外部对高校信息系统资源的非法的访问和使用, 保证高校信息系统的软、硬件和数据不因偶然或人为因素而遭受破坏、泄露、修改或复制, 确保信息安全。一是在管理层面, 明确高校信息化工作的职责与分工, 成立相应的领导工作机构, 制定信息系统安全管理制度, 利用行政管理防止安全事故的发生。二是在技术层面, 通过采取各种相应的技术手段, 包括防火墙技术、数据加密技术、身份认证技术、访问控制技术、漏洞检测、数据存储、数据备份和安全恢复等;保障网络环境、应用系统、通信环境的安全性。
(4) 针对高校数据交换和信息系统应用的特点, 配套建设数据集成与交换平台的运行管理工具, 例如监测平台数据通道的健康状况、平台运行日志的主动分析等功能, 增加平台运行的健壮性, 也为持续的运行维护带来便利, 节省人工成本。
5 结语
综上所述, 在建立高校信息化标准体系的基础上, 构建面向异构数据的高校数据集成与交换平台, 对数据质量进行管理与评估, 将从根本上解决数据质量差, 数据交互难的问题, 逐步实现高校数据资源共享与应用集成, 对高校自身发展及进一步推动教育信息化发挥积极作用。显而易见, 高校数据集成与交换平台建设是一项复杂、长期的系统工程, 而随着高校事业的不断发展及信息领域新技术的不断涌现, 平台建设势必也是一个动态、变化、发展的过程。本文提出的高校数据集成与交换平台建设方案, 需在实际运行和服务实践中不断完善升级, 最终形成一个高效、标准的, 能充分满足高校信息化工作需要的数据集成与交换平台。
参考文献
[1]黄松.基于诺兰模型的高校信息化建设趋势分析与展望[J].江汉大学学报:自然科学版, 2013, (1) :71-75.
[2]李幼军, 张广庆, 刘炳兴.高校信息化建设中信息标准的确立及应用[J].计算机时代, 2008, (10) :66-68.
[3]胡致涌.基于信息整合的数据中心平台的研究[J].制造业自动化, 2011, 33 (18) :69-71.
【面向数据的软件工程论文】推荐阅读:
面向数据的体系结构10-12
面向对象的数据库技术05-16
面向对象数据模型07-22
面向对象数据库系统05-11
面向对象数据库研究10-02
面向对象的软件维护论文10-12
面向对象的软件开发方法分析论文09-09
面向对象的软件测试09-25
一项面向未来的希望工程演讲稿05-27
面向对象软件测试07-18