>サイトトップへ >このカテゴリの一覧へ

X 0143

:2013 (ISO/IEC 19761:2011)

(1)

目  次

ページ

序文  

1

1

  適用範囲  

2

2

  用語及び定義  

2

3

  記号及び略語  

6

4

  測定の単位  

7

5

  測定活動  

7

5.1

  一般  

7

5.2

  FSM の目的及び範囲の決定  

7

5.3

  FUR の識別  

7

5.4

  層の識別  

7

5.5

  機能利用者の識別  

8

5.6

  ソフトウェア境界の識別  

8

5.7

  機能プロセスの識別  

9

5.8

  データグループの識別  

9

5.9

  データ移動の識別  

9

5.10

  データ移動の分類  

10

5.11

  機能規模の計算  

10

5.12

  FUR の変更に対する機能規模の計算  

11

6

  測定結果報告  

12

6.1

  命名規約  

12

6.2

  測定結果の文書化  

12

附属書 A(参考)利用者機能要件の抽出  

13

参考文献  

15


X 0143

:2013 (ISO/IEC 19761:2011)

(2)

まえがき

この規格は,工業標準化法第 14 条によって準用する第 12 条第 1 項の規定に基づき,日本ファンクショ

ンポイントユーザ会(JFPUG)及び一般財団法人日本規格協会(JSA)から,工業標準原案を具して日本

工業規格を改正すべきとの申出があり,日本工業標準調査会の審議を経て,経済産業大臣が改正した日本

工業規格である。これによって,JIS X 0143:2006 は改正され,この規格に置き換えられた。

この規格は,著作権法で保護対象となっている著作物である。

この規格の一部が,特許権,出願公開後の特許出願又は実用新案権に抵触する可能性があることに注意

を喚起する。経済産業大臣及び日本工業標準調査会は,このような特許権,出願公開後の特許出願及び実

用新案権に関わる確認について,責任はもたない。


日本工業規格

JIS

 X

0143

:2013

(ISO/IEC 19761

:2011

)

ソフトウェア技術−COSMIC 機能規模測定手法

Software engineering-COSMIC: a functional size measurement method

序文 

この規格は,2011 年に第 2 版として発行された ISO/IEC 19761 を基に,技術的内容及び構成を変更する

ことなく作成した日本工業規格である。

ISO/IEC 19761:2003

及び JIS X 0143:2006(初版)は,COSMIC- FFP 機能規模測定法の第 2.1 版に基づい

ている。その後,COSMIC 法測定マニュアルの第 3.0 版が出版されたため,それに基づいて ISO/IEC 19761

が改正され,改正版が 2011 年 3 月に発行された。この規格は,JIS X 0143 の第 2 版であり,ISO/IEC 

19761:2011

とともに,COSMIC 法第 3.0 版に対応している。

この規格では,改正された主な事項は次のとおりである。

−  手法名の“COSMIC-FFP”から“FFP”が削除されて“COSMIC”と改称された。

−  測定量の単位が“Cfsu”

(COSMIC functional size unit)から“CFP”

(COSMIC Function Point)に改称さ

れた。

−  測定手順に“機能利用者の識別”が追加された。

−  “特定用途向け改訂手法”に関する規定が削除された。

ソフトウェアは,多くの企業で予算の大きな部分を占める。組織にとっては,情報分野における最良事

例との優劣を比較評価するために,ソフトウェア費用を管理し,ソフトウェア開発及び保守に充てた予算

の投資効率を分析することが重要となりつつある。そのために,尺度及び尺度を使ったモデルが必要とな

る。

尺度は,ソフトウェアの開発及び保守に関連した品質と生産性との両面を分析するために必要である。

まず,製品又はサービスの技術的な達成度を開発者の観点から定量化するために,技術的尺度が必要とな

る。技術的尺度は,例えば,設計の効率を改善するといった効率分析に活用できる。

次に,利用者又は所有者の観点から製品又はサービスの達成度を定量化するために,機能尺度が必要と

なる。機能尺度は,例えば,生産性を分析するのに必要となる。機能尺度は,技術的な開発及び実装上の

意思決定から独立していなければならない。そうして初めて,機能尺度は,異なる技法・技術の生産性を

比較することに使用することができる。

フルファンクションポイント(FFP)法は,1997 年に,主としてリアルタイムソフトウェア向けの機能

規模尺度として提案された。フィールドテストの結果とそれを適用した組織からのフィードバックとに動

機付けられ,この測定法が改良された。また,

“COSMIC”コンソーシアム(Common Software Measurement

International Consortium

)の研究成果によっても,多くの改善が行われた。こうした努力の成果が,

COSMIC-FFP

機能規模測定法(最初に付けられた名前)の第 2.1 版として 2001 年 5 月に出版された。そし

て,業務アプリケーション,リアルタイム及びシステムソフトウェアに適用できることを目指した[4]

JIS X 0143:2006

は,COSMIC-FFP 機能規模測定法のこの第 2.1 版に基づいている。


2

X 0143

:2013 (ISO/IEC 19761:2011)

この測定法を使用した多くの経験が,“COSMIC”コンソーシアム(Common Software Measurement

International Consortium

)に,この測定法の記述に対する,様々な明確化と記述の改善との必要を確信させ

た。その結果,この測定法の第 3.0 版が 2007 年 12 月に出版された[5]

。2001 年の初出版の時から,いろ

いろな変更が加えられてきたが,ソフトウェア機能規模測定の基本モデルは変わっていない。

この規格は,次のニーズを満たすことを目指している。

a)

プロジェクトコスト見積りの重要な活動として,顧客の要求を基に作成するソフトウェアの機能規模

を算定する仕事に取り組んでいるソフトウェア供給者のニーズ

b)

供給者の能力を測定する重要な要素として,納入ソフトウェアの機能規模を知りたい顧客のニーズ

この測定法の第 3.0 版で,測定法の名称を,

“COSMIC-FFP”から“COSMIC”へと変更した。測定単位

の名称も,

“Cfsu”

(COSMIC 機能規模単位)から“CFP”

(COSMIC ファンクションポイント)へと変更し

た。

適用範囲 

この規格は,COSMIC 法の定義,規約及び活動について規定する。この規格は,次の機能領域のソフト

ウェアに適用できる。

a)

アプリケーションソフトウェア

例  銀行,保険,経理,人事,購買,物流又は製造

b)

リアルタイムソフトウェア

例  −  電話交換及びメッセージ交換用ソフトウェア

−  家電製品,エレベータ,自動車のエンジンなどの機械制御装置に組み込まれた,プロセス

制御及びデータ取得用のソフトウェア

−  コンピュータのオペレーティングシステムに含まれるソフトウェア

c)

a)

及び b)が複合したソフトウェア

例  航空又はホテルのリアルタイム予約システム

この規格は,次のソフトウェア又はその一部の機能規模を測定対象とするようには設計されていない。

−  複雑な計算アルゴリズム又は特殊で複雑な規則で特徴付けられるソフトウェア,例えば,エキスパー

トシステム,シミュレーションソフトウェア,自己学習形ソフトウェア,気象予測システムなどに見

られる。

−  オーディオサウンド又はビデオイメージのような連続的な変数を処理するソフトウェア,例えば,コ

ンピュータゲームソフトウェア,楽器などに見られる。

注記  この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。

ISO/IEC 19761:2011

,Software engineering−COSMIC:a functional size measurement method(IDT)

なお,対応の程度を表す記号“IDT”は,ISO/IEC Guide 21-1 に基づき,

“一致している”こ

とを示す。

用語及び定義 

この規格で用いる主な用語及び定義は,次による。


3

X 0143

:2013 (ISO/IEC 19761:2011)

2.1

基本機能要素,BFC(Base Functional Component,BFC)

利用者機能要件の基本単位。測定を目的として FSM 手法において定義され,利用される(JIS X 

0135-1:2010

の 3.1 参照)

注記 COSMIC 機能規模測定手法は,データ移動を BFC として定義する。

2.2

基本機能要素型,BFC 型(Base Functional Component type,BFC type)

定義された BFC の種類(JIS X 0135-1:2010 の 3.2 参照)

2.3

境界(boundary)

測定対象ソフトウェアとその機能利用者との間の概念的なインタフェース。

注記 COSMIC 機能規模測定手法は,“機能利用者”という用語を使用しているが,この用語は,JIS X 

0135-1:2010

の 3.3 で規定する“利用者”という用語より狭義である。結果として,この規格は,

“利用者”よりもむしろ“機能利用者”を使用する。

2.4

データ属性(data attribute)

識別されたデータグループ内でソフトウェアの利用者機能要件として意味をもつ情報の最小項目。

2.5

データグループ(型)[data group (type)]

個別で,空でなく,順序がなく,冗長でないデータ属性の集合。そこに含まれる個々のデータ属性は,

同一の注目オブジェクト型の補完的側面を記述している(2.19 参照)

2.6

データ操作(data manipulation)

機能プロセスの内側若しくは外側へのデータ移動,及び,機能プロセスと持続的記憶域との間で行われ

るデータの移動以外のデータの処理

2.7

データ移動(型)[data movement (type)]

一つのデータグループを移動する基本機能要素。

注記 1 COSMIC 機能規模測定手法には,エントリ,エグジット,読込み及び書込みの四つのデータ

移動型がある。これら四つが COSMIC 機能規模測定手法の BFC 型である。

注記 2  測定という目的に照らして,各データ移動は関連するデータ操作までを占める,とみなす。

2.8

エントリ(型)[Entry (type)]

データグループを,機能利用者から境界を越えて,それを必要とする機能プロセスへ移動するデータ移

動。

注記  エントリは,エントリをするために必要なデータ操作(例えば,入力されたデータの妥当性確

認)までを占める,とみなす。

2.9

エグジット(型)[Exit (type)]

データグループを,機能プロセスから境界を越えて,それを必要とする機能利用者に移動するデータ移


4

X 0143

:2013 (ISO/IEC 19761:2011)

動。

注記  エグジットは,エグジットをするために必要なデータ操作(例えば,出力するデータに関連し

たフォーマッティング及びルーティング)までを占める,とみなす。

2.10

機能プロセス(型)[functional process (type)]

利用者機能要件の基本的要素であり,一意で,互いに密接に関連し,独立して実行可能なデータ移動の

集合からなるもの。

注記 1  機能プロセスは機能利用者がトリガ事象を識別したことをソフトウェアに通知するための機

能利用者からのデータ移動(エントリ)によって起動される。トリガ事象に対応して実行さ

れなければならないことの全てが完了したときに,機能プロセスが完了する。

注記 2  事象が発生したことをソフトウェアに通知することに加えて(事象の発生のソフトウェアへ

の通知に加えて)

,事象によって起動されたエントリは,事象に関連した注目オブジェクトの

データをその中に情報としてもつことができる。

2.11

機能規模測定,FSM(Functional Size Measurement,FSM)

機能規模を測定するプロセス(JIS X 0135-1:2010 の 3.7 参照)

2.12

機能規模測定手法(Functional Size Measurement Method)

JIS X 0135-1:2010

の要求事項に適合した FSM の具体的な実現で,規則の集合によって定義されるもの

JIS X 0135-1:2010 の 3.4 参照)

2.13

機能利用者(functional user)

ソフトウェアの利用者機能要件の中で,データの送信者及び/又は意図された受信者である利用者。

2.14

利用者機能要件,FUR(Functional User Requirements,FUR)

業務及びサービスの観点から,ソフトウェアが何をするかを記述する,利用者要件の部分集合。

注記  利用者機能要件には次のものがあるが,これに限るものではない。

−  データ転送(

例  顧客情報を入力する。制御信号を送信する。)

−  データ変換(

例  銀行金利を計算する。平均温度を算出する。)

−  データ記憶(

例  顧客の注文を記憶する。周辺温度を時系列で記録する。)

−  データ検索(

例  在職中の従業員を一覧表示する。航空機の現在位置を取得する。)

利用者機能要件ではない利用者要件には,次のものがあるが,これに限るものではない。

−  品質制約(

例  使用性,信頼性,効率,移植性)

−  組織制約(

例  操作場所,稼働ハードウェア,規格の遵守)

−  環境制約(

例  相互運用性,セキュリティ,プライバシー,安全性)

−  実装制約(

例  開発言語,納入日程)

JIS X 0135-1:2010 の 3.8 参照)

2.15

層(layer)

ソフトウェアシステムの機能的な分割から得られる区分で,次を満たすもの。


5

X 0143

:2013 (ISO/IEC 19761:2011)

−  層は階層を形成する。

−  階層の各レベルには唯一の層が存在する。

−  ソフトウェアシステムにおける任意の二つの層において,その間で直接データを交換する場合,ソフ

トウェアによって提供される機能的サービスに基づく“上位及び/又は下位”の階層的存在関係があ

る。

−  ソフトウェアシステムにおける任意の二つの層においてデータを交換するソフトウェアは,そのデー

タの一部だけに対して同一の解釈を行う。

2.16

測定手法(measurement method)

測定を遂行するときに使う一連の操作の論理的な順序を一般的に記述したもの。

2.17

測定手順(measurement procedure)

与えられた方法に従ってある特定の測定を遂行するときに使う具体的に記述した操作の集合。

2.18

測定プロセス(measurement process)

プロジェクト全体又は組織における測定の仕組みの中でソフトウェアの測定を確立,計画,遂行及び評

価するためのプロセス。

注記  JIS X 0141:2009 の定義 2.24 から適用。

2.19

注目オブジェクト(型)[object of interest (type)]

ソフトウェアがデータの処理及び/又は格納する要求に関して,利用者機能要件の視点から識別された

“もの”

注記 1  注目オブジェクトは,機能利用者の世界の中の,物理的なオブジェクトであることも,概念

的なオブジェクトの全体又は一部であることもある。

注記 2  この用語は,オブジェクト指向法で使用される意味でのオブジェクトを暗黙に示しているわ

けではない。同様に,エンティティという用語もデータモデリングで使用されているため回

避する。

2.20

実行環境(ソフトウェア)[operating environment (software)]

指定されたコンピュータシステム上で並行して実行するソフトウェアの集合。

2.21

対等ソフトウェア(peer software)

同一の層にあり,他のソフトウェアとデータ交換するソフトウェア。

注記  対応国際規格を制定するに当たって導入された用語であるが,一般的な“ピアツーピア”通信

方式とは直接関連がなく,この規格独特の定義である。ただし,この用語は,この規格では注

記の中でしか使われていない。

2.22

持続的記憶域(persistent storage)

機能プロセスが自分の寿命を超えてデータを格納することができる記憶域,及び/又は,他の機能プロ

セスが格納したか,同一プロセスの以前の実行によって格納されたか,若しくは他のプロセスで格納され


6

X 0143

:2013 (ISO/IEC 19761:2011)

たかのデータを読み取ることができる記憶域。

注記 1  持続的記憶域は境界のソフトウェア側にあるので,被測定ソフトウェアの機能利用者とは考

えない。

注記 2  “他のプロセス”の例としては,読出し専用メモリの製造過程でデータを格納するプロセス

がある。

2.23

読込み(型)[Read (type)]

データグループを,持続的記憶域からそれを必要とする機能プロセスの内に移動するデータ移動。

注記  読込みは,読込みをするために必要なデータ操作までを占める,とみなす。

2.24

FSM の)範囲(scope of FSM)

特定の機能規模測定に含まれる利用者機能要件の集合。

2.25

トリガ事象(型)[triggering event (type)]

ソフトウェアの機能利用者が一つ以上の機能プロセスを起動する(

“トリガする”

)要因となる事象。

注記  ある一組の利用者機能要件において,機能利用者が機能プロセスを起動する要因である各事象

は,その一組の FUR の中ではそれ以上再分割することはできない最小のものである。事象は,

既に起こったものでも,起こっていないものでもどちらでもよい。

2.26

測定単位(unit of measurement)

取決め又は慣習に従って定義し採用した特別の量で,

同じ種類の他の量をそれと比較することによって,

その量の相対的な大きさを表現するためのもの。

注記  測定単位は,慣習的に名前及び記号が割り当てられている。

ISO Guide 99:1993)

2.27

利用者(users)

ソフトウェアとやり取りをするか又は相互に影響しあう,人又はもの。

注記  “もの”の例には,ソフトウェアアプリケーション,動物,センサ,その他のハードウェアな

どがあるが,これに限るものではない。

JIS X 0135-1:2010 の 3.11 参照)

2.28

書込み(型)[Write (type)]

機能プロセス内にあるデータグループを持続的記憶域に移動するデータ移動。

注記  書込みは,書込みをするために必要なデータ操作までを占める,とみなす。

記号及び略語 

BFC

基本機能要素(Base Functional Component)

CFP COSMIC

ファンクションポイント(COSMIC Function Point)

FSM

機能規模測定(Functional Size Measurement)

FUR

利用者機能要件(Functional User Requirement)


7

X 0143

:2013 (ISO/IEC 19761:2011)

測定の単位 

COSMIC

法の測定単位は,

“CFP”

(COSMIC ファンクションポイント)で表す。

測定活動 

5.1 

一般 

COSMIC

機能規模は,箇条 に規定する全ての活動を通して決定しなければならない。一旦 FSM の目

的が決定されても,FSM の範囲,機能利用者(5.5

,層(5.4

,及び境界(5.6)の決定のプロセスは何度

かの繰り返しを必要とする場合がある。

5.2 FSM

の目的及び範囲の決定 

FSM

の目的及び範囲は,特定の測定作業を開始する前に決定しなければならない。

注記  測定の目的は,個々の測定実施において決められる。測定目的の具体的内容について測定者

に説明又は提案することは,この規格の適用範囲外である。個々の測定を行うに当たり,そ

の測定に固有の測定目的に最も適した開発生産物として何を使用すべきかは,測定者の責任

で決める必要がある。

例 1  ソフトウェアの機能規模を測定する場合に二つの目的が考えられる。一つはソフトウェアの機

能利用者(人)側から見える機能規模を測定すること,もう一つはソフトウェア開発者が納入

するソフトウェア構成要素の規模を測定することである。このように目的が異なれば,機能規

模は異なる。人間の機能利用者はアプリケーション層が提供する機能性だけを知ることができ

ればよい。

これに対して,開発者は,ソフトウェアシステムにおけるアプリケーション層の開発に加え

て,アプリケーション層の FUR 及び非機能要件を満足させるために,アプリケーション層より

低い層のソフトウェアを開発及び/又は修正することを求められることもある。

例 2  特定のプロジェクトチームによって納入されるソフトウェアの機能規模測定が目的の場合は,

納入されるソフトウェア構成要素の個々の測定範囲を明確にすることが最初に必要となる。こ

れらの要素の中には,もしあるならば,置換されるソフトウェアからデータを変換するために,

1

回だけ使用するソフトウェアを含めてもよい。そして,運用開始後に機能利用者が利用可能

なソフトウェアの規模を測定することに目的が変更された場合には,変換のためのソフトウェ

アは FSM の範囲に含まれなくなるので,測定された規模は小さくなる。

5.3 FUR

の識別 

FSM

の範囲内であると識別された FUR は,ソフトウェアの機能規模を測定するための排他的情報源と

して使用しなければならない。

注記  附属書 は,種々の情報源から FUR を抽出する方法の手引を含む。

5.4 

層の識別 

5.4.1 FSM

の範囲及び層 

ソフトウェアは,その実行環境の異なる層に存在する機能の構成要素をもっていてもよい。測定のため

に必要な場合は,こうした各層を識別しなければならない。

測定する一つのソフトウェアは,二つ以上の層にわたって定義された範囲をもってはならない。

注記 1 FUR が異なる層のソフトウェアに適用されるのか,又は規模を別々に測定すべき同じ層内

の異なる要素に適用されるということを,FUR が明示若しくは暗示している場合もあるし,

測定分析者が推測する場合もある。一方,ソフトウェアが異なる層に分かれているか,同


8

X 0143

:2013 (ISO/IEC 19761:2011)

じ層内の異なる要素からなる既存ソフトウェアの規模測定に遭遇する場合もある。いずれ

の場合にも,ソフトウェアの FUR が一つ以上の層又は同一層の複数の対等ソフトウェアで

構成されているかを決める手引が必要となる(5.4.2 参照)

注記 2  層識別は,繰り返し行われる。層の識別は,測定活動が進むにつれて洗練される。

注記 3  一つの層内のソフトウェアは,個別に開発され,別々に測定される必要がある場合もある。

注記 4  同一層にある別々のソフトウェア間のデータ移動は,“ピアツーピア”のデータ移動と呼ば

れている。

5.4.2 

ソフトウェア層の特性 

FSM

の範囲内で識別される層は,次の特性をもっていなければならない。

a)

各層のソフトウェアは,その機能利用者に機能を提供しなければならない。

b)

下位層のソフトウェアは,その機能サービスを用いる層にあるソフトウェアに機能サービスを提供し

なければならない。

c)

他のソフトウェアとデータを共有するソフトウェアは,共有するデータ属性を全く同じに解釈する場

合,他のソフトウェアと異なる層にあると考えてはならない。

注記 1  下位層のソフトウェアは,その機能サービスを使う層のソフトウェアからの助けなしで実

行できる。

注記 2  下位層のソフトウェアが適切に実行しない場合には,その機能サービスを使用する上位層

のソフトウェアも適切に実行しない場合がある。

注記 3  上位層のソフトウェアは,必ずしも下位層のソフトウェアが提供する全ての機能を使う必

要はない。

注記 4  階層において,ある層のソフトウェアは,それが機能サービスを提供する,より上位層の

ソフトウェアに従属することができる。

注記 5  世の中では,様々なソフトウェアシステムモデルが使用されている。この規格では,ソフ

トウェアの機能的な観点を提供するために階層化モデルを使用している。その他のモデル

も,ソフトウェアの機能的な観点を提供するものならば使用できる。

注記 6  この規格において層の概念は,いわゆる“階層化構造”の概念と異なる。両方の概念に共

通の要素はあるが,COSMIC 法の層は,測定分析者が FSM の範囲と境界とを識別するた

めの概念として位置付けている。組織で特定のソフトウェアシステム開発手法を使用して

いる場合には,その開発手法の特定のソフトウェアシステム要素とこの規格で規定してい

る層の概念との対応付けを行い,結果として得られた層を使用しなければならない。

注記 7  パッケージソフトウェア(データベース管理システム,オペレーティングシステム,デバ

イスドライバなど)は,一般的に個別の層に属すとみなす。

5.5 

機能利用者の識別 

FSM

の範囲内でソフトウェアの FUR 内にある機能プロセスを起動する全ての機能利用者を識別しなけ

ればならない。

5.6 

ソフトウェア境界の識別 

境界を識別するための要件は,次による。

a)

各層内及び FSM の範囲内の各ソフトウェアの境界を識別しなければならない。

b)

境界が識別された後は,FSM の範囲内の識別された各 FUR は,ソフトウェアに割り当てなければな

らない。


9

X 0143

:2013 (ISO/IEC 19761:2011)

注記 1  境界を識別する場合には,次の指針が役に立つ。

−  初めに機能利用者を識別し,次に機能利用者が識別するトリガ事象を識別し,そして,

トリガ事象が起動する機能プロセスを識別する。境界は,機能利用者と機能プロセス

との間に存在する。

−  定義上,識別された層間には境界があり,一方の層のソフトウェアは他方の層の,測

定されるソフトウェアの機能利用者である。同様に,同じ層に属する二つの対等ソフ

トウェア間にも境界はある。この場合は,各ソフトウェアは他方にとっての機能利用

者である。

注記 2  境界の識別は,繰り返し行われる。測定されるソフトウェアの境界は測定活動が進むにつ

れて洗練される。

5.7 

機能プロセスの識別 

FSM

の範囲内で識別される各機能プロセスは,次を満足しなければならない。

a)

少なくとも一つの識別可能な FUR から導出される。

b)

トリガ事象の検知を機能プロセスへ通知する機能利用者からのエントリデータ移動によって起動され

る。

c)

少なくとも二つのデータ移動,すなわち,常に一つあるエントリに加え,エグジット又は書込みのい

ずれか一つ,を含まなければならない。

注記 1  この特性及び測定単位として 1 CFP を用いることから,理論的にソフトウェアの最小の機

能規模は 2 CFP である。

d)

ただ一つの層に属さなければならない。

e) FUR

に従って,非同期タイミング点に到達したときに完了しなければならない。

注記 2  非同期タイミング点に到達するのは,一連のデータ移動において最後の(終了の)データ

移動がどのデータ移動とも同期しなくなったときである。

5.8 

データグループの識別 

FSM

の範囲内で識別される各データグループは,次を満足しなければならない。

a)

データ属性の集まりが一意であり,それによって,一意で,かつ,識別可能である。

b)

ソフトウェアの FUR に述べられている一つの注目オブジェクトに直接関係している。

注記  データグループではない例を次に示す。

−  機能プロセスにとって内部的な定数又は変数

−  計算における中間結果

− FUR ではなく実装にとって必要なために機能プロセスによって蓄えられたデータ

5.9 

データ移動の識別 

5.7

によって識別した機能プロセスの各々は,構成要素であるデータ移動に分割しなければならない。

いかなる機能プロセスにおいても,FUR が入力を要求している一つの注目オブジェクトに関わる全ての

データ入力に対してただ一つのエントリデータ移動を識別しカウントしなければならない。ただし,同じ

一つの注目オブジェクトのデータを,同じ機能プロセス内で複数回入力するよう FUR が明確に要求してい

る場合は,その限りではない。

同様に,一つの注目オブジェクトについて FUR が要求している同じ型(すなわち,エグジット,読込み,

書込みのいずれか)の全てのデータ移動に対してただ一つのエグジット,読込み,又は書込みを識別しカ

ウントしなければならない。ただし,同じ型(すなわち,エグジット,読込み,又は書込みのいずれか)


10

X 0143

:2013 (ISO/IEC 19761:2011)

のデータ移動によって同じ一つの注目オブジェクトのデータを同じ機能プロセス内で複数回移動するよう

FUR

が明確に要求している場合は,その限りではない。

一つの機能プロセスが動作するときに,ある型(エントリ,エグジット,読込み,又は書込み)のデー

タ移動が例えばループの中で異なったデータ値で何回も発生する場合には,その機能プロセスにおけるそ

の型のただ一つのデータ移動であると識別しカウントしなければならない。

5.10 

データ移動の分類 

5.10.1 

エントリ 

a)

エントリでは,境界を挟んで機能利用者側から一つのデータグループの(一つ以上の)データ属性を

受け取らなければならない。

b)

エントリは,他のデータ移動型を含まない範囲内で,入力データに関連付けられた妥当性確認に加え

て,全ての必要な書式付け及び表示操作までを占めなければならない。

注記  エントリは,入力コードの妥当性確認又は関連記述の獲得のために必要となる全ての操作ま

でを占める。しかし,妥当性確認処理の一部として,一つ以上の読込みが必要な場合には,

それらは別の読込みデータ移動として識別し,カウントしなければならない。

c)

何のデータを取り込むかを指定する必要がない場合,

“エントリ受取りを要求する”機能は,エントリ

の中に含まなければならない。

5.10.2 

エグジット 

a)

エグジットでは,境界を挟んで機能利用者側に一つのデータグループの(一つ以上の)データ属性を

送らなければならない。

b)

エグジットは,他のデータ移動型を含まない範囲内で,機能利用者にデータ属性を送るために必要な

処理など,全ての必要な書式付け及び表示操作までを占めなければならない。

5.10.3 

読込み 

a)

読込みでは,持続的記憶域の一つのデータグループからデータ属性を取り出さなければならない。

b)

読込みは,他のデータ移動型を含まない範囲内で,データ属性を読み込むために必要とする全ての論

理処理及び/又は数学的計算までを占めなければならない。

c)

“読込みを要求する”機能は,読込みの中に含まなければならない。

5.10.4 

書込み 

a)

書込みでは,データ属性を一つのデータグループから持続的記憶域へ移動しなければならない。

b)

書込みは,他のデータ移動型を含まない範囲内で,書き込むデータ属性を生成するために必要な全て

の論理処理及び/又は数学的計算までを占めなければならない。持続的記憶域から一つのデータグル

ープを削除することも,一つの書込みデータ移動とする。

5.11 

機能規模の計算 

5.11.1 

データ移動に対する単位規模の割付け 

1

測定単位(1 CFP)を,各機能プロセスで識別するデータ移動(エントリ,エグジット,読込み,又は

書込み)の各々に対して割り付けなければならない。

5.11.2 

機能プロセスに対する機能規模の集計 

機能プロセス内の全ての識別したデータ移動に 5.11.1 を適用した結果は,次に示す計算方法によって集

計し,当該機能プロセスに対する機能規模としなければならない。

a)

各型のデータ移動個数に単位規模を乗算する。

b)  a)

の手順で計算した,機能プロセス内のデータ移動型の各々の規模を合計する。


11

X 0143

:2013 (ISO/IEC 19761:2011)

このように,一つの機能プロセスの機能規模 FS は,次の式を使用して CFP という単位で計算する。

FS

=(Ne×Eus)+(Nx×Xus)+(Nr×Rus)+(Nw×Wus)

ここに, Ne:

機能プロセス内のエントリの合計

Eus

エントリの単位規模(=1 CFP)

Nx

機能プロセス内のエグジットの合計

Xus

エグジットの単位規模(=1 CFP)

Nr

機能プロセス内の読込みの合計

Rus

読込みの単位規模(=1 CFP)

Nw

機能プロセス内の書込みの合計

Wus

書込みの単位規模(=1 CFP)

注記  一つの機能プロセスの機能規模に上限はない。

5.11.3 

測定するソフトウェアに対する識別した FUR の機能規模の集計 

一つの層の中で測定する各ソフトウェアの規模は,各ソフトウェアに対して識別した FUR 中の機能プロ

セスの規模を集計することで得なければならない。

注記 1  識別した各層内では,集計関数は完全に加算可能である。このことから,FSM の目的及び範

囲に応じて,個々の機能プロセス,個々のソフトウェア又は層全体に対して小計を求めるこ

とができる。

注記 2  データ移動の型ごとに測定結果を集計することによって,それぞれの型がどれだけ層全体の

機能規模に寄与しているかを解析し,それによって被測定層の機能性を特徴付けるのに利用

できる。

注記 3  工数見積りのように,あるモデルで機能規模が一つの変数として使用され,被測定ソフトウ

ェアが複数層から構成される場合,複数の層は必ずしも同じ生産性で実装されるとは限らな

いので,層ごとに集計される。

5.12 FUR

の変更に対する機能規模の計算 

識別された層ごとに,FSM 範囲内の各ソフトウェアに含む FUR に対する変更の機能規模は,次の式に

従って,データ移動の規模を集計して計算しなければならない。

FSchanges

=FSadded+FSchanged+FSdeleted

ここに, FSchanges:

ソフトウェアの変更機能規模

FSadded

追加データ移動規模

FSchanged

変更データ移動規模

FSdeleted

削除データ移動規模

これらは,ソフトウェアの全ての機能プロセスについて合計する。

注記  データグループのいずれかの属性が変更された場合,又はデータ移動に関連するデータ操作に

変更がある場合には,そのデータ移動は変更とみなす。

例  次のような変更を考える。

a) 6

CFP

の機能プロセスを新たに追加する。

b)

別の機能プロセスに一つのデータ移動を追加する。

c)

他の三つのデータ移動を変更する。

d)

二つのデータ移動を削除する。

この場合,変更の合計規模は,6+1+3+2=12 CFP となる。


12

X 0143

:2013 (ISO/IEC 19761:2011)

測定結果報告 

6.1 

命名規約 

ソフトウェアの FUR を COSMIC 法で測定した結果がこの規格の必須要求事項に適合する場合には,次

の形式で表記しなければならない。

CFP

JIS X 0143:2013)

6.2 

測定結果の文書化 

COSMIC

法による測定結果の文書は,次の情報を含まなければならない。

a) FSM

範囲内の各ソフトウェアの識別(名称,版又は構成の識別)

b)

測定の目的及び FSM の範囲

c) FSM

の範囲内にある各ソフトウェアについて,各ソフトウェアとそのデータ移動の相手先である機能

利用者との関係がピアツーピアの関係である場合でも,層間で上下関係がある場合でも,各ソフトウ

ェアとその機能利用者との位置関係及び各ソフトウェアの境界の位置

d)  5.11

又は 5.12 に従って計算し,6.1 に従って報告する,FSM の範囲内の各ソフトウェアの機能規模

さらに,COSMIC 法の測定結果の文書は,FSM の範囲内の各ソフトウェアの次の情報を含むことが望ま

しい。

e)

識別した機能プロセス及びそれを構成するデータ移動型の一覧

f)

識別したデータグループの一覧

g)

識別した機能プロセス数

h)

識別したデータグループ数

i)

エントリの機能規模合計

j)

エグジットの機能規模合計

k)

読込みの機能規模合計

l)

書込みの機能規模合計

注記  文書は,各層内で測定されたソフトウェアそれぞれに対して必要である。


13

X 0143

:2013 (ISO/IEC 19761:2011)

附属書 A

(参考)

利用者機能要件の抽出

ソフトウェアの機能規模を測定する理由は,様々である。ある特定の状況において,開発前のソフトウ

ェアの機能規模測定が必要な場合もある。別の状況においては,ソフトウェア作成段階に入った後に,ソ

フトウェアの機能規模測定を行うことが有益である。

開発前に実施するソフトウェア機能規模測定は,ソフトウェア計画文書,すなわち,開発前に作成する

開発生産物を集めたものに基づいている。必要な諸元(基本機能要素)を,適切な取決めに従って開発生

産物から抽出し(技術的側面及び品質的側面を除いた FUR の観点から)

,具体的な測定関数に従って規模

を計算する。

同様に,ソフトウェア作成段階に入ってからのソフトウェア機能規模測定では,必要な諸元を様々な開

発生産物から抽出するときに,幾分異なった測定手順が必要となってくる。しかし,開発生産物の特質が

異なっていても,諸元,測定単位及び測定原理は同じである。ソフトウェアには多くの側面がある。COSMIC

法の観点で注目する側面は,

ソフトウェアが利用者に提供する機能性である。

利用者に提供する機能性は,

FUR

の中に記述されている。実際には,FUR は,ときとして特定の文書の形式で存在する(例えば,要求

仕様書)

しかし,

多くの場合,

他のソフトウェア技術を活用した開発生産物から抽出しなければならない。

図 A.1 に示すように,FUR はソフトウェアが完成する以前に作成するソフトウェア技術による開発生産物

(主にソフトウェアシステム及び設計からの開発生産物)から抽出することができる。したがって,ソフ

トウェアの機能規模は,コンピュータシステム上での実装の前に測定することが可能である。

利用 者機 能要件

データ 分析  /

モデ リン グ

か らの開 発生 産物

要求 定義

から の開 発生 産物

(FUR)

ソ フト ウェ ア

機能 分割

か らの 開発生 産物

図 A.1−ソフトウェア実装前の FUR 抽出

一方,ソフトウェアシステム若しくは設計工程の開発生産物が全くないか若しくは僅かしかない状況で

ソフトウェアを利用している場合,又は,FUR についての文書がない場合がある(例えば,レガシソフト

ウェア)

。こうした状況にあっても,

図 A.2 に示すように,FUR は,コンピュータシステムに据え付けら

れた開発生産物から抽出することができる。

異なった種類のソフトウェア開発生産物から FUR を抽出するための所要工数は,その種類によって明ら

かに異なる。しかし,どの種類のソフトウェア開発生産物から FUR を抽出するにしても,それらは,常に

利用者に提供する機能性の記述を伝えているので,FUR の特質が変わることはない。


14

X 0143

:2013 (ISO/IEC 19761:2011)

物理 的な 記憶 域
に蓄 えら れた
開発 生産 物

物理 的プロ グラ ム

利用 者機 能要 件

(F UR)

ソフ トウ ェア の
利用 者向 け

操作 マニ ュア ル

及 び手 順書

図 A.2−ソフトウェア実装後の FUR 抽出


15

X 0143

:2013 (ISO/IEC 19761:2011)

参考文献

[1]  ISO Guide 99:1993

,International vocabulary of metrology−Basic and general concepts and associated

terms (VIM)

[2]  JIS X 0135-1:2010

  ソフトウェア測定−機能規模測定−第 1 部:概念の定義

注記  ISO/IEC 14143-1:2007 , Information technology − Software measurement − Functional size

measurement

−Part 1: Definition of concepts(IDT)

[3]  JIS X 0141:2009

  システム及びソフトウェア技術−測定プロセス

注記  ISO/IEC 15939:2007,Systems and software engineering−Measurement process(IDT)

[4]  Abran, A.; Desharnais, J.-M.; Oligny, S.; St-Pierre, D.; Symons, C. COSMIC-FFP

−Measurement Manual

Version 2.1, Montreal (Canada), May 2001

,入手方法:<http://www.cosmicon.com>

注記 1  日本語版:日本ファンクションポイントユーザ会  COSMIC-FFP 機能規模測定法マニュ

アル  第 2.2 版,入手方法: <http://www.jfpug.gr.jp/cosmic/CFFP-index.html>

注記 2  JIS X 0143:2006 の対応国際規格である ISO/IEC 19761:2003 は,COSMIC-FFP 法第 2.1 版

を基底文書として制定されたが,国際規格出版後に,国際規格制定の過程で行われた字

句修正を反映した COSMIC-FFP 法第 2.2 版が発行されたため,実質的に ISO/IEC 

19761:2003

と対応しているのは,COSMIC-FFP 法第 2.2 版である。

なお,COSMIC-FFP 法第 2.1 版は,日本語には翻訳されなかった。

[5]  Lesterhuis, A.; Symons, C.R.; (Editors), The COSMIC Functional Size Measurement Method, Version 3.0,

Measurement Manual, December, 2007

,入手方法:<http://www.cosmicon.com>

注記  日本語版:日本ファンクションポイントユーザ会  COSMIC 機能規模測定法マニュアル  第

3.0

版,入手方法: <http://www.jfpug.gr.jp/cosmic/CFFP-index.html>