一种基于组织实体能力的软件过程建模方法和系统,针对软件生产的特点实现软件过程建模。在建模系统中使用过程主体(Agent)来代表软件组织中具有确定资源和资源能力的组织实体,这些过程主体具有资源和它们能力的描述,且拥有资源在实现目标的过程知识和经验,能够在环境的驱动下实现自治的行为。它们被部署到系统的工作区中,在系统中可以独立地建立特定目标和环境下的软件过程。用户只要将目标输入到系统中,系统中的过程主体根据自身的资源情况和知识,以及项目的约束目标,自主运行匹配目标并产生具有资源调度情况的项目软件过程。
【技术实现步骤摘要】
本专利技术涉及一种软件过程建模技术,特别涉及一种基于组织实体能力的软件过程建模方法和系统,属于计算机软件工程领域。
技术介绍
规模化、过程化生产的首要因素是建立规范的生产过程模型。软件具有固有的知识性产物特征,因其对生产者能力的过分依赖而导致软件过程模型在建立和维护时的诸多困难。最典型的问题表现在(1)软件过程的不确定性,不同的生产者实现同一个目标可以使用不同的过程;(2)软件过程能力对生产者的高度依赖性对软件生产而言,人不仅是过程的执行者,而且是一种生产资源甚至“生产设备”。这至少反映了人对软件过程有着至关重要的影响。由于生产者之间能力的差异,他们即使在相同的计算机上做同一件事情,在工期和质量方面完全可能出现截然不同的结果。所以,对于建立软件生产的过程体系,“人”的因素被提高到了一种十分重要的地位;(3)软件过程的动态多变性软件组织所承揽的软件项目通常都是不重复的工作,这与制造业批量重复的生产有很大不同。对于不同的软件项目,由于其涉及的软件技术、应用领域、用户要求以及商业环境不同,其软件开发的过程不尽相同,甚至于完全不同。针对每一个软件项目的开发和生产,都有可能要求相关的软件过程进行必要的变化和调整。这种软件过程的动态多变性对软件过程的建模也提出新的挑战;(4)软件组织资源的流动性软件组织中资源具有较大的流动性,从而导致组织现有资源的不确定,要求相应的软件过程模型在资源变化情况下保持稳定。传统的软件过程模型试图沿用制造工业过程的建模方法,将软件开发的相关要素(如活动、工作产品、角色以及软件工程工具等)组成软件过程,并通过一定的过程纪律来规范软件过程的行为。传统的软件过程模型要求建模时预计可能发生的情况,将软件开发人员视为一个可以被操作的对象,将它们之间的协同或其它可预见的变化视为一组确定的事务或控制规则,并显式地将这些事务或规则的处理方案定义在模型中。当出现预定义的情况时,就触发相应的处理程序。显然,这样的模型一旦确定就难以在环境变化时自适应地进行调整,而且模型忽略了软件过程主体“人”的主观意愿和利益,表现出结构刚性和协同刚性的特点。软件生产在计划时往往只能凭借管理者的经验和主观判断,容易造成局部的利益失衡;而在执行时个体的差异则常常导致计划的失控甚至失败,更谈不上保证过程整体的最优结果。还有一些方法将智能主体(Agent)技术引入软件过程建模中,它们通过引入多种类型的主体对过程的各个方面实施管理。这些方法在应用主体时,存在两个主要问题(1)需要引入很多不同种类的主体对过程的各个方面实施管理,从一定程度上增加了问题的复杂程度;(2)这些方法从传统的软件过程模型和工作流技术发展而来,忽略了很多软件过程中的部分关键问题,如资源的分配等等。
技术实现思路
针对上述问题,本专利技术的目的在于提供一种基于组织实体能力的软件过程建模方法和系统,针对软件生产的特点实现软件过程建模。专利技术构思为在建模系统中使用过程主体(Agent)来代表软件组织中具有确定资源和资源能力(确定的目标、技能、知识、生产率、经验、历史数据记录、设备等等)的组织实体,这些过程主体具有资源和它们能力的描述,且拥有资源在实现目标的过程知识和经验,能够在环境的驱动下实现自治的行为。它们被部署到系统的工作区中,在系统中可以独立地建立特定目标和环境下的软件过程。这种构思的目的在于如果系统的用户希望得到一个开发过程,则将该目标输入到系统中,系统中的过程主体根据自身的资源情况和知识,以及项目的约束目标,自主运行匹配目标并产生具有资源调度情况的项目软件过程。为实现上述专利技术目的,基于组织实体能力的软件过程建模系统采用下述的技术方案所述系统采用访问界面/工作区/数据库三层结构,如图1所示,分别包含如下内容A.访问界面层包括用户过程主体的创建/编辑界面、建模目标的创建编辑界面、建模结果的查看界面,以及外部工具接口;B.工作区层包含过程主体管理、目标管理、外部工具接口输入处理三个功能模块,以及目标、过程执行数据和一组过程主体三个实体,工作区层的核心是过程主体,其中每个过程主体都是能够自主运行、独立实现目标的实体,包含了知识结构和行为引擎。C.数据库层包括过程主体的描述性知识、过程主体的过程性知识和过程主体的经验知识。其中,所述数据库层的三个部分分别存储如下的内容C1.描述知识数据库存储过程主体的描述性信息,包括过程主体能够实现的目标、拥有资源以及资源能力(如技能、生产率、所做产品质量等);C2.过程知识数据库存储过程主体实现其自身目标的过程,它由一组过程步骤组成,这些步骤将在过程主体实现目标时实例化为资源具体要执行的任务; C3.经验知识数据库存储过程主体包含的资源在每个历史项目中实施步骤所得到的历史数据记录及其统计数据。过程主体根据经验知识,估算实现特定目标的过程所需要分配的资源。所述工作区层的功能模块分别包含如下功能B1.过程主体管理模块用于过程主体信息(包括描述性知识、过程性知识和经验知识)的创建和编辑,并将创建和编辑的结果输入到数据库中;B2.目标管理模块用于目标信息(包括目标描述、目标约束)的创建和编辑,并将创建和编辑的结果输入到工作区中;B3外部工具接口输入处理模块用于对外部计划执行工具产生的过程执行数据输入进行加工并输入到工作区中。所述工作区层的过程主体是能够自主运行、独立实现目标的实体,它的知识结构包括描述性知识、过程性知识和经验知识,这些知识在系统启动时,从数据库层加载到过程主体中。它的行为引擎包括感知器、效应器、推理引擎、学习引擎和实施引擎,分别具有如下功能(1)感知器用于从工作区中识别目标、约束条件等,并将这些内容转换为过程主体的内部知识表示(感知);(2)效应器用于将过程主体的计划输出到访问界面层的建模结果查看界面;(3)推理引擎用于基于知识的推理,从而实现根据感知的目标生成项目计划。包括目标分析器、过程选择器和计划生成器,功能如下●目标分析器利用目标匹配推理算法,根据数据库描述性知识所提供的过程主体自身目标的描述、拥有的技能、资源情况等信息判断是否满足感知器感知的目标描述和技能约束;●过程生成器根据数据库过程性知识确定实现目标所需的过程;●计划生成器利用资源进度估算算法,基于过程选择器确定的过程并根据数据库经验知识确定执行该过程需要的资源数量、进度安排以及工作量,并生成相应的计划;(4)学习引擎用于对感知到的过程执行数据进行分析,如果过程执行数据是过程主体所包含的资源执行产生的,则将该数据加入到该过程主体的经验知识中,从而再次进行估算的时候有更多的数据作经验支持,结果更精确,从而达到过程主体自学习的目的;(5)实施引擎用于作为过程主体行为引擎的控制核心,控制行为引擎各部分的协调工作。如图2所示,过程主体在实施引擎的控制下,进行建模的步骤如下a.实施引擎定时地通知感知器对工作区进行感知; b.感知器判断工作区中是否有新增的目标和过程执行数据,如果有则将其读入到过程主体中作为感知,并通知实施引擎感知完成,其中,感知到的数据为过程执行数据或目标;c.实施引擎判断感知数据的类型,如果是目标,则实施引擎通知推理引擎推理目标;d.推理引擎首先调用目标分析器判断目标是否与过程主体自身目标相符合,如果不符合则抛弃该目标,并转到步骤a;e.推理引本文档来自技高网...
【技术保护点】
一种软件过程建模系统,采用访问界面/工作区/数据库三层结构,其特征在于,所述的结构包括:A.访问界面层包括用户过程主体的创建编辑界面、建模目标的创建编辑界面、建模结果的查看界面,以及外部工具接口;B.工作区层包含过程主体管理 、目标管理、外部工具接口输入处理三个功能模块,以及目标、过程执行数据和一组过程主体三个实体,工作区层的核心是过程主体,其中每个过程主体都是能够自主运行、独立实现目标的实体,包含了知识结构和行为引擎;C.数据库层包括过程主体的描述性知 识、过程主体的过程性知识和过程主体的经验知识。
【技术特征摘要】
1.一种软件过程建模系统,采用访问界面/工作区/数据库三层结构,其特征在于,所述的结构包括A.访问界面层包括用户过程主体的创建/编辑界面、建模目标的创建编辑界面、建模结果的查看界面,以及外部工具接口;B.工作区层包含过程主体管理、目标管理、外部工具接口输入处理三个功能模块,以及目标、过程执行数据和一组过程主体三个实体,工作区层的核心是过程主体,其中每个过程主体都是能够自主运行、独立实现目标的实体,包含了知识结构和行为引擎;C.数据库层包括过程主体的描述性知识、过程主体的过程性知识和过程主体的经验知识。2.如权利要求1所述的软件过程建模系统,其特征在于,所述数据库层的三个部分分别存储如下的内容C1.描述知识数据库存储过程主体的描述性信息,包括过程主体能够实现的目标、拥有资源以及资源能力;C2.过程知识数据库存储过程主体实现其自身目标的过程,它由一组过程步骤组成,这些步骤将在过程主体实现目标时实例化为资源具体要执行的任务;C3.经验知识数据库存储过程主体包含的资源在每个历史项目中实施步骤所得到的历史数据记录及其统计数据。3.如权利要求1所述的软件过程建模系统,其特征在于,所述工作区层的功能模块分别包含如下功能B1.过程主体管理模块用于过程主体信息的创建和编辑,并将创建和编辑的结果输入到数据库中;B2.目标管理模块用于目标信息的创建和编辑,并将创建和编辑的结果输入到工作区中;B3外部工具接口输入处理模块用于对外部计划执行工具产生的过程执行数据输入进行加工并输入到工作区中。4.如权利要求1所述的软件过程建模系统,其特征在于,所述工作区层的过程主体是能够自主运行、独立实现目标的实体,它的知识结构包括描述性知识、过程性知识和经验知识,这些知识在系统启动时,从数据库层加载到过程主体中。5.如权利要求4所述的软件过程建模系统,其特征在于,所述过程主体的行为引擎包括感知器,用于从工作区中识别目标、约束条件等,并将这些内容转换为过程主体的内部知识...
【专利技术属性】
技术研发人员:王青,肖俊超,李明树,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。