首页 / 专利库 / 人工智能 / 深层模型 / 一种自动创建过程主体的方法

一种自动创建过程主体的方法

阅读:876发布:2021-06-25

专利汇可以提供一种自动创建过程主体的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种自动创建过程主体的方法,其方法主要是将从组织采集到的历史 软件 项目数据转换为一种与初始数据源无关的中间数据,然后根据中间数据自动生成反映组织实际能 力 和状态的过程主体;本发明对过程主体的创建进行自动化,大大提高了创建过程主体时的劳动效率和减少了劳动强度,消除了创建过程主体对人的依赖,同时对所创建的过程主体的准确性和 稳定性 带来极大好处。,下面是一种自动创建过程主体的方法专利的具体信息内容。

1.一种自动创建软件过程主体的方法,其步骤包括:
1)从软件项目管理系统中提取软件项目数据;
2)将上述提取的软件项目数据转换成中间数据,中间数据为一组对象和关系的实例,其 中:
对象包括:项目对象、任务对象、人资源对象、色对象;
关系包括:项目与任务之间的关系、项目与人力资源之间的关系、任务之间的关系、任 务与人力资源之间的关系、任务与角色之间的关系、人力资源与角色之间的关系;
3)根据人力资源将上述中间数据划分为不同的数据簇;
4)根据任务之间的关系为每一数据簇中的任务构建一棵任务树;
5)根据任务树创建过程步骤树,该过程步骤树与任务树结构相同,任务树中的任一任务 对应于过程步骤树中的一过程步骤;
6)遍历过程步骤树,根据任务树的任务节点信息生成过程步骤树的过程步骤节点信息;
7)根据过程步骤树的过程步骤节点信息生成过程主体的知识结构和行为引擎,创建完整 的过程主体信息。
2.如权利要求1所述的方法,其特征在于所述任务对象包含下列信息:任务名称、任务描述、 开始时间、结束时间、类型、输入制品、输出制品、实现方式、执行顺序、时序类型。
3.如权利要求1所述的方法,其特征在于先合并每一数据簇中的相同类型的任务,然后为合 并后的该数据簇的任务创建一棵任务树;再合并不同数据簇的相同任务树,根据合并后的任 务树创建相应结构的过程步骤树。
4.如权利要求3所述的方法,其特征在于合并相同类型任务的过程为按深度优先方式遍历每 个数据簇中的任务,如果发现有两个任务是相同类型的任务,按以下步骤合并这两个任务:
a)保留处于任务树更深层次的任务t;
b)创建新任务tt和tt’分别包含保留任务t的所有信息和非保留任务t’的所有信息;
c)移除t的所有子任务;
d)将tt和tt’作为t的子任务;
e)将t的输出制品信息设置为tt和tt’的任务输出制品信息的并集,将t的相关角色信息 设置为tt和tt’的相关角色信息的并集;
f)移除t’;
重复上述过程,直到同一个数据簇中不存在任何相同类型的任务。
5.如权利要求4所述的方法,其特征在于进行所述深度优先方式遍历每个数据簇中的任务后, 如果根据任务之间的关系,一数据簇中的所有任务构成多于一棵的任务树时,则在数据簇中 创建一个新根任务,并将数据簇中现有任务树的根任务的相关人力资源信息、任务输出信息 和相关角色信息作为该新根任务的信息。
6.如权利要求1所述的方法,其特征在于从所有数据簇中任意选择两个数据簇,如果这两个 数据簇里的任务树是相同任务树,则按以下步骤合并这两个任务树:
a)从两任务树中任意选择一个保留,对于保留任务树中的任何一个任务,在非保留任务 树中找到它的对应任务,将非保留任务的有关人力资源信息、任务输出制品信息和相关角色 信息并入保留任务;
b)移除非保留的任务树;
重复上述过程,直到所有数据簇中不存在相同的任务树。
7.如权利要求1或2所述的方法,其特征在于建立软件项目数据的对象和关系与中间数据的 对象和关系的映射关系,自动将软件项目数据转换为中间数据。
8.如权利要求3所述的方法,其特征在于所述数据簇中的任务实现方式先设定为直接,然后 遍历该数据簇的每一任务,将包括非该数据簇人力资源直接参与的任务的实现方式设定为协 同。
9.如权利要求8所述的方法,其特征在于将过程步骤的标识值设置为一个自动生成的唯一数 值;将过程步骤的描述信息设置为对应任务的任务描述的值;根据对应任务的层次结构上下 文和时序关系上下文确定该过程步骤的控制规则模型;将过程步骤的输入参数设置为对应任 务的输入制品信息;将过程步骤的输出参数设置为对应任务的输出制品信息;将过程步骤的 实现方法设置为对应任务的实现方式。

说明书全文

技术领域

发明属于计算机软件工程领域,涉及一种软件过程建模技术,特别涉及一种从历史软 件项目数据自动创建过程主体的方法。

背景技术

过程无处不在:
●工业化生产需要过程,它的每件产品都要通过生产线上的流程作业;
●医疗服务需要过程,它的每项服务都要依据严格的规程控制;
●事务处理需要过程,它的每个事务都要按照步骤来逐步完成;
●学习需要过程,它是一个循序渐进的过程;
●......
软件开发也需要过程。成熟的软件过程能够产出质量和进度都可预测的产品。这就需要 为软件产品的开发建立合适的过程,指导软件产品的开发。
自60年代出现软件危机以来,世界各国政府、计算机软件研究机构和组织在软件工程化 方法、技术和工具的研究、开发和实践方面投入了大量的人、物力和资金。人们认识到, 要高效率、高质量和低成本地开发软件,必须以改善软件生产过程为中心,实施过程指导的 软件生产与质量管理。软件过程是人们开发与维护软件产品和相关产品所采用的一组相互关 联的活动、方法、实践和转化;可以包括工具、方法、材料和人。软件过程定义了组织、管 理、度量、支持和改进软件开发的方式。它的目的是保证软件产品的质量和提高软件生产的 效率。
软件过程建模是指对软件过程建立模型并在以过程为中心的软件工程环境系统 (Process-Centered Software Engineering Environment,PSEE)支持下实施软件过程模型的活动。 软件过程建模领域的研究兴起于20世纪80年代后期,并在20世纪90年代中期达到顶峰。
通常,PSEE系统采用编译或者解释的策略实现对软件过程模型的实例化。PSEE系统采 用何种实例化策略与其过程建模语言有很大关系。基于编程语言的软件过程建模语言(如基 于Ada的APPL/A)都采用编译策略实现软件过程模型的实例化。在相应语言的编译器支持 下,采用编译策略的PSEE系统能够将过程模型编译成可以被机器直接运行的程序代码,从 而使软件过程可作为一个独立的操作系统进程来运行。采用解释策略实现过程实例化的PSEE 系统,其过程建模语言通常采用脚本的形式。过程模型能被PSEE提供的解释器所解释,并 被虚拟机(如:OIKOS)或者过程引擎(如:SPADE)所执行。
软件过程建模方法和技术能够帮助软件组织实现以过程为中心的软件生产,对于软件组 织保证软件产品质量,提高开发效率具有重要的理论和实践价值。它能够从根本上改变过去 手工作坊式的软件生产,使软件开发形成真正的工业化产业。
软件过程是一种特殊的生产过程,它高度依赖于人的能力,同样的过程因执行者不同, 会生产不同质量和数量的产品;同时,对于实现同样的目标,不同的执行者可能会采用不同 的过程完成。软件过程由一组软件过程要素及其相互关系组成。如图1所示,基本的软件过 程要素包括:
(1)活动(Activity):活动是软件过程中对制品状态造成外部可见变化的一个步骤。它 包含一个或者一组操作,其目的在于生成或者修改一组特定的制品。活动类似于一个功能模 ,它有输入、输出以及一些中间结果,包含并执行一个规程、规则或策略。
(2)制品(Artifact):制品是过程的产品(Product)或“原材料”(Material)。一个过程所 产生的制品可以在未来被同一个或其它过程作为原材料并产生新的制品。交付给用户的一组 制品被称作“软件产品”。
(3)色(Role):角色描述了完成软件过程中某个特定活动所要求的职责、权限以及 技能。
(4)执行者(Performer):执行者是执行特定过程活动的实体。执行者通常被与其相关 的角色和可提供性(Availability)所描述。在软件生产过程中,执行者是能够执行特定活动、具 有特定能力的一个或一组人力资源,因此,本系统将执行者作为一种过程的资源进行描述。
(5)工具(Tool):用来支持或自动实施与过程活动相关的部分工作的软件应用或系统。 工具也是一种典型的过程资源,它是软件过程中的设备资源。
(6)指导(Direction):包括指南或规范。指导通常被形式化地描述在手册中。它通过提 供计算机支持来指导、控制和协调执行者的活动,并支持协同等等,从而实现更好的过程执 行。
在一个软件组织(由一群执行不同工作,但是彼此协调统合,以达成软件开发目标的人 所组成的群体,如软件公司、软件科研机构,等等)中,过程的执行者是一组具有特定能力 的组织实体,由于这些组织实体具有动态、自治和主动的行为特征,因此对于他们的精确定 义是进行软件过程建模的先决条件。在基于组织实体能力的软件过程建模方法中,这些具有 特定资源能力(如目标、技能、知识、生产率、经验、历史记录、设备......)的组织实体被 定义为过程主体(Process-Agent)过程主体(Process-Agent)由知识结构和行为引擎构成, 其中知识结构由三部分组成,分别是描述性知识(Descriptive Knowledge,DK)、过程性知识 (Process Knowledge,PK)和经验库(Experience Library,EL),这三部分的数据结构如下:
描述性知识(DK)
DK是过程Agent的外在表现,它描述一个过程Agent能够做什么,其数据结构为一个6元 组:DK=(BA,AG,CRM,SK,RC,AEG):
(1)BA是过程Agent的基本属性元组(Basic Attributes),BA=(EN,PAN,Description),其 中,EN是过程Agent所代表的实体的名称,“PAN”是过程Agent的名称,Description是对过程 Agent特征的描述.
(2)AG由一个目标字符串构成,它描述了过程Agent的目标(Agent Goal),即,过程Agent 能够实现的什么样的目标、意图做的工作.
(3)CRM是过程Agent的控制规则模型(Control Rule Model),包括前置条件(Pre-Condition) 和后置条件(Post-Condition),这些前置/后置条件可以是制品、角色等软件过程要素的约束描述. 只有满足了前置条件,过程Agent才可以实施达到目标的活动步骤,只有满足了后置条件,过程 Agent才能成功地完成活动步骤并达到目标,因此控制规则模型控制了过程Agent的行为.
(4)SK是过程Agent拥有的全部技能(Skill)的描述集合,设共有m类技能,则SK={sk1, sk2,...,skm},其中,ski(1≤i≤m)是每类技能的取值集合, sk i D i ,例如,若第i类技能是语言技能, 则ski的取值可以是{C++,Java}.
(5)RC是过程Agent自身的资源约束(Resource Constraint),即,过程Agent拥有的可调用 资源.过程Agent不能实施资源约束之外的行为.RC可以是不同类别的约束,例如时间约束 (time resource,tr),人力资源约束(human resource,hr),工具约束(tool resource,tlr)等等.
AEG是过程Agent基于目标的估算(Estimate on the Goal),它是对完成给定目标的各种指 标的估算,如时间(T)、工作量(E)、人力资源(HR)、成本(C)和质量(Q),这些估算可以从给定的 目标和过程Agent的经验库得出.
过程性知识(PK)
PK描述过程Agent实现其目标的过程.过程Agent根据它在DK中描述的能力确定能够做 什么,如果过程Agent决定实现某个目标,它将通过过程性知识确定怎样做,从而实现这个目 标.PK由一组能被过程Agent稳定实施的过程步骤组成,这些过程步骤是过程Agent完成历史 项目中的目标时,对所实施的活动在知识层次上的抽象描述,PK={st1,st2,...,stn}.其中每个过 程步骤sti的数据结构为一个6元组,sti=(SIDi,SDi,SCRMi,IPi,OPi,IMPi),这里:
(1)SIDi是过程步骤的唯一标识;
(2)SDj是过程步骤的描述信息,它由描述该步骤功能的字符串构成;
(3)SCRMi是过程步骤的控制规则模型,它包括了过程步骤的前置条件和后置条件,这些 前置/后置条件可以是对制品、角色等软件过程要素的约束.控制规则模型决定了软件过程组成 要素之间的相互关系,它描述的是过程Agent的如何通过过程步骤的组合及执行,从一个初始 状态转换到目标状态;
(4)IPi是过程步骤的输入参数,如步骤执行需要的制品;
(5)OPi是过程步骤的输出参数,如步骤执行产生的制品;
(6)IMPi描述了过程步骤的实现方法,可以由包含该步骤的过程Agent直接实现 (DIRECT),或通过协同目标方式交给其它过程Agent实现(SUBPROCESS);
经验库(EL)
EL是过程Agent估算其实现目标所需要的资源、判断过程Agent自身能力的基础.EL由 过程Agent的历史经验数据记录构成,包括实现过程的时间,成本,缺陷等.基于EL中的历史数 据,过程Agent能够建立它的过程性能基线,计算出基线生产率,并估算出执行某个过程步骤需 要的时间、人力资源、成本、质量以及过程步骤之间的资源消耗比率等等.EL中的历史数据 记录是一个9元组HD=(SID,PID,Size,PlanTime,ActualTime,PlanCost,ActualCost, PlanDefect,ActualDefect),其中:
(1)SID是步骤的标识,它是历史数据记录所对应PK中的过程步骤的标识;
(2)PID是过程Agent执行步骤时所在的历史项目的标识;
(3)Size表示目标的规模,如一个代码开发的目标可以用代码行数来表示;
(4)PlanTime是步骤的计划执行时间;
(5)ActualTime是步骤的实际执行时间;
(6)PlanCost是步骤的计划执行成本;
(7)ActualCost是步骤的实际执行成本;
(8)PlanDefect是步骤执行时,计划产生的缺陷;
(9)ActualDefect是步骤执行时,实际产生的缺陷.
参见(Qing.Wang,Junchao Xiao,Mingshu Li,M.WasifNisar,Rong.Yuan and Lei.Zhang:A Process-Agent Construction Method for Software Process Modeling in SoftPM.SPW/ProSim 2006, Shanghai China,2006).
在过程Agent的三部分知识中,过程性知识是过程Agent组织各种知识的基础。过程性 知识决定了过程Agent的目标以及过程Agent如何达到这个目标的实现流程。描述性知识中 描述的目标是过程Agent执行过程所能达到的目标,描述性知识中描述的技能是过程执行的 技能描述;经验库中的经验数据是在过程执行中收集的经验数据,它们是通过过程步骤进行 组织的。因此,过程性知识是过程Agent定义项目软件过程和实施度量的基础,它的过程步 骤描述以及过程步骤之间的关系极大的影响了过程Agent实现目标的能力。
过程主体是整个基于组织实体能力的软件过程建模方法的基本元素和核心要素,因此能 够正确、高效率地创建过程主体对基于组织实体能力的软件过程建模方法有着至关重要的核 心意义。但是,目前过程主体的创建方法不仅过度依赖创建者的个人能力和经验,对过程主 体精确性和稳定性造成了很大影响;而且人们必须手工地对来自软件组织的各种大量信息进 行复杂的分析,使得创建过程主体的效率极端低下。

发明内容

本发明的目的在于提供一种自动创建过程主体的方法,针对过程主体和历史软件项目的 特点实现过程主体的自动创建。
一种自动创建软件过程主体的方法,其步骤包括:
1)从软件项目管理系统中提取软件项目数据;
2)将上述提取的软件项目数据转换成中间数据,转换过程为首先根据具体的软件项目管 理系统,建立软件项目数据与中间数据的数据字段映射表(对于同一种软件项目管理系统只 需建立一次映射表,在以后的转换过程中可重复使用该映射表),然后根据该数据字段映射表, 将软件项目数据值依次转换为中间数据集合中的数据值,中间数据为一组对象和关系的实例, 其中:
对象包括:项目对象、任务对象、人力资源对象、角色对象;
关系包括:项目与任务之间的关系、项目与人力资源之间的关系、任务之间的关系、 任务与人力资源之间的关系、任务与角色之间的关系、人力资源与角色之间的关系;
3)根据人力资源将上述中间数据划分为不同的数据簇;
4)根据任务之间的关系为每一数据簇中的任务构建一棵任务树;
5)根据任务树创建过程步骤树,该过程步骤树与任务树结构相同,任务树中的任一任务 对应于过程步骤树中的一过程步骤;
6)遍历过程步骤树,根据任务树的任务节点信息生成过程步骤树的过程步骤节点信息;
7)根据过程步骤树的过程步骤节点信息生成过程主体的知识结构和行为引擎,创建完整 的过程主体信息。
所述任务对象包含下列信息:任务名称、任务描述、开始时间、结束时间、类型、输入 制品、输出制品、实现方式、执行顺序、时序类型。
所述方法为避免生成冗余任务树,先合并每一数据簇中的相同类型的任务,然后为合并 后的该数据簇的任务创建一棵任务树;再合并不同数据簇的相同任务树,根据合并后的任务 树创建相应结构的过程步骤树。
所述方法合并相同类型任务的过程为按深度优先方式遍历每个数据簇中的任务,如果发 现有两个任务是相同类型的任务,按以下步骤合并这两个任务:
a)保留处于任务树更深层次的任务t;
b)创建新任务tt和tt’分别包含保留任务t的所有信息和非保留任务t’的所有信息;
c)移除t的所有子任务;
d)将tt和tt’作为t的子任务;
e)将t的输出制品信息和有关系的角色信息设置为tt和tt’的任务输出制品信息和相关角 色信息的并集;
f)移除t’;
重复上述过程,直到同一个数据簇中不存在任何相同类型的任务。
所述方法中进行所述深度优先方式遍历每个数据簇中的任务后,如果根据任务之间的关 系,一数据簇中的所有任务构成多于一棵的任务树时,则在数据簇中创建一个新根任务,并 将数据簇中现有任务树的根任务的相关人力资源信息、任务输出信息和相关角色信息作为该 新根任务的信息。
所述方法合并相同任务树的方式为从所有数据簇中任意选择两个数据簇,如果这两个数 据簇里的任务树是相同任务树,则按以下步骤合并这两个任务树:
a)从两任务树中任意选择一个保留,对于保留任务树中的任何一个任务,在非保留任务 树中找到它的对应任务,将非保留任务的有关人力资源信息、任务输出制品信息和相关角色 信息并入保留任务;
b)移除非保留的任务树;
重复上述过程,直到所有数据簇中不存在相同的任务树。
所述方法中建立软件项目数据的对象和关系与中间数据的对象和关系的映射关系,自动 将软件项目数据转换为中间数据。
所述数据簇中的任务实现方式先设定为直接,然后遍历该数据簇的每一任务,将包括非 该数据簇人力资源直接参与的任务的实现方式设定为协同。
所述方法将过程步骤的标识值设置为一个自动生成的唯一数值;将过程步骤的描述信息 设置为对应任务的任务描述的值;根据对应任务的层次结构上下文和时序关系上下文确定该 过程步骤的控制规则模型;将过程步骤的输入参数设置为对应任务的输入制品信息;将过程 步骤的输出参数设置为对应任务的输出制品信息;将过程步骤的实现方法设置为对应任务的 实现方式。
对从历史软件项目数据自动创建过程主体的方法所涉及的历史软件项目数据、中间数据 的数据结构以及处理流程说明如下:
(1)对历史软件项目数据的定义
历史软件项目数据是指软件组织中与已完成并通过了验收的软件项目的数据,包括软件 变更数据,生产率数据,工作量数据、进度数据、规模数据、缺陷数据、成本数据等。这些 数据具有多样化的来源(如项目管理工具、配置管理工具等等)。
(2)中间数据的数据结构
中间数据的数据结构由一组通用对象和关系构成。对象是一个单元的代码和数据的组 合,可以是一段应用程序,如控件或窗体,也可以是整个应用程序。对象拥有自己的属性和 方法,分别表示对象的特征和行为。对象的属性和方法构成了对象的特定结构,对象间的关 系表明对象之间可以通过调用互相的方法来进行交互。中间数据结构中的对象和关系包括:
项目对象(Project):用于描述软件项目特征,如项目名称、项目起止日期等所有信息。
任务对象(Task):用于描述项目中的任务信息,包括
A.任务名称(Name):任务的名称。
B.任务描述(Description):对任务的描述。
C.开始时间(Start Time):任务的实际开始时间。
D.结束时间(End Time):任务的实际结束时间。
E.类型(Type):任务的类型,用于表示任务属于哪种类型的任务(如,需求分析 任务、软件实现任务、测试任务、质量保障任务、过程定义任务等等)。如果两个任务具有相 同的任务类型,这两个任务为相似任务。
F.输入制品(InputArtifacts):要执行该任务所必需的制品(如,需求规约、设计文 档、软件代码等等)。
G.工作产品|输出制品(Work Products):该任务执行完毕后输出的产品(如,需求 规约、设计文档、软件代码等等)。
H.实现方式(Implementation):该任务的实现方式,表示该任务是直接任务还是协 同任务。
I.执行顺序(Order):该任务的执行顺序,根据任务的开始&结束时间生成;在同 一个项目中,执行顺序大的任务总是比执行顺序小的任务先执行。
J.时序类型(Kind):根据该任务的所有子任务判断的任务时序类型,如果该任务 拥有任务执行时间(根据任务的开始&结束时间判断)重叠的子任务,则该任务的时序类型 为“并行任务”,否则该任务的时序类型为“串行任务”。任务的时序类型亦可被手动指定
人力资源对象(Human Resource):用于描述参与项目和任务的人力资源,。
角色对象(Role):表示软件项目管理系统里定义的角色,包括QA、SEPG、软件工程师、 高级经理或其他与项目相关的角色。
项目和任务之间的关系(Relationship between Project and Tasks):用于描述项目中包含 哪些任务。
任务之间的关系(Relationship between Tasks):用于表示任务之间的层次关系,例如: 父子关系、兄弟关系等等。
项目和人力资源之间的关系(Relationship between Project and Human Resources):表 示项目有哪些人力资源参与其中。
任务和人力资源之间的关系(Relationship between Task and Human Resources):表示 任务由那些人力资源执行。
角色和人力资源之间的关系(Relationship between Role and Human Resources):表示 特定人力资源属于哪些角色,以及特定的角色包含哪些人力资源。
任务和角色之间的关系(Relationship between Task and Roles):表示特定的任务由哪些 特定的角色来执行。
本方法中这些对象和关系的数据结构如图2所示。
本发明对软件组织里反映实际状态和能力、被用于组织历史跟踪的历史软件项目数据进 行自动分析和处理,将这些数据转换为一种中间数据格式;并根据这些转换成中间数据格式 的组织历史软件项目数据自动创建代表该组织实际能力的过程主体。如果组织希望建立自己 的过程主体,则只需对该组织的历史软件项目数据进行自动分析处理,把从该组织采集到的 历史软件项目数据转换为一种与初始数据源无关的中间数据,然后根据中间数据自动生成反 映组织实际能力和状态的过程主体。
本发明的积极效果
通过本发明对过程主体的创建进行自动化,不但将人从人工分析软件组织大量复杂信息 以建立符合组织实际情况的过程主体的繁重劳动中解放了出来,大大提高了创建过程主体时 的劳动效率和减少了劳动强度,而且通过自动化方法消除创建过程主体对人的依赖,可对所 创建的过程主体的准确性和稳定性带来极大好处。
附图说明
图1.软件过程要素及其相互关系框图
图2.中间数据对象和关系的数据结构图;
图3.从历史软件项目数据生成过程主体的总体流程图
图4.由中间数据生成过程主体的详细流程图。

具体实施方式

下面结合附图,通过对从历史软件项目数据生成过程主体的过程作进一步的说明,但不 构成对本发明的限制,从历史软件项目数据生成过程主体流程图如图3所示。
(一)将软件项目管理系统里的特定的软件数据转换为通用的中间数据
在这个步骤中,本方法将分析软件项目管理系统里的数据(源数据),定义软件项目管理 系统里的对象、对象间的关系与中间数据对象、关系之间的映射关系;然后根据这个映射关 系将软件项目管理系统里的对象及关系的实例转换为中间数据里的对象及关系的实例,中间 数据是各种对象和关系的实例,可以暂存于内存中,也可以存储在磁盘上。以中国科学院软 件研究所研制的软件质量管理平台(SoftPM)为例,SoftPM数据和中间数据间的映射关系如 下表所示:


上表左边是SoftPM中的数据对象和对象间的关系,右边是中间数据的数据对象和对象间 的关系;中间的箭头表示右边中间数据的数据对象和关系由左边SoftPM中对应的数据对象和 关系生成。
(二)从中间数据创建过程主体(Process-Agent)
由中间数据生成过程主体流程图如图4所示,在这个步骤中,本方法将根据前述步骤生 成的中间数据创建过程主体(Process-Agent)。
第一步.根据人力资源划分数据,具体算法如下:
1、为每一个人力资源创建一个数据簇,该数据簇包含该人力资源参与的所有历史项目及 跟这些项目相关的任务数据。如果一个人力资源没有参与任何历史项目,则他/她对应的数据 簇为空。
2、移除所有空数据簇。
3、把所有数据簇中所有任务的实现方式(Implementation)默认设置为“DIRECT”。
第二步.判断每个数据簇中的人力资源和任务之间的参与关系,具体算法如下:
遍历每个数据簇里的每个任务,如果遇到某个任务不是这个数据簇对应的人力资源所参 与的任务,则将该任务的实现方式设置为“Sub_Process”以此确定与该任务对应的过程步骤 的实现方式属性IMP)。
第三步.合并属于同一数据簇的相似任务,并将合并后的任务构建为一棵任务树
(参见Lei Zhang,Qing Wang,Junchao Xiao,Li Ruan,Lizi Xie,Mingshu Li:A Tool to Create Process-Agents for OEC-SPM from Historical Project Data.ICSP2007,Minneapolis US,2007, 85-95.),具体算法如下:
1.按深度优先方式(《计算机算法设计与分析》,王晓东,2004,电子工业出版社)遍 历每个数据簇里的任务,如果发现有两个任务是相似任务,按以下步骤合并这两个任务:
a)保留处于任务树更深层次的任务t;
b)创建新任务tt和tt’分别包含保留任务t的所有信息和非保留任务t’.的所有信息;
c)移除t的所有子任务;
d)将tt和tt’作为t的子任务;
e)将t的Work Products和Roles集合设置为tt和tt’的Work Products和Roles集合的并 集;
f)移除t’。
2.重复1,直到同一个数据簇中不存在任何相似任务。
3.检查数据簇,如果数据簇中的所有任务并不构成一棵任务树,则在数据簇中创建一个 新根任务rt,并将数据中所有现存根任务的Human Resources的并集、Work Products的并集 以及Roles的并集设置为rt的Human Resources集合、Work Products集合和Roles集合的值。
第四步.合并不同数据簇中的相同任务树,具体算法如下:
1.从所有数据簇中任意选择两个数据簇,如果这两个数据簇里的任务树是相同任务树, 则按以下步骤合并这两个任务树:
a)从这两个数据簇中任意选择一个数据簇保留。对于保留数据簇里的任何一个任务ti, 在非保留数据簇中找到它的对应任务ti,将ti的Human Resources集合、Work Products集合和 Roles集合的值设置为ti和ti的Human Resources集合、Work Products集合的并集
b)移除非保留的数据簇。
2.重复1,直到所有DS中不存在任务相同的任务树。
第五步.根据最终的任务树创建过程主体(Process-Agent),具体算法如下:
1、为每一棵任务树创建一个自动命名的过程主体(Process-Agent);
2、根据该任务树的层次结构为每个对应过程主体(Process-Agent)创建过程步骤树, 该过程步骤树的层次结构与任务树的结构相同,且该过程步骤树中的每一个过程步骤对应任 务树中的一个任务;
3、遍历过程主体的过程步骤树,对步骤树中的每一个过程步骤执行如下操作:
a)将过程步骤的SID值设置为一个自动生成的唯一数值;
b)将过程步骤的SD值设置为对应任务的Description的值;
c)根据对应任务的层次结构上下文和时序关系上下文确定该过程步骤的SCRM;
d)将过程步骤的IP值设置为对应任务的Input Artifacts;
e)将过程步骤的OP值设置为对应任务的Work Products;
f)将过程步骤的IMP值设置为对应任务的Implementation。
在本发明中,过程主体(Process-Agent)的知识结构存储于数据库系统中,通过SQL查 询可以对过程主体(Process-Agent)的知识结构进行访问
上述实施例中既包含了对本发明方法的描述,本领域的技术人员应能理解,也包含了本 发明方法的处理过程,依照本实施例,本领域的技术人员可以很容易地实现基于组织实体能 力的软件过程建模方法。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈