论文部分内容阅读
摘要:从将元数据管理的角度出发,将元数据管理的理论与信息管理系统类的软件开发相结合,用元数据管理的思想来辅助软件开发,从而提高软件开发的效率,降低软件开发的风险。
关键词:元数据管理;软件开发方法;自动化
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)09-2124-02
Reseach of a Semi-automatic Method of Software Development base on Metadata Management
LIN Xiao-bo, HUANG Xu-peng
(Department of Mathematics and Information Technology, Hanshan Normal University, Chaozhou 521041, China)
Abstract:Apply the Metadata management theory to software development, the efficiency of software development can be improved obviously,and the risk of software development can be reduced too.
Key words:metadata management; method of software development; automatic
随着计算机技术的发展和企业信息化步骤的加快,企业对信息化的需求越来越大,并且企业内部的变化日新月异,这就要求针对企业进行的软件开发必须速度快、周期短,这样才能适应企业的业务流程的变化,因此自动化或半自动化的软件开发模式越来越受青睐。另一方面,虽然软件工程的研究已经取得了一定的成果,但是失败的软件项目仍经常可以见到,究其原因主要是软件开发的前期阶段工作(即需求工作)没有做好,软件设计开发没有比较严谨的依据,而自动化或半自动化软件开发方法利用数据挖掘技术,能够使得需求分析更加准确,软件过程各阶段的过渡更加严谨,这样能大大降低软件开发的风险。
目前,一方面,针对元数据管理的研究及应用虽已比较成熟,但主要应用于数据仓库方面及联机分析系统(OLAP)方面,同时,大部分元数据管理都是在企业信息化基本成熟之后才提出,这就导致了短时间内需要整理的元数据太多而使用户对元数据管理失去兴趣,而这恰恰是元数据管理系统实施失败多于成功的主要原因;另一方面,自从软件危机提出以来,软件工程就一直成为了研究的热点,虽然目前计算机软件工程研究取得了重要的进展,但是依然是失败的计算机软件工程案例居多,近年来,为了提高软件开发效率,自动化或半自动化软件开发方法的研究更是成为了软件工程中的一个热门课题,并在理论和实践上也取得了一定的成果,尤其在基于模型的用户界面设计方面,涌现出一大批各有特色的方法[1],这些方法都在开发过程的某一阶段(如设计阶段)对软件的自动化给予了一定的支持,在某种意义上也提高了软件开发的效率,但是这些方法都未能提供其他阶段(如需求阶段)的自动化支持,对于这些阶段,仍然有大量的工作需要人工去完成,这也就失去了自动化开发的意义,因此仍无法改变开发效率低、风险高的局面。自动化开发的依据应该是什么?如何去自动化?也未给出能够让人满意的答案。
该文从将元数据管理的角度出发,提出一种将元数据管理的理论与信息管理系统类的软件开发相结合的软件开发思路,用元数据管理的思想来辅助软件开发,从而提高软件开发的效率,降低软件开发的风险。
1元数据管理[2]
按照传统的定义,元数据(Metadata)是关于数据的数据。在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员和最终用户非常方便地找到他们所关心的数据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据(Technical Metadata)和业务元数据(Business Metadata)。
元数据管理是数据中心信息资源标准管理,尤其是数据元标准管理的主要子系统。通过该系统来规范管理全省数据资源的规范定义、命名、分类等,同时元数据管理系统也将帮助我们从技术的角度梳理所有的信息系统,了解所有数据资源的生产、存储、转换和同步等所有相关活动,从而建立数据元的血统关系,帮助我们理解每一个数据的来龙去脉。元数据管理功能包含元模型管理、元数据的维护及查询、元数据批量加载、元数据自动获取、元数据的分析及应用、元数据版本管理。
2基于元数据的软件开发过程
将元数据管理理论应用于软件开发的需求阶段,从软件开发的最初阶段就对企业的最原始数据进行形式化描述,并将元数据管理系统用于辅助需求调研收集用户的原始数据,收集到的原始数据经过进一步加工,再利用自动化代码生成工具,可生成待开发的系统原型,原型可应用于进一步确认用户需求以及指导下一步的软件设计和开发工作,从需求阶段确定的原型出发,进一步利用数据挖掘技术,研究设计出自动化工具,用于从元数据中进一步挖掘出企业的业务流程以辅助指导软件的设计和开发,从而使得软件开发的整个过程都具有比较强的可推导性,提高软件开发的效率,降低软件开发的风险。
2.1需求阶段
在需求阶段,可将元数据管理系统用于收集用户的原始数据,系统开发人员将元数据管理系统交给用户使用,用户在系统中录入平时所使用的业务表单元数据,即业务元数据。收集得到用户的业务元数据后,开发人员可以利用自动化代码生成器,可生成出简单的系统原形,用原形与用户确定进一步的需求,这样,开发人员与用户双方的交流可以建立在系统原形的基础上,可以极大地提高用户参与软件开发的兴趣。
2.2设计阶段
在需求确定下来之后,进入系统设计阶段,在设计阶段,开发人员将需求阶段收集到的业务元数据进行进一步加工及补充,用于辅助系统设计。
2.2.1数据库设计
对于信息管理系统来说,当前大部分的数据库设计方法都是跳跃式,不是通过系统的方法进行[3],即:从需求到数据库设计没有一个平滑的过度,完全靠设计人员本身的智慧和经验,这样使得数据库设计具有很大风险,其正确性和稳定性无法得到系统的保证。而需求阶段得到的业务元数据可以作为数据库设计的依据,对业务元数据的加工就是将业务元数据映射为数据库表,业务元数据中的数据关系,也将映射为数据库设计中的主键、外键、约束等关系,使得需求分析到数据库设计能够平滑过渡。
2.2.2界面设计
在一个信息管理系统中,大部分操作都是针对单个表单进行的,映射到系统中,一个功能界面也就是对一个表单进行操作的.界面是为操作功能服务的,界面的内在表示形式决定于对应的操作功能.而在需求阶段所获取到的业务元数据,正是用户业务表单的形式化描述,所以,可以将业务元数据作为界面设计的有力依据,根据某种规则得到系统的界面.开发人员可以将业务元数据进行加工,将业务元数据映射为系统界面,指明系统界面的类型,界面中所用到的元素以及界面元素的类型等。
2.3实现阶段
经过设计阶段对元数据的加工后,利用代码生成工具,加工过的元数据可以直接生成为代码,包括直接生成数据库脚本,界面代码等。同时,元数据与数据库、用户界面的直接关联,也使得元数据可以作为系统权限控制的一个依据,利用统一管理的元数据,可以实现对系统数据权限的统一管理。
2.3.1数据库代码生成
在完成数据库逻辑设计之后,开发人员为系统进行数据库物理设计,为设计阶段的元数据加入具体的表名、字段名、数据类型等具体信息,然后用代码自动化生成工具,生成数据库脚本,自动创建数据库。利用元数据自动创建数据库,可以使把元数据和数据库关联起来,为实现系统数据权限管理奠定基础。
2.3.2界面代码生成
在完成界面的逻辑设计之后,开发人员为设计阶段的元数据加入其所对应的界面的相关信息,比如界面名称,界面类型,元数据字段对应的界面控件,控件类型,摆放位置等。然后利用代码自动化生成工具,生成界面的基本代码,程序员再在自动生成的代码的基础上进行进一步的改进。利用元数据生成的界面代码,可以考虑为界面添加以元数据为基础的权限控制接口,使得界面的操作权限可以通过元数据进行统一管理。
2.4应用阶段
在应用阶段,元数据的作用主要是可以用于为用户方的系统管理员提供统一的权限管理,通过实现阶段所预留的权限控制接口,系统管理员可以很方便地对系统的权限进行管理。
3结束语
将元数据管理理论引入软件开发中,不但有助于需求阶段的信息收集,形式化的描述使得软件开发过程的自动化更容易实现,并且,在企业的信息化过程中,前后期的工作投入往往成反比关系,在企业的信息化初期引入元数据管理,将更有利于后期的信息化建设,使得后期的信息化工作(如数据仓库等)能够更顺利进行;第二、在软件开发过程中,利用数据挖掘技术研究设计出自动化工具,辅助软件开发,以实现软件开发的半自动甚至是完全自动化,这对于提高软件开发效率,降低开发风险具有极其重要的现实意义。后续工作将专注于代码自动化工具的进一步改进,减少开发过程中的人工干预,进一步提高软件开发的效率。
参考文献:
[1]林晓波.基于模型的业务系统界面逻辑的获取[J].韩山师范学院学报,2008(3):32-35.
[2]仇道霞.浅析数据仓库中的元数据管理技术[J].山东轻工业学院学报,2009(5):58-101.
[3] Patig S.Evolution of Entity -Relationship Modelling[J].Data
关键词:元数据管理;软件开发方法;自动化
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)09-2124-02
Reseach of a Semi-automatic Method of Software Development base on Metadata Management
LIN Xiao-bo, HUANG Xu-peng
(Department of Mathematics and Information Technology, Hanshan Normal University, Chaozhou 521041, China)
Abstract:Apply the Metadata management theory to software development, the efficiency of software development can be improved obviously,and the risk of software development can be reduced too.
Key words:metadata management; method of software development; automatic
随着计算机技术的发展和企业信息化步骤的加快,企业对信息化的需求越来越大,并且企业内部的变化日新月异,这就要求针对企业进行的软件开发必须速度快、周期短,这样才能适应企业的业务流程的变化,因此自动化或半自动化的软件开发模式越来越受青睐。另一方面,虽然软件工程的研究已经取得了一定的成果,但是失败的软件项目仍经常可以见到,究其原因主要是软件开发的前期阶段工作(即需求工作)没有做好,软件设计开发没有比较严谨的依据,而自动化或半自动化软件开发方法利用数据挖掘技术,能够使得需求分析更加准确,软件过程各阶段的过渡更加严谨,这样能大大降低软件开发的风险。
目前,一方面,针对元数据管理的研究及应用虽已比较成熟,但主要应用于数据仓库方面及联机分析系统(OLAP)方面,同时,大部分元数据管理都是在企业信息化基本成熟之后才提出,这就导致了短时间内需要整理的元数据太多而使用户对元数据管理失去兴趣,而这恰恰是元数据管理系统实施失败多于成功的主要原因;另一方面,自从软件危机提出以来,软件工程就一直成为了研究的热点,虽然目前计算机软件工程研究取得了重要的进展,但是依然是失败的计算机软件工程案例居多,近年来,为了提高软件开发效率,自动化或半自动化软件开发方法的研究更是成为了软件工程中的一个热门课题,并在理论和实践上也取得了一定的成果,尤其在基于模型的用户界面设计方面,涌现出一大批各有特色的方法[1],这些方法都在开发过程的某一阶段(如设计阶段)对软件的自动化给予了一定的支持,在某种意义上也提高了软件开发的效率,但是这些方法都未能提供其他阶段(如需求阶段)的自动化支持,对于这些阶段,仍然有大量的工作需要人工去完成,这也就失去了自动化开发的意义,因此仍无法改变开发效率低、风险高的局面。自动化开发的依据应该是什么?如何去自动化?也未给出能够让人满意的答案。
该文从将元数据管理的角度出发,提出一种将元数据管理的理论与信息管理系统类的软件开发相结合的软件开发思路,用元数据管理的思想来辅助软件开发,从而提高软件开发的效率,降低软件开发的风险。
1元数据管理[2]
按照传统的定义,元数据(Metadata)是关于数据的数据。在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员和最终用户非常方便地找到他们所关心的数据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据(Technical Metadata)和业务元数据(Business Metadata)。
元数据管理是数据中心信息资源标准管理,尤其是数据元标准管理的主要子系统。通过该系统来规范管理全省数据资源的规范定义、命名、分类等,同时元数据管理系统也将帮助我们从技术的角度梳理所有的信息系统,了解所有数据资源的生产、存储、转换和同步等所有相关活动,从而建立数据元的血统关系,帮助我们理解每一个数据的来龙去脉。元数据管理功能包含元模型管理、元数据的维护及查询、元数据批量加载、元数据自动获取、元数据的分析及应用、元数据版本管理。
2基于元数据的软件开发过程
将元数据管理理论应用于软件开发的需求阶段,从软件开发的最初阶段就对企业的最原始数据进行形式化描述,并将元数据管理系统用于辅助需求调研收集用户的原始数据,收集到的原始数据经过进一步加工,再利用自动化代码生成工具,可生成待开发的系统原型,原型可应用于进一步确认用户需求以及指导下一步的软件设计和开发工作,从需求阶段确定的原型出发,进一步利用数据挖掘技术,研究设计出自动化工具,用于从元数据中进一步挖掘出企业的业务流程以辅助指导软件的设计和开发,从而使得软件开发的整个过程都具有比较强的可推导性,提高软件开发的效率,降低软件开发的风险。
2.1需求阶段
在需求阶段,可将元数据管理系统用于收集用户的原始数据,系统开发人员将元数据管理系统交给用户使用,用户在系统中录入平时所使用的业务表单元数据,即业务元数据。收集得到用户的业务元数据后,开发人员可以利用自动化代码生成器,可生成出简单的系统原形,用原形与用户确定进一步的需求,这样,开发人员与用户双方的交流可以建立在系统原形的基础上,可以极大地提高用户参与软件开发的兴趣。
2.2设计阶段
在需求确定下来之后,进入系统设计阶段,在设计阶段,开发人员将需求阶段收集到的业务元数据进行进一步加工及补充,用于辅助系统设计。
2.2.1数据库设计
对于信息管理系统来说,当前大部分的数据库设计方法都是跳跃式,不是通过系统的方法进行[3],即:从需求到数据库设计没有一个平滑的过度,完全靠设计人员本身的智慧和经验,这样使得数据库设计具有很大风险,其正确性和稳定性无法得到系统的保证。而需求阶段得到的业务元数据可以作为数据库设计的依据,对业务元数据的加工就是将业务元数据映射为数据库表,业务元数据中的数据关系,也将映射为数据库设计中的主键、外键、约束等关系,使得需求分析到数据库设计能够平滑过渡。
2.2.2界面设计
在一个信息管理系统中,大部分操作都是针对单个表单进行的,映射到系统中,一个功能界面也就是对一个表单进行操作的.界面是为操作功能服务的,界面的内在表示形式决定于对应的操作功能.而在需求阶段所获取到的业务元数据,正是用户业务表单的形式化描述,所以,可以将业务元数据作为界面设计的有力依据,根据某种规则得到系统的界面.开发人员可以将业务元数据进行加工,将业务元数据映射为系统界面,指明系统界面的类型,界面中所用到的元素以及界面元素的类型等。
2.3实现阶段
经过设计阶段对元数据的加工后,利用代码生成工具,加工过的元数据可以直接生成为代码,包括直接生成数据库脚本,界面代码等。同时,元数据与数据库、用户界面的直接关联,也使得元数据可以作为系统权限控制的一个依据,利用统一管理的元数据,可以实现对系统数据权限的统一管理。
2.3.1数据库代码生成
在完成数据库逻辑设计之后,开发人员为系统进行数据库物理设计,为设计阶段的元数据加入具体的表名、字段名、数据类型等具体信息,然后用代码自动化生成工具,生成数据库脚本,自动创建数据库。利用元数据自动创建数据库,可以使把元数据和数据库关联起来,为实现系统数据权限管理奠定基础。
2.3.2界面代码生成
在完成界面的逻辑设计之后,开发人员为设计阶段的元数据加入其所对应的界面的相关信息,比如界面名称,界面类型,元数据字段对应的界面控件,控件类型,摆放位置等。然后利用代码自动化生成工具,生成界面的基本代码,程序员再在自动生成的代码的基础上进行进一步的改进。利用元数据生成的界面代码,可以考虑为界面添加以元数据为基础的权限控制接口,使得界面的操作权限可以通过元数据进行统一管理。
2.4应用阶段
在应用阶段,元数据的作用主要是可以用于为用户方的系统管理员提供统一的权限管理,通过实现阶段所预留的权限控制接口,系统管理员可以很方便地对系统的权限进行管理。
3结束语
将元数据管理理论引入软件开发中,不但有助于需求阶段的信息收集,形式化的描述使得软件开发过程的自动化更容易实现,并且,在企业的信息化过程中,前后期的工作投入往往成反比关系,在企业的信息化初期引入元数据管理,将更有利于后期的信息化建设,使得后期的信息化工作(如数据仓库等)能够更顺利进行;第二、在软件开发过程中,利用数据挖掘技术研究设计出自动化工具,辅助软件开发,以实现软件开发的半自动甚至是完全自动化,这对于提高软件开发效率,降低开发风险具有极其重要的现实意义。后续工作将专注于代码自动化工具的进一步改进,减少开发过程中的人工干预,进一步提高软件开发的效率。
参考文献:
[1]林晓波.基于模型的业务系统界面逻辑的获取[J].韩山师范学院学报,2008(3):32-35.
[2]仇道霞.浅析数据仓库中的元数据管理技术[J].山东轻工业学院学报,2009(5):58-101.
[3] Patig S.Evolution of Entity -Relationship Modelling[J].Data