论文部分内容阅读
项目管理的目的是为了使项目能够按照预定的成本、进度、质量顺利完成。软件项目管理的对象是软件工程项目,为了保证项目的顺利完成,我们需要根据软件工程项目的特点,对软件项目的需求、成本、人力、进度、风险等多方面进行分析,从而明确我们在软件项目各个阶段所要进行的各种管理活动。本文针根据软件工程方法和现代项目管理理论,结合自己多年的软件项目开发管理的经验,对软件项目生命周期内的各个环节(包括项目前期、项目开发过程中和项目后期)中的需要关注的问题进行了分析研究,对项目的可行性分析、需求调研、需求分析、系统设计、系统实施、项目计划及其控制、项目团队的组织、沟通、风险管理等多个方面管理方法进行了讨论。 软件开发目前仍主要依赖于人的创造性的劳动,是一种劳动密集型产业。一个软件开发项目的成功是非常困难的,主要原因有以下几点:* 没有进行充分的可行性分析* 需求的不确定性* 软件开发的高成本* 软件的质量得不到有效的控制* 软件开发的生产率低* 软件的维护成本过高* 项目的计划不准确* 项目管理进度难以控制* ...本文通过对软件开发过程的各个阶段中存在的问题以及解决方法进行研究,希望能够从软件开发过程的角度,解决上述问题。我们研究软件开发项目管理管理的目的就是从管理的角度出发,希望通过规范软件的开发过程,使软件项目以高质量、低成本按期完成,达到相对比较高的生产率水平。我们将一个软件项目的过程分为以下几个阶段:项目前期、项目准备阶段、项目开发阶段、项目后期等。在每个阶段中,本文详细地讨论了在这个阶段所遇到的问题和我们的处理方法。在项目的前期,项目还往往处于商务谈判阶段或产品概念阶段,项目还没有真正开始实施,我们对项目的投入还比较小,但是这个阶段的任务往往决定了项目的成败。在这个阶段,我们首先要进行项目的可行性分析,从技术、经济、法律、社会环境等多个角度,对项目(产品)的可行性进行分析,给领导层以决定是否进行这个项目的依据。在这个阶段,前期的需求调研是非常重要的,我们在需求调研相对投入比较小的情况下,需要抓住需求的要点,并完成对项目目标的初步设想,并确认我们可以实现项目目标,并对项目实现的周期、成本等有一个大致的估计。当项目确定实施以后,我们更需要对项目的需求进行详细的调研,并形成需求文档。需求调研的准确性、完整性决定了整个项目开发结果的成败。在项目的准备阶段,项目已经决定开始进行开发,我们首要的任务就是组建开发团队,根据项目的规模和特点,我们决定在项目开发各个过程中,需要哪些人参<WP=4>与并规定其任务和责任。本文根据软件开发项目的特点,列举了项目各个阶段参与项目人员的角色定义和他们的职责,同时还讨论了在软件开发项目中对项目团队成员的管理考核方法。需求分析是对需求的分析和总结,通过需求分析,我们将原本复杂混乱的需求转化为我们可以实现的目标,将需求分解为多个模块和任务,便于我们的实施。本文讨论了需求分析的工作方法和需求管理方法。在项目需求分析的基础上,我们需要进行系统方案的设计,确定我们在开发中采取的技术方案、技术架构、开发标准、规范和版本管理的方法。在软件开发项目中,风险主要来源于技术、需求、人员和管理等几个方面,每个项目所面对的风险各不相同,如何在及早发现风险,并在管理中规避风险,将大大减少项目失败的概率,提高项目的成功率。有了对项目准确的需求分析和可行的实施方案和我们对项目存在的风险的估计,我们就可以安排项目各个阶段比较详细的开发计划。根据对项目详细的任务分解,我们可以对每项任务的工作量作出大致的估计,并根据工作量、资源的状况、任务间的相互依赖关系,安排合理的工作计划。通过使用网络图法和关键路径法甘特图作为制定项目计划的工具,确定合理的里程碑将有助于对计划执行的监控。在项目的详细设计、编码、调试和测试阶段,我们需要对项目计划的执行情况进行监控,同时,应按照质量标准对完成的任务和过程进行全面的质量监控,只有通过对产品的详细测试和对项目过程的严格审核,才能实现全面的质量控制。项目开发过程中可能会遇到各种因素,引起任务的延迟,我们通过对项目计划的监控,可以及时发现并解决问题,通过调整计划,减少任务延迟造成的损失。通过进行有效的版本管理可以控制软件版本的发布,保护代码资源,避免因为共同开发造成的版本混乱,提高团队协同开发的效率。在项目后期的管理中,需要针对项目验收、演示做好准备,特别是需要提高多种相关的文档和搭建稳定的测试环境。及时与验收方进行沟通,了解验收测试的方案,提供相应的文档,进行使用培训等,将有助于项目顺利通过验收。软件的后期维护是一项困难而长期的工作,不仅仅需要修改开发阶段的bug,同时还可能面对用户新的使用需求。要降低后期维护的成本,需要在开发阶段打下良好的基础,在测试、文档的编写、系统结构等方面工作的质量将给维护工作带来决定性的影响。对于项目中某些需要外包实现的部分,需要加强外包的管理