ファンクションポイント法

Similar documents
第10章 ファンクション・ポイント

IBM i ユーザーの課題 モバイルや IOT に対応した新しい開発案件への対応 RPG COBOL など既存アプリのメンテナンス 要員の確保 属人化しない運用 管理体制 2

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

Microsoft Office Visioによる 施設管理について

Webシステムの見積手法

中継サーバを用いたセキュアな遠隔支援システム

Oracle SQL Developerの移行機能を使用したOracle Databaseへの移行

過去問セミナーTM

ソフトウェア工学 ( 入門編 ) 掛下哲郎 ( 佐賀大学 )

コンピュータ応用・演習 情報処理システム

スクールCOBOL2002

ETOS 画面の Web 化 / 帳票印刷のオープン化体験お試し変換サービスのご紹介 ACOS-4 システムの業務改善提案

テストの自動化を見極める

ご利用のコンピュータを設定する方法 このラボの作業を行うには 事前設定された dcloud ラボを使用するか 自身のコンピュータをセットアップします 詳細については イベントの事前準備 [ 英語 ] とラボの設定 [ 英語 ] の両方のモジュールを参照してください Python を使用した Spar

ソフト活用事例③自動Rawデータ管理システム

障害管理テンプレート仕様書

アナリシスパターン勉強会 責任関係事例紹介 株式会社オーエスケイ小井土亨 (CBOP COM 分科会主査 ) 2000/07/19 1

Excel帳票作成ツール

第 1 部ファンクションポイントとは

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Managing and Sharing MATLAB Code

Medical3

変更要求管理テンプレート仕様書

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

<4D F736F F F696E74202D20658BCE91D38FD089EE8E9197BF81698AAE915394C5816A2E707074>

MogiExam 専門的な MogiExam は権威的な資料を提供します

ソフトウェアのコスト見積り

D5-2_S _003.pptx

FUJITSU Software Systemwalker for Oracle V15 (15.1) 紹介資料

第49章 プロジェクト管理のポイント

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

セミナータイトル    ~サブタイトル~

IBM API Connect 開発者ポータル構成ガイド 1章

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

統合運用管理ソフトウェア Systemwalker 総合カタログ

(Microsoft PowerPoint - HP\227pWASABI\217\320\211\356\216\221\227\277.ppt)

今さら聞けない!? Oracle入門 ~前編~

インテル(R) Visual Fortran コンパイラ 10.0

Microsoft Word - SPSS2007s5.doc

(Microsoft PowerPoint - WQ21JDEadapter\215\\\220\254\216\350\217\207\217\221_ ppt)

スキル領域 職種 : マーケティング スキル領域と MK 経済産業省, 独立行政法人情報処理推進機構

Chapter カスタムテーブルの概要 カスタムテーブル Custom Tables は 複数の変数に基づいた多重クロス集計テーブルや スケール変数を用いた集計テーブルなど より複雑な集計表を自由に設計することができるIBM SPSS Statisticsのオプション製品です テーブ

アルゴリズムとデータ構造

Microsoft PowerPoint - 1.プロセス制御の概要.pptx

JavaプログラミングⅠ

Printview システム構成ガイド

Using VectorCAST/C++ with Test Driven Development

Microsoft PowerPoint - e-stat(OLS).pptx

Microsoft PowerPoint - 【最終提出版】 MATLAB_EXPO2014講演資料_ルネサス菅原.pptx

スライド 1

Silk Central Connect 15.5 リリースノート

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

使用する前に



% 32.3 DI DI



NGSデータ解析入門Webセミナー

2 自己紹介 氏名山中啓之 所属株式会社 NTT データ技術革新統括本部システム技術本部生産技術部 略歴 1998 年株式会社 NTT データ入社 法人分野のシステム開発 自社パッケージの企画 開発 データ分析コンサルティング業務に従事する 2012 年より全社共通部門にてシステム開発の見積もりと定

データベース暗号化ツール「D’Amo」性能検証

Oracle 入門 ~ 研修受講後のスキルアップサポート ~ 対応バージョン :Oracle 10gR1 ~ 12cR1 本資料は アシスト Oracle 研修をご受講いただいたお客様からのご質問や 研修ではご案内できなかった情報などを FAQ にまとめたものです 研修受講後のスキルアップの一助とし

第 2 回中部放射線医療技術学術大会 RIS 導入時の時の病院側作業に関して 2009 年 11 月 横河電機株式会社 医療ソリューション本部 1 横河電機株式会社医療ソリューション本部 2006Yokogawa Electric Corporation

スクールCOBOL2002

Transcription:

ファンクションポイント法 - ソフトウェア機能に基づく規模尺度 - 奈良先端科学技術大学院大学 講義資料

出典 Capers Jones, Applied Software Measurement -Assuring Productivity and Quality, 2nd edition, McGraw-Hill (1997). D. Garmus and D. Herron, Measuring the Software Process: A Practical Guide to Function Measurements, Prentice Hall (1996). 阪田勇夫 ( 訳 ), ソフトウェア機能性の計測 : ファンクションポイント技法の実践的入門, トッパン (1999). 大筆豊, ソフトウェアのコスト見積り技術, 情報処理,Vol.33, No.8,pp.906-911 (Aug. 1992).

ファンクションポイント (FP) 法 IBM の A.J.Albrecht が 1970 年代半ばに考案. アプリケーションにおける, 入力, 出力, 照会, 論理ファイル ( ユーザデータ ) の加重和によってその機能的規模を表す方法. ソフトウェアを製品, あるいは, サービスとして経済学的に表すための単位を提供

アプリケーションモデルと FP パラメータ 外部ユーザ 入力型出力型照会型 内部ユーザデータ 入力型 出力型 照会型 アプリケーション領域 外部ユーザデータ 他のアプリケーション

経済的生産性 単位工数, あるいは, 単位費用当りに生産された製品, あるいは, サービス ユーザが直接関心を持っていない文書量やプログラム行数に基づいて, ソフトウェアを製品やサービスとして評価することは出来ない.

FP に基づく経済的評価 開発者サイド 1 人月当りの FP FP 当りの作業時間, 開発, 保守コスト FP 当りのテストケース数, バグ数 利用者サイド 企業が所有する FP エンドユーザが必要とする FP 開発, リース, 購入の判断 プロジェクトの価値分析

業界基準曲線 (1):FP と工数 3500 3000 2500 2000 1500 1000 FP 500 0 0 100 200 300 400 500 人月 600

業界基準曲線 (2):FP と開発期間 3500 3000 2500 2000 1500 1000 FP 500 月 0 0 10 20 30 40

業界基準曲線 (3):FP と生産性 3500 3000 2500 2000 1500 1000 FP 500 FP/ 人月 0 0 5 10 15 20 25

業界基準曲線 (4):FP と欠陥 3500 3000 2500 2000 1500 1000 FP 500 バグ数 0 0 500 1000 1500 2000 2500

開発言語による生産性の差 基本アセンブラ マクロアセンブラ C Fortran/COBOL Ada ジェネレータ言語 / 照会言語 オブジェクト指向言語 ビジュアル言語 / 再利用 10 20 30 FP/ 人月

企業は所有する FP 企業分野小規模地方銀行中堅商業銀行大規模国際銀行中規模生命保険会社大規模生命保険会社大規模電話会社大規模電話メーカー中規模メーカー大規模メーカー大規模コンピュータメーカー 所有 FP 125,000 350,000 450,000 400,000 550,000 450,000 600,000 200,000 375,000 1,650,00

職種別の利用 FP 職種航空予約担当者旅行業者企業の会計監査役銀行の貸付担当役保険クレーム審査官航空技術者電気技術者通信技術者ソフトウェア技術者機械技術者ソフトウェアプロジェクト管理者 利用 FP 30,000 35,000 20,000 15,000 5,000 25,000 25,000 20,000 15,000 12,500 3,500

代表的な計算法 IBM 法 (1979) IBM 法改訂版 (1984) SPR 法,SPR 逆算法 (1985) フィーチャポイント法 (1986) Mark IIファンクションポイント法 (1988)

IBM 法 (1979) FP 法のオリジナルバージョン. 次の 5 つの目的を果たす尺度として考案された. ソフトウェアの外部機能を扱う. ユーザにとって重要な機能を扱う. 開発初期から適用できる. 経済的生産性と結び付けることが出来る. プログラムや言語から独立である.

IBM 法 (1979) におけるパラメータ 外部ユーザ 入力出力照会 マスターファイル 入力出力照会アプリケーション領域 他のアプリケーション

計算方法 重要なパラメータ入力数出力数照会数マスタファイル数 重み 4 = 5 = 4 = 10 = 補正前の合計 複雑さの補正 (±25%) 補正後のファンクションポイント

問題点 複雑さ ( による補正値 ) を全くの主観で決めなければならない. 現実のプロジェクトの観察結果からすると, 複雑さの影響による補正の範囲 (±25%) が狭すぎる.

IBM 法改訂版 (1984) 新たなパラメータとして 外部インタフェースファイル を追加した. パラメータ毎に複雑さのランク ( 単純, 平均, 複雑 ) を設け, 重み係数もランク毎に設定した. 14 個の要因 ( 主要補正要因 ) に基づいて, 複雑さ ( による補正値 ) を決定する.

IBM 法改訂版 (1984) におけるパラメータ 外部ユーザ 外部入力外部出力外部照会 内部論理ファイル 外部入力 外部出力 外部照会 アプリケーション領域 外部インタフェースファイル 他のアプリケーション

パラメータ : 外部入力 アプリケーションのユーザ, または, 他のプログラムが, 新たなデータを投入したり, 既存のデータを更新するために用いる画面, または, 様式 入力画面が大きすぎて通常の1 画面に入りきらない場合でも入力数は1とする.

パラメータ : 外部出力 ユーザ, または, 他のプログラムのために, アプリケーションが生成する画面, または, レポート. 一つの目的のために複数の画面やレポートが生成される場合でも出力数は1とする.

パラメータ : 照会 ユーザがアプリケーションに質問したり, 助力や情報を求めたりすることが出来るHELP 画面のような画面. ユーザによる入力に呼応して比較的短時間に出力が生成される ( 返される ) ような場合が該当する.

パラメータ : 内部論理ファイル アプリケーション内に存在し, アプリケーションが管理する論理レコードの集合. 1つのフラットファイル, 階層データベースの1つのノード, 関係データベースの1つのテーブル, ネットワークデータベースの1 つのパスなどが1つのデータファイルである.

パラメータ : 外部インタフェースファイル 他のアプリケーション内に存在し, 他のアプリケーションが管理する論理レコードの集合. 入出力テープファイル, 共有データベースといった, 他のアプリケーションと共有するファイルが該当する. 最小単位はデータファイルと同じ.

計算方法 外部入力 外部出力 内部論理ファイル 外部インタフェースファイル 照会 ( 問合せ処理 ) 重要なパラメータ 重み 単純 3 = 平均 4 = 複雑 6 = 単純 4 = 平均 5 = 複雑 7 = 単純 7 = 平均 10 = 複雑 15 = 単純 5 = 平均 7 = 複雑 10 = 単純 3 = 平均 4 = 複雑 6 = 補正前の合計

計算方法 ( つづき ) 主要補正要因 データ通信分散機能性能運用負荷 ( 利用制約 ) トランザクション密度オンラインデータエントリエンドユーザ能力オンライン更新複雑処理再利用性設置容易性運用容易性複数サイト設置変更 DI 値 0~5 0~5 補正前の合計 0~5 0~5 0~5 処理複雑度調整値 0~5 0~5 補正後のFP 0~5 0~5 0~5 0~5 0~5 0~5 0~5 処理複雑度調整値 (DI 合計値 ) 0.01+0.65= =

主要補正要因の例 C1データ通信 0 バッチアプリケーション 1 遠隔からの印刷あるいはデータエントリ 2 遠隔からの印刷とデータエントリ 3 アプリケーションへの遠隔処理フロントエンド 4 遠隔処理を頻繁に行うアプリケーション 5 遠隔処理中心のアプリケーション

計算例 重要なパラメータ外部入力外部出力内部論理ファイル外部インタフェースファイル照会 ( 問合せ処理 ) 重み 10 4 = 40 10 5 = 50 1 10 = 10 1 7 = 7 10 4 = 40 補正前の合計 147 ( パラメータの複雑度は全て平均的であるとする )

計算例 ( つづき ) 主要補正要因 データ通信分散機能性能運用負荷 ( 利用制約 ) トランザクション密度オンラインデータエントリエンドユーザ能力オンライン更新複雑処理再利用性設置容易性運用容易性複数サイト設置変更 DI 値 0 0 補正前の合計 147 4 3 3 処理複雑度調整値 1.05 4 4 2 補正後のFP 154 3 0 4 4 5 4 処理複雑度調整値 40(DI 合計値 ) 0.01+0.65=1.05 =

SPR 法,SPR 逆算法 (1985) 複雑さの取り扱いを単純にし,FP 計算の工数を削減した. IBM 法の 5 つの目的に加えて次の 3 つの目的を持つ. FP を容易に, かつ, ソフトウェア開発のより早い段階で算出可能とする. ソースプログラムの規模を予測することが出来る. 既存ソフトウェアの FP を逆算することが出来る.

複雑さの計算 複雑さの主要因を次の3つのみとし, 簡単な評価基準によってそれぞれの複雑さを求める. 解決すべき問題, または, アルゴリズムの複雑さ プログラムの複雑さ データの複雑さ

問題の複雑さの評価基準 1 単純なアルゴリズムと計算である. 2 ほとんどが単純なアルゴリズムと計算である. 3 平均的な複雑さのアルゴリズムと計算である. 4 かなり難しいか複雑なアルゴリズムと計算である. 5 非常に難しいアルゴリズムと複雑な計算である.

プログラムの複雑さの評価基準 1 自動生成等により得られたもの. 2 再利用可能モジュールを用いたきれいな構造を持っている. 3 小さなモジュールと単純なパスのみで構成されている. 4 多少複雑なモジュールとパスを含んでいる. 5 大きなモジュールと複雑なパスで構成されている.

データの複雑さの評価基準 1 変数がほとんどなく, 複雑さも低い単純なデータである. 2 変数の数は多いが単純なデータ構造である. 3 多数のファイル, フィールドとデータを含む. 4 複雑なファイル構造とデータを含む. 5 非常に複雑なファイル構造とデータを含む.

計算方法 重要なパラメータ外部入力外部出力論理内部ファイルインタフェースファイル照会 ( 問合せ処理 ) 重み 4 = 5 = 10 = 7 = 4 = 補正前の合計 ( 問題の複雑さ + データの複雑さ ) 0.1+0.4 補正後のファンクションポイント

ソースプログラムの規模予測 FP 当りのプログラム行数を調べた統計データに基づいて行う. ANSI COBOL 74 C... 105 LOC 128 LOC

既存ソフトウェアの FP 算出 FP 当りのプログラム行数を調べた統計データに基づいて行う. 複雑さの 3 要因の合計値で補正する.

逆算の例 対象 :COBOL で 10,500 行のプログラム 複雑さの 3 要因の合計値 6 10,500 105 0.85 ( 複雑さ 6 の場合の補正係数 )= 117.6 FP

まとめ ファンクションポイント法は, ソフトウェアの目に見える機能, 特に, ユーザによって意味のある機能を数え挙げることが出来る. 経済的生産性を測定することが出来る. ソフトウェア開発の初期にも適用可能である. ソースプログラムから独立である. 測定には訓練が必要であり, 一貫性を保つためには注意深さが必要である.