资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
软件工程项目管理论文软件工程管理论文:大型软件项目管理的流程设计及分析摘 要: 针对大型软件项目开发中的复杂性、易变性和不可预见性,研究大型软件项目管理流程,设计大型软件项目管理过程的总体流程,分析各阶段流程的进入条件、主要工作过程和工作结果。关键词: 软件过程 软件项目管理 流程设计1 引言长期以来,大型软件项目高失败率的状况一直困扰着软件设计和开发人员,研究表明,软件项目失败的原因主要有三个:一是应用项目的复杂性;二是缺乏合格的软件项目管理人才;三是缺乏有效的项目管理。软件开发的风险之所以大,是由于软件过程能力低,其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术不能起到预期的作用。流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程、效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。目前,流程管理技术的研究已越来越受到人重视。运用流程管理方法和技术进行大型软件项目管理,可以有效地改变软件过程管理混乱的局面。首先对大型软件项目开发过程进行有效的、规范化的定义;其次,在大型软件项目开发过程中,所有的活动过程均按照流程所规定的活动的逻辑关系、活动的实现方式来执行,这样可以使得所有的活动有序和可控;第三,通过明确运作流程,使项目组人员迅速融入项目和开发过程中;第四,关注每个过程的“结果”,使大型软件项目的所有工作产品均能得到有效的保存,保证了软件产品完整性。2 流程在大型软件项目中的作用流程是由活动组成的。基本活动是由个人或团体来完成的,它不需要进行其他的基本活动的转化。流程的各个活动之间有着特定的流向,它包含着明确的起始活动与终止活动,因此是一个动态的概念。从结构上来看,流程有四个基本的构成因素:活动、活动的逻辑关系、活动的实现方式和活动的承担者。流程与“一系列的活动或事件”、“结果”等概念密切相关。流程管理不仅是一种管理技术,更体现了现代管理的思想,原有的以控制、塔式组织为基础的职能行政管理已经不能完全满足于现代企业发展和市场竞争的需要,管理的发展沿着分工理论运行了上百年后,现在又重新回归到整合与系统。大型软件项目生命周期的一系列的开发过程是各种各样的流程活动。大型软件项目的计划编制、系统分析、概要设计、详细设计、程序编码、测试与维护等活动过程都是一种流程活动。制定大型软件项目管理流程,重点考虑以下几点:(1) 制定的流程能引导项目逐步走向成功;(2) 制定的流程能适用软件开发过程;(3) 制定的流程能指导项目开发活动,有利于对项目开发活动的管理;(4) 制定的流程能以直观的流程图表示,能使项目组成员清楚的知道软件开发与管理的过程和相互间的关系;(5) 流程中的起始活动条件、终止活动条件明确、规范,便于控制;(6) 流程中的工作产品定义明确、可度量,评价标准和方法具体、可操作。3 大型软件项目管理总体流程设计在大型软件项目开发管理过程中,不仅要努力实现项目的范围、时间、成本和质量等目标,还必须协调整个项目过程,以满足项目参与者及其他利益相关者的需要和期望;随着软件规模和所涉及的领域不断地扩大,大型软件项目的管理越来越困难。纵观所有失败的软件项目,基本原因是不能管理其软件过程,在无纪律的、混乱的项目状态下,组织不可能从较好的方法和工具中获益。严谨的软件过程控制与管理不仅可以在每个阶段回顾和纠正项目的偏差,识别软件项目的风险甚至果断中止项目,而且可以将人才流动所带来的不利影响减少到最小。要进行有效的过程控制,必须明确大型软件项目管理流程。大型软件项目管理总体流程设计为项目搜寻、立项、售前、合同生成和合同执行等5个主要阶段,分别以P1、P2、P3、P4、P5表示;同时设计了立项完成、合同签定、功能定义、软件开发、项目验收等5个里程碑,分别以TM1、TM2、TM3、TM4、TM5表示,如图1所示。在这些流程中,合同执行流程是大型软件项目管理的核心,其主要过程有:产品定义、软件开发、测试执行、内部验收、项目实施与验收、项目维护。4 大型软件项目管理总体流程分析4.1 项目搜寻项目搜寻是项目立项的基础,项目搜寻阶段的主要任务包括市场信息收集,用户需求跟踪,对潜在的项目进行分析和筛选。4.2 项目立项立项阶段的主要任务是确认立项的理由,提出立项建议,提供合适的资金和资源,使立项建议成为正式项目。4.3 项目售前售前阶段从项目立项开始到项目合同的签定结束,主要工作有:制定与客户的交流计划,详细了解客户的背景资料,了解客户启动项目的缘由、目的和期望,编制项目方案建议书,准备合同蓝本。4.4 合同生成合同生成阶段的主要工作有:项目方案的评估与确定,技术合同、商务合同的商定、评估与签署。P14.5 合同执行合同执行是大型软件项目管理流程的重点,可分为软件开发、测试执行;内部验收、项目验收、系统维护等五个基本工作过程。4.5.1 软件开发。软件开发阶段分为:需求调研、系统分析、系统设计、编码、单元测试等过程。主要从三个方面进行管理:(1) 制定项目计划。大型软件项目计划是一个用来协调所有其他计划,以指导项目执行和控制的可操作文件。它体现了对客户需求的理解,是开展项目活动的基础,也是大型软件项目跟踪与监控的依据;(2) 确定开发过程。根据大型软件项目和项目组的实际情况,建立起一个稳定、可控的软件开发过程模型,并按照该过程来进行软件开发;(3) 加强过程控制。过程控制主要包括过程管理、变更控制和配置管理。4.5.2 测试与执行。项目测试的目的是检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等。测试过程在模拟运行环境中进行。4.5.3 内部验收。项目完成集成测试和系统测试后进行项目内部验收,主要有三个步骤:(1) 文档准备。项目经理提交内部验收计划、项目开发总结报告、产品发布清单;财务主管提交项目财务预算报告;(2) 内部验收测试。内部验收测试的测试内容与方法虽然与系统测试基本相同,但应站在用户验收的角度进行,因为它是试运行的基础,通过这一步,为用户验收作充分的准备;(3) 内部评审。对提交的所有文档及测试结果进行内部评审,完成项目开发总结报告。4.5.4 项目试运行与验收。试运行与用户验收阶段的主要任务是,使所有的工作产品得到用户的确认。主要工作有:(1) 验收前的准备。项目经理负责检查产品的完整性,包括文档、介质和中间产品等,以确保现场实施的成功;负责应用软件的现场安装调试,完成安装调试总结报告;负责制定用户验收计划,并得到客户的确认;(2) 用户进行验收测试和系统试运行,进行文档和系统的移交;(3) 用户确认。项目经理负责与客户协调,协助用户进行项目验收,形成用户验收报告。4.5.5 项目维护。软件系统的维护分为两大类:一类是纠错性维护,由于前期的测试不可能暴露软件系统中所有潜在的和隐含的错误,诊断和改正这些错误的过程为纠错性维护。另一类是完善性维护,在软件正常使用过程中,用户还会不断地提出新的需求,为了满足用户新的需求而增加软件功能的活动称为完善性维护。如果需求变更很大,那完善性维护将转变为软件新版本的开发。系统维护的宗旨就是提高客户对软件产品的满意度。确保系统的正常运行是系统维护的根本目的。4.6 大型软件项目管理的里程碑项目的考核与评审是大型软件项目管理流程控制的基础,在整个流程中设定五个基线,即确定五个里程碑,它们分别是TM1:立项完成;TM2:合同签订;TM3:产品功能等:大型软件项目管理流程分析与设计定义完成;TM4:软件开发完成;TM5:验收通过。各阶段的主要的进入条件和相应的工作结果是里程碑是否达到的重要标志。5 结束语本文设计的大型软件项目管理总体流程及相关技术已成功运用在大型软件项目的研发和管理中。通过将流程管理应用于大型软件项目管理中,以设定大型软件项目总体流程为主线,确定每个阶段的主要流程和里程碑,并采用评价指标体系和一系列的模板和表格进行大型软件项目开发过程的控制和管理,使大型软件项目的成功率显著提高。实践证明,针对企业和项目的实际情况,确定大型软件项目运作流程,定义软件工作产品,明确各阶段的进入条件和退出条件,进行有效的流程控制与管理,大大的提高了软件开发的效率和项目的成功率。参考文献:1 刘宽宏,殷人尾基于CMMI的过程和产品质量保证模型J计算机工程,2004,30(15):75772 美施瓦尔贝IT项目管理M王金玉,时郴,译北京:机械工业出版社,20023 刘佰忠项目管理是IT项目灵魂J湖南制造业信息化,2004(4):9104 林锐软件工程与项目管理解析M1版北京:电子工业出版社,20035 张益林,王如龙基于WEB的工作流技术在工程项目管理系统中的实现J科学技术与工程,2005(6):371374
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号