1、 软件工程项目管理 功能点分析方法与实践 李 帜 林立新 曹亚波 编著 清 华 大 学 出 版 社 北 京内 容 简 介 对软件项目的规模进行估算和度量,已经被公认为是软件项目规范运作、成功执行的基本要求之一。正确的估算和度量可以帮助项目经理更好地规划资源投入,安排项目进度,核算工作量及进行风险管理。 功能点分析方法是一种非常可靠的度量应用系统工作产品的方法,在与客户沟通应用系统需求、度量生产率和质量、估计、管理项目范围的变更等方面非常有效。 Mk II 功能点分析方法是国际标准 ISO 14143/1 所承认的标准之一,被广泛采用。 本书是作者总结了多年的实践经验编写而成的,全书分为 4 部
2、分,内容包括:功能点分析方法的原理、作用及应用步骤, Mk II 功能点分析方法的详细讲解,如何在一个软件企业和项目组中引入功能点分析方法,以及各种常用的模板和参考资料。 本书内容丰富、理论联系实践,部分内容经过适当修改可以作为规范在项目中使用,极具实用性和参考价值,适合软件项目的技术管理人员、软件企业的管理层以及顾问咨询人员阅读参考。 版权所有,翻印必究。举报电话: 010-62782989 13901104297 13801310933 本书封面贴有清华大学出版社防伪标签,无标签者不得销售。 本书防伪标签采用清华大学核研院专有核径迹膜防伪技术,用户可通过在图案表面涂抹清水,图案消失,水干后
3、图案复现;或将表面膜揭下,放在白纸上用彩笔涂抹,图案在白纸上再现的方法识别真伪。 图书在版编目( CIP)数据 软件工程项目管理功能点分析方法与实践 /李帜,林立新,曹亚波编著 . 北京:清华大学出版社, 2004.12 ISBN 7-302-10254-6 I. 软 . 李 林 曹 . 软件开发项目管理 . TP311.52 中国版本图书馆 CIP 数据核字( 2004)第 141295 号 出 版 者: 清华大学出版社 地 址: 北京清华大学学研大厦 http:/ 邮 编: 100084 社总机: 010-62770175 客户服务: 010-62776969 组稿编辑: 科海 文稿编辑:
4、 安靖 封面设计: 林陶 版式设计: 科海 印 刷 者: 北京市耀华印刷有限公司 发 行 者: 新华书店总店北京发行所 开 本: 787 1092 1/16 印张: 13.875 字数: 337 千字 版 次: 2005 年 3 月第 1 版 2005 年 3 月第 1 次印刷 书 号: ISBN 7-302-10254-6/TP 6989 印 数: 13 000 定 价: 35.00 元 本书如存在文字不清、漏印以及缺页、倒页、脱页等印装质量问题,请与清华大学出版社出版部联系调换。联系电话: ( 010) 82896445 序 随着计算机技术的发展,软件在我国现代化建设中起到越来越重要的作用
5、。软件行业作为一个新兴行业,也从无到有,从国防军用科研渗透到各行各业,特别在商业领域的发展得到了前所未有的普及。软件项目的规模也越来越大,越来越复杂。为了应对这些挑战,工业界和学术界进行不断的探索,取得了丰硕的成果,其中一个最重要的成果就是CMM模型(能力成熟度模型)以及CMMI模型(集成能力成熟度模型)。 CMM和CMMI是美国卡内基梅隆大学软件工程研究所在Hummphrey先生领导下研究发展的一套软件过程改进体系模型,这个模型总结了软件行业40多年的发展经验,具有广泛的适用性和有效性。我曾和Hummphrey先生共同探讨在发展中国家发展软件行业的方式和方法,认为在我国软件企业还普遍偏小偏弱
6、的情况下,推广CMM、CMMI具有重要的战略意义。为了帮助提高国内软件企业的竞争力,我从2001年回到国内,致力于推广CMM、CMMI在国内软件企业的普及和应用。到今年,我辅导评估的企业有近百家。这些企业规模大小不同,从事行业也非常丰富。有专门从事外包行业的,也有从事应用软件开发和行业软件开发的。通过实施以CMMI和CMM为基础的过程改进,推动了这些企业进一步发展,并在管理、市场和技术上取得了比较好的回报。 在实施以CMM为基础的过程改进中,软件度量是一个很重要的任务,通过度量可以帮助软件项目和软件企业提高产品服务质量,提高项目管理水平和改进开发管理过程。著名软件工程专家Carol A. De
7、kkers曾经说过“简单的说功能点就是软件行业中的平方米”,它可以直观和方便地帮助我们了解软件产品的规模、项目的大小,从而更好地编制计划,监控管理项目,保证产品服务质量。作为软件项目的项目经理,学习和掌握度量技术,特别是功能点分析方法,是职业发展的一个很好手段。在发达国家功能点分析方法是高级软件项目经理的必备技能之一,在很多大型应用软件项目中,功能点分析方法起到了非常关键的作用。 本书的作者之一是我辅导的国内一家大型软件企业的运营管理部总经理,SEPG组长,他聪明,热情,工作经验丰富,善于学习,善于思考,有很强的工作协调能力。在我辅导推进的不长时间内,这家企业从无到有,建立起一套实用有效的软件
8、开发制度,并且有效地与ISO 9000以及项目管理制度相结合,取得了很好的成绩。我鼓励他把实践的经验总结下来,同大家分享。经过将近1年的努力,有了这本书。 这是国内第一本关于功能点分析方法的著作,书的第1部分介绍了功能点方法的原理、作用、应用步骤,以及国际上流行的4种主要功能点方法。使对这一方法还不甚熟悉的读者获得宏观的了解及感性认识。第2部分详细讲述了4种功能点方法中最易于使用的Mk II方法,这一部分可以作为应用者的实践指南,具体讲解如何进行分析测量。第3部分则结合作者的实践经验讲述了在软件组织中引入这一方法所涉及的方方面面。其中的案例对准备在自己的组织中实践功能点方法的读者具有借鉴意义。
9、第4部分是有关功能点方法的规范与模板。作者希望通过这样的安排,使本书既适合于读者学习了解功能点分析方法和软件度量,也便于把本书当作操作手册使用。本书构思很好,书中的很多内容是作者亲身实践的经验总结,希望能够对大家的工作有所帮助。也希望借此书促进功能点分析方法在国内的普及,推动软件行业的发展。 周伯生 2005年1月 前 言 实践是检验真理的唯一标准。 毛泽东 现代软件项目的管理越来越规范,特别是企业引入的CMM和PMP等现代管理思想和管理方法,要求我们按正规化的流程执行软件开发。按照要求,软件项目要做计划,计划是根据软件规模等量化的数据制定的,这是CMMI/CMM的基本要求,也是规范化工作的基
10、本指导思想。 在工作实践中,软件项目的管理人员总是对软件规模的估算心存疑虑,原因如下: 软件开发的性质决定了软件开发存在很多不确定因素。 国内的软件规范化起步较晚,还停留在比较初级的阶段,很多软件开发只有几个人,甚至一个人单独就可以完成。 国内的软件开发管理水平还不够高,个人英雄主义在实际工作中盛行,没有很好的团队合作。 随着信息化建设的全面展开,大型应用软件的广泛采用,要求几十人甚至上百人的密切合作,软件规模高达千万行,而且软件在整个业务中所扮演的角色越来越重要,客户也逐渐认识到软件开发项目所固有的一些特点,这些特点不同于传统行业,这必然要求软件开发项目的管理措施越来越规范,通过规范的软件开
11、发过程来保证软件的整体质量,满足客户要求。 编者所在的公司面临同样的问题,随着公司的发展,原来不规范的管理措施现在要逐步规范。编者在规范化推进过程中积累了一些经验,有着深刻的体会,希望通过本书与大家共享。 通过实践,编者认为在软件项目中实施功能点分析方法在一定程度上能够帮助软件项目解决很多管理问题,能够促进项目的规范化,进而促进和保证软件项目的成功,提高客户满意度,创造新的市场机会。 本书是专门介绍功能点分析方法的书,分为4个部分,各部分内容如下: 第1部分包括14章,主要是对功能点分析方法的介绍,以一个实例为切入点,全面介绍功能点分析方法的历史、概念、组成原理和应用。 第1章以一个简单的例子
12、为切入点,主要结合PMBOK和CMM、CMMI理论,以及软件企业的实际情况,介绍规范的软件项目计划编制过程和软件项目的监控跟踪活动,说明功能点分析方法可以起到的作用。 第2章介绍软件项目计划的制定、执行的过程及其内容,为后面介绍功能点分析方法奠定基础。 第3章介绍现有的各种功能点分析方法,以及功能点分析方法和其他分析方法(例如代码行分析方法)的比较。 第4章从操作层面介绍在软件项目执行过程、软件企业的各种具体工作中如何应用功能点分析方法。 第2部分包括510章,详细讲解Mk II功能点分析方法,这部分内容可以作为指导操作的参考手册,经过适当的修改还可以作为规范在项目中使用。 第5章介绍Mk I
13、I功能点分析方法的基本情况。 第6章介绍所有Mk II功能点分析方法要遵守的规则。 第7章介绍功能点分析方法的测算步骤。 第8章详细介绍Mk II功能点分析方法的规则,并结合实际例子说明在不同条件下如何应用这些方法。 第9章介绍如何将Mk II功能点分析方法应用到项目实践中的基本知识。 第10章介绍文档记录过程,并提供了记录表格模板。 第3部分包括1114章,着重从实践的角度,探讨如何在一个软件企业和项目组中引入功能点分析方法。 第11章介绍企业对项目的支持。 第12章介绍项目的组织安排。 第13章介绍一个在企业中实施功能点分析方法的案例。 第14章介绍一个在项目中实施功能点分析方法的案例。
14、第4部分包括3个附录,提供了各种常用的模板和参考资料。 附录A提供了4个模板和一些表格。 附录B是本书的词汇表,为了便于交流,编者列出了中英文对照的解释。 附录C介绍了一些参考文献和参考网站,这对于想深入研究功能点分析方法的读者非常有用。 为了便于读者理解并说明功能点分析的应用环境,书中介绍了一些软件项目管理和软件企业管理的内容,但这些不是本书的主题。如果读者对这些内容感兴趣,可以参考其他软件工程及软件项目管理方面的书籍。 如果读者是第一次接触软件项目管理和功能点分析方法,在阅读本书前,最好先阅读一些软件项目管理和软件工程的书籍,对软件项目管理有一定的了解,一定要理解和接受CMMI和PMBOK
15、的相关知识与方法,特别要对软件度量的基本概念和基本方法有清晰的了解。 如果读者已经获得了PMI认证的PMP,或者已经有数年从事软件项目的高层管理、软件架构设计、SQA、编码及测试的实践经验,对现代项目管理体系有充分的了解,了解软件度量的基本概念,但是第一次接触功能点分析方法,建议按以下顺序阅读:第1部分的第4章,第3部分,第1部分的其他章,第2部分。 如果读者已经掌握软件项目管理和功能点分析方法的知识,可以直接阅读第2部分,第2部分可以作为Mk II功能点分析方法的手册使用。 本书的第4部分提供的模板都是在实际工作中使用的,如果读者已经对方法本身有深刻的理解,经过适当的修改,可以将其直接在工作
16、中使用。 功能点方法在国内实践的时间并不长,在具体操作中也还需要更多的理论与实践积累,加之编者水平有限,书中难免存在错误和疏漏之处,敬请广大读者和专家不吝指正,电子邮件地址:。 编者 2005年 1月 目 录 第1部分 功能点分析方法介绍 第1章 功能点分析方法简介. 2 第2章 软件开发过程简介. 5 2.1 软件开发的基本概念. 5 2.2 软件项目计划的基本制定过程及其基本内容. 9 2.2.1 软件项目计划的基本制定过程. 9 2.2.2 软件项目计划的基本内容. 11 2.3 软件项目执行的基本控制过程及其基本内容. 12 2.4 小结. 13 第3章 功能点分析方法. 15 3.1
17、 功能点分析方法的概况. 15 3.1.1 功能点分析方法的目标. 15 3.1.2 功能点分析方法的发展历史. 16 3.1.3 功能点分析方法的基本哲学原理. 18 3.2 功能点分析方法的基本概念. 20 3.2.1 功能点分析方法的主要内容. 20 3.2.2 功能点分析方法的基本过程. 25 3.2.3 功能点分析方法的结果的表示方法. 25 3.2.4 功能点分析方法的结果的使用. 25 3.2.5 功能点分析方法的特点. 26 3.3 各种功能点分析方法和基准库介绍. 26 3.3.1 ISO国际标准介绍. 26 3.3.2 Albrecht/IFPUG功能点分析方法. 27 3
18、.3.3 荷兰软件功能点分析方法. 28 3.3.4 Mk II功能点分析方法. 28 3.3.5 全功能点分析方法. 29 3.3.6 4种方法的比较. 29 3.3.7 其他功能点分析方法. 30 3.3.8 国际软件基准组织. 31 3.4 功能点分析方法和代码行分析方法. 32 3.4.1 代码行分析方法简介. 32 2 目 录 3.4.2 COCOMO模型介绍. 33 3.4.3 功能点和代码行之间的转换. 36 3.5 小结. 37 第4章 功能点分析方法的应用. 38 4.1 功能点分析方法的基本功能. 38 4.1.1 软件度量. 38 4.1.2 功能点在软件度量中的基本作用
19、. 42 4.1.3 其他软件测量. 47 4.1.4 结合功能点分析方法的综合度量. 48 4.2 应用功能点分析方法的前提条件. 49 4.2.1 思想基础. 49 4.2.2 技术基础. 50 4.2.3 管理基础. 51 4.2.4 培训. 52 4.3 功能点分析方法在项目管理中的基本应用. 53 4.3.1 在项目立项阶段中的应用. 54 4.3.2 在项目计划编制过程中的应用. 54 4.3.3 功能点分析方法在项目执行过程中的应用. 70 4.3.4 功能点分析方法在软件项目收尾阶段中的作用. 76 4.4 功能点分析方法在项目中的复杂应用. 78 4.4.1 功能点分析方法在
20、项目计划编制过程中的应用. 79 4.4.2 功能点分析方法在项目执行过程中的应用. 85 4.5 功能点分析方法在组织建设方面的作用. 85 4.5.1 建立企业度量数据库. 86 4.5.2 最佳实践的确认. 87 4.5.3 预测管理和绩效管理. 89 4.6 功能点分析方法在其他方面的作用. 89 4.6.1 度量软件过程改进的投资回报率. 89 4.6.2 用于对功能包组成和软件包实现的估计. 89 4.6.3 用于合同管理和合同支付. 90 4.6.4 用于对软件资产进行评估. 91 4.7 功能点分析方法的缺陷. 91 4.7.1 语义定义存在困难. 91 4.7.2 步骤太多.
21、 92 4.7.3 不完整. 92 4.7.4 武断的调整因子. 92 4.7.5 无法自动化计算. 92 4.7.6 没有考虑质量因素和技术因素. 92 目 录 3 4.7.7 展望. 92 4.8 功能点分析方法的维护. 93 4.9 实施功能点分析方法的评价. 94 4.9.1 初次培训后进行评价. 94 4.9.2 初次测量后进行评价. 94 4.9.3 项目结束时的评价. 95 4.10 小结. 95 第2部分 Mk II功能点分析方法 第5章 Mk II功能点分析方法的基本情况. 98 5.1 Mk II功能点分析方法的定义和用途. 98 5.2 Mk II功能点分析方法的可应用性. 98 第6章 Mk II功能点分析方法的规则. 100 第7章 Mk II功能点分析方法的测算步骤.