1、软件开发过程中的项目管理随着计算机技术的快速发展,软件应用范围越来越广,软件产品的规模日益庞大,软件复杂度也越来越高。传统“作坊式”开发模式已经不能适应大型软件的开发需要,大型软件项目必须按软件工程的开发模式,由团队共同协作完成。如果软件开发过程中缺乏统一有效的项目管理,将造成软件成本日益增长,开发进度难以控制以及软件质量差、软件维护困难等情况。因此,为了使软件项目能够按照预定的成本、进度、质量顺利完成,必须对软件开发过程实施项目管理,规范软件开发的过程。一、软件项目管理的重要性所谓项目管理就是在项目活动中运用一系列的知识、技能、工具和技术,以满足或超过相关利益者对项目的要求,实际上就是通过项
2、目各方干系人的合作,把各种资源应用于项目,以实现项目的目标,满足项目的需求,其本质就是对时间、质量和成本的管理。软件项目管理和其它的项目管理相比有相当的特殊性。首先,软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。而实施软件项目管理的根本目的就是通过对成本、人员、进度、质量、风险等进行分析和管理,使软件项目的整个生命周期都能在有效的控制下,按照预定的成本、进度、质量顺利完成。因此,软件开发者开始逐渐意识到项目管理在软件开发过程中的重要性。二、软件项目管理的内容软件项目管理的对象是软件工程项目,它所涉及
3、的范围覆盖了整个软件工程的过程,它贯穿于软件开发的整个过程 需求分析阶段、设计阶段(概要设计和详细设计)、编码阶段、测试阶段以及运行维护阶段。软件项目管理的内容主要包括软件项目需求管理、软件项目估算与进度管理、软件项目配置管理、软件项目风险管理、软件项目质量管理、软件项目资源管理。2.1软件项目需求管理许多软件项目失败的根本原因在于开发人员没有正确理解客户的真正需求。需求管理是一种获取、组织并记录系统需求的系统化方案,它使用户和实现用户需求的软件项目之间达成共识。需求管理的目标是:控制系统软件需求,为软件工程和管理建立基准线,使软件计划、产品和活动与软件需求保持一致。需求管理包括需求评审、需求
4、变更控制和需求跟踪等内容,需求管理中最基本的任务是明确需求,使开发人员和用户双方达成共识,同时建立需求跟踪能力联系链,确保所有用户需求被正确地应用,并且在需求发生变更时,能够完全地控制其影响范围,始终保持产品与需求的一致性。因此,需求变更控制管理,是软件项目管理的核心和关键。实现变更管理的目标是从流程及管理上控制变更风险,做到有序变更,同时尽可能快速、顺利地进行变更,实现灵活性需求和稳定性需求之间的平衡。2.2软件项目估算与进度管理软件项目计划是开展软件项目活动的基础,是跟踪、监督、评审执行情况的依据。软件项目计划的目标是提供一个能使项目管理人员对资源、成本和进度做出合理估算的框架。软件项目计
5、划主要包括:2.2.1确定项目范围和目标确定项目范围和目标是制订软件开发计划的根据,它包括对功能、性能、接口和可靠性的确定。通过项目范围管理,明确项目管理的目标与边界,它是对项目范围的定义与控制过程。这个过程确保了项目组和项目关系人对作为项目结果的软件产品以及软件开发过程有一个共同的理解。2.2.2工作量的估算软件项目管理过程开始于项目的计划,估算是完成项目计划的基础,它主要包括对完成该软件项目所需的资源、成本和进度的估算。估算具有风险性,它需要一定的经验、有用的历史信息、足够的定量数据等来完成。估算的精确程度取决于项目的复杂度、项目的规模、项目的结构化程度以及历史信息的有效性等的影响。估算的
6、依据是软件的范围,包括功能、性能、限制、接口和可靠性。软件项目估算一般采用分解技术、经验估算模型和自动估算工具进行估算。在估算开始之前,应对软件的功能进行评价,并对其进行适当的细化以便提供更详细的细节。由于成本和进度的估算都与功能有关,因此常常采用功能分解的办法。性能主要考虑包括处理和响应时间的需求。约束条件则标识外部硬件、可用存储和其它现有系统对软件的限制。2.2.3活动计划的编制软件项目的进度安排主要是考虑软件开发具体工期的安排,进度安排必须根据软件项目估算的实际情况,制定切实可行的进度计划。在软件开发的各个阶段设置里程碑,以便实现对项目进度的有效控制与检测。进度安排通常采用甘特图或网络图
7、描述。制定计划的过程不仅是一个对项目逐渐了解掌握的过程,也是在进度、资源、范围之间寻求平衡的过程。好的计划有助于在项目过程中防范各种问题的出现,保障项目顺利完成。2.2.4资源分配管理完成工作确定目标范围、估算工作量和编制活动计划后,应该为每项活动分配相应的资源。在软件项目计划中,资源分配主要指人员的分配,指定了时间资源以后,应该指定人力资源。为活动分配资源可以采用自下而上和自上而下两种不同的方法。自下而上是先估计最小单位的活动所需要的资源,项目所需的资源则取决于所有项目活动的关键路径;自上而下则是确定完成项目所需要的总的资源,然后将时间分配给不同的活动。这两种方法在实际中都有应用,对于软件项
8、目,很多情况下只能采取自上而下的方式,因为大多数项目都事先确定好了项目的交付时间。一项工作任务是否能够完成,所需要的时间和人员是两个最主要的变量。在一定的范围内,时间和人员是可以互换的。即增加人员会缩短工作时间;延长时间会降低对人员的需求量。如果已经确定了活动的完成时间,则指定相应的人员作为完成活动的责任人。2.2.5风险管理目前,风险管理被认为是软件项目中减少失败的一种重要手段。当不能很确定地预测将来事情的时候,可以采用结构化风险管理来发现计划中的缺陷,并且采取行动来减少潜在问题发生的可能性和影响。风险管理意味着危机还没有发生之前就对它进行处理。这就提高了项目成功的机会和减少了不可避免风险所
9、产生的后果。项目风险管理实际上就是贯穿在项目开发过程中的一系列管理步骤,其中包括风险识别、风险估计、风险管理策略、风险解决和风险监控。它能让风险管理者主动“攻击”风险,进行有效的风险管理。软件项目风险管理是一种特殊的规划方式,当对软件项目有较高的期望值时,一般都要进行风险分析。进行过大中型项目开发的人都亲身体验到许多事情可能出错,最成功的项目就是采取积极的步骤对要发生或即将发生的风险进行管理。对任何一个软件项目,可以有最佳的期望值,但更应该要有最坏的准备,“最坏的准备 ”在项目管理中就是进行项目的风险分析。2.2.6监督和控制软件项目具有建设范围难界定、技术含量高、人员流动快、协作性强、开发成
10、功率低等特点,在目前国内对软件项目的监理制度尚未普及,对软件开发仍然缺乏有效控制的情况下,由企业的信息技术管理部门设立软件监督岗位,加强对软件项目的开发过程管理,就显得尤为重要。软件监督的主要职责是在项目进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标。所选的软件监督人员应具备3方面基本素质:具有较强的工作责任感和良好的沟通能力;熟悉业务管理流程,掌握软件开发流程、开发规范以及相关标准;具有软件开发项目的建设和管理经验,掌握项目管理知识。监督人员除了监督职责外,
11、还应该协调各个部门对软件进度及时调整。为确保项目按时、按量、按质完成,督导人员必须控制任务和跟踪里程碑。按照软件项目的开发规律,将软件开发过程分为几个重要阶段,对这几个阶段的关键事件设立里程碑进行跟踪管理。三、总结当然项目管理方式多种多样,根据实际项目的不同、人员的不同管理模式应做适当的调整。适合目标项目的模式才是做好的模式,先进的管理方法在不同的项目中取得的效果是不同的,这有待于我们去研究、探索、实践和总结。 3、通过活动,使学生养成博览群书的好习惯。B比率分析法和比较分析法不能测算出各因素的影响程度。C采用约当产量比例法,分配原材料费用与分配加工费用所用的完工率都是一致的。C采用直接分配法
12、分配辅助生产费用时,应考虑各辅助生产车间之间相互提供产品或劳务的情况。错 C产品的实际生产成本包括废品损失和停工损失。C成本报表是对外报告的会计报表。C成本分析的首要程序是发现问题、分析原因。C成本会计的对象是指成本核算。C成本计算的辅助方法一般应与基本方法结合使用而不单独使用。C成本计算方法中的最基本的方法是分步法。XD当车间生产多种产品时,“废品损失”、“停工损失”的借方余额,月末均直接记入该产品的产品成本 中。D定额法是为了简化成本计算而采用的一种成本计算方法。F“废品损失”账户月末没有余额。F废品损失是指在生产过程中发现和入库后发现的不可修复废品的生产成本和可修复废品的修复费用。F分步
13、法的一个重要特点是各步骤之间要进行成本结转。()G各月末在产品数量变化不大的产品,可不计算月末在产品成本。错G工资费用就是成本项目。()G归集在基本生产车间的制造费用最后均应分配计入产品成本中。对J计算计时工资费用,应以考勤记录中的工作时间记录为依据。()J简化的分批法就是不计算在产品成本的分批法。()J简化分批法是不分批计算在产品成本的方法。对 J加班加点工资既可能是直接计人费用,又可能是间接计人费用。J接生产工艺过程的特点,工业企业的生产可分为大量生产、成批生产和单件生产三种,XK可修复废品是指技术上可以修复使用的废品。错K可修复废品是指经过修理可以使用,而不管修复费用在经济上是否合算的废
14、品。P品种法只适用于大量大批的单步骤生产的企业。Q企业的制造费用一定要通过“制造费用”科目核算。Q企业职工的医药费、医务部门、职工浴室等部门职工的工资,均应通过“应付工资”科目核算。 S生产车间耗用的材料,全部计入“直接材料”成本项目。 S适应生产特点和管理要求,采用适当的成本计算方法,是成本核算的基础工作。()W完工产品费用等于月初在产品费用加本月生产费用减月末在产品费用。对Y“预提费用”可能出现借方余额,其性质属于资产,实际上是待摊费用。对 Y引起资产和负债同时减少的支出是费用性支出。XY以应付票据去偿付购买材料的费用,是成本性支出。XY原材料分工序一次投入与原材料在每道工序陆续投入,其完工率的计算方法是完全一致的。Y运用连环替代法进行分析,即使随意改变各构成因素的替换顺序,各因素的影响结果加总后仍等于指标的总差异,因此更换各因索替换顺序,不会影响分析的结果。()Z在产品品种规格繁多的情况下,应该采用分类法计算产品成本。对Z直接生产费用就是直接计人费用。XZ逐步结转分步法也称为计列半成品分步法。A按年度计划分配率分配制造费用,“制造费用”账户月末(可能有月末余额/可能有借方余额/可能有贷方余额/可能无月末余额)。A按年度计划分配率分配制造费用的方法适用于(季节性生产企业)