CN106843825A - 一种基于时态模型的软件配置管理方法 - Google Patents
一种基于时态模型的软件配置管理方法 Download PDFInfo
- Publication number
- CN106843825A CN106843825A CN201610991908.2A CN201610991908A CN106843825A CN 106843825 A CN106843825 A CN 106843825A CN 201610991908 A CN201610991908 A CN 201610991908A CN 106843825 A CN106843825 A CN 106843825A
- Authority
- CN
- China
- Prior art keywords
- model
- software
- tense
- temporal
- database
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于时态模型的软件配置管理方法,包括如下步骤:将传统的实体关系图扩展为时态图模型,构建了软件开发要素的概念模型;基于上述时态建模方法设计基于时态的软件配置管理数据库,包括数据库逻辑模型和物理模型;结合关系数据库技术和时态数据库技术,根据时态建模构建的软件开发要素的概念模型,设计相应的关系数据库逻辑模型;构建Oracle10g上进行时态扩展和进行检索的方法;构建基于时态的对象依赖关系发现算法。本发明突出软件开发要素的时态属性,特别适合群组协同软件研制过程中软件要素在其生存周期中进行独立的演化要求;可以迅速检索软件开发要素之间依赖关系,并对其变更影响进行分析。
Description
技术领域
本发明涉及软件配置管理领域,具体涉及一种基于时态模型的软件配置管理方法。
背景技术
目前,Internet和物联网的发展导致了无论在功能上还是性能上都对软件提出了更高的要求,众多已有软件产品、构件和模型亟需升级改造换代,同时大量新软件产品也亟需设计开发。软件规模越来越大,复杂度越来越高,因此亟需有效的软件开发支撑平台(Software Development Supported Platform,也称CASE系统)来支持软件产品、构件和模型的开发、升级和改造任务。
软件开发支撑环境的功能必须能够支持软件生存周期中各个环节的活动以各种活动间的过程信息管控,这必须对需求、设计、模型、构件、参数、软件产品、文档、缺陷、变更、开发人员、用户等对象进行管理。这些对象在软件生存周期中的不同阶段具有不同属性,它们之间也具有错综复杂的关系。软件配置管理(Software ConfigurationManagement,SCM)方法为管理这些对象提供了基本的功能,也是管理联系各对象之间关系的关键技术。
因此,对软件需求、设计、模型、构件、参数、软件产品、文档、缺陷、变更、项目、开发人员(包括各阶段开发人员)、用户等软件开发要素及其之间的复杂联系,建立集成统一的数据模型,研究软件配置管理关键技术是研制软件开发支撑平台的基础(如图1所示)。
软件配置管理工具分为三级:
(1)入门级:例如CVS和VSS等版本控制工具;
(2)项目级:增加变更控制、状态统计等功能,如ClearCase、PVCS等配置管理工具;
(3)企业级;增加过程管理功能,如ALLFUSIONHarvest。
软件配置管理通常具有的功能有:配置支持、版本控制、变更控制、构造支持、过程支持、团队支持、报告/查询(如依赖关系报告、影响分析报告等)、审计控制和其他功能(权限控制、人员管理和配置库管理等)。
软件配置管理具有如下特征:
(1)支持工作流控制,如变更管理工作流,需求、设计和开发工作流等;
(2)支持分布式开发;
(3)支持并行开发;
(4)基于构件的版本管理和配置管理。
近年来,国内用于支持单一开发活动以及软件维护的CASE工具软件的应用已经比较普遍,如很多单位(特别是军工单位通过国家支持的技术改造项目,使得软件科研生产条件大幅提高)已经基本普及了需求开发工具、软件设计工具、集成编程环境、测试工具、版本管理工具等CASE工具的应用,然而贯穿软件生存周期的软件工程过程管理软件的应用仍然非常罕见。缺乏软件过程管理的自动化工具支持导致以上CASE工具的使用效果欠佳,企业中许多重金购买的工具甚至闲置。这种问题的产生归根结底在于尚未打通软件研制活动间数据畅通传递的通道,而软件过程管理的核心是软件配置管理,它是解决此类问题的关键。
国际上比较著名的软件过程管理工具主要有美国IBM的Rational系列软件、MicroFocus公司的Borland系列软件、CA公司的Process Continuum、Mc Cabe&Association公司的软件集成质量保证产品McCabe IQ、英国的自动评估工具Process Professional等等。国内的此类软件产品主要有北大软件的软件工程管理集成平台(简称SEMIP)、中科方德的Qone等。这些产品中的软件配置管理方法都采取基于文件存储差异的版本管理方法,不能适应灵活的配置管理需求,存在如下一些问题:
(1)大多数产品只支持软件需求分析设计和开发、模型库管理、构件库管理等单一功能,不能满足集成管理软件需求库、软件设计库、模型库、构件库、参数库和软件产品库等的需要。
(2)现有产品尤其缺乏对软件需求、设计、模型、构件、参数和软件产品等各个对象之间,以及各个对象的不同版本之间复杂联系的管理功能。
(3)现有产品对开发和构成软件的各个要素的生命周期(从需求、设计、开发、发布、使用、版本升级到停止使用的全过程)管理支持不够,没有有效管理软件产品各组成要素中的时态信息,也缺乏有效的时态检索和分析功能。
(4)现有产品能够很好的支持新软件产品从需求分析、设计到开发全过程,但是对已有软件产品、构件和模型的集成管理功能还不够完善。
(5)国外有些软件过程管理产品表现为一个产品族,其体系庞大,需要多个软件产品协同作业,而且价格不菲;而且所有产品均不能适应我国GJB5000A标准的要求,从国家安全的角度出发,军工软件研制不可能使用国外的软件工程过程管理系统。
发明内容
为解决上述问题,本发明提供了一种基于时态模型的软件配置管理方法,利用时态图和时态数据库技术,发明了软件开发诸要素及其复杂联系的时态建模方法,设计集成统一的时态数据模型、存储模型以及时态版本模型,给出各个对象演化及对象之间依赖和修改影响分析等方法。
为实现上述目的,本发明采取的技术方案为:
一种基于时态模型的软件配置管理方法,包括如下步骤:
S1、将传统的实体关系图扩展为时态图模型,构建了软件开发要素的概念模型,称为“时态实体关系图”;
S2、基于步骤S1的时态建模方法设计基于时态的软件配置管理数据库,包括数据库逻辑模型和物理模型;
S3、结合关系数据库技术和时态数据库技术,根据时态建模构建的软件开发要素的概念模型,设计相应的关系数据库逻辑模型;
S4、构建Oracle10g上进行时态扩展和进行检索的方法;
S5、构建基于时态的对象依赖关系发现算法。
本发明具有以下有益效果:
1)能够对复杂软件研制过程中产生的软件开发要素(需求、设计、模型、构件、参数、软件产品、文档、缺陷、变更、项目、开发人员、用户等)的生存周期进行单独管理,克服传统配置管理方法采用基于文件差异的版本管理方式,不便于各种软件开发要素细粒度管理的缺陷;
(2)突出软件开发要素的时态属性,特别适合群组协同软件研制过程中软件要素在其生存周期中进行独立的演化要求;
(3)可以迅速检索软件开发要素之间依赖关系,并对其变更影响进行分析;
(4)在Oracle10g上给出了实现方法,方便用户参照本发明在各种关系数据库系统上进行实施。
附图说明
图1为以软件配置管理为核心的软件开发平台框架示意图。
图2为本发明实施例的流程图。
图3为两类软件开发实体A和B的4种时态版本联系图。
具体实施方式
为了使本发明的目的及优点更加清楚明白,以下结合实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种基于时态模型的软件配置管理方法,包括如下步骤:
软件需求、设计、模型、构件、参数、软件产品、文档、缺陷、变更、项目、开发人员、用户等实体对象都具有不同的版本,每个版本具有相应的发布时间、使用时间和停用时间。具有时态属性,并且其状态随时间变化的实体,称为时态实体。图3描述了A实体(例如软件)和B实体(例如构件)的4种时态版本联系,其中At0,At1,At2,At3,At4,At5….表示随时间发展而演化成A实体的各个版本对象,它们由虚线箭头相连。B实体也有类似随时间演化的版本序列。每个时刻版本对象上的时态标签为该对象的有效时间“[发布时间,停用时间)”。连接版本对象的边(实线箭头)表示实体间的某种关系,如软件(A实体)“使用”了构件(B实体),关系上的标签表示两个版本对象建立关系的有效时间“[开始时间,结束时间)”。图3(1)表示软件对象的At0版本“使用”了构件对象的Bt0版本;图3(2)表示A实体(软件)由At1版本升级为At2版本,然而它“使用”的B实体(构件)的版本不变,仍为Bt1;图4(3)表示At3版本不变,Bt3版本升级为Bt4版本;图3(4)表示At3升级为At5版本,Bt4版本升级为Bt5版本。上述A和B两类时态实体之间的四种时态联系,实际上为两类时态联系:A版本变化,B版本同步变化;A版本变化,B版本不变化。
图3表明,软件开发中的软件需求、设计、模型、构件、参数、软件产品等时态实体本身不仅存在随时间演化的版本联系,时态实体之间还存在复杂的时态联系。因此,可以将传统的实体关系图(E-R图)扩展为时态图(Temporal Graph)模型,它是一种软件开发要素的时态建模方法,构建了软件开发要素的概念模型,称为“时态实体关系图”。可以用时态实体关系图描述上述软件开发中的各类实体之间的动态时态关系。
基于上述时态建模方法,可以设计基于时态的软件配置管理数据库,包括数据库逻辑模型和物理模型。
结合关系数据库技术和时态数据库技术,根据时态建模构建的软件开发要素的概念模型,设计相应的关系数据库逻辑模型,包括软件需求、软件设计、模型、构件、参数和软件产品等软件开发要素实体的逻辑模型,以及上述软件开发要素实体之间的各种联系的逻辑模型,特别是时态实体之间的时态联系逻辑模型,也包括相应的时态完整性约束。
设计关系数据逻辑模型时,还要充分借鉴或利用现有软件开发的各种国际、国家或者行业标准(例如软件构件管理标准等),以及各种信息分类编码标准,来定义软件开发要素实体的各种属性,以便为软件开发要素实体的分类和检索提供坚实的基础。
设计基于关系数据库的时态存储模型,要充分考虑所选定的关系数据库管理系统(RDBMS)支持时态数据的特点和功能,必要时需要设计相应的SQL函数支持时态数据管理的相应功能。本发明提出了在Oracle10g上进行时态扩展的方法,这主要是设计时态物理存储模型,重点是设计数据的存取方法,包括常规索引,文本索引和时态索引。将在第七部分的实施实例中给出Oracle10g时态扩展的方法。
2.基于时态和关键词的软件配置检索方法
各个软件对象的属性比较多,也包含较多的时态属性,时态实体之间的联系也比较复杂,传统的关系数据库查询语言SQL语言难以胜任灵活的用户查询需求。目前基于关键词的关系数据库检索方法有很多研究,但是还缺少针对时态数据和时态数据图的基于关键词的检索研究。
设计基于关键词的时态检索模型和相应的时态检索方法,使得用户通过简单的关键词检索,就可以灵活检索基于时态的软件配置管理数据,检索结果也可以按照时态属性过滤和排序。本发明提出了在Oracle10g上进行时态扩展和进行检索的方法,详见第七部分的实施实例。
3.基于时态的对象依赖关系发现算法
软件开发环境中的各种对象之间的依赖关系比较复杂,以构件为例,构件对象之间的依赖关系包含继承关系、精化关系、版本关系、包含关系、协作关系等。因此,首先要定义清楚各种对象之间的依赖关系并存储,然后基于时态图,建模对象之间的依赖关系。在此基础上,实施对象依赖关系发现算法。
现代软件系统的生命周期内,软件缺陷修复、功能增强、性能改进、需求增加、运行环境改变等均要求构件和软件系统等对象具有较强的演化能力,对象之间的依赖关系也可能在随时间不断发生变化演化。另一方面,由于多版本并行开发,某个软件对象演化特征并不是简单的随时间线性演化,由于不同用户要求或运行环境要求而存在多个版本分支随时间演化而构成一个版本树。因此基于时态的对象依赖关系发现算法的本质是版本树遍历算法,这可以用经典的树遍历算法轻松实现。
4.基于时态的对象变更影响分析算法研究
变更影响分析是软件配置管理的又一个关键技术。变更影响分析是保证软件质量的重要手段,可以减少软件维护和测试成本,因为只需要对受影响的软件对象(模型、构件或者其他软件对象)进行维护和测试。
基于时态和图模型,构建软件对象内部以及对象之间的依赖、交互及架构关系,以进行变更影响分析。从不同的角度来看,可以对由软件对象建立不同的模型。例如,从外部用户的角度,构件的主要功能是提供API,于是可以建立API模型;从系统层面看,构件之间存在着交互关系,还有组合、配置等多种架构关系,可以建立相应的系统模型。因此,建立合适的软件对象以及系统模型是软件对象变更影响分析的重要前提。
软件对象变更影响分析的方式是:
(1)以某个对象为核心,分析受其影响的所有对象及其联系;
(2)以时间轴为核心,分析某个对象随时间演变对其他对象的影响;
(3)以时间点为核心,分析某个时间点所有相关对象及其之间的变更影响。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (1)
1.一种基于时态模型的软件配置管理方法,其特征在于,包括如下步骤:
S1、将传统的实体关系图扩展为时态图模型,构建了软件开发要素的概念模型,称为“时态实体关系图”;
S2、基于步骤S1的时态建模方法设计基于时态的软件配置管理数据库,包括数据库逻辑模型和物理模型;
S3、结合关系数据库技术和时态数据库技术,根据时态建模构建的软件开发要素的概念模型,设计相应的关系数据库逻辑模型;
S4、构建Oracle10g上进行时态扩展和进行检索的方法;
S5、构建基于时态的对象依赖关系发现算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610991908.2A CN106843825A (zh) | 2016-11-11 | 2016-11-11 | 一种基于时态模型的软件配置管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610991908.2A CN106843825A (zh) | 2016-11-11 | 2016-11-11 | 一种基于时态模型的软件配置管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106843825A true CN106843825A (zh) | 2017-06-13 |
Family
ID=59145977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610991908.2A Withdrawn CN106843825A (zh) | 2016-11-11 | 2016-11-11 | 一种基于时态模型的软件配置管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843825A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255466A (zh) * | 2017-12-20 | 2018-07-06 | 中国人民解放军海军大连舰艇学院 | 一种基于时态的软件配置管理数据系统和方法 |
CN108287787A (zh) * | 2017-12-20 | 2018-07-17 | 中国人民解放军海军大连舰艇学院 | 一种基于时态的对象变更影响分析方法和系统 |
-
2016
- 2016-11-11 CN CN201610991908.2A patent/CN106843825A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255466A (zh) * | 2017-12-20 | 2018-07-06 | 中国人民解放军海军大连舰艇学院 | 一种基于时态的软件配置管理数据系统和方法 |
CN108287787A (zh) * | 2017-12-20 | 2018-07-17 | 中国人民解放军海军大连舰艇学院 | 一种基于时态的对象变更影响分析方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Rubin et al. | Process mining framework for software processes | |
Cleve et al. | Understanding database schema evolution: A case study | |
EP3513315A1 (en) | System for data management in a large scale data repository | |
JP5570608B2 (ja) | エクセル基盤の分析レポート作成システム及び方法 | |
Molcho et al. | Computer aided manufacturability analysis: Closing the knowledge gap between the designer and the manufacturer | |
EP1810131A2 (en) | Services oriented architecture for data integration services | |
Oliveira et al. | BPMN patterns for ETL conceptual modelling and validation | |
CN103077192B (zh) | 一种数据处理方法及其系统 | |
CN111125068A (zh) | 一种元数据治理方法和系统 | |
CN107168868B (zh) | 一种基于采样和集成学习的软件更改缺陷预测方法 | |
Cleve | Program analysis and transformation for data-intensive system evolution | |
CN114880405A (zh) | 一种基于数据湖的数据处理方法及系统 | |
CN112817958A (zh) | 电力规划数据采集方法、装置及智能终端 | |
CN105095255A (zh) | 一种数据索引创建方法及装置 | |
CN107526746A (zh) | 管理文档索引的方法和设备 | |
CN106843825A (zh) | 一种基于时态模型的软件配置管理方法 | |
CN107423035B (zh) | 一种软件开发过程产品数据管理系统 | |
Nardello et al. | Automated modeling with abstraction for enterprise architecture (AMA4EA): business process model automation in an industry 4.0 laboratory | |
CN112084177A (zh) | 基于数据采集治理及挖掘分析的数据池应用方法及装置 | |
Paim et al. | Enhancing Data Warehouse Design with the NFR Framework. | |
CN103809915A (zh) | 一种磁盘文件的读写方法和装置 | |
Thi et al. | A review of quality frameworks in information systems | |
Dworschak et al. | Integrating the Mechanical Domain into Seed Approach | |
US20140067874A1 (en) | Performing predictive analysis | |
CN107025110A (zh) | 一种基于软件开发要素及其联系的时态建模方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170613 |