软件项目管理规范26208.docx
软件项目管理规范一、软件项项目管理的的定义软件项目管管理是软件件工程和项项目管理的的交叉学科科,软件项项目管理的的概念涵盖盖了管理软软件产品开开发所必须须的知识、技技术及工具具。根据美美国项目管管理协会PPMI对项项目管理的的定义可以以将软件项项目管理定定义为:在在软件项目目活动中运运用一系列列知识、技技能、工具具和技术,以以满足软件件需求方的的整体要求求。软件工程的的活动包括括问题定义义、可行性性研究、需需求分析、设设计、实现现、确认、支支持等,所所有这些活活动都必须须进行管理理,软件项项目管理贯贯穿于软件件工程的演演化过程之之中,如图图1所示。图1 软软件工程的的演化过程程二、软件项项目管理的的过程为保证软件件项目获得得成功,必必须清楚其其工作范围围、要完成成的任务、需需要的资源源、需要的的工作量、进进度的安排排、可能遇遇到的风险险等。软件件项目的管管理工作在在技术工作作开始之前前就应开始始,而在软软件从概念念到实现的的过程中继继续进行,且且只有当软软件开发工工作最后结结束时才终终止。管理理的过程分分为如下几几个步骤:(1) 启动软件项项目 启动软件项项目是指必必须明确项项目的目标标和范围、考考虑可能的的解决方案案以及技术术和管理上上的要求等等,这些信信息是软件件项目运行行和管理的的基础。(2) 制定项目计计划软件项目一一旦启动,就就必须制定定项目计划划。计划的的制定以下下面的活动动为依据。l 估算项目所所需要的工工作量l 估算项目所所需要的资资源l 根据工作量量制定进度度计划,继继而进行资资源分配l 做出配置管管理计划(3) 跟踪及控制制项目计划划在软件项目目进行过程程中,严格格遵守项目目计划,对对于一些不不可避免的的变更,要要进行适当当的控制和和调整,但但要确保计计划的完整整性和一致致性。(4) 评审项目计计划对项目计划划的完成程程度进行评评审。并对对项目的执执行情况进进行评价。(5) 编写管理文文档项目管理人人员根据软软件合同确确定软件项项目是否完完成。项目目一旦完成成,则检查查项目完成成的结果和和中间记录录文档,并并把所有的的结果记录录下来形成成文档而保保存。三、软件项项目管理的的内容软件项目管管理的内容容涉及上述述软件项目目管理过程程的方方面面面,概括括起来主要要有如下几几项。(1) 软件项目目需求管理理软件需求是是软件工程程过程中的的重要一环环,是软件件设计的基基础,也是是用户和软软件工程人人员之间的的桥梁。简简单地说,软软件需求就就是确定系系统需要做做什么,严严格意义上上,软件需需求是系统统或软件必必须达到的的目标与能能力。1、目标需求管理是是一种获取取、组织并并记录软件件需求的系系统化方案案,同时也也是一个使使客户与项项目开发组组对不断变变更的软件件需求达成成并保持一一致的过程程。在需求求管理中,软软件工程组组的工作是是采取适当当的措施来来保证分配配的需求,即即要将分配配的需求文文档化,控控制需求的的变化,负负责项目实实施过程中中需求的实实现情况。需需求管理的的目的是在在客户和处处理客户需需求的软件件项目组之之间建立对对客户需求求的共同理理解。需求求管理的目目标有两个个:l 使软件需求求受控,并并建立供软软件工程和和管理使用用的需求基基线。l 使软件计划划、产品和和活动与软软件需求保保持一致。在需求管理理过程,为为实现第一一个目标,必必须控制需需求基线的的变动,按按照变更控控制的标准准和规范的的过程进行行需求变更更控制和版版本控制;为实现第第二个目标标,必须就就变更和软软件项目各各小组达成成共识,对对软件项目目计划做出出调整,其其中包括人人员的安排排、用户的的沟通、成成本的调整整、进度的的调整等。2、原则为进行有效效的需求管管理,一般般要遵循如如下五条原原则:l 需求一定要要分类管理理进行软件项项目管理的的时候,一一定要将软软件需求分分出层次。不不同层次需需求的侧重重点、描述述方式、管管理方式是是不同的。l 需求必须分分优先级在软件项目目中,如果果出现过多多的需求,通通常会导致致项目超出出预算和预预定进度,最最终导致软软件项目的的失败,因因而需求的的优先级可可能比需求求本身更加加重要。l 需求必须文文档化需求必须有有文档记录录。该文档档必须是正正确的、最最新的、可可管理的、可可理解的,是是经过验证证的,是在在受控的状状态下变更更的。l 需求一旦变变化,就必必须对需求求变更的影影响进行评评估无论需求变变化的程度度如何,只只要需求变变化了就必必须进行评评估,这是是基本的原原则。l 需求管理必必须与需求求工程的其其他活动紧紧密整合进行需求管管理一定不不能脱离需需求工程,需需求工程包包括了需求求获取、需需求分析、需需求描述、需需求验证、需需求管理,因因而需求管管理必须与与前面的几几个需求阶阶段保持密密切相关。3、需求管管理活动 需需求管理在在需求开发发的基础上上进行,贯贯穿于整个个软件项目目过程,是是软件项目目管理的一一部分。在在软件项目目进行的过过程中,无无论正处于于哪个阶段段,一旦有有需求错误误出现或任任何有关需需求的变更更出现,都都需要需求求管理活动动来解决。需需求管理是是一个对系系统需求变变更了解和和控制的过过程。初始始需求导出出的同时就就启动了需需求管理规规划,一旦旦形成了需需求文档的的草稿版本本,需求活活动就开始始了。需求求活动的具具体内容如如表1所示。需求管理活活动活动的任务务变更控制建议需求变变更并分析析其影响,做做出是否变变更的决策策版本控制确定单个需需求和SRRS(即功功能规格说说明)的版版本需求跟踪定义对于其其他需求及及系统元素素的联系链链需求状态定义并跟踪踪需求的状状态表1 需需求管理活活动4、需求管管理质量保保证l 需求验证过过程需求验证很很重要,如如果在构造造设计开始始之前,通通过验证基基于需求的的测试计划划和原型测测试来验证需求的的正确性及及其质量,就就能大大减减少项目后后期的返工工现象。需需求验证可可按以下步步骤进行:审察需求文文档 依依据需求编编写测试用用例 编写用户户手册 确定定合格的标标准l 验证的内容容在需求验证证过程中,要要对需求文文档中定义义的需求执执行多种类类型的检查查。有效性检查查-对于每项项需求都必必须证明它它是正确有有效的,确确实能解决决用户面对对的问题。一致性检查查-在需求文文档中,需需求不应该该冲突,即即对同一个个系统功能能不应出现现不同的描描述或相互互矛盾的约约束。完备性检查查-需求文档档应该包括括所有系统统用户想要要的功能和和约束。现实性检查查-检查需求求以保证能能利用现有有技术实现现。可检验性检检查-描述的的需求能够够实际测试试。可跟踪性检检查-需求的的出处被清清晰地记录录,每一系系统功能都都能被跟踪踪到要求它它的需求集集合,每一一项需求都都能追溯到到特定用户户的要求。可调节性检检查-需求变变更能够不不对其他系系统带来大大规模的影影响。可读性检查查-需求说明明能否被系系统购买者者和最终用用户读懂。l 需求评审需求分析完完成后,应应由用户和和系统分析析员共同进进行需求评评审。鉴于于需求规格格说明是软软件设计的的基础,需需求评审需需要有客户户方和承包包商方的人人员共同参参与,检查查文档中的的不规范之之处和遗漏漏之处。(2) 软件项目估估算与进度度管理1、软件项项目估算软件项目估估算包括工工作量估算算和成本估估算两个方方面。软件件估算作为为软件项目目管理的一一项重要内内容,是确确保软件项项目成功的的关键因素素。估算是是指通过预预测构造软软件项目所所需要的工工作量的过过程。初步步的估算用用于确定软软件项目的的可行性,详详细的估算算用于指导导项目计划划的制定。2、软件规规模l 工作分解结结构对软件项目目进行估算算遇到的第第一个问题题就是软件件规模,即即软件的程程序量。软软件规模是是软件工作作量的主要要影响因素素。软件项项目的设计计有一个分分层结构,这这一分层结结构就对应应着工作分分解结构(WBS,Work Breakdown Structure),它将软件过程和软件产品结构联系起来。图2是一个典型的WBS结构。 图图2 典典型的WBBS 有有了工作分分解结构之之后,还必必须定义度度量标准用用以对软件件规模进行行估计。常常用的软件件规模度量量标准有两两种:代码码行LOCC(Linnes oof Coode)和和功能点FFP(Fuunctiion PPointts)。l 代码行代码行LOOC是常用用的源代码码程序长度度的度量标标准,指源源代码的总总行数。源源代码中除除了可执行行语句外,还还有帮助理理解的注释释语句。l 功能点功能点度量量是在需求求分析阶段段基于系统统功能的一一种规模估估计方法,该该方法通过过已经初始始应用需求求来确定各各种输入、输输出、查询询、外部文文件和内部部文件的数数目,从而而确定功能能点数量。3、软件项项目成本估估算成本估算是是对完成软软件项目所所需费用的的估计和计计划,是软软件项目计计划中的一一个重要组组成部分。成本估算步步骤如下:建立目标-规划需要要的数据和和资源-确定软件件需求-拟定可行行的细节-运用多多种独立的的技术和原原始资料-比较并并迭代各个个估算值-随访跟跟踪4、软件项项目进度管管理l 制定项目计计划 项项目计划在在项目开始始的时候制制定,并随随着项目的的进展不断断发展。软软件项目计计划的要素素包括目标标、合理的的概念设计计、工作分分解结构、规规模设计、工工作量估计计和项目进进度安排。项项目计划为为管理者提提供了根据据计划定期期评审和跟跟踪项目进进展的基础础。l 进度安排在确定了项项目的资源源(总成本本及时间等等)后,把把其分配到到各个项目目开发阶段段中,即确确定项目的的进度。项项目各阶段段的工作量量可以参考考表2: 项目阶段工作量(%)概念设计3.49详细设计11.055编码和单元元测试23.177集成测试27.822软件验证34.477 表2 项项目各阶段段的工作量量项目整体进进度安排的的过程如下下: 根据据项目总体体进度目标标,编制人人员计划。 将各阶段所所需要的资资源和可以以取得的资资源进行比比较,确定定各阶段的的初步进度度,然后确定整个项项目的初步步进度。 对初初步进度计计划进行评评审,确保保该计划满满足要求,否否则就重复复上面的步步骤。进度安排的的详细程度度取决于相相应工作分分解结构的的详细程度度,而工作作分解结构构又取决于于项目当前前所处阶段段与历史经经验。进度度安排计划划随着项目目的进展而而动态调整整,逐渐趋趋于更加详详细准确。(3) 代码管理对于软件过过程中经常常遇到的变变更问题,如果没有有有效的机机制进行控控制,将会会引起巨大大的混乱,导致项目目的失败.代码管理理就是作为为变更控制制机制而引引入到软件件项目中的的,其关键键任务是控控制代码变变更活动,在软件项项目管理中中占有重要要地位。编码规范:代码头标示示 命名规规则源代码文件件头注释规规范/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */* 文件件名 : cc_intter.ccpp */* 模块块名 : CC-Intterfaace */* 创建建者 : yyour namee 日日期 : 20003-77-10 */* 修改改者 : 日日期 : */* */* 功能描描述 : */* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */(4) 测测试计划软件测试计计划的目标标是找出软软件缺陷,并并尽可能早早一些保证证得到修复复。利用组组织良好的的测试计划划、测试案案例、测试试报告交流流和制定测测试工作是是达到目标标的保证。测测试计划应应该包括:· 建立每每个测试阶阶段的目标标。 · 确定每每项测试活活动的进度度和职责。· 确定工工具、设施施和测试库库的可用性性。· 建立用用于计划和和进行测试试以及报告告测试结果果的规程和和标准。· 制定衡衡量测试成成功与完成成的准则。首先进行单单元测试,然然后进行集集成测试。(5) 工工具管理 开开发工具管管理:Myecllipsee6.0测试工具管管理:四、软件开开发过程 我我们用瀑布布模型来描描述一个软软件开发的的生命周期期,如图33所示:图3 软软件开发生生命周期(瀑布模型型)五、生命周周期阶段与与文档、角色间间的关系 软件开发发生命周期期与文档、角角色之间的的关系见表表3: 生命周期阶阶段结果文档参与角色需求分析需求规格说说明项目经理、系系统分析员员概要设计概要设计文文档项目经理、系系统分析员员详细设计详细设计文文档项目经理、系系统分析员员编码源代码程序员单元测试测试报告程序员测试测试报告测试员 表表3 生命命周期阶段段与文档、角色间间的关系六、项目角角色职能项目经理:管理整个项项目过程。包包括制定计计划、项目目跟踪、项项目成员的的角色分配配、协调、管管理,软件件配置管理理,文档标准制定定,文档审查等。技术经理:对项目的技技术及方案案总体把握握,配合系系统分析员员做一些大大的工作,审审查系统分分析员做好好的各种设设计,对系系统分析员员提出的问问题一起去去解决。系统分析员员:和项目经理理一起参与与需求分析析,形成需需求规格说说明文档。根据需需求规格说说明文档做做概要设计计,形成概概要设计文文档。根据概概要设计文文档做详细细设计文档档。在编码码及测试阶阶段协助程程序员、测测试人员编编码和测试试。程序员:根据详细设设计文档进行编码码,并对自自己的代码码模块进行行单元测试试,形成单单元测试报报告。测试员:在编码完成成后,做系系统测试,形形成测试报报告,通知知项目经理理测试结果果。文档管理员员:对所有项目目文档进行管理理,保持所所有文档的同步与与一致。七、项目成成员结构八、项目实实施阶段整个项目分分为三个阶阶段:开始始阶段、实实施阶段、收收尾阶段。(1)、项项目开始阶阶段1 确定定项目组成成员2 确定定组织结构构3 确定定项目组成成员在项目目中的具体体角色及其其工作职责责(2)、项项目实施阶阶段1 项目目经理制定定项目开发发计划2 准备备基础设施施(软件、文文档摸板、工工具)3 按照照项目开发发计划由项项目经理组组织实施 每周定期召召开项目组组全体成员员会议会议内容包包括:阶段段总结、当当前项目开开发进度、下下阶段计划划安排、当当前遇到的的各种困难难(技术上上的、或组组织上的或或人力上的的等等)。 项目组成员员每周撰写写周计划、周周总结。 项目所有相相关文档、代码要要保持同步步更新及版版本一致。 项目组成员员在每天开开始工作前前,下载所所有最新文文档与代码。在在每天工作作结束后上上传所有自己己更新的文文档与代码。(3)、项项目收尾阶阶段总结文件存档九、项目服服务规范项目服务贯贯穿于整个个项目,从从开始至收收尾,服务务对象为客客户。1. 日报、周报报、月报自项目正式式启动之日日起,项目目组成员需需向项目经经理提供相相关工作日日报、周报报、月报。项项目经理整整合后需每每日向客户户提供项目目情况日报报,每周提提供周报、每每月提供月月报(注:可忽略日日报,视项项目情况而而定)。2. 问题响应时时间客户提出问问题需做到到及时响应应,并分出出问题的轻轻重缓急。暂定办法为为:l 客户提出问问题,做到第一时间间响应,如如:“已收收到,稍后后给您回复复!”;l 所有问题汇汇总后上报报相关部门门负责人,且且每个问题题均需分出出“优先级级”:高、中中、低三个个等级;² 优先级为“高高”的问题题:第一时间间解决,并并给出解决决时间;² 优先级为“中中”的问题题:正常工作作安排,给给出解决时时间按;² 优先级为“低低”的问题题:可暂缓处处理,但需需给出最终终解决时间间;² 问题解决完完成,反馈馈给客户经经理时,需需附上解决决方法,如如暂时无法法解决,需需说明原因因;l 客户经理需需当天邮件件反馈客户户,并提出出修改时间间范围。3. 跟踪提醒服服务项目进行过过程中,会会需要客户户提供很多多项目相关关的文档资资料,项目目经理、需需求分析师师需及时提醒客户相相关负责人人索取。需求确认也也要及时,便便与项目的的快速启动动。解决问题反反馈:问题题解决后,需需要收到客客户的反馈馈信息,注注意提醒客客户。13