文/柯佳利,中航航空电子有限公司
与传统单项目管理相比,多项目管理软件具有较为突出的战略性、不确定性、动态性以及管理复杂性等方面的特征,其并不是单纯的单个项目叠加,而是从企业整体战略角度入手,对多个项目进行管理的行为。目前市场中的管理规划软件数量极多,但多数软件在资源受限环境中进行任务调度时都出现了较为明显的问题,与现代企业项目管理出现了一定出入。因此为妥善解决这一问题,保证管理软件运用质量,相关人员有必要对资源受限环境中的任务调度方式展开深度研究。
一般资源受限项目在进行调度时,会在对约束条件进行满足的基础上,完成项目任务安排工作,以对项目目标进行落实。因此约束条件是项目目标落实前提,也是多项目调度管理需要考虑的内容。
作为常见的资源受限项目调度问题约束条件主要分为三类:第一,项目任务逻辑关系约束,是项目活动以及任务间存在的相互依赖或相互制约的关系;第二,是由于资源方面限制而造成的资源约束,在此种束缚的限制之下,在实施项目安排时需要对有限资源进行合理分配,以对项目进度与实施质量进行保障;第三,时间方面约束,即项目管理者要保证任务开始时间或结束时间,能够与相应时间条件要求相符,要对项目进度展开合理控制。
当完成约束条件研究与分析工作之后,相关人员便可以此为基础展开资源受限条件下,多项目管理软件模型中的任务调度研究。
目前较为常用的项目管理问题解决技术,主要以面向对象类型技术为主。该项技术主要用于系统分析,其所具有的对象方法继承以及重载等机制,是消除项目管理问题的有效手段。文中所提项目管理软件模型,会将项目资源与任务作为受控对象,会将任务调度作为控制对象,即调度对象。由于调度对象中含有一定量的可编程输入启发列表,因此可通过这些启发式获得相应调度方案集,进而制定出较为有效的任务调度方案。
一般每个项目都是由任务集所构成的,当任务集完成之后,整体项目也随之完成。各任务间存在着较为密切的关联,可能是平级关系也可能是从属关系,一个大任务可能是由多个小任务所组成的,想要完成大任务,就需要完成所有小任务。
项目得以开展,与其生存外部环境有着直接关联,即资源,只有在获取相应资源之后,项目才可以顺利执行。在资源对象中,其标识是指资源在系统空间内的唯一标识;而资源对象剩余数量,是指可进行使用的资源数量;资源能力,是指设备新旧、性能以及人员经验以及技能等。
因为各种启发式会对项目调度结果产生较大影响,即便是相同的启发式,在不同特点项目中进行调度时,所产生的结果也并不相同,所以为保证最终任务调度结果,技术人员需要按照调查需求,做好启发式运用,以获取预期调度结果。
本次软件模型任务调度采取了,运用多种启发式,并通过对所获结果进行比较的方式,制定出一套较为合理的调度方案。同时,为了对各种特点项目进行满足,技术人员还在模型中使用了用户对启发式进行自定义的调度模式。其中启发式对象主要负责用户自定义启发式储存任务,其会对启发式进行编辑与翻译,并会将其储存到数据库之中。由于用户自定义启发式有着较为突出的灵活性特点,对其进行运用可以有效提升项目调度灵活性,能够按照企业实际项目需求,进行启发式定义与运用,可以通过对数据库运算功能的运用,作为启发式描述语言编译与储存工作,能够在数据库端完成任务重要度计算任务。而在此过程中的调度对象,是由任务列表、资源列表以及启发式列表所组成的,其中任务列表并不是一成不变的,会因为新任务生成或者旧任务结束等,出现列表发生改变的情况。
通常企业内部项目生成、执行与结束都属于动态化过程,在项目执行过程中会随时出现新的项目,而任务对象执行完成情况,也可能会对任务对象状态进行调整,会使其处于可执行的状态,且在任务对象完成之后,其所占有的资源也会得到释放,会为其他任务对象提供相应资源。此外在企业内部资源发生改变时,像进行人员调动、新硬件设备购入等,也都会对执行任务调度产生直接影响。
在系统调度对象中,储存着资源对象列表以及可执行任务列表等几部分内容,在数量、列表或者其中任务资源、任务状态发生变化,系统都会自动对任务调度算法进行调用,会按照启发式列表获得相应的调度案集,进而选择出最佳的调度方案,并做好资源分配与资源激活,以对可执行任务对象进行获取。
为保证软件模型任务调度质量,在进行调度之前,技术人员要先按照企业所提实际需求,展开软件项目模型调度框架构建工作。在框架之中,会以项目管理系统为中心,进行文档管理、需求管理以及过程管理内容构建,且会以此为基础完成软件项目任务调度优化。在此框架中,软件企业系统间业务、信息交互主要为两种:第一,以需求分析为基础的交互方式。作为软件生命周期基础阶段,需求分析质量与最终软件质量有着直接关联,只要分析得当便可以有效达到降低开发成本、缩短项目开发周期的目标,需求管理过程与软件开发过程属于并行状态,是维持在整体软件开发过程之中的,在环境或者客户等因素发生改变时,软件项目需求也会出现相应变化,技术人员需要通过对软件版本进行控制的方式,防止需求误传以及开发冲突问题发生;第二,以项目任务为基础的交互方式。在多项目管理软件之中,软件项目与项目任务间并不是孤立状态,会按照一定过程开展任务,而软件过程事实上就是指软件产品管理任务与技术任务集合,是软件生命周期过程。一般软件过程主要分为用户验收、需求分析、系统设计以及系统编码等,在执行任务时,会产生或使用一些产品,且这些产品会以不同类型文档形式呈现出来,像培训资料、说明书哄着源代码等,例如在进行系统设计之前,技术人员要在获取到软件需求规格说明书的情况下,根据需求规格说明书,完成一系列的系统设计,最终输出系统设计说明书。
通过对上述两种交互方式的运用,能够完成对各项目管理软件模型任务的统一,能够在进行调度过程中,高效展开项目任务管理与调度工作,而具体调度过程,如下文所示。
整体项目调度过程,主要分为以下几个步骤:①标识与选择。在进行任务调度之前,技术人员要通过之前对调度对象以及任务对象等基础内容的分析,对项目间依赖关系展开分析,并做好项目分解,明确任务间的时序关系,且做好项目任务工作量与资源需求估算,进而完成标识与选择任务,确保能够为后续网络计划图的制定与项目的估算等工作开展,奠定良好基础;②创建项目网络。在进行项目网络创建时,要按照项目任务时间特征展开科学分析,例如,若项目任务工期属于非负数,可运用确定性网络模型完成项目网络构建;③明确调度目标。技术人员要按照实际工作要求,对任务调度目标进行明确,完成资源平衡、缩短项目工期以及降低项目成本等,都是较为常见的调度目标,技术人员要在调度目标确定之后,做好目标优先次序排序,以为后续目标顺利落实奠定良好基础;④确定调度算法。要按照求解精准度、问题复杂程度以及计算量,对项目调度算法进行确定,目前较为常用的调度算法主要有智能优化算法、精确求解法以及启发式算法等几种,如果项目网络结构较为简单,问题并没有过多的约束条件,但其却对求解精准度有着较高要求,此时可通过精准求解法完成相应计算;⑤制定调度方案。在对调度算法与目标进行确定后,便可以开展调度方案制定任务,即对项目资源分配、确定各分项目任务开展时间。一般在进行调度方案制定过程中,需要按照项目任务资源需求,对总体资源开展初步分配规划,但因为在资源受限状态下,各种资源数量相对有限,很可能会出现多个项目同时对一种资源进行竞争的情况,所以要做好资源冲突消除,以对最终调度方案实用性与适用性进行保证。同时,在调度方案制定完成后,有关部门还要做好方案评估工作,要对多项目调度潜在隐患进行分析,做好各项目调度方案估算,进而从中选出最佳的调度方案。
通过本文对多项目管理软件模型任务调度相关内容的论述,我们对资源受限状态下的项目任务调度方式有了更加清晰的认知。有关企业要明确认识到项目任务调度的重要性,要清楚认识到,在资源受限情况下,多项目调度往往会出现多维背包的状况,运用用户自定义启发式进行调度方案制定是较为明智的一种选择,所以技术人员需要对该种方式展开进一步研究,要按照项目任务调度过程特征,将该项手段合理运用到软件项目任务调度之中,以对资源受限状态下的多项目管理软件运用质量进行保证。