CN107025110A - 一种基于软件开发要素及其联系的时态建模方法 - Google Patents
一种基于软件开发要素及其联系的时态建模方法 Download PDFInfo
- Publication number
- CN107025110A CN107025110A CN201710124889.8A CN201710124889A CN107025110A CN 107025110 A CN107025110 A CN 107025110A CN 201710124889 A CN201710124889 A CN 201710124889A CN 107025110 A CN107025110 A CN 107025110A
- Authority
- CN
- China
- Prior art keywords
- entity
- model
- tense
- contact
- temporal
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000013461 design Methods 0.000 claims abstract description 77
- 230000002123 temporal effect Effects 0.000 claims description 83
- 239000007787 solid Substances 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 25
- 238000013499 data model Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 13
- 238000011161 development Methods 0.000 description 8
- 239000000463 material Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于软件开发要素及其联系的时态建模方法,通过该方法可以为软件开发中的需求、设计、模型、构件、支持数据和软件产品等开发要素及其复杂的联系建立集成统一的数据模型,形成反映以上要素的时变属性和时态联系的数据库,从而为软件开发过程提供支撑。
Description
技术领域
本发明涉及计算机技术,更具体地,涉及一种基于软件开发要素及其联系的时态建模方法。
背景技术
当前,随着计算机软件的自身规模和精细程度的日益提升,软件开发过程已经发展为一个多要素相互联系、支持、影响和制约的复杂过程。如果希望对软件开发的整体过程实施有效的决策、规划、管理与考核,就需要将软件开发的复杂过程以统一的数据模型予以表征,在数据模型的基础上建立一套支撑平台,通过该平台对整个软件开发过程实现维护、检索、跟踪、分析和控制。
软件开发过程所涉及的要素众多,其中主要的开发要素包括需求、设计、模型、构件、支持数据以及软件产品。数据模型需要表征出上述主要的开发要素自身开发的过程信息,还要表征出上述主要的开发要素在软件开发当中被应用的过程信息,因而需要描述主要的开发要素相互之间的联系。对于开发要素之间的联系,举例来说,设计包括软件产品整体的设计,还包括软件各个模块的设计;对模块的设计当中嵌入了相关的模型,根据软件各个模块的设计可生成构件;可以为每个构件建立一个支持数据的子集,该子集中描述了构件相关的需求,等等。
特别是,在软件开发当中,软件开发要素本身及其联系都不是静态的和固定的。软件开发要素本身是动态和时变的,随之,开发要素之间的联系也是动态且时变的。
然而,现有技术中缺少对于软件开发要素及其联系的建模方法,特别是不能适应软件开发要素及其联系所固有的时变、动态的本质属性。例如,申请号201410291096.1的中国专利申请“一种基于软件元模型构造软件模型的通用软件建模方法”公开了在确定软件元模型基础组元后通过以软件层级模型、软件接口模型、软件交互模型、软件算法模型、软件流程模型、软件传输模型为步骤要素构造软件模型。但是,所构造的软件模型当中并未表征出软件开发要素之间的联系,对软件开发要素及其联系之间时变和动态的属性也没有相应的响应机制。可见,现有的建模手段并不能满足实际的需求。
随着技术的向前发展,对软件开发过程的要求不断提高,例如:要求软件产品和其中的模型、构件、支持数据能够实现并行开发,要求支持软件产品族(版本树)的开发,要求实现系统级、项目级和分项目级的多级开发,要求支持分布式开发,等等。为了满足这些高层次的需求,要求提供一种描述软件开发过程中诸要素及其复杂联系的建模方法,建立集成统一、稳定高效、可扩展的数据模型和存储模型,从而为通过数据库平台实现软件开发过程管理、版本管理和配置管理提供基础性的支撑作用。
发明内容
根据现有技术中的上述需求,本发明提供了一种基于软件开发要素及其联系的时态建模方法,通过该方法可以为软件开发中的需求、设计、模型、构件、支持数据和软件产品等开发要素及其复杂的联系建立集成统一的数据模型,形成反映以上要素的时变属性和时态联系的数据库,从而为软件开发过程提供支撑。
本发明提供的基于软件开发要素及其联系的时态建模方法,其特征在于,包括以下步骤:
第一步,从作为软件开发要素的各个实体当中,识别时态实体和非时态实体,并且确定实体的时变属性和非时变的普通属性;根据时态实体及其时变属性和普通属性,确定表征时态实体及其时变属性、普通属性的数据需求;
第二步,构建表征时态实体及其联系的概念模型;
第三步,在上述概念模型的基础上,按照转换规则将该概念模型转化为通过关系表表征时态实体及其联系的逻辑模型;
第四步,选定具体的关系型数据库,并且根据表征时态实体及其联系的概念模型和逻辑模型,设计针对该具体的关系型数据库的时态物理存储模型。
优选的是,在第二步中,构建所述概念模型的具体方式是:建立表示时态实体及其联系的时态概念结构图。
进一步优选的是,为了全面表征软件开发过程中的各个类型的时态实体之间的相互联系,建立表示时态实体及其联系的时态概念结构图包括:建立包括需求、设计、模型、构件、支持数据和软件产品的实体在内的总体时态概念结构图;所述总体时态概念结构图表示时态实体、普通实体以及实体之间的时态联系和普通联系。
进一步优选的是,为了表征每一种类型的时态实体与其它类型时态实体之间的相互联系,以及每一种类型的时态实体内部的相互联系,建立表示时态实体及其联系的时态概念结构图还包括:以需求、设计、模型、构件、支持数据和软件产品当中每一类型的软件开发要素的实体为核心,分别建立表示每一类型的时态实体及其联系的分要素时态实体联系图;所述分要素时态实体联系图表示作为核心的开发要素的实体与其它类型的软件开发要素的实体之间的联系、作为核心的开发要素的实体内部之间的联系。
进一步优选的是,为了将时态实体及其联系的属性更为清晰和易用地加以表征,所述概念模型还包括:需求、设计、模型、构件、支持数据和软件产品当中每一类型的软件开发要素的实体的属性列表、实体之间联系的属性列表以及实体内部的联系的属性列表。
优选的是,所述逻辑模型包括:与实体对应的关系基本表,与实体之间的联系对应的关系基本表。
进一步优选的是,与时态实体及其联系的时变性相适应,所述逻辑模型当中,与时态实体对应的关系基本表包括有效时间属性,并且其中时态属性使用相应的时态数据类型来定义。
优选的是,在第三步中,按照如下方式将概念模型转化为逻辑模型:
(1)概念模型中的实体,通常转换成逻辑模型的一个关系基本表;
(2)概念模型中的多对多的实体联系,通常转换成逻辑模型的一个关系基本表;
(3)概念模型中的一对多的实体联系,通常在“多”的一侧对应的实体对应的关系基本表中,增加“一”的一侧对应的实体主码属性;
(4)对于时态实体,对应的关系基本表,增加有效时间属性,转换成相应的时态表;
(5)对于时态属性,直接使用相应的时态数据类型来定义,或者转换成相应的时态表,该时态表至少包含对应实体的主码属性,时态属性,属性取值和有效时间。
优选的是,第四步中,设计具体的关系型数据库的时态物理存储模型包括:设计数据的存取方法,包括常规索引、文本索引和时态索引。
本发明对软件开发的需求、设计、模型、构件、支持数据和软件产品等开发要素及其复杂的联系,综合利用时态图技术和时态数据库技术,提供了建立集成统一的数据模型的方法。依据本发明的建模方法所建立的概念模型、逻辑模型和时态存储物理模型,是实现软件开发过程中支撑平台的基础和核心,可实现基于时态的软件开发过程中的数据维护、检索和分析技术,能够支持软件和模型、构件、支持数据等并行开发,支持产品族的开发(版本树),支持多层级开发和分布式开发;支持开发库、受控库和产品库等多个受控级别的库管理;支持需求库、模型库、构件库和支持数据库等多个主题库管理。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明:
图1示出了本发明所建立的以时态实体联系数据图为核心的数据模型的示意图;
图2示出了时态实体及其联系的时变示意图;
图3示出了包括需求、设计、模型、构件、支持数据和软件产品等六大要素的实体在内的总体时态概念结构图;
图4-图5示出了以需求为核心的分时态TER图;
图6-图7示出了以设计为核心的分时态TER图;
图8-图9示出了以模型为核心的分时态TER图;
图10-11示出了以构件为核心的分时态TER图;
图12示出了以支持数据为核心的分时态TER图;
图13示出了以软件产品为核心的分时态TER图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合实施例及实施例附图对本发明作进一步详细的说明。
本发明针对软件开发过程中的需求、设计、模型、构件、支持数据以及软件产品等主要的开发要素以及要素之间的复杂联系,从时间维度出发,以时态实体联系数据图为核心手段,采用了统一的时态建模方法。图1示出了本发明所建立的以时态实体联系数据图为核心的数据模型的示意图。
(一)时态实体及其联系
在本发明提供的时态建模方法中,需求、设计、模型、构件、支持数据以及软件产品作为软件开发过程中的实体要素,都具有不同的版本,并且每个版本都具有相应的发布时间、使用时间和停用时间,因而,以上实体要素自身均具有时态属性,作为状态随时间变化的实体,在本发明的建模方法中将需求、设计、模型、构件、支持数据以及软件产品等要素均作为时态实体。并且,四行要素之间的联系也存在随时间变化的属性,因此本发明将其联系作为时态联系。
为了进一步阐述需求、设计、模型、构件、支持数据以及软件产品等要素所固有的时态属性及其时态联系,下面结合图2予以具体的示例。图2描述了A实体(例如构件)和B实体(例如软件产品)作为时态实体分别具有各种版本,以及各个版本之间的时态联系。其中At0,At1,At2,At3,At4,At5…表示A实体的各个版本,由虚箭头线相连表示A实体随时间发展演化成的各个版本对象,B实体也有类似随时间演化的版本对象的序列,即Bt0,Bt1,Bt3,Bt4,Bt5;为A、B实体在每个时刻的版本对象附加了时态标签,时态标签为该版本对象的有效时间,有效时间表示为“[发布时间,停用时间]”。实线箭头表示了A、B实体的各个版本对象之间的相互联系,例如软件产品对构件的使用即为二者之间的联系;时态对象的相互联系也附加了时态标签,位于实线旁边的时态标签表示两个版本对象建立联系的有效时间“[开始时间,结束时间]”,从而表征了时态实体相互联系的时态属性;参见图2中各个箭头,其中图2(1)表示At0版本“使用”Bt0版本;图2(2)表示A实体由At1版本升级为At2版本,Bt1版本不变;图2(3)表示At3版本不变,Bt3版本升级为Bt4版本;图2(4)表示At3升级为At5版本,Bt4版本升级为Bt5版本。总之,上述A和B两类时态实体之间的四种时态联系,实际上为以下两类时态联系:A版本变化,B版本同步变化;A版本变化,B版本不变化。
可见,图2表明,软件开发中的需求、设计、模型、构件、参数和软件产品等时态实体本身不仅存在随时间演化的版本联系,时态实体之间也存在复杂的时态联系。因此,本发明结合时态扩展实体联系E-R模型和时态图(Temporal Graph)技术,研究软件开发要素及其联系的时态建模方法,构建了描述软件开发过程中各个要素及其联系的概念模型,其核心是构建时态实体联系图来描述上述六类实体之间的动态时态联系。
(二)软件开发要素及其联系的时态建模方法
下面开始介绍本发明针对软件开发要素及其联系的时态建模方法的具体步骤。
1.识别实体及其属性,确定表征实体及其属性的数据需求
第一步,从作为软件开发要素的各个实体当中,识别时态实体和非时态实体,并且确定实体的时变属性和非时变的普通属性;根据时态实体及其时变属性和普通属性,确定表征时态实体及其时变属性、普通属性的数据需求。
2.构建表征时态实体及其联系的概念模型
第二步,构建表征时态实体及其联系的概念模型。在本步骤中,基于时态建模方法,结合关系型数据库技术和时态数据库技术,构建表征包括需求、设计、模型、构件、支持数据和软件产品等软件开发要素实体及其联系的概念模型。
构建所述概念模型的具体方式是:建立表示时态实体及其联系的时态概念结构图(又称为E-R图)。
2.1构建总体时态概念结构图
图3示出了包括需求、设计、模型、构件、支持数据和软件产品等六大要素的实体在内的总体时态概念结构图。该图作为概念模型的具体形式,表示了软件开发最主要的以上六大要素作为时态实体相互之间的联系。下面的表1.1列出了图3所示总体时态概念结构图当中各个符号及其含义,从而解释了该图所表示的时态实体、普通实体及其时态联系、普通联系的具体内容。
表1.1
2.2构建分要素时态实体联系图
在建立总体时态概念结构图的基础上,构建概念模型进一步包括:以每一类型的软件开发要素的实体为核心,分别建立表示每一类型的时态实体及其联系的分要素时态实体联系图(又称为分时态TER图)。
总体时态概念结构图只反映出软件开发过程中最主要的实体之间的联系,缺少辅助实体之间的联系,将在后续的分E-R图中画出。实体内部之间的联系将在分E-R图中画出,例如需求实体内部的联系分为父子层次联系、引用联系、复用联系等。实体的属性在分E-R图设计部分中给出,并识别时变属性。
建立分要素时态概念结构图具体包括以下方面。
2.2.1以需求为核心的分时态TER图
图4-5示出了以需求为核心的分时态TER图。需求要素的实体包括图4中的原始需求、使用需求、系统需求、软件需求,实际上为各种需求项(Requirement Items),图4表示了原始需求、使用需求、系统需求、软件需求相互之间的联系。需求具有层次关系,一个需求可以分为几个子需求,子需求再分为更细的子需求。各类需求项自身内部之间具有层次结构、复用和参照等各种联系,为了分时态E-R图简洁,上述需求内部的各种联系在图5中没有画出,而是通过图6表示需求的实体内部之间联系的分时态TER图,软件需求、系统需求、使用需求和原始需求均具有类似的内部联系。
可见,通过图4和图5的分时态TER图,表示出了:需求这一要素的各个实体,以及需求的各个实体之间的联系,需求的各个实体内部的联系。
进而,确定需求要素的各个实体的属性、各个实体之间联系的属性以及实体内部的联系的属性,具体如下:
■实体及其属性列表
(1)需求素材ReqMaterials(素材编号matId,素材名称matName,素材类型matType,需求素材描述matDesc,需求素材文件matFile)。
(2)原始需求OrigRequirements(需求编号reqId,需求名称reqName、需求描述reqDesc,需求类型reqType,需求优先级别reqPriority,需求分类reqCategory,需求影响分析reqImpactAnalysis,需求备注reqRemark,需求状态reqStatus/TV)。
(3)使用需求UseRequirements(属性列表与原始需求相同)
(4)系统需求SysRequirements(属性列表与原始需求相同)
(5)软件需求SoftRequirements(属性列表与原始需求相同)
■实体之间的联系及其属性列表
(6)需求素材与原始需求联系ReqMatRelatedOrigReq(原始需求版本origReqVersion,素材编号matId,关联描述relatedDesc,关联日期relatedDate)。
(7)原始需求与使用需求联系OrigReqRelatedUseReq(原始需求版本origReqVersion,使用需求版本useReqVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime)
(8)使用需求与系统需求联系UseReqRelatedSysReq(使用需求版本useReqVersion,系统需求版本sysReqVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime)。
(9)系统需求与软件需求联系SysReqRelatedSoftReq(系统需求版本sysReqVersion,软件需求版本softReqVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime)。
■实体内部的联系及其属性列表
(10)需求父子层次联系ReqHierarchy(需求编号reqId,父需求编号fatherReqId),码为需求编号reqId+父需求编号fatherReqId
(11)需求依赖联系ReqDependency(需求版本reqVersion,被依赖需求版本dependentReqVersion,依赖描述dependentDesc,依赖日期dependentDate,有效时间validTime),码为需求版本reqVersion+被依赖需求版本dependentReqVersion
2.2.2以设计为核心的分时态TER图
图6-7示出了以设计为核心的分时态TER图。设计要素的实体实际上为各种设计项(Design Items)。设计项内部之间具有层次结构、复用和参照等各种联系,为了分时态E-R图简洁,上述各种联系在图7中没有画出,而是通过图7表示设计的实体内部之间联系的分时态TER图。
进而,确定设计要素的实体的属性、实体之间联系的属性以及实体内部的联系的属性,具体如下:
■实体及其属性列表
设计Design(设计编号desId,设计名称desName,设计描述desDesc,设计文件desFiles,设计类型desType,设计分类desCategory,设计版本desVersion/TV,设计状态desStatus/TV)。
■实体之间的联系及其属性列表
设计与软件需求联系DesRelatedSoftReq(设计版本desVersion,软件需求版本softReqVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为设计版本desVersion+软件需求版本softReqVersion。
■实体内部的联系及其属性列表
设计父子层次联系desHierarchy(父设计编号fatherDesId,子设计编号sonDesId),码为父设计编号fatherDesId+子设计编号sonDesId。
设计依赖联系DesDependency(设计版本desVersion,被依赖设计版本dependentDesVersion,依赖描述dependentDesc,依赖日期dependentDate,有效时间validTime),码为设计版本desVersion+被依赖设计版本dependentDesVersion
2.2.3以模型为核心的分时态TER图
图8-9示出了以模型为核心的分时态TER图。模型要素的实体如图8所示,包括概念模型、数学模型和工程模型,模型研制人员根据设计信息进行抽象描述并建立概念模型,然后进一步抽象和定量化,建立数学模型,在此基础上建立工程模型。举例来说,概念模型可以是对一组特定军事行动相关的真实过程的抽象描述,是使用需求研究与数学模型建模的过渡阶段,是对问题规范化、形式化描述,能够完整、准确地表达建模的军事需求,使需求研究人员和建模技术人员对问题空间有一个准确一致的理解。数学模型是描述或解决某个问题所需的一组特征数据和解决这个问题所需的方法,是对军事问题、兵力和武器运用方法的数学化、形式化、逻辑化的抽象描述。概念模型和数学模型从工程实现的角度看,是一种理论模型,是指挥原则、战术规则、决策方法的原理描述和抽象,可统称为理论模型。工程模型是直接面向软件设计和工程实现的模型,也是概念模型和数学模型的软件实现准备,或者说是概念模型和数学模型的近计算机语言形式表达,也称该阶段的模型为软件模型。工程模型需要在理论模型的基础上,根据所服务的指挥信息系统支持的指挥关系、ZW设置、底层基础软硬件的支撑能力,指控系统与情报处理、武器装备各分系统的接口协议,进一步明确输入信息的来源和接口形式,进行防错纠错处理,简化算法,增强模型的可编程性和可执行性。图9示出了概念模型、数学模型和工程模型相互之间的联系。
各类模型之间具有复用和参照等各种联系,为了分时态E-R图简洁,上述模型内部的各种联系在图8中没有画出,而是通过图9表示模型的实体内部之间联系的分时态TER图。
进而,确定模型要素的各个实体的属性、各个实体之间联系的属性以及实体内部的联系的属性,具体如下:
■实体及其属性列表
模型Model(模型编号modId,模型名称modName,模型类型modType,模型描述modDesc,模型文件modFiles、模型分类modCategory、模型应用层次modAppLevel、模型数据包modDataPackage)。
概念模型ConModel(属性列表同模型)
数学模型MathModel(属性列表同模型)
工程模型EngiModel(属性列表同模型)
■实体之间的联系及其属性列表
模型与设计联系ModRelatedDes(模型版本modVersion,设计版本desVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为模型版本modVersion+设计版本desVersion。
模型与概念模型联系ModRelatedConMod(模型版本modVersion,概念版本conModVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为模型版本modVersion+概念版本conModVersion。
数学模型与概念模型联系MathModRelatedConMod(同模型与概念模型联系ModRelatedConMod)
工程模型与数学模型联系EngiModRelatedMathMod(同模型与概念模型联系ModRelatedConMod)
■实体内部的联系及其属性列表
模型层次联系ModHierarchy(模型编号modId,父模型编号fatherModId),码为模型编号modId+父模型编号fatherModId
模型依赖联系ModDependency(模型版本modVersion,被依赖模型版本dependentModVersion,依赖描述dependentDesc,依赖日期dependentDate,有效时间validTime),码为模型版本modVersion+被依赖模型版本dependentModVersion
2.2.4以构件为核心的分时态TER图
图10-11示出了以构件为核心的分时态TER图。构件要素包括构件模型和构件实现,一个构件可以有多个构件模型,每个构件模型可能对应多个实现代码,构件在具体开发上,可能是一个构件选定一种构件模型,并实现一种构件实现代码,因此,构件模型和实现代码,只是构件分类的两个重要属性,在逻辑设计时,并不需要把他们作为实体对待。图10示出了构件、构件模型、构件实现之间的联系。各类构件之间具有复用、引用和组合等各种联系,为了分时态E-R图简洁,上述构件内部的各种联系在图10中没有画出,而是通过图11表示模型的实体内部之间联系的分时态TER图。
进而,确定构件要素的各个实体的属性、各个实体之间联系的属性以及实体内部的联系的属性,具体如下:
■实体及其属性列表
构件Componet(构件编号comId,构件名称comName,构件类型comType,构件描述comDesc、构件关键字comKeywords,构件状态comStatus/TV,)。
构件模型ComModel(构件编号comId,构件模型编号comModId、构件描述文件CDLFile、图形编辑器生成文件graphEditorFiles,构件说明文件comStatementFiles)
构件实现ComImpl(构件编号comId,构件模型编号comModId,构件实现编号comImplId,构件实现描述comImplDesc,构件实现源代码文件comSourceFiles,构件实现编译生成文件comComplierFiles,构件驱动程序comDriver、构件测试桩代码comTestStub,构件边界值测试用例comTestCase,构件实现状态comImplStatus/TV)
■实体之间的联系及其属性列表
构件与设计联系ComRelatedDes(构件版本comVersion,设计版本desVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为构件版本comVersion+设计版本desVersion。
构件实现与软件联系ComImplRelatedSoftware(构件实现版本comImplVersion,软件版本softVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为构件实现版本comImplVersion+软件版本softVersion。
■实体内部的联系及其属性列表
构件层次联系ComHierarchy(构件编号comId,父构件编号fatherComId),码为构件编号ComId+父构件编号fatherComId
构件依赖联系ComDependency(构件版本comVersion,被依赖构件版本dependentComVersion,依赖描述dependentDesc,依赖日期dependentDate,有效时间validTime),码为构件版本comVersion+被依赖构件版本dependentComVersion
2.2.5以支持数据为核心的分时态TER图
在软件研制过程中,为每个构件建立一个数据子集记录,描述该构件的数据需求。支持数据包括数据子集或数据全集中的数据对象,如表、视图、函数和存储过程等。图12示出了以支持数据为核心的分时态TER图,其中包括支持数据与构件、模型等实体之间的联系,以及支持数据与支持数据全集之间的联系。
进而,确定要素支持数据要素的各个实体的属性、各个实体之间联系的属性,具体如下:
■实体及其属性列表
支持数据子集SupDataSet(支持数据编号supId,支持数据名称supName,支持数据类型supType,支持数据描述supDesc,支持数据关键字supKeywords,支持数据状态supStatus/TV)。
■实体之间的联系及其属性列表
模型与支持数据联系ModRelatedComImpl(模型版本modVersion,支持数据版本supVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为软件版本modVersion+支持数据版本supVersion。
构件实现与支持数据联系ComImplRelatedSup(构件实现版本comImplVersion,支持数据版本supVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为构件实现版本comImplVersion+支持数据版本supVersion。
2.2.6以软件产品为核心的分时态TER图
软件产品是一个独立可运行的产品,是满足用户最终需求的产品,与构件应该有所区分。图13示出了以软件产品为核心的分时态TER图,其中包括软件产品与构件实体之间的联系。
确定软件产品要素的各个实体的属性、各个实体之间联系的属性,具体如下:
■实体及其属性列表
软件Software(软件编号softId,软件名称softName,软件类型softType,软件分类softCategory,软件描述softDesc,软件关键字softKeywords,软件源代码文件softSourcecodeFile,软件安装文件softInstallFile,软件测试用例文件softTestcaseFile,软件说明书文件softManualFile)。
■实体之间的联系及其属性列表
软件与构件实现联系SoftRelatedComImpl(软件版本softVersion,构件实现版本comImplVersion,关联描述relatedDesc,关联日期relatedDate,有效时间validTime),码为软件版本softVersion+构件实现版本comImplVersion。
3.构建表征时态实体及其联系的逻辑模型
第三步,在上述时态概念结构图和属性构成的概念模型的基础上,采用设计关系数据库逻辑模型的方式,进一步构建表征时态实体及其联系的逻辑模型,特别是时态实体之间的时态联系逻辑模型,还包括相应的时态完整性约束。
3.1逻辑模型的概念和构成
数据库设计一般依次分为:概念模型设计、逻辑模型设计和物理模型设计。概念模型反映现实世界,与具体的数据库管理系统无关,是数据库设计人员与业务用户交流的语言和工具;逻辑模型从概念模型按照一定的规则转换而来了,反映机器世界(信息世界),与具体的数据库管理系统有关,与实现无关,与硬件无关,是数据库设计人员和数据库开发人员,以及未来管理和维护系统的数据库管理员DBA交流的语言和工具。物理模型通常由数据库管理系统从逻辑模型自动转换而生成,与存储硬件有关,与实现有关,主要描述数据的物理分布、存储和存取方式,由数据库管理员DBA负责规划和管理。
具体到本发明,在建立了以时态概念结构图为核心的、表示时态实体及其联系的概念模型的基础上,在本步骤中,基于该概念模型建立表示时态实体及其联系的逻辑模型。
表示时态实体及其联系的逻辑模型由一系列主题数据库组成,而每个主题数据库由一系列的关系基本表及其完整性约束组成,这些关系基本表又分大致为两部分:一部分为实体(对象)对应的关系基本表,另一部分为实体(对象)之间的联系对应的关系基本表。逻辑模型是数据库设计和时态数据库建模的核心部分,在概念模型和物理模型之间起到承上启下的核心作用。
3.2逻辑模型的转化过程
从概念模型转化为逻辑模型,按照如下步骤构造:
(1)概念模型中的实体,通常转换成逻辑模型的一个关系基本表;
(2)概念模型中的多对多的实体联系,通常转换成逻辑模型的一个关系基本表;
(3)概念模型中的一对多的实体联系,通常在“多”的一侧对应的实体对应的关系基本表中,增加“一”的一侧对应的实体主码属性;
(4)对于时态实体,对应的关系基本表,增加有效时间属性,转换成相应的时态表;
(5)对于时态属性,直接使用相应的时态数据类型来定义,或者转换成相应的时态表,该时态表至少包含对应实体的主码属性,时态属性,属性取值和有效时间。
4.构建表征时态实体及其联系的时态存储模型
第四步,选定具体的关系型数据库,并且根据表征时态实体及其联系的概念模型和逻辑模型,设计针对该具体的关系型数据库的时态物理存储模型。设计具体的关系型数据库的时态物理存储模型包括:设计数据的存取方法,包括常规索引、文本索引和时态索引。
时态存储模型是指时态数据如何在物理存储硬件如何分布和存储,建立哪些普通索引和时态索引。由于存储模型通常由数据库管理系统从逻辑模型自动转换生成,与存储硬件和实现有关,所以数据模型的建模和设计,通常最主要的是由概念模型和逻辑模型组成。
可见,本发明对软件开发的需求、设计、模型、构件、支持数据和软件产品等开发要素及其复杂的联系,综合利用时态图技术和时态数据库技术,提供了建立集成统一的数据模型的方法。依据本发明的建模方法所建立的概念模型、逻辑模型和时态存储物理模型,是实现软件开发过程中支撑平台的基础和核心,可实现基于时态的软件开发过程中的数据维护、检索和分析技术,能够支持软件和模型、构件、支持数据等并行开发,支持产品族的开发(版本树),支持多层级开发和分布式开发;支持开发库、受控库和产品库等多个受控级别的库管理;支持需求库、模型库、构件库和支持数据库等多个主题库管理。
以上所述,仅为本发明的具体实施方式,本发明还可以应用在其它设备中;以上描述中的尺寸和数量均仅为参考性的,本领域技术人员可根据实际需要选择适当的应用尺寸,而不脱离本发明的范围。本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求所界定的保护范围为准。
Claims (9)
1.一种基于软件开发要素及其联系的时态建模方法,其特征在于,包括以下步骤:
第一步,从作为软件开发要素的各个实体当中,识别时态实体和非时态实体,并且确定实体的时变属性和非时变的普通属性;根据时态实体及其时变属性和普通属性,确定表征时态实体及其时变属性、普通属性的数据需求;
第二步,构建表征时态实体及其联系的概念模型;
第三步,在上述概念模型的基础上,按照转换规则将该概念模型转化为通过关系表表征时态实体及其联系的逻辑模型;
第四步,选定具体的关系型数据库,并且根据表征时态实体及其联系的概念模型和逻辑模型,设计针对该具体的关系型数据库的时态物理存储模型。
2.根据权利要求1所述的时态建模方法,其特征在于,在第二步中,构建所述概念模型的具体方式是:建立表示时态实体及其联系的时态概念结构图。
3.根据权利要求2所述的时态建模方法,其特征在于,建立表示时态实体及其联系的时态概念结构图包括:建立包括需求、设计、模型、构件、支持数据和软件产品的实体在内的总体时态概念结构图;所述总体时态概念结构图表示时态实体、普通实体以及实体之间的时态联系和普通联系。
4.根据权利要求3所述的时态建模方法,其特征在于,建立表示时态实体及其联系的时态概念结构图还包括:以需求、设计、模型、构件、支持数据和软件产品当中每一类型的软件开发要素的实体为核心,分别建立表示每一类型的时态实体及其联系的分要素时态实体联系图;所述分要素时态实体联系图表示作为核心的开发要素的实体与其它类型的软件开发要素的实体之间的联系、作为核心的开发要素的实体内部之间的联系。
5.根据权利要求4所述的时态建模方法,其特征在于,所述概念模型还包括:需求、设计、模型、构件、支持数据和软件产品当中每一类型的软件开发要素的实体的属性列表、实体之间联系的属性列表以及实体内部的联系的属性列表。
6.根据权利要求1所述的时态建模方法,其特征在于,所述逻辑模型包括:与实体对应的关系基本表,与实体之间的联系对应的关系基本表。
7.根据权利要求6所述的时态建模方法,其特征在于,所述逻辑模型当中,与时态实体对应的关系基本表包括有效时间属性,并且其中时态属性使用相应的时态数据类型来定义。
8.根据权利要求7所述的时态建模方法,其特征在于,在第三步中,按照如下方式将概念模型转化为逻辑模型:
(1)概念模型中的实体,转换成逻辑模型的一个关系基本表;
(2)概念模型中的多对多的实体联系,转换成逻辑模型的一个关系基本表;
(3)概念模型中的一对多的实体联系,在“多”的一侧对应的实体对应的关系基本表中,增加“一”的一侧对应的实体主码属性;
(4)对于时态实体,对应的关系基本表,增加有效时间属性,转换成相应的时态表;
(5)对于时态属性,直接使用相应的时态数据类型来定义,或者转换成相应的时态表,该时态表至少包含对应实体的主码属性,时态属性,属性取值和有效时间。
9.根据权利要求1所述的时态建模方法,其特征在于,第四步中,设计具体的关系型数据库的时态物理存储模型包括:设计数据的存取方法,包括常规索引、文本索引和时态索引。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017101030169 | 2017-02-24 | ||
CN201710103016 | 2017-02-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107025110A true CN107025110A (zh) | 2017-08-08 |
CN107025110B CN107025110B (zh) | 2020-05-12 |
Family
ID=59526022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710124889.8A Expired - Fee Related CN107025110B (zh) | 2017-02-24 | 2017-03-03 | 一种基于软件开发要素及要素之间的联系的时态建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107025110B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255466A (zh) * | 2017-12-20 | 2018-07-06 | 中国人民解放军海军大连舰艇学院 | 一种基于时态的软件配置管理数据系统和方法 |
CN109145121A (zh) * | 2018-07-16 | 2019-01-04 | 浙江大学 | 一种时变图数据的快速存储查询方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866371A (zh) * | 2015-05-12 | 2015-08-26 | 中国人民解放军装甲兵工程学院 | 一种基于Agent行动图的作战建模方法与仿真系统 |
CN105045869A (zh) * | 2015-07-14 | 2015-11-11 | 国家信息中心 | 基于多数据中心的自然资源地理空间数据组织方法和系统 |
CN105739979A (zh) * | 2016-01-28 | 2016-07-06 | 上海大学 | 一种基于概率服务流程的工作流选取方法 |
CN106407469A (zh) * | 2016-10-24 | 2017-02-15 | 北京亚控科技发展有限公司 | 一种描述事物时间属性并基于所述描述进行查找的方法 |
-
2017
- 2017-03-03 CN CN201710124889.8A patent/CN107025110B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866371A (zh) * | 2015-05-12 | 2015-08-26 | 中国人民解放军装甲兵工程学院 | 一种基于Agent行动图的作战建模方法与仿真系统 |
CN105045869A (zh) * | 2015-07-14 | 2015-11-11 | 国家信息中心 | 基于多数据中心的自然资源地理空间数据组织方法和系统 |
CN105739979A (zh) * | 2016-01-28 | 2016-07-06 | 上海大学 | 一种基于概率服务流程的工作流选取方法 |
CN106407469A (zh) * | 2016-10-24 | 2017-02-15 | 北京亚控科技发展有限公司 | 一种描述事物时间属性并基于所述描述进行查找的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255466A (zh) * | 2017-12-20 | 2018-07-06 | 中国人民解放军海军大连舰艇学院 | 一种基于时态的软件配置管理数据系统和方法 |
CN109145121A (zh) * | 2018-07-16 | 2019-01-04 | 浙江大学 | 一种时变图数据的快速存储查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107025110B (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104662514B (zh) | 基于模型关联关系的遗产软件系统的现代化 | |
Xin et al. | Helix: Holistic optimization for accelerating iterative machine learning | |
CN104765731B (zh) | 数据库查询优化方法和设备 | |
US6154748A (en) | Method for visually mapping data between different record formats | |
US7971175B2 (en) | Method and system for implementing cached parameterized cells | |
US7822795B2 (en) | Apparatus and methods for displaying and determining dependency relationships among subsystems in a computer software system | |
CN111462327B (zh) | 三维造型软件三维检验模型非结构化数据解析方法 | |
US7886028B2 (en) | Method and system for system migration | |
CN110134671B (zh) | 一种面向溯源应用的区块链数据库数据管理系统及方法 | |
CN103348329A (zh) | 生成测试数据 | |
CN103744647A (zh) | 一种基于工作流GPD的Java工作流开发系统及其方法 | |
Haase et al. | Optique system: towards ontology and mapping management in OBDA solutions | |
CN101675415B (zh) | 程序模式分析装置、模式出现状况信息产生方法、模式信息生成装置及程序 | |
Cano et al. | Quality Control with R | |
US20070255685A1 (en) | Method and system for modelling data | |
CN110321360A (zh) | 表格数据的处理方法及相关设备 | |
CN107025110A (zh) | 一种基于软件开发要素及其联系的时态建模方法 | |
US10055450B1 (en) | Efficient management of temporal knowledge | |
CN113822002B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
Serral et al. | Evaluation of semantic data storages for integrating heterogenous disciplines in automation systems engineering | |
CN106843825A (zh) | 一种基于时态模型的软件配置管理方法 | |
Taktak et al. | Toward propagating the evolution of data warehouse on data marts | |
CN110389955A (zh) | 一种数据仓库调度文件自动生成系统及生成方法 | |
Putzer | Data structures and data-base systems used in high energy physics: Modelling and implementation | |
Mordinyi et al. | Semantic data integration: tools and architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200512 |