FAQS Chinese

常見問題

2016年3月更新

請通過Facebook和LinkedIn和我們聯繫,欢迎您在朋友圈分享我们的信息

IFPUG網站,請收藏供以後參考
IFPUG Facebook主頁,請點擊「Like」
IFPUG Twitter,了解白皮书的最新版本和其他新闻
IFPUG LinkedIn,請點擊「Follow」

如果要建議其他的常見問題或編輯本頁中的問題,請點擊 聯繫我們并在信息主题中包含 “IFPUG FAQ”字样
IFPUG FAQ PAGE 的頂部

IFPUG會員和非會員均可以從網站下載相關的文檔,您可以註冊成為IFPUG會員,也可延续您的会员资格

1.功能點是什麼?SNAP是什麼? 功能點和SNAP之間有何區別?
2.功能點適用于所有人嗎?
3.為什麼要進行度量?
4.IFPUG會員資格有什麼用?
5.如何向開發人員和專案經理們說明功能點分析的重要性?
6.協助工具點估算的工具有哪些?
7.如何向使用者說明功能點分析的重要性?
8.什麼是功能點基線?
9.為什麼不用程式碼?
10.程式碼轉換為功能點怎麼樣?
11.我們需要提升,應該從哪兒開始呢?
12.想要提升生產率,需要收集哪些資訊?
13.CIO需要瞭解功能點嗎?
14.CIO需要瞭解敏捷開發和功能點嗎?
15.想要提升估算能力,需要收集哪些資訊?
16.想要提升品質,需要收集哪些資訊?
17.我們需要認證的CFPS顧問嗎?
18.功能點顧問需要具備什麼能力?
19.在哪裡找功能點顧問呢?
20.在哪裡可以瞭解到功能點相關的更多資訊?
IFPUG
常見問題
頁面

1.1功能點是什麼?
功能點是用來表示軟體規模的一种国际标准度量单元IFPUG功能规模度量方法(IFPUG CPM4.3.1)基于软件的逻辑设计和功能需求对软件提供给用户的功能进行了量化量化结果数据被称为功能点鉴于此功能点计数的目标为

功能點還有許多其他用途,如在许多IT公司把功能点作为度量生产率和质量标杆时用到的规模单位(如每FP……)想要了解IFPUG FP方法的更多内容以及度量非功能需求的软件非功能评估过程(SNAP)请点击以下链接

1.2 SNAP是什麼

SNAP是「Software Non-functional Assessment Process」的縮寫,它是一种补充功能点的软件度量方法SNAP方法可以对非功能需求的规模进行度量SNAP丝毫不会替代功能点的用途,相反,它应该与功能点一起应用SNAP方法是IFPUG在软件规模度量方面持续改进的工作结果

1.3功能點和SNAP之間有何區別?

簡單地說,功能點度量軟體應用中資料流程以及資料存儲的規模,所以功能点度量功能性的用户需求SNAP度量软件功能的其他方面——例如数据配置算法决策树数据验证以及诸如更换logo功能点等非功能目前总共包含14个类型的功能用户功能性需求简称为“FUR”用户非功能性需求简称为“NFR”度量功能性需求的方法参见CPM手册,度量非功能性需求的方法參見APM手冊,两者均可以从IFPUG的官方网站购买和下载

1.4 如何應用功能點和SNAP點來確定軟體的總體規模?

软件的总体规模由功能点度量结果和SNAP度量结果共同组成例如某个软件应用的规模可以表述为800个功能点和300个SNAP点因为两者不同,所以不能簡單將其相加,例如不能說該軟體應用規模為1100點,但可以将其表述为类似800+300i这样的形式

功能点和SNAP点都与软件开发工作量密切相关开发软件新产品或者升级已有软件所需的工作量是完成功能点所需的工作量(功能点数量乘以单位功能点所需工作量)和完成SNAP点的工作量(SANP点数量乘以单位SNAP点所需工作量)之和

1.5應用SNAP的必要性有多強?

应用SNAP的必要性主要取决于软件应用的类型许多软件开发人员和软件开发团队认为他们所付出的许多工作量并不能从功能点数量上得到客观反映,例如針對那些演算法比較集中的應用,或者存在大量資料校驗的應用,或者是人机工程要求较高的应用(例如对页面布局或者logo应用方面有较多的要求和考虑)针对上述的应用特点应用SNAP方法可以较好地克服单独应用功能点方法所存在的不足SNAP方法对于软件开发人员而言是一种更公平更受欢迎的度量方法应用SNAP方法可以更好地预测新开发项目和升级项目所需的成本和进度

1.6如何向軟體發展人員和專案經理說明SNAP的重要性?

軟體發展人員在滿足非功能性需求方面花費了大量的工作量,但這些工作量卻無法在功能點產出方面得到體現,软件开发人员将会直接感受到引入SNAP方法对工作量评价带来的好处

如果同時應用軟體功能點方法和SNAP方法,專案經理就可以更合理地設置專案的預算,他們可以向專案的出資人說明在軟體中包含了更多的軟體資產——除了可以用功能點衡量的功能資產,还包括应用SNAP方法衡量的非功能资产

1.7估算軟體專案工作量最準確的方法是什麼?

根據Capers Jones(2012),用人工方式度量功能點的誤差大約為10%,如果綜合度量功能點和SNAP點,則其誤差大約為5%,下面是应用各种方法度量误差的类表信息

1.8 應用SNAP方法的好處是什麼?

同時度量軟體功能規模和軟體非功能規模對IT組織而言,会带来多方面的好处它可以为软件项目的开发过程和软件应用的维护过程提供更好的洞察力包括如下各种用途

  • 提供軟體規模和軟體工作量的相關關係,因為軟體發展人員的任務往往既包含滿足功能需求,也包含滿足非功能性需求
  • 可以提高估算軟體專案工作量和交付時間的準確程度
  • 軟體發展人員投入在非功能方面的工作量會得到充分認可
  • 軟體使用者可以更好地瞭解軟體應用為組織帶來的好處
  • 客戶可以更好(以及量化)地認識到投入資金的回報價值
  • 關於軟體發展生產率的解釋將更合理,關於每功能點所需花費的工作量變動將得到更全面的分析
  • 對那些只具備非功能需求的專案也可以度量規模
  • 軟體專案之間的KPI差異情形將得到更好的解釋

1.9 SNAP的應用現狀如何?

目前SNAP在美国亚洲以及欧洲的应用还处于起步阶段应用SNAP方法的公司为数不多

1.10如何學習SNAP?

您可以从IFPUG的官网免费获得SNAP评估手册(APM)除此之外,IFPUG網站也列出了提供SNAP認證課程的公司清單 (http://www.ifpug.org/certification/training-materials-certification/)

返回
IFPUG
常見問題
頁面

2.功能點適用于所有人嗎?
這個問題沒有確定答案,要看你是否需要知道你所在的軟體發展專案中開發或升級的軟體的大小,或者你是否需要知道软件组合中软件系统的大小功能点度量能和其他度量指标一起帮助你快速了解项目和应用的如下信息

  • 什么项目生产率更高
  • 什么项目提供更高质量的软件产品或应用
  • 什么项目估算更准确
  • 什么项目需要过程改进方法
  • 什么项目偏离了预算和成本基线
  • 什麼專案的專案績效低(或高)

如果在你的IT職責中遇到了以上問題,那麼功能點分析對你很適用!

返回

IFPUG
常見問題
頁面

3.為什麼要進行度量? 世界前25%的公司(來源於ISBSG)都用軟體度量來管理他們的IT以及軟體發展,原因如下

  • 不能度量就无法管理
  • 識別專案和軟體應用的問題並採取糾正措施 一般來說,大的IT專案45%會超出預算,7%會延期,56%会达不到预期价值软件项目在成本和进度方面都面临高风险以上结论由麦肯锡和牛津大学2012年10月联合得出
  • 比較不同供應商對RFP(招标文件)的投标报价
  • 度量可對專案目前狀態進行評估,有助于对软件开发过程的了解和改进。(參見Guidelines to Software Measurement – Release 1.1, pg.2-4, 3-7 – 3-8;)
  • 有助於確定公司軟體發展的最佳實踐
  • 度量交付軟體的品質,对提供高质量软件的开发团队给予经济鼓励
  • 基於功能點和SNAP的度量提供了一種和客戶溝通軟體需求規模的途徑,并且基于功能点数据很容易计算出生产率质量和估算精度
  • 你的许多竞争对手可能已经有这些观念了

返回

IFPUG
常見問題
頁面

4.1 IFPUG會員資格有什麼用?
本網站及其他許多資訊對會員和非會員都是免費的,但成为IFPUG会员有如下好处

  • 提供和世界上不同公司的專家現場或網路溝通的機會,这些专家都有度量经验或在做度量相关的工作
  • 對ISBSG標杆資料(用於精益六西格瑪)及其他产品享受折扣价
  • 提供加入功能点标准委员会的机会
  • 每年的知识分享会可以提供
    • 认识度量领域人士的机会
    • 通过会议之前的研讨会可以得到学习和继续教育优惠的教育机会
    • 提供培訓和認證測試的途徑,可以獲得全球公認的認證資格,包括
      • CFPS:认证功能点专家(最早且获得最广泛认可的功能规模度量资格)
      • 傾點:认证功能点从业者(从事功能点度量的专业人士但不一定是专家)
      • CSP:认证SNAP从业者(世界范围内唯一的测试软件非功能需求度量知识的资格)
    • 有接受行业专家和经验丰富的从业者在度量领域成功(包括失败)经验的机会
  • 专业出版物
    • Metric Views(半年刊)- 有印刷版和電子版,内容包括软件度量文章IFPUG新闻委员会更新以及软件度量界的最新进展信息等
  • 享受IFPUG產品的大幅折扣,包括
    • ISO標準和IFPUG計數實踐手冊(CPM),包括接近300页的计数规则方法及实例
    • FP Case Studies,提供了如何把CPM规则应用到软件需求度量中的功能点计数实例
    • 管理報告指南,提供成功应用功能点交付管理结果的有用建议
    • 白皮書及其他IFPUG出版物,介绍FP如何应用在新技术(CS结构网络等)应用(如数据仓库)和方法论(如敏捷开发)中
  • 訪問IFPUG網站的會員頁,你可以在那裡找到會員之間交流軟體度量相關技術的帖子(你也可以向IFPUG社區提出問題,以獲得想要的答案),
  • 要想获得最新版的CPMSNAP或其他文档,請進入我們的線上商城,你可以在商城把商品添加到购物车并结算

請訪問線上商城

4.2 IFPUG服務需要付費嗎?
IFPUG会员享受参加会议研讨会和购买著作的折扣并能访问网站中的会员内容另外,我們鼓勵所有IFPUG會員都加入IFPUG社區,并欢迎加入我们的各个委员会其他服务目前都免费
4.3 如何向高層經理推銷功能點(以及軟體度量)?

首先要对使用功能点分析的好处了然于胸(功能点是独立于软件开发所使用的工具技术技能和方法而度量的软件规模)然后了解使用基于功能点的软件度量所带来的的投资回报率

接著需要研究可得的行業資料(對那些沒有收集歷史功能點資料的公司更有用),例如ISBSG数据
國際軟體標杆標準組(ISBSG)的標杆資料是世界範圍內的軟體發展專案資料,这些数据可有效用于项目估算项目比较分析以及评估你所在公司的项目绩效(生产率和质量)IFPUG会员享受所有ISBSG产品折扣

返回

IFPUG
常見問題
頁面

5.如何向開發人員和專案經理們說明功能點分析的重要性?
功能點分析 (FPA) 可以讓你的專案計劃更准确并有助于管理范围蔓延另外,由於使用功能點分析及歷史資料使估算更準確,开发人员更容易完成给定时间内分配的任务

返回

IFPUG
常見問題
頁面

6.協助工具點估算的工具有哪些?

新軟體開發專案可使用宇宙, 早期功能點估算可用ISBSG比較估算工具

返回

IFPUG
常見問題
頁面

7.如何向使用者說明功能點分析的重要性?
功能点分析基于功能用户需求(“按照业务过程和程序软件需要完成的功能”)评估软件的功能规模因此FPA从用户视角来看待软件并基于软件中五种标准的用户可识别的组件来确定功能点数两种存储数据实体的类型(内部逻辑文件和外部接口文件)和三种业务处理过程类型(外部输入外部输出和外部查询)FP结果(业务过程和功能组件规模列表)用用户可理解的术语描述FP计数提供了软件开发人员和用户之间沟通的通用语言FP计数过程本身也有助于发现遗漏的需求,並能提供對軟體產品規模客觀準確的估算,因此也有利于用户更好地进行预算控制

返回

IFPUG
常見問題
頁面

8.1 什麼是功能點基線?

  • 應用功能點基線是系统提供给用户的当前功能的规模
  • 公司或组织的总基线就是所有单个系统基线计数之和

8.2 我需要功能點基線嗎?

这取决于你想用功能点基线做什么如果你的目标是为了替换软件应用而评估其规模那么了解当前应用有多大将有助于估算重置成本如果你的目标是能够准确评估一年中通过软件升级修改或增加了多少软件功能那么你可能需要有功能点基线

  • 如果你的目标是提升项目质量生产率或估算精度,那麼你可能不需要功能點基線,而需要度量软件开发或升级的规模
  • 如果你的目標是在專案組合或應用集中比較支援和維護成本(每FP成本),那么你需要知道那些应用的功能点基线以及每个项目的基线

返回

IFPUG
常見問題
頁面

9.為什麼不用程式碼(計算生產率或品質時作為軟體規模的度量單位)?

这个问题在公司考虑用FP还是代码行(SLOC)作为软件规模度量单位时经常会遇到FP具有独立于技术和实现的优点而代码行有以下缺点

  • 使用代码行倾向于鼓励臃肿的设计而不是简洁的设计(例如“意大利面条式”代码不会像好的编码设计那样高产且实现相同的功能需要代码行更少当用代码行表示时代码行多并不一定意味着生产率高)
  • 没有针对代码行的行业标准(ISO或其他)(例如有人提倡数非注释命令行但这种做法并没有得到广泛接受)
  • 代码行并不能跨平台语言或组织而标准化使用(因为不同编程语言和编程习惯下实现相同功能代码行数也会不同)
  • 某些第四代语言(4GL)甚至不能用代码行度量
  • 基於程式碼的生產率很容易引起歧義–參見刺山柑鐘斯 生產率悖論

返回

IFPUG
常見問題
頁面

10.轉換(使用基於程式設計語言的轉換表把SLOC轉換成FP)怎麼樣?

  • 轉換是基於程式碼的,因此会陷入和使用代码行相同的困境
  • 它可以用在未来不需要做多少修改的遗留系统中
  • 如果不考慮準確度的話,转换还是有用的

返回

IFPUG
常見問題
頁面

11.1 我們需要提升,應該從哪兒開始呢?

  • 首先需要确定哪方面需要提升GQM (目標,問題,度量)过程有助于解决这个问题其他免费资料(可下载)可以从實用的軟體和系統測量 (強調) 網站 获取一旦确定了目标,FP規模作為生產率和資產收益率的分母,可能会成为需要收集的重要数据
  • 提升目標一旦確定,也就明确了应该从哪儿开始提升(例如质量生产率或估算精度等)
  • 加入IFPUG并和其他会员通过内部论坛交流基于功能点的软件过程改进和度量成功经验

11.2 如果僅自己和500名開發人員,我該怎麼開始呢?
确定你的开发团队目前最关键的问题针对最关键问题开始度量过程(使用GQM过程)并及时沟通度量结果以获得支持和认同专家建议首先在小范围内开始度量程序度量结果获得认同后再在整个公司内推广这样,你可以確保度量目標的正確,度量程式的正確,并在大范围推广度量前获得一些成功经验

11.3 如果生產率很重要,我应该度量什么生产率-新开发项目维护等等?
同樣,这取决于你的度量目标根据GQM方法你可以使用帕累托法则(80/20法则)来确定问题所在以及首先进行生产率度量的目标区域例如如果在软件支持/维护方面人手不足以及存在挑战那么支持率(如每1000FP所需的支持人员数量)可用来客观证明是否人手不足

返回

IFPUG
常見問題
頁面

12.1想要提升軟體發展生產率,需要收集哪些資訊?

  • 生產率可以用不同的比率來表示,其中包括功能点可参考the Guide to Management Reporting(IFPUG出版)或the ISBSG Practical Project Estimating(ISBSG产品)

12.2為了進行FP計數,我需要做什麼?

IFPUG CPM(当前版本4.3.1)中说明了FP计数时需收集的文档第一步需要确定计数目的和范围,以及計數類型,即开发项目升级项目还是应用的功能点计数注意软件的每部分都具有独立的应用边界(详细请参考CPM)都应该分别进行FP计数

為了進行功能點計數,需要了解软件的如下信息(功能用户需求)

  • 使用者可定義的輸出,这些输出穿过应用边界且是基本过程的处理结果(如报表格式界面显示输出文件等)
  • 使用者可定義的輸入,这些输入穿过应用边界并且触发基本过程的执行(如界面输入文件输入批量文件输入等)
  • 由应用维护的用户可定义的数据存储(如文件表定义数据库或实体定义)
  • 应用仅访问引用的用户可定义的数据存储(如文件表定义)
  • 穿过应用边界的用户可定义的查询(如报表格式界面显示等)
  • FP计数过程在IFPUG CPM中有详细的说明
  • 支援率=應用功能點/支援應用的工作小時
  • 升級率=專案中升級的功能點/專案工作小時
  • 交付率=交付的軟體應用的功能點/日曆時間
  • 關於功能點分析的更多資訊,请参考IFPUG CPM
  • 為了提高交付率的敏捷軟體發展方法

返回

IFPUG
常見問題
頁面

13.CIO需要瞭解軟體規模(FP和SNAP)嗎?

對於高級管理人員來說,IT组合管理非常重要软件规模有助于评估IT项目的投资回报还可以用来对不同实施方案进行成本-效益分析比较。功能點、SNAP点可以和其他度量指标(项目工作量缺陷等)结合使用用来监控趋势和进行标杆比对分析

返回

IFPUG
常見問題
頁面

14.CIO需要瞭解敏捷開發和功能點嗎?
使用任何度量方法比較或評估不同類型的專案或合同時,最需要考虑的是一致性针对敏捷项目开发人员常常拒绝使用FP(认为敏捷项目不能用FP度量)或接受FP(认为用FP度量敏捷项目能比瀑布型项目得到更多的FP)这两种认识都是错误的!FP表示基于功能用户需求的软件交付部分的规模这些功能是完整的和连续的业务过程。(參見文章 計數 FP 敏捷反覆運算專案 。)

FP是一種評估固定總價合同的有效方法,也可以用来在软件开发项目的招标过程中比较竞标者的RFPs(例如若两家竞标者的FP报价差别很大则说明其中一个供应商可能没有完全理解待开发软件的功能需求)

在外包和軟體發展行業中,IBM和CGI都使用FP(且拥有认证功能点专家团队)评审提交的建议书

不同的合同類型都能從使用功能點估算中受益,有些国家(包括意大利巴西韩国芬兰)逐渐要求建议书中使用功能点估算并且在软件合同中使用功能点报价(每FP成本)

返回

IFPUG
常見問題
頁面

15.想要通過使用FP提升估算過程,需要收集哪些資訊?
軟體估算本身是一個完整的過程,但是使用功能点作为输入进行项目估算的前提至少包括以下信息

  • 开发类型(新开发或升级)
  • 平台(硬件和架构)
  • 语言(编程语言或级别)
  • 团队经验
  • 技术(开发方法)
  • 外部约束
  • 範圍蔓延

為了做好估算,使估算可靠,無論你是使用公司內部的評估方法,使用ISBSG的歷史交付率,還是使用專業套裝軟體,你都需要了解相似项目的交付率市场上有一些有助于提高估算准确度的软件包

返回

IFPUG
常見問題
頁面

16.想要提升品質,需要收集哪些資訊?

  • 质量对不同的人含义不同确定你所在组织对质量的定义可以从ISO 9126的软件系统质量属性以及GQM过程获得帮助
  • 质量度量的例子有
    • 缺陷密度-缺陷數量/功能點規模
    • 缺陷交付率-上线第一个月发现的缺陷数量

返回

IFPUG
常見問題
頁面

17.我們需要認證的CFPS顧問嗎?
这个问题需要每个公司自己来回答需要考虑的有

  • 我們需要在幾個月中得到完整的功能點基線嗎? 如果答案是肯定的,那么最好有几个认证顾问来帮你当功能点基线完成后你可能需要一个或多个认证的功能点计数人员来自己维护这个基线
  • 我们只想开始功能点计数并估算“大项目”如果是这样你可以派几个员工参加IFPUG研讨会或年会从而接受培训经过培训他们可以执行功能点度量并开始收集数据你可能也需要一名或多名认证员工来审计功能点度量结果
  • 你可能只能從老闆那裡得到我們需要開始度量的指示,而没有更详细的信息如果这样,你可以引進顧問,执行GQM会议来确定度量从哪里开始你也可以派几个员工参加IFPUG研讨会或年会从而接受培训
  • 你處在一個大型公司,老板想立刻开始度量所有信息如果这样你可能需要一个顾问来
    • 执行GQM会议
    • 培训几个员工进行功能点计数
    • 你也可能需要指定幾人為工作量協調員,几人执行功能点计数并收集数据协调员应该为认证功能点人员,因為他們會對功能點計數進行審計,并且当出现问题时做出判断

返回

IFPUG
常見問題
頁面

18.1功能點顧問需要具備什麼能力?

  • 有功能点计数专业知识的人
  • 應為IFPUG認證功能點專家(CFPS),使用SNAP時,应为CSP
  • 应在和你相近的行业中具有功能点计数经验
  • 好的人际关系技能以及和你公司文化相容
  • 具有把功能点应用到度量程序中的度量专业知识

18.2如何確認顧問的IFPUG認證資格?

在IFPUG网站的“Public Certification Search”进行查询

返回

IFPUG
常見問題
頁面

19.1在哪裡找功能點顧問呢?
查看供應商清單列表中有属于IFPUG会员的所有供应商

19.2還有誰能當顧問?
IFPUG有世界各国的的许多会员会员来自各个行业包括但不限于

  • 航太航空
  • 銀行
  • 金融
  • 通信
  • 保險
  • 製造
  • 公用事業
  • 零售業
  • 政府
  • 電腦系統開發

IFPUG會員最大的好處之一是能訪問IFPUG會員網路(通過討論群組或郵件),那裡有會員成功經驗,包括基于FP的度量以及过程改进程序

返回

IFPUG
常見問題
頁面

20.在哪裡可以瞭解到功能點相關的更多資訊?
參考我們的文獻/資料庫进一步了解功能点分析的内容

請通過Facebook和LinkedIn和我們聯繫,欢迎您在朋友圈分享我们的信息

IFPUG網站,請收藏供以後參考
IFPUG Facebook主頁,請點擊「Like」
IFPUG Twitter,了解白皮书的最新版本和其他新闻
IFPUG LinkedIn,請點擊「Follow」

如果要建議其他的常見問題或編輯本頁中的問題,請點擊 聯繫我們并在信息主题中包含 “IFPUG FAQ”字样

會員和非會員可以從線上商城下載文檔,也可以在商城续订或购买IFPUG会员资格
返回