论文部分内容阅读
在软件企业实践中,大多数的软件项目不是孤立的,而是与其它项目之间存在资源竞争和信息交流等各种联系,而这些软件项目群之间的资源竞争,加剧了软件项目管理的复杂性。因此研究资源受限软件项目群调度问题的理论与方法,有利于软件项目管理领域的发展建设。本文围绕着资源受限软件项目群调度中的多技能员工配置问题、多模式多资源均衡问题和基于模糊关键链项目群调度问题展开研究,主要内容有:(1)针对软件项目的特殊性,详尽分析了软件企业项目群管理的内容和过程,并建立了软件项目群调度框架模型,该模型以项目群管理系统为核心,包括了需求管理、过程管理、文档管理等模块。最后给出了软件项目群调度过程的具体步骤。(2)多技能员工配置问题是当前软件企业实际工作中广泛存在的一种项目调度问题。在该问题中,每个员工掌握的技能不同,每项任务所需的技能也不尽相同。无法用传统的资源受限项目调度算法去处理项目群多技能员工配置问题。本文针对软件项目群多技能员工配置问题的特点,建立了以项目群总工期和总费用为目标的调度模型,然后将云模型嵌入到基于Pareto的向量评价微粒群算法中,提出了一种新的基于云多目标微粒群算法。最后通过一个软件研发案例验证了该方法的有效性和可行性。(3)对于许多软件研发项目,每项任务可能有多种不同的执行模式,每种执行模式代表不同的资源需求与工期组合。对此类软件项目群进行资源均衡优化时,不仅要调整各项任务的实际开工时间,还要选取合适的执行模式,这就是软件项目群多模式多资源均衡问题。由于该问题中,任务工期是离散分布的,所以软件项目群多模式多资源均衡问题属于不确定环境下的离散软件项目群调度问题的范畴。本文提出了软件项目群多模式多资源均衡优化方法,该方法通过建立多目标优化模型,能同时对项目群工期、资源总量和资源方差进行优化。在算法设计上,我们将种群竞争模型嵌入到基于Pareto的向量评价微粒群算法中,提出了一种新的基于动态种群的多目标微粒群算法。该算法结合任务执行模式和开工时间设计了微粒编码,并可根据优化目标动态调整各子微粒群的规模。最后,通过“任务模式数相等”和“任务模式数不等”两个软件研发案例,测试了新算法的性能,结果表明该算法对于求解软件项目群多模式多资源均衡问题是有效的。(4)现有的关键链多项目调度方法一般基于概率论基础,要求给出任务工期的概率分布,这对于缺乏历史统计数据的软件项目是非常困难的,因而现有关键链多项目调度方法并不适用于不确定环境下的软件项目群调度问题。本文首先借鉴了模糊关键链管理领域的相关研究成果,分析了现有的任务工期估算方法的缺陷和不足,提出了基于德尔菲的任务工期模糊估算法。然后研究了模糊关键链项目群调度中能力约束缓冲的设置方法,该方法充分考虑了能力约束任务的复杂性、资源紧张度和安全时间。最后通过软件案例验证了该方法能以较高的可能性提供足够的错开时间,同时对项目群最终完工率影响很小。本论文的研究能够为软件企业优化配置各种项目资源提供理论依据,为相关调度软件的开发提供研究基础,进而提高软件项目群的综合效益。