CN103235723A - 基于抽象语法树和软件产品特征的应用软件代码提取方法 - Google Patents

基于抽象语法树和软件产品特征的应用软件代码提取方法 Download PDF

Info

Publication number
CN103235723A
CN103235723A CN2013101445281A CN201310144528A CN103235723A CN 103235723 A CN103235723 A CN 103235723A CN 2013101445281 A CN2013101445281 A CN 2013101445281A CN 201310144528 A CN201310144528 A CN 201310144528A CN 103235723 A CN103235723 A CN 103235723A
Authority
CN
China
Prior art keywords
feature
node
relation
features
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013101445281A
Other languages
English (en)
Other versions
CN103235723B (zh
Inventor
邵建伟
俞东进
刘愉
李万清
穆海伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZHEJIANG TOPTHINKING INFORMATION TECHNOLOGY Co Ltd
Hangzhou Dianzi University
Hangzhou Electronic Science and Technology University
Original Assignee
ZHEJIANG TOPTHINKING INFORMATION TECHNOLOGY Co Ltd
Hangzhou Electronic Science and Technology University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZHEJIANG TOPTHINKING INFORMATION TECHNOLOGY Co Ltd, Hangzhou Electronic Science and Technology University filed Critical ZHEJIANG TOPTHINKING INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310144528.1A priority Critical patent/CN103235723B/zh
Publication of CN103235723A publication Critical patent/CN103235723A/zh
Application granted granted Critical
Publication of CN103235723B publication Critical patent/CN103235723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于抽象语法树和软件产品特征的应用软件代码提取方法,目前已有的方法一般利用约定的编程规范,由于缺乏标准化,其可靠性一直得不到很好的保证,而且需要较多的人工干预。本发明根据已有的软件产品线特征树模型以及特征与领域构件的追溯关系,从领域构件中自动提取具有应用软件特征的软件代码,从而实现应用软件系统的快速构建。本发明采用标准的抽象语法树表示软件产品的代码结构,可以使得从特征到代码的映射关系更加规范和精确,同时一次遍历抽象语法树即可自动获取构建应用软件的基本信息,其效率更高。

Description

基于抽象语法树和软件产品特征的应用软件代码提取方法
技术领域    
本发明属于软件产品线工程领域,具体涉及到一种基于抽象语法树和软件产品特征的应用软件代码提取方法。
背景技术
随着软件规模和复杂度不断提升,传统的软件开发模式已经无法满足在业务多变的环境下进行软件开发的需求。针对单个应用需求的传统软件开发模式不仅成本高、效率低下而且可维护性差,已经无法适应大规模应用需求定制和多变的业务环境。作为一种实现大规模定制生产的软件开发方法,软件产品线工程在一定程度上解决这个问题,它的出现大大降低了开发成本,提高了产品质量同时缩短了上市时间。这里,软件产品线是指一系列处于特定领域、功能相似的软件产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定需求,并按照预定义的方式从一个公共的核心资产集开发得到。遵循软件产品线两阶段的开发原则,将开发过程划分为:领域工程与应用工程两个阶段。领域工程和应用工程作为软件产品线生命周期中两个主要阶段,分别承担着具体产品开发过程中的不同任务。其中,领域工程通过对领域需求中的共性、可变性进行系统化的分析来创建可复用的软件产品线平台;应用工程是生产具体应用软件系统的过程,可以通过提取符合具体应用需求的领域软件构件实现应用软件的快速开发。
发明内容
本发明针对现有技术的不足,提出了一种基于抽象语法树和软件产品特征的应用软件代码提取方法。
定义1:软件产品线特征模型可规范化定义为一个三元组:
Figure 2013101445281100002DEST_PATH_IMAGE001
(1)
Figure 604687DEST_PATH_IMAGE002
表示特征和特征组的集合,描述特征模型中的一组概念,即
Figure 2013101445281100002DEST_PATH_IMAGE003
Figure 584144DEST_PATH_IMAGE004
代表特征模型中的特征集合,并且有,
Figure 987050DEST_PATH_IMAGE006
,其中:
Figure 2013101445281100002DEST_PATH_IMAGE007
: 特征的标记名称;任何唯一且有意义的字符组合均可作为特征的标记名称;
Figure 444577DEST_PATH_IMAGE008
:特征的可选性;表示当前特征的父特征被绑定时,该特征是否必须被绑定;这里提到的父子关系是由特征间的精化关系引起的,精化关系将在第三节详细介绍;如果当前特征的Opt 属性为真,则该特征是可选性的(Optional),否则就是强制的(Mandatory);
:特征的绑定状态;表示该特征当前是否已经被作出绑定决策;如果
Figure 383583DEST_PATH_IMAGE010
属性为,表示该特征处于绑定状态,即该特征所指代的软件系统功能处于激活状态,否则就处于非绑定状态;
Figure 832144DEST_PATH_IMAGE012
:与该特征具有追溯关系的核心资产(Core Assets)标识,本发明指的是直接实现了该特征的软件构件标识;
Figure 2013101445281100002DEST_PATH_IMAGE013
代表特征模型中的特征组集合,
Figure 223811DEST_PATH_IMAGE014
Figure 2013101445281100002DEST_PATH_IMAGE015
:与(And)特征组;
Figure 114056DEST_PATH_IMAGE016
中的特征成员
Figure 2013101445281100002DEST_PATH_IMAGE017
可以是强制的(Mandatory),也可以是可选的(Optional),所以当父特征被包含在产品中时,与特征组中的强制特征必须包含在产品中,而可选特征则会根据进一步选择来确定是否包含到产品中;
Figure 409033DEST_PATH_IMAGE018
:多选一(Alternative)特征组;
Figure 2013101445281100002DEST_PATH_IMAGE019
是一组多选一关系的特征,这组特征在其父特征出现的产品中仅有一个特征可以被选取;
Figure 464714DEST_PATH_IMAGE020
:或(Or)特征组;
Figure 2013101445281100002DEST_PATH_IMAGE021
是一组或关系的特征,这组特征在其父特征出现的产品中至少应有一个特征可以被选取;
(2)
Figure 281360DEST_PATH_IMAGE022
表示特征模型中一组关系的集合,这些关系包括精化关系和约束关系,其中常见的约束关系有需要关系和排斥关系,因此涉及两个特征的基本二元关系有:
精化关系(Parent):某个特征
Figure 2013101445281100002DEST_PATH_IMAGE023
能够被分解成为一组组成特征
Figure 641541DEST_PATH_IMAGE024
,表示
Figure 2013101445281100002DEST_PATH_IMAGE025
需要关系(Req):需要关系揭示了特征与特征之间的必要约束,即一个特征是实现另一个特征的前提和基础;特征需要特征
Figure 2013101445281100002DEST_PATH_IMAGE027
表示为
Figure 345503DEST_PATH_IMAGE028
排斥关系(Excl):排斥关系表示
Figure 649446DEST_PATH_IMAGE026
,
Figure 924569DEST_PATH_IMAGE027
两个特征之间的互斥关系,它意味着
Figure 630357DEST_PATH_IMAGE026
特征和特征中只能有一个特征被选取,表示为
Figure 2013101445281100002DEST_PATH_IMAGE029
(3)
Figure 311755DEST_PATH_IMAGE030
为软件产品线特征模型中核心资产(Core Assets)的集合,主要包括需求、代码和文档,并通过统一的全局标识符对其进行标记;
定义2:
Figure 2013101445281100002DEST_PATH_IMAGE031
表示多选一特征集,它是
Figure 2013101445281100002DEST_PATH_IMAGE033
 \* MERGEFORMAT 所在多选一特征组中除了自己以外所有特征的集合;
定义3: \* MERGEFORMAT 表示与特征集,它是
Figure 141301DEST_PATH_IMAGE033
 \* MERGEFORMAT 所在与特征组中除了自己以外所有特征的集合;
定义4:
Figure DEST_PATH_IMAGE037
 \* MERGEFORMAT 表示或特征集,它是
Figure 763913DEST_PATH_IMAGE033
 \* MERGEFORMAT 所在或特征组中除了自己以外所有特征的集合;
定义5:
Figure DEST_PATH_IMAGE039
 \* MERGEFORMAT 表示需要链集,它是与
Figure 597876DEST_PATH_IMAGE033
 \* MERGEFORMAT 存在需要关系或是因传递性而存在需要关系的所有特征的集合;
定义6:
Figure DEST_PATH_IMAGE041
 \* MERGEFORMAT 表示互斥链集,它是与
Figure 171684DEST_PATH_IMAGE033
 \* MERGEFORMAT 存在互斥关系或是因传递性而存在互斥关系的所有特征的集合;
定义7:
Figure DEST_PATH_IMAGE043
 \* MERGEFORMAT 表示已有关联集合,它是与AST节点n已经存在追溯关系的所有特征的集合;
定义8:
Figure DEST_PATH_IMAGE045
 \* MERGEFORMAT 表示与指定特征关联的节点集合;
本发明方法具体包括如下步骤:
步骤1:输入一个基于Java的软件产品线特征模型对应的特征树(特征树是指用树形结构表示特征之间的关系一种结构)、Java抽象语法树以及指定的特征Id;解析特征树并确定特征树中相应的AndSet、AltSet、OrSet集合;
步骤2:解析软件产品线特征模型中的约束关系,根据约束关系的可传递性确定软件产品线特征模型中的需要链集合ReqSet和排斥链集合ExclSet(特征之间的约束关系作为一种静态依赖关系,主要描述了特征之间因绑定时间的不同而造成的一种彼此相互约束的关系);
步骤3:根据软件产品线特征模型中已有的特征与代码块的映射关系,确定已有关联集合ExistSet;
步骤4:抽象语法树中的所有节点均置为未选择状态,初始化堆栈stack,并以抽象语法树的根节点作为stack的初始元素集,将输出节点集合SelectedSet置为空;
步骤5:如果stack不为空,则将栈顶节点出栈,并对该节点进行访问操作;对节点的具体访问操作为:
1)获取当前抽象语法树节点的起止位置,如果不在所选代码段的范围内则直接跳转到步骤6;
2)遍历ExistSet集合并获取当前节点已经关联的特征,然后判断这些特征是否存在于指定特征对应的AltSet集合或者ExclSet集合中,若存在,则发生核心资产不一致情况,直接跳转到步骤6;
3)获取当前抽象语法树节点的父节点,如果当前节点与父节点起止位置相同,而且父节点已经处于已选择状态,则将父节点从SelectedSet集合中删除,并将其置为未选择状态,同时将当前节点放入SelectedSet集合中,置为选择状态;否则,直接将当前节点放入SelectedSet集合中,并置为选择状态;
步骤6:获取当前节点的所有子节点,如果子节点集合不为空,则将这些子节点依次放入stack中,重复执行步骤5,直至stack 为空;如果子节点集合为空,则直接跳转步骤5,直至stack为空;
步骤7:返回当前指定特征关联的节点集合SelectedSet。最后通过组装SelectedSet节点集合对应的节点代码构建具有应用特征的应用软件系统。
本发明的有益效果:本发明采用标准的抽象语法树表示软件产品的代码结构,可以使得从特征到代码的映射关系更加规范和精确,同时一次遍历抽象语法树即可自动获取构建应用软件的基本信息,其效率更高。
附图说明
图1 基于抽象语法树的软件产品线特征代码追溯方法执行流程图。
具体实施方式
下面结合附图1进一步说明本发明提出的基于Java抽象语法树和软件产品特征的应用软件代码提取方法的具体实施过程。
输入:软件产品线特征模型对应的特征树,所选Java文件对应的抽象语法树,指定特征Id。
输出:与指定特征关联的节点集合SelectedSet。
步骤1:遍历软件产品线特征模型对应的特征树,确定特征树中与指定特征存在特征组关系的特征集合,分别构成AndSet、AltSet、OrSet集合。
步骤2:对软件产品线特征模型中的约束关系进行分析,根据约束关系的可传递性确定软件产品线特征模型中的需要链集合ReqSet和排斥链集合ExclSet。
步骤3:解析软件产品线特征模型中已有的特征与代码块的映射关系,确定已有的映射关系集合ExistSet。
步骤4:将抽象语法树中的所有节点均置为未选择状态,初始化堆栈,将抽象语法树的根节点入栈,并将与指定特征关联的节点集合SelectedSet置空。
步骤5:若栈不为空,则将栈顶节点出栈,并对该节点进行访问操作。对节点的具体访问操作为:
1)获取当前抽象语法树节点的起始位置和结束位置,如果不在所选的目标代码段的范围内则直接跳转到步骤6。
2)遍历ExistSet集合并获取当前节点已经关联的特征,然后判断这些特征是否存在于指定特征对应的AltSet集合或者ExclSet集合中,若存在,则发生核心资产不一致情况,直接跳转到步骤6。
3)获取当前抽象语法树节点的父节点,如果当前节点与父节点的起始位置与结束位置相同,而且父亲节点已经处于已选择状态,则将父亲节点从SelectedSet集合中删除,并将其置为未选择状态,同时将当前节点放入SelectedSet集合中,置为选择状态。否则,直接将当前节点放入SelectedSet集合中,并置为选择状态。
步骤6:获取当前节点的所有子节点,如果子节点集合不为空,则将这些子节点依次放入栈中,重复执行步骤5,直至栈为空。如果子节点集合为空,则直接跳转步骤5,直至栈为空。
步骤7:返回当前指定特征关联的节点集合SelectedSet。最后通过组装SelectedSet节点集合对应的节点代码构建具有应用特征的应用软件系统。

Claims (1)

1.基于抽象语法树和软件产品特征的应用软件代码提取方法,
定义1:软件产品线特征模型可规范化定义为一个三元组:
Figure 2013101445281100001DEST_PATH_IMAGE001
(1)
Figure 628591DEST_PATH_IMAGE002
表示特征和特征组的集合,描述特征模型中的一组概念,即
Figure 2013101445281100001DEST_PATH_IMAGE003
Figure 43392DEST_PATH_IMAGE004
代表特征模型中的特征集合,并且有,,其中:
Figure DEST_PATH_IMAGE007
: 特征的标记名称;任何唯一且有意义的字符组合均可作为特征的标记名称;
Figure 112290DEST_PATH_IMAGE008
:特征的可选性;表示当前特征的父特征被绑定时,该特征是否必须被绑定;这里提到的父子关系是由特征间的精化关系引起的,精化关系将在第三节详细介绍;如果当前特征的Opt 属性为真,则该特征是可选性的Optional,否则就是强制的Mandatory;
Figure DEST_PATH_IMAGE009
:特征的绑定状态;表示该特征当前是否已经被作出绑定决策;如果
Figure 657541DEST_PATH_IMAGE010
属性为,表示该特征处于绑定状态,即该特征所指代的软件系统功能处于激活状态,否则就处于非绑定状态;
Figure 192428DEST_PATH_IMAGE012
:与该特征具有追溯关系的核心资产Core Assets标识,本发明指的是直接实现了该特征的软件构件标识;
Figure DEST_PATH_IMAGE013
代表特征模型中的特征组集合,
Figure 872589DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE015
:与And特征组;中的特征成员
Figure DEST_PATH_IMAGE017
可以是强制的Mandatory,也可以是可选的Optional,所以当父特征被包含在产品中时,与特征组中的强制特征必须包含在产品中,而可选特征则会根据进一步选择来确定是否包含到产品中;
:多选一Alternative特征组;
Figure DEST_PATH_IMAGE019
是一组多选一关系的特征,这组特征在其父特征出现的产品中仅有一个特征可以被选取;
Figure 834356DEST_PATH_IMAGE020
:或Or特征组;
Figure DEST_PATH_IMAGE021
是一组或关系的特征,这组特征在其父特征出现的产品中至少应有一个特征可以被选取;
Figure 243341DEST_PATH_IMAGE022
表示特征模型中一组关系的集合,这些关系包括精化关系和约束关系,其中常见的约束关系有需要关系和排斥关系,因此涉及两个特征的基本二元关系有:
精化关系Parent:某个特征能够被分解成为一组组成特征
Figure 718185DEST_PATH_IMAGE024
,表示
Figure DEST_PATH_IMAGE025
需要关系Req:需要关系揭示了特征与特征之间的必要约束,即一个特征是实现另一个特征的前提和基础;特征
Figure 369353DEST_PATH_IMAGE026
需要特征
Figure DEST_PATH_IMAGE027
表示为
Figure 613252DEST_PATH_IMAGE028
排斥关系Excl:排斥关系表示
Figure 865242DEST_PATH_IMAGE026
,
Figure 328847DEST_PATH_IMAGE027
两个特征之间的互斥关系,它意味着
Figure 894957DEST_PATH_IMAGE026
特征和
Figure 258942DEST_PATH_IMAGE027
特征中只能有一个特征被选取,表示为
Figure DEST_PATH_IMAGE029
为软件产品线特征模型中核心资产Core Assets的集合,主要包括需求、代码和文档,并通过统一的全局标识符对其进行标记;
定义2:
Figure DEST_PATH_IMAGE031
表示多选一特征集,它是
Figure 131269DEST_PATH_IMAGE023
所在多选一特征组中除了自己以外所有特征的集合;
定义3:表示与特征集,它是
Figure 501071DEST_PATH_IMAGE023
所在与特征组中除了自己以外所有特征的集合;
定义4:
Figure 970097DEST_PATH_IMAGE032
表示或特征集,它是
Figure 767151DEST_PATH_IMAGE023
所在或特征组中除了自己以外所有特征的集合;
定义5:
Figure DEST_PATH_IMAGE033
表示需要链集,它是与存在需要关系或是因传递性而存在需要关系的所有特征的集合;
定义6:
Figure 674113DEST_PATH_IMAGE034
表示互斥链集,它是与存在互斥关系或是因传递性而存在互斥关系的所有特征的集合;
定义7:
Figure DEST_PATH_IMAGE035
表示已有关联集合,它是与AST节点n已经存在追溯关系的所有特征的集合;
定义8:
Figure 715068DEST_PATH_IMAGE036
表示与指定特征关联的节点集合;
其特征在于该方法具体包括如下步骤:
步骤1:输入一个基于Java的软件产品线特征模型对应的特征树、Java抽象语法树以及指定的特征Id;解析特征树并确定特征树中相应的AndSet、AltSet、OrSet集合;
步骤2:解析软件产品线特征模型中的约束关系,根据约束关系的可传递性确定软件产品线特征模型中的需要链集合ReqSet和排斥链集合ExclSet;
步骤3:根据软件产品线特征模型中已有的特征与代码块的映射关系,确定已有关联集合ExistSet;
步骤4:抽象语法树中的所有节点均置为未选择状态,初始化堆栈stack,并以抽象语法树的根节点作为stack的初始元素集,将输出节点集合SelectedSet置为空;
步骤5:如果stack不为空,则将栈顶节点出栈,并对该节点进行访问操作;对节点的具体访问操作为:
1)获取当前抽象语法树节点的起止位置,如果不在所选代码段的范围内则直接跳转到步骤6;
2)遍历ExistSet集合并获取当前节点已经关联的特征,然后判断这些特征是否存在于指定特征对应的AltSet集合或者ExclSet集合中,若存在,则发生核心资产不一致情况,直接跳转到步骤6;
3)获取当前抽象语法树节点的父节点,如果当前节点与父节点起止位置相同,而且父节点已经处于已选择状态,则将父节点从SelectedSet集合中删除,并将其置为未选择状态,同时将当前节点放入SelectedSet集合中,置为选择状态;否则,直接将当前节点放入SelectedSet集合中,并置为选择状态;
步骤6:获取当前节点的所有子节点,如果子节点集合不为空,则将这些子节点依次放入stack中,重复执行步骤5,直至stack 为空;如果子节点集合为空,则直接跳转步骤5,直至stack为空;
步骤7:返回当前指定特征关联的节点集合SelectedSet;最后通过组装SelectedSet节点集合对应的节点代码构建具有应用特征的应用软件系统。
CN201310144528.1A 2013-04-23 2013-04-23 基于抽象语法树和软件产品特征的应用软件代码提取方法 Active CN103235723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310144528.1A CN103235723B (zh) 2013-04-23 2013-04-23 基于抽象语法树和软件产品特征的应用软件代码提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310144528.1A CN103235723B (zh) 2013-04-23 2013-04-23 基于抽象语法树和软件产品特征的应用软件代码提取方法

Publications (2)

Publication Number Publication Date
CN103235723A true CN103235723A (zh) 2013-08-07
CN103235723B CN103235723B (zh) 2016-05-04

Family

ID=48883768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310144528.1A Active CN103235723B (zh) 2013-04-23 2013-04-23 基于抽象语法树和软件产品特征的应用软件代码提取方法

Country Status (1)

Country Link
CN (1) CN103235723B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631632A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 移植方法及源到源编译器
CN107644073A (zh) * 2017-09-18 2018-01-30 广东中标数据科技股份有限公司 一种基于深度优先遍历的字段血缘分析方法、系统及装置
CN107943514A (zh) * 2017-11-01 2018-04-20 北京大学 一种软件文档中核心代码元素的挖掘方法及系统
CN108388425A (zh) * 2018-03-20 2018-08-10 北京大学 一种基于lstm自动补全代码的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799806A (zh) * 2012-06-14 2012-11-28 中国人民解放军信息工程大学 一种基于树结构的密码算法逻辑表达式识别方法
WO2013009713A2 (en) * 2011-07-08 2013-01-17 Uab Research Foundation Syntactical fingerprinting

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013009713A2 (en) * 2011-07-08 2013-01-17 Uab Research Foundation Syntactical fingerprinting
CN102799806A (zh) * 2012-06-14 2012-11-28 中国人民解放军信息工程大学 一种基于树结构的密码算法逻辑表达式识别方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631632A (zh) * 2013-11-29 2014-03-12 华为技术有限公司 移植方法及源到源编译器
CN107644073A (zh) * 2017-09-18 2018-01-30 广东中标数据科技股份有限公司 一种基于深度优先遍历的字段血缘分析方法、系统及装置
CN107943514A (zh) * 2017-11-01 2018-04-20 北京大学 一种软件文档中核心代码元素的挖掘方法及系统
CN108388425A (zh) * 2018-03-20 2018-08-10 北京大学 一种基于lstm自动补全代码的方法
CN108388425B (zh) * 2018-03-20 2021-02-19 北京大学 一种基于lstm自动补全代码的方法

Also Published As

Publication number Publication date
CN103235723B (zh) 2016-05-04

Similar Documents

Publication Publication Date Title
EP3367234B1 (en) Systems and methods for arbitrary software logic modeling
CN106528129A (zh) 一种Web应用界面生成系统及方法
CN100493221C (zh) 数据配置文件在不同软件版本间进行转换的方法及装置
CN105718261A (zh) 一种基于功件和功件树的目标产品生成方法和系统
CN102426587A (zh) 一种基于复杂产品异构bom的定制查询方法
CN102270137B (zh) 一种获取体系结构描述语言的方法和一种建模工具
CN102339314A (zh) 一种基于xml的跨终端的数据表单描述与展现方法
US20080244541A1 (en) Code translator and method of automatically translating modeling language code to hardware language code
CN102982010A (zh) 提取文档结构的方法和装置
CN102542513A (zh) 基于本体的电网公共信息模型的验证工具及其方法
CN103235723A (zh) 基于抽象语法树和软件产品特征的应用软件代码提取方法
CN105630500A (zh) 一种用于数据处理的cim对象模型及其编程框架
CN105354036A (zh) 数据库操作代码生成方法及装置
CN103559025A (zh) 一种采用聚类方式进行软件重构的方法
CN102253975A (zh) 一种数据库自动转换系统及方法
CN102819609A (zh) 一种持久化数据模型建模方法
CN102270136B (zh) 一种需求特征建模到体系结构建模的平滑过渡方法
CN101561671B (zh) 基于构件的梯形图设计方法
CN102955697A (zh) 基于面向方面的构件库构建方法
CN103020318A (zh) 一种对数据库中数据库表维护的方法
CN102722368B (zh) 一种基于文档树和消息泵的插件式软件设计方法
CN103164476A (zh) 一种bi应用元数据描述文件的执行方法和装置
CN104572832A (zh) 一种需求元模型构建方法及装置
CN103593182A (zh) 一种采用聚类方式进行软件重构的方法
CN102087595A (zh) 基于soa的专利代理协同管理系统开发方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant