この規格ページの目次
9
X 0143 : 2013 (ISO/IEC 19761 : 2011)
注記1 境界を識別する場合には,次の指針が役に立つ。
− 初めに機能利用者を識別し,次に機能利用者が識別するトリガ事象を識別し,そして,
トリガ事象が起動する機能プロセスを識別する。境界は,機能利用者と機能プロセス
との間に存在する。
− 定義上,識別された層間には境界があり,一方の層のソフトウェアは他方の層の,測
定されるソフトウェアの機能利用者である。同様に,同じ層に属する二つの対等ソフ
トウェア間にも境界はある。この場合は,各ソフトウェアは他方にとっての機能利用
者である。
注記2 境界の識別は,繰り返し行われる。測定されるソフトウェアの境界は測定活動が進むにつ
れて洗練される。
5.7 機能プロセスの識別
FSMの範囲内で識別される各機能プロセスは,次を満足しなければならない。
a) 少なくとも一つの識別可能なFURから導出される。
b) トリガ事象の検知を機能プロセスへ通知する機能利用者からのエントリデータ移動によって起動され
る。
c) 少なくとも二つのデータ移動,すなわち,常に一つあるエントリに加え,エグジット又は書込みのい
ずれか一つ,を含まなければならない。
注記1 この特性及び測定単位として1 CFPを用いることから,理論的にソフトウェアの最小の機
能規模は2 CFPである。
d) ただ一つの層に属さなければならない。
e) URに従って,非同期タイミング点に到達したときに完了しなければならない。
注記2 非同期タイミング点に到達するのは,一連のデータ移動において最後の(終了の)データ
移動がどのデータ移動とも同期しなくなったときである。
5.8 データグループの識別
FSMの範囲内で識別される各データグループは,次を満足しなければならない。
a) データ属性の集まりが一意であり,それによって,一意で,かつ,識別可能である。
b) ソフトウェアのFURに述べられている一つの注目オブジェクトに直接関係している。
注記 データグループではない例を次に示す。
− 機能プロセスにとって内部的な定数又は変数
− 計算における中間結果
− FURではなく実装にとって必要なために機能プロセスによって蓄えられたデータ
5.9 データ移動の識別
5.7によって識別した機能プロセスの各々は,構成要素であるデータ移動に分割しなければならない。
いかなる機能プロセスにおいても,FURが入力を要求している一つの注目オブジェクトに関わる全ての
データ入力に対してただ一つのエントリデータ移動を識別しカウントしなければならない。ただし,同じ
一つの注目オブジェクトのデータを,同じ機能プロセス内で複数回入力するようFURが明確に要求してい
る場合は,その限りではない。
同様に,一つの注目オブジェクトについてFURが要求している同じ型(すなわち,エグジット,読込み,
書込みのいずれか)の全てのデータ移動に対してただ一つのエグジット,読込み,又は書込みを識別しカ
ウントしなければならない。ただし,同じ型(すなわち,エグジット,読込み,又は書込みのいずれか)
――――― [JIS X 0143 pdf 11] ―――――
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) )の手順で計算した,機能プロセス内のデータ移動型の各々の規模を合計する。
――――― [JIS X 0143 pdf 12] ―――――
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となる。
――――― [JIS X 0143 pdf 13] ―――――
12
X 0143 : 2013 (ISO/IEC 19761 : 2011)
6 測定結果報告
6.1 命名規約
ソフトウェアのFURをCOSMIC法で測定した結果がこの規格の必須要求事項に適合する場合には,次
の形式で表記しなければならない。
CFP(JIS X 0143:2013)
6.2 測定結果の文書化
COSMIC法による測定結果の文書は,次の情報を含まなければならない。
a) SM範囲内の各ソフトウェアの識別(名称,版又は構成の識別)
b) 測定の目的及びFSMの範囲
c) SMの範囲内にある各ソフトウェアについて,各ソフトウェアとそのデータ移動の相手先である機能
利用者との関係がピアツーピアの関係である場合でも,層間で上下関係がある場合でも,各ソフトウ
ェアとその機能利用者との位置関係及び各ソフトウェアの境界の位置
d) 5.11又は5.12に従って計算し,6.1に従って報告する,FSMの範囲内の各ソフトウェアの機能規模
さらに,COSMIC法の測定結果の文書は,FSMの範囲内の各ソフトウェアの次の情報を含むことが望ま
しい。
e) 識別した機能プロセス及びそれを構成するデータ移動型の一覧
f) 識別したデータグループの一覧
g) 識別した機能プロセス数
h) 識別したデータグループ数
i) エントリの機能規模合計
j) エグジットの機能規模合計
k) 読込みの機能規模合計
l) 書込みの機能規模合計
注記 文書は,各層内で測定されたソフトウェアそれぞれに対して必要である。
――――― [JIS X 0143 pdf 14] ―――――
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の特質が変わることはない。
――――― [JIS X 0143 pdf 15] ―――――
次のページ PDF 16
JIS X 0143:2013の引用国際規格 ISO 一覧
- ISO/IEC 19761:2011(IDT)