JP5147649B2 - ソフトウエア規模測定装置及びソフトウエア規模測定プログラム - Google Patents

ソフトウエア規模測定装置及びソフトウエア規模測定プログラム Download PDF

Info

Publication number
JP5147649B2
JP5147649B2 JP2008287438A JP2008287438A JP5147649B2 JP 5147649 B2 JP5147649 B2 JP 5147649B2 JP 2008287438 A JP2008287438 A JP 2008287438A JP 2008287438 A JP2008287438 A JP 2008287438A JP 5147649 B2 JP5147649 B2 JP 5147649B2
Authority
JP
Japan
Prior art keywords
information
software
data
complexity
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008287438A
Other languages
English (en)
Other versions
JP2010113639A (ja
Inventor
正明 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Information Systems Japan Corp
Original Assignee
Toshiba Information Systems Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Information Systems Japan Corp filed Critical Toshiba Information Systems Japan Corp
Priority to JP2008287438A priority Critical patent/JP5147649B2/ja
Publication of JP2010113639A publication Critical patent/JP2010113639A/ja
Application granted granted Critical
Publication of JP5147649B2 publication Critical patent/JP5147649B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Description

この発明はソフトウエア規模を測定することが可能なソフトウエア規模測定装置及びソフトウエア規模測定プログラムに関し、特に、組込みシステムやリアルタイム制御システムのソフトウエア規模を的確且つ短時間に測定可能なソフトウエア規模測定装置及びソフトウエア規模測定プログラムに関するものである。
従来、この種の測定手法としては、概算法(経験法、類推法)、工数積上法(積算法)などが知られている。これらの手法は、測定を行う測定者の技量に依存する可能性が高く、客観性に乏しいという問題がある。
上記に対し、ファンクションポイント法と称される手法が多く採用されるようになっている。このファンクションポイント法は、プログラムの規模を表す指標に基づいて見積りを行うもので、見積り結果について検証可能であるという特徴を有している。このファンクションポイント法として、IFPUG法やNESMA法が知られているが、これらの手法は一般業務向けのソフトウエア規模測定に向いた手法であり、組込みシステムやリアルタイム制御システムのソフトウエア規模測定に用いても、適切な見積り結果を得ることができない。
また、ファンクションポイント法の一つとしてCOSMIC−FFP法(以下、COSMIC法という)が知られており、この手法は組込みシステムやリアルタイム制御システムのソフトウエア規模測定に向いている(非特許文献1参照)。しかしながら、この手法による規模測定を行うためには、難解な測定マニュアルの理解が不可欠であり、このために時間と労力が必要となる。しかも、COSMIC法においては、設計レベルの粒度により測定結果に係る規模が異なるという問題がある。
また、要因情報毎に、対応する実績情報から予め算出された関係近似式を格納している関係近似式データベースを有し、制御装置が、測定上の条件と仕様情報の入力を受けてFP(ファンクションポイント)数を算出し、条件に合致する要因情報に対応する関係近似式を関係近似式データベースから得て、当該関係近似式に基づいて算出したFP数を当てはめて見積工程数を算出する見積支援システムが存在している(特許文献1参照)。
山口正明著,「ファンクションポイントCOSMIC−FFP法実践ガイド」,第1刷,株式会社日科技連出版社,2007年12月22日 特開2000−339147号公報
本発明は上記のようなソフトウエア規模測定の現状に鑑みてなされたもので、その目的は、組込みシステムやリアルタイム制御システムのソフトウエア規模測定を適切に行うことができ、しかも、難解な測定マニュアルの理解が不要であり、短時間で精度の良い測定結果を得ることが可能なソフトウエア規模測定装置及びソフトウエア規模測定プログラムを提供することである。
本発明に係るソフトウエア規模測定装置は、情報を入力するための入力部と、この入力部により入力された情報を演算する演算部と、この演算部により演算された結果を出力する出力部とを備え、測定対象プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、前記ソフトウエアの必要機能を実現する機能プロセスを識別した結果である機能プロセス情報が前記入力部から入力され、前記ソフトウエアの外部から前記各機能プロセスを起動するためのイベントであるトリガイベントを識別した結果であるトリガイベント情報が前記入力部から入力され、前記各機能プロセス毎に当該機能プロセスと相互に作用する利用者の数である利用者数を識別した結果である利用者数情報が前記入力部から入力され、複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って得た1利用者当たりの統計的データ移動数情報が前記入力部から入力され、前記演算部において、前記入力部から入力された機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として、各単位の利用者数情報に前記統計的データ移動数情報を乗じる乗算と、該乗算の結果を加える和算とを行ってファンクションポイント情報を得るファンクションポイント算出手段と、このファンクションポイント算出手段により得られたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させる出力制御手段と
を具備することを特徴とする。
本発明に係るソフトウエア規模測定装置は、複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数を記憶した第1のデータベースと、この第1のデータベースに記憶された機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って1利用者当たりの統計的データ移動数情報を求める統計的データ移動数情報取得手段とを具備することを特徴とする。
本発明に係るソフトウエア規模測定装置は、1プロジェクトのソフトウエアを構成するプログラムを定性的複雑度基準によりN段階に区分したプログラム複雑度区分情報を用い、1プロジェクトのソフトウエアに使用されるデータを定性的複雑度基準によりM段階に区分したデータ複雑度区分情報を用い、複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して得られる補正係数情報を用い、測定対象プロジェクトのソフトウエアに関して、プログラム複雑度区分情報及びデータ複雑度情報の入力を受けて、当該プロジェクトの複雑度区分値を得て、この当該プロジェクトの複雑度区分値と前記補正係数情報に基づき前記ファンクションポイント算出手段による算出されたファンクションポイント情報に補正を加える補正手段とを具備し、前記出力制御手段は、この補正手段により補正されたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させることを特徴とする。
本発明に係るソフトウエア規模測定装置は、複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数と総利用者数の情報を記憶した第2のデータベースと、この第2のデータベースに記憶された総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して補正係数情報を得る補正係数情報取得手段とを具備することを特徴とする。
本発明に係るソフトウエア規模測定プログラムは、情報を入力するための入力部と、この入力部により入力された情報を演算する演算部と、この演算部により演算された結果を出力する出力部とを備えるソフトウエア規模測定装置の前記演算部を構成するコンピュータを、測定対象プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、前記ソフトウエアの必要機能を実現する機能プロセスを識別した結果である機能プロセス情報が前記入力部から入力され、前記ソフトウエアの外部から前記各機能プロセスを起動するためのイベントであるトリガイベントを識別した結果であるトリガイベント情報が前記入力部から入力され、前記各機能プロセス毎に当該機能プロセスと相互に作用する利用者の数である利用者数を識別した結果である利用者数情報が前記入力部から入力され、複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って得た1利用者当たりの統計的データ移動数情報が前記入力部から入力され、前記演算部において、前記入力部から入力された機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として、各単位の利用者数情報に前記統計的データ移動数情報を乗じる乗算と、該乗算の結果を加える和算とを行ってファンクションポイント情報を得るファンクションポイント算出手段、このファンクションポイント算出手段により得られたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させる出力制御手段として機能させることを特徴とする。
本発明に係るソフトウエア規模測定プログラムは、複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数を記憶した第1のデータベースを、前記コンピュータが備え、前記コンピュータを更に、前記第1のデータベースに記憶された機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って1利用者当たりの統計的データ移動数情報を求める統計的データ移動数情報取得手段として機能させることを特徴とする。
本発明に係るソフトウエア規模測定プログラムは、前記コンピュータが、1プロジェクトのソフトウエアを構成するプログラムを定性的複雑度基準によりN段階に区分したプログラム複雑度区分情報を用い、1プロジェクトのソフトウエアに使用されるデータを定性的複雑度基準によりM段階に区分したデータ複雑度区分情報を用い、複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して得られる補正係数情報を用い、前記コンピュータを、測定対象プロジェクトのソフトウエアに関して、プログラム複雑度区分情報及びデータ複雑度情報の入力を受けて、当該プロジェクトの複雑度区分値を得て、この当該プロジェクトの複雑度区分値と前記補正係数情報に基づき前記ファンクションポイント算出手段による算出されたファンクションポイント情報に補正を加える補正手段として機能させ、この補正手段により補正されたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させる出力制御手段として機能させことを特徴とする。
本発明に係るソフトウエア規模測定プログラムは、複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数と総利用者数の情報を記憶した第2のデータベースを前記コンピュータが備え、前記コンピュータを、前記第2のデータベースに記憶された総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して補正係数情報を得る補正係数情報取得手段として機能させることを特徴とする。
本発明によれば、複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って得た1利用者当たりの統計的データ移動数情報を用いるので、データ移動数を求める処理が不要であり、しかも、この処理をCOSMIC法を用いて実現できるため、組込みシステムやリアルタイム制御システムのソフトウエア規模測定を適切に行うことができる。
また、機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として、各単位の利用者数情報に前記統計的データ移動数情報を乗じる乗算と、該乗算の結果を加える和算とを行ってファンクションポイント情報を得る処理により、ソフトウエア規模測定を行うので、機能プロセス情報、トリガイベント情報、利用者数情報を入力するだけで済むため、難解な測定マニュアルの理解が不要であり、短時間で精度の良い測定結果を得ることが可能である。
本発明によれば、補正係数情報を用い、測定対象プロジェクトのソフトウエアに関して、プログラム複雑度区分情報及びデータ複雑度情報の入力を受けて、当該プロジェクトの複雑度区分値を得て、この当該プロジェクトの複雑度区分値と前記補正係数情報に基づき前記ファンクションポイント算出手段による算出されたファンクションポイント情報に補正を加えるので、補正によってより精度の向上が図られた結果を得ることができる。
以下添付図面を参照して、本発明に係るソフトウエア規模測定装置及びソフトウエア規模測定プログラムの実施例を説明する。実施例に係るソフトウエア規模測定装置は、図1に示されるようにコンピュータによって構成される演算部10に、情報を入力するための入力部21と、演算部10により演算された結果を出力する出力部22とを備える。演算部10には、第1のデータベース31と第2のデータベース32とを備える外部記憶部30が接続されている。
本実施例においては、入力部21から機能プロセス情報、トリガイベント情報、利用者数情報が入力される。本発明はファンクションポイント法を採用しており、本実施例において用いる各種情報は、COSMIC法による測定において識別される情報である。従って、機能プロセス情報は、測定対象プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、上記ソフトウエアの必要機能を実現する機能プロセスを識別した結果である情報であり、既に示した非特許文献1に記載の手法により測定者によって識別される。
例えば、当初にメニュー画面を表示し、メニューの選択により画像を表示する或いは音を出力する測定対象プロジェクトのソフトウエアAについては、図2に示すように「メニュー画面」機能プロセス、「画像表示」機能プロセス、「音出力」機能プロセスが識別される。
トリガイベント情報は、上記測定対象プロジェクトのソフトウエアAの外部から上記記各機能プロセスを起動するためのイベントであるトリガイベントを識別した結果である情報であり、非特許文献1に記載の手法により測定者によって識別される。
トリガイベント情報は、図3に示すように利用者Bによって被測定ソフトウエアAの外側で発生し、一つまたは複数の機能プロセスを起動するイベントである。ここに、利用者は人間だけではなく、技術的な装置(コピー、印刷機、電話機等)、他のソフトウエアを含む概念である。COSMIC法では、この利用者B及び持続的記憶域Cと被測定ソフトウエアAの機能プロセス間において生じる「エントリ」、「エグジット」、「リード」、「ライト」というデータ移動を機能プロセス毎に識別してソフトウエア規模測定を行う。上記の持続的記憶域Cは、ソフトウエアAによるデータの保存、データの読み出しができる記憶域を指すものである。
トリガイベントを識別する意義は次の通りである。即ち、トリガイベントが確かに被測定ソフトウエアAの外側で発生していることを確認し、被測定ソフトウエアAの内側において発生しているようなトリガイベントが存在しないかを検出することにより、エンドユーザの要求が満たされる粒度でシステム設計されているかを確認することができる。つまり、細かすぎる粒度で設計したソフトウエア構成となっていないかを確認する材料としてトリガイベントを用い、粒度を一定とするために用いる。これによって測定者の技量によらず、一定の粒度を確保し、適切なソフトウエア規模測定を保障している。
上記において入力された利用者数情報は、上記各機能プロセス毎に当該機能プロセスと相互に作用する利用者の数である利用者数を識別した結果である情報であり、非特許文献1に記載の手法により測定者によって識別される。
例えば、図2で説明した「メニュー画面」機能プロセス、「画像表示」機能プロセス、「音出力」機能プロセスにより構成されるソフトウエアAについては、この被測定ソフトウエアAの機能プロセス間において生じる「エントリ」、「エグジット」の相手を分析する。この分析の結果として例えば図4に示されるように、共通ユーザインタフェース、実行制御システム、ファイル制御システム、ハードウエア制御という利用者が存在すると、識別される。
上記において識別された利用者である「共通ユーザインタフェース」、「実行制御システム」、「ファイル制御システム」、「ハードウエア制御」の内のいずれが「メニュー画面」機能プロセスにおいて利用者となっているかを識別して、「メニュー画面」機能プロセスについての利用者数が求められる。他の「画像表示」機能プロセス、「音出力」機能プロセスについても同様にしてそれぞれの利用者数を求めることができる。
図1に示した外部記憶部30の第1のデータベース31には、複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数が記憶されている。ここにおける識別についても、COSMIC法によるソフトウエア規模測定において行われたものである。つまり、COSMIC法によるソフトウエア規模測定において得られた実績データの内、各機能プロセス内のデータ移動数と利用者数、機能プロセス毎における1利用者当たりのデータ移動数が第1のデータベース31に図5に示す如く記憶されている。
一方、演算部10には、図1に示されるように、統計的データ移動数情報取得手段11が備えられている。統計的データ移動数情報取得手段11は、第1のデータベース31に記憶された機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って1利用者当たりの統計的データ移動数情報を求める。
例えば、図6に示すように横軸に1機能プロセスのデータ移動数をとり、縦軸に1機能プロセスの利用者をとってヒストグラムを作成し、この平均値、標準偏差、中央値を求める。この例においては、データ移動数の平均値は3.29となり、標準偏差1.52と中央値3.00が得られる。この中央値の3.00を、1利用者当たりの統計的データ移動数情報とする。
演算部10には、ファンクションポイント算出手段12と出力制御手段13とが備えられている。ここに、ファンクションポイント算出手段12は、入力された機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として、各単位の利用者数情報に上記統計的データ移動数情報を乗じる乗算を行い機能量を得る。更に、ファンクションポイント算出手段12は、該乗算の結果である機能量を加える和算を行ってファンクションポイント情報を得るものである。
入力された機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として計算シートに記載すると図7に示すようになる。この例では、「メニュー画面」機能プロセスと「画像表示」機能プロセスは、利用者数が2であり、「音出力」機能プロセスの利用者数は、4であることを示している。
各単位の利用者数情報に上記統計的データ移動数情報(前述の通り、3.00)を乗じる乗算によって機能量(CFP)は、6、6、12となり、該乗算の結果を加える和算とを行ったファンクションポイント情報(未調整FP)は、図7に示す通り24となる。出力制御手段13は、ファンクションポイント算出手段12により得られたファンクションポイント情報(未調整FP)を、この段階において出力部22から出力するように機能しても良い。
なお、この実施例では、第1のデータベース31を備え、統計的データ移動数情報を装置内において求めたが、第1のデータベース31の内容を別装置に備え、統計的データ移動数情報を他の装置において求め、求めた統計的データ移動数情報(実績データ)を入力部21から入力するようにしても良い。
本実施例では演算部10に、ファンクションポイント算出手段12により算出されたファンクションポイント情報に補正を加える補正手段15、及びこの補正手段15が用いる補正係数を得るための補正係数情報取得手段14を備えている。補正のために、1プロジェクトのソフトウエアを構成するプログラムを定性的複雑度基準によりN段階に区分したプログラム複雑度区分情報を用い、また、1プロジェクトのソフトウエアに使用されるデータを定性的複雑度基準によりM段階に区分したデータ複雑度区分情報を用いるものである。
ここでは、プログラム複雑度区分は、例えば図8(a)に示すように、5区分であり、定性的複雑度基準の内容は図8(a)に記載してある通りである。測定対象プロジェクトのソフトウエアのプログラム複雑度区分が幾つであるかについては測定者が決定し、入力部21から入力する。
また、データ複雑度区分は、例えば図8(b)に示すように、5区分であり、定性的複雑度基準の内容は図8(b)に記載してある通りである。測定対象プロジェクトのソフトウエアのデータ複雑度区分が幾つであるかについては測定者が決定し、入力部21から入力する。
図9(a)には、過去に行った58プロジェクトに関する測定結果から得られたプログラム複雑度区分とデータ移動数の関係をグラフ化したものが示されている。この図9(a)によれば、プログラムの複雑度が高くなるにつれてデータ移動数が増加する傾向があると結論できる。また、図9(b)には、過去に行った58プロジェクトに関する測定結果から得られたデータ複雑度区分とデータ移動数の関係をグラフ化したものが示されている。この図9(b)によれば、データの複雑度が高くなるにつれてデータ移動数が増加する傾向があると結論できる。
図1に示されている外部記憶部30の第2のデータベース32には、複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数と総利用者数の情報とからなる実績データが図10に示すように記憶されている。また図10に示されている通り、第2のデータベース32には、プロジェクト毎に上記プログラム複雑度区分情報及び上記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値(プログラム複雑度区分情報+上記データ複雑度区分情報)を得たものも記憶されている。
補正係数情報取得手段14は、第2のデータベースに記憶された総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得る一方、前記第2のデータベースの複雑度区分値を取り出し、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して補正係数情報を得るものである。
具体的には、評価結果であるプログラム複雑度区分情報及びデータ複雑度区分情報(和算)を複雑度(複雑度区分値)として横軸にとり、縦にプロジェクト毎のデータ移動数をとってグラフとすると、図11のgに示されるようになり、このグラフgに近似する直線による補正線hを得る。この二次元座標において上記1利用者当たりの統計的データ移動数情報(3.00)に一致する複雑度区分値の補正係数を1とする。
図11の例では、統計的データ移動数情報(3.00)には複雑度区分6が該当する。このため、複雑度区分値6の補正係数が1である。他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化する。例えば、複雑度区分値が10は補正線hにおいて4.2であるから、3により正規化(割り算)すると補正係数1.4が得られる。また、複雑度区分値が2は補正線hにおいて1.8であるから、3により正規化(割り算)すると補正係数0.6が得られる。他の複雑度区分値についても同様にすると、図12に示す複雑度(複雑度区分値)と補正係数の対照テーブルが得られる。
前述の通り、入力部21から測定対象プロジェクトのソフトウエアに関するプログラム複雑度区分情報及びデータ複雑度区分情報が入力されているので、和算により測定対象プロジェクトのソフトウエアの複雑度区分値が得られ、図12のテーブルから補正係数が得られる。例えば、プログラム複雑度区分情報が2であり、データ複雑度区分情報が1であるとして、入力されている場合には、合計である複雑度区分値は3であり、図12のテーブルから補正係数0.7が得られる。
補正手段15は、上記のようにして得られた補正係数情報に基づきファンクションポイント算出手段12によって算出されたファンクションポイント情報に補正を加える。図7に示す通りのファンクションポイント情報(未調整FP)=24について、補正係数0.7を適用する乗算を行い、調整済ファンクションポイント情報(調整済FP)=16.8を得る。この結果、図7の未調整FPの欄が調整済FPに変更される。
調整済ファンクションポイント情報(調整済FP)=16.8は、出力制御手段13によって出力部22へ出力され、表示などがなされる。本実施例では、第2のデータベース32と補正係数情報取得手段14を備えたが、これらを他の装置において備えるようにし、得られた補正係数(テーブル)を入力部21から入力して演算部10が保持するように構成しても良い。
未調整FPの補正に関しては、必ずしも行わなくとも良い。本発明の実施例において理解できるように、1利用者当たりの統計的データ移動数情報(実施例では、3.00)に一致する複雑度区分値の補正係数を1としているため、未調整FPの補正が必要か否かを演算部10において判断する処理を不要としている。即ち、全ての場合において単に補正計数を未調整FPに掛けることにより、補正が必要な未調整FPについては補正がなされる一方、補正が不要な未調整FPについては1が掛けられて補正なしと同じ結果が得られるように構成されている。
過去に行った58プロジェクトに関するCOSMIC法による測定結果と、本発明による測定結果である相関を散布図として図13(a)図13(b)に示す。図13(a)におけるR2=0.8183は相関係数=0.905で非常に強い相関にあることが分かる。図13(a)の非相関に係る4プロジェクトを除いて再度相関を散布図としたものを図13(b)に示す。この図13(b)におけるR2=0.9385は相関係数=0.969で非常に強い相関にあることが分かる。
実施例に係るソフトウエア規模測定装置の演算部10における各手段は、図14に示されるフローチャートに対応するプログラムをコンピュータが実行することにより実現されるものであるので、このフローチャートを用いてソフトウエア規模測定装置の動作を説明する。測定対象プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、上記ソフトウエアの必要機能を実現する機能プロセスを識別し、また、トリガイベントを識別し、識別結果に係る機能プロセス情報とトリガイベント情報を入力部21から入力する(S11)。
更に、上記の各機能プロセス情報とトリガイベント情報に対応する利用者数を求めて、求めた利用者数情報を入力部21から入力する(S12)。つまり、図7に示した情報を全て入力する。これにより、演算部10が起動し、先に説明したようにして統計的データ移動数情報を得て、各単位の利用者数情報に上記統計的データ移動数情報を乗じる乗算を行い機能量を得る(S13)。更に、該乗算の結果である機能量を加える和算を行ってファンクションポイント情報(未調整FP)を得る(S14)。
測定者は全ての機能プロセス情報を入力したかの確認を行い(S15)、全機能プロセス情報の入力が完了している場合に、演算部10を次の処理へ移行させるべく、測定対象プロジェクトのソフトウエアに関するプログラム複雑度及びデータ複雑度の評価を行い、結果であるプログラム複雑度区分情報及びデータ複雑度区分情報を入力部21から入力する(S21、S22)。
上記入力に応じて、演算部10は、プログラム複雑度区分情報とデータ複雑度区分情報を合計して複雑度区分値を得る(S23)。先に説明したようにして、補正線hを得て、この二次元座標において上記1利用者当たりの統計的データ移動数情報(3.00)に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を上記1利用者当たりの統計的データ移動数情報により正規化して、補正係数の対照テーブルを得る(S24)。
演算部10は、対照テーブルを用いて、ステップS23において得られた複雑度区分値に対応する補正係数を求める(S25)。先の例では、複雑度区分値は3であり、図12のテーブルから補正係数0.7が得られる。次に、ファンクションポイント情報(未調整FP)=24について、補正係数0.7を適用する乗算を行い、調整済ファンクションポイント情報(調整済FP)=16.8を得て、出力制御手段13によって出力部22へ出力され、表示などがなされる(S26)。
このようにして得られた測定結果は、図13を用いて説明したように、COSMIC法による測定結果と強い相関を有しており、デジタル家電などの組込みシステムやリアルタイムシステムのソフトウエア規模測定をCOSMIC法と同様に好適に行うことができる。この場合、COSMIC法を完璧に理解している必要がなく、上記において入力部21から入力した情報を識別できれば良く、平易な測定である。測定に必要な情報が少なく、必要情報の識別も比較的容易であるから、COSMIC法に比べて短時間で測定を行うことができる利点がある。
本発明に係るソフトウエア規模測定装置の実施例の構成を示すブロック図。 本発明に係るソフトウエア規模測定装置の実施例の測定法において用いられる測定対象プロジェクトのソフトウエアと機能プロセスの関係の一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例の測定法において用いられる測定対象プロジェクトのソフトウエアにおける機能プロセス、利用者、トリガイベントの関係の一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例の測定法に用いられる測定対象プロジェクトのソフトウエアにおける機能プロセスと利用者数の関係の一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例が備える第1のデータベースに記憶されている情報の内容の一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例が統計的処理行って1利用者当たりの統計的データ移動数情報を求める処理を説明するためのヒストグラムの一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例によってファンクションポイント情報(未調整FP)を求める処理を説明するための計算シートを示す図。 本発明に係るソフトウエア規模測定装置の実施例によってファンクションポイント情報(未調整FP)を補正する処理に用いるプログラム複雑度区分及びデータ複雑度区分の一例を示す図。 過去の測定結果から得られたプログラム複雑度区分とデータ移動数の関係及びデータ複雑度区分とデータ移動数の関係の一例をグラフ化して示した図。 本発明に係るソフトウエア規模測定装置の実施例が備える第2のデータベースに記憶されている情報の内容の一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例によってファンクションポイント情報(未調整FP)を補正する補正係数情報を得るときの処理に用いるグラフを示す図。 本発明に係るソフトウエア規模測定装置の実施例によってファンクションポイント情報(未調整FP)を補正する処理に用いる補正係数情報の一例を示す図。 本発明に係るソフトウエア規模測定装置の実施例による測定結果とCOSMIC法による測定結果の相関を示す分布図。 本発明に係るソフトウエア規模測定装置の実施例の動作を説明するためのフローチャート。
符号の説明
10 演算部
11 統計的データ移動数情報取得手段
12 ファンクションポイント算出手段
13 出力制御手段
14 補正係数情報取得手段
15 補正手段
21 入力部
22 出力部
30 外部記憶部
31 第1のデータベース
32 第2のデータベース

Claims (8)

  1. 情報を入力するための入力部と、この入力部により入力された情報を演算する演算部と、この演算部により演算された結果を出力する出力部とを備え、
    測定対象プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、前記ソフトウエアの必要機能を実現する機能プロセスを識別した結果である機能プロセス情報が前記入力部から入力され、
    前記ソフトウエアの外部から前記各機能プロセスを起動するためのイベントであるトリガイベントを識別した結果であるトリガイベント情報が前記入力部から入力され、
    前記各機能プロセス毎に当該機能プロセスと相互に作用する利用者の数である利用者数を識別した結果である利用者数情報が前記入力部から入力され、
    複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って得た1利用者当たりの統計的データ移動数情報が前記入力部から入力され、
    前記演算部において、前記入力部から入力された機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として、各単位の利用者数情報に前記統計的データ移動数情報を乗じる乗算と、該乗算の結果を加える和算とを行ってファンクションポイント情報を得るファンクションポイント算出手段と、
    このファンクションポイント算出手段により得られたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させる出力制御手段と
    を具備することを特徴とするソフトウエア規模測定装置。
  2. 複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数を記憶した第1のデータベースと、
    この第1のデータベースに記憶された機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って1利用者当たりの統計的データ移動数情報を求める統計的データ移動数情報取得手段と
    を具備することを特徴とする請求項1に記載のソフトウエア規模測定装置。
  3. 1プロジェクトのソフトウエアを構成するプログラムを定性的複雑度基準によりN段階に区分したプログラム複雑度区分情報を用い、
    1プロジェクトのソフトウエアに使用されるデータを定性的複雑度基準によりM段階に区分したデータ複雑度区分情報を用い、
    複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して得られる補正係数情報を用い、
    測定対象プロジェクトのソフトウエアに関して、プログラム複雑度区分情報及びデータ複雑度情報の入力を受けて、当該プロジェクトの複雑度区分値を得て、この当該プロジェクトの複雑度区分値と前記補正係数情報に基づき前記ファンクションポイント算出手段による算出されたファンクションポイント情報に補正を加える補正手段とを具備し、
    前記出力制御手段は、この補正手段により補正されたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させることを特徴とする請求項1または2に記載のソフトウエア規模測定装置。
  4. 複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数と総利用者数の情報を記憶すると共に、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して得た複雑度区分値情報を記憶した第2のデータベースと、
    この第2のデータベースに記憶された総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得る一方、前記第2のデータベースの複雑度区分値を取り出し、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して補正係数情報を得る補正係数情報取得手段とを具備することを特徴とする請求項3に記載のソフトウエア規模測定装置。
  5. 情報を入力するための入力部と、この入力部により入力された情報を演算する演算部と、この演算部により演算された結果を出力する出力部とを備えるソフトウエア規模測定装置の前記演算部を構成するコンピュータを、
    測定対象プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、前記ソフトウエアの必要機能を実現する機能プロセスを識別した結果である機能プロセス情報が前記入力部から入力され、
    前記ソフトウエアの外部から前記各機能プロセスを起動するためのイベントであるトリガイベントを識別した結果であるトリガイベント情報が前記入力部から入力され、
    前記各機能プロセス毎に当該機能プロセスと相互に作用する利用者の数である利用者数を識別した結果である利用者数情報が前記入力部から入力され、
    複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って得た1利用者当たりの統計的データ移動数情報が前記入力部から入力され、
    前記演算部において、前記入力部から入力された機能プロセス情報と対応するトリガイベント情報と更に対応する利用者数情報とを単位として、各単位の利用者数情報に前記統計的データ移動数情報を乗じる乗算と、該乗算の結果を加える和算とを行ってファンクションポイント情報を得るファンクションポイント算出手段、
    このファンクションポイント算出手段により得られたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させる出力制御手段
    として機能させることを特徴とするソフトウエア規模測定プログラム。
  6. 複数プロジェクトのソフトウエアに関する要求仕様書の記載内容に基づき、当該各ソフトウエアの必要機能を実現する機能プロセスを識別し、この各機能プロセス内のデータ移動数と利用者数を識別し、識別した各機能プロセス内のデータ移動数と利用者数を用いて、機能プロセス毎における1利用者当たりのデータ移動数を求め、求められた機能プロセス毎における1利用者当たりのデータ移動数を記憶した第1のデータベースを、前記コンピュータが備え、
    前記コンピュータを更に、前記第1のデータベースに記憶された機能プロセス毎における1利用者当たりのデータ移動数に統計的処理行って1利用者当たりの統計的データ移動数情報を求める統計的データ移動数情報取得手段
    として機能させることを特徴とする請求項5に記載のソフトウエア規模測定プログラム。
  7. 前記コンピュータが、
    1プロジェクトのソフトウエアを構成するプログラムを定性的複雑度基準によりN段階に区分したプログラム複雑度区分情報を用い、
    1プロジェクトのソフトウエアに使用されるデータを定性的複雑度基準によりM段階に区分したデータ複雑度区分情報を用い、
    複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して得られる補正係数情報を用い、
    前記コンピュータを、
    測定対象プロジェクトのソフトウエアに関して、プログラム複雑度区分情報及びデータ複雑度情報の入力を受けて、当該プロジェクトの複雑度区分値を得て、この当該プロジェクトの複雑度区分値と前記補正係数情報に基づき前記ファンクションポイント算出手段による算出されたファンクションポイント情報に補正を加える補正手段として機能させ、
    この補正手段により補正されたファンクションポイント情報を前記出力部からソフトウエア規模情報として出力させる出力制御手段
    として機能させことを特徴とする請求項5または6に記載のソフトウエア規模測定プログラム。
  8. 複数プロジェクトのソフトウエアについて、それぞれソフトウエア規模測定を行って各プロジェクト毎の総データ移動数と総利用者数とを求め、求められた総データ移動数と総利用者数の情報を記憶した第2のデータベースを前記コンピュータが備え、
    前記コンピュータを、
    前記第2のデータベースに記憶された総データ移動数を総利用者数により割る除算を行ってプロジェクト毎のデータ移動数を得て、プロジェクト毎に前記プログラム複雑度区分情報及び前記データ複雑度区分情報におけるどの区分であるかを評価して複雑度区分値を得て、前記プロジェクト毎のデータ移動数と複雑度区分値に基づき前記1利用者当たりの統計的データ移動数情報に一致する複雑度区分値の補正係数を1とし、他の複雑度区分値を前記1利用者当たりの統計的データ移動数情報により正規化して補正係数情報を得る補正係数情報取得手段
    として機能させることを特徴とする請求項7に記載のソフトウエア規模測定プログラム。
JP2008287438A 2008-11-10 2008-11-10 ソフトウエア規模測定装置及びソフトウエア規模測定プログラム Expired - Fee Related JP5147649B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008287438A JP5147649B2 (ja) 2008-11-10 2008-11-10 ソフトウエア規模測定装置及びソフトウエア規模測定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008287438A JP5147649B2 (ja) 2008-11-10 2008-11-10 ソフトウエア規模測定装置及びソフトウエア規模測定プログラム

Publications (2)

Publication Number Publication Date
JP2010113639A JP2010113639A (ja) 2010-05-20
JP5147649B2 true JP5147649B2 (ja) 2013-02-20

Family

ID=42302133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008287438A Expired - Fee Related JP5147649B2 (ja) 2008-11-10 2008-11-10 ソフトウエア規模測定装置及びソフトウエア規模測定プログラム

Country Status (1)

Country Link
JP (1) JP5147649B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161485A (ja) * 1997-11-28 1999-06-18 Hitachi Ltd ソフトウェア機能量算出方法および装置
JP2000076062A (ja) * 1998-09-02 2000-03-14 Hitachi Ltd システム規模見積支援装置
JP2001092653A (ja) * 1999-09-24 2001-04-06 Matsushita Electric Works Ltd ソフトウェア規模自動算出装置
JP2001117763A (ja) * 1999-10-19 2001-04-27 Nippon Steel Corp ソフトウェア規模演算装置、ソフトウェア規模演算方法、及びコンピュータ読み取り可能な記録媒体
JP4903472B2 (ja) * 2006-03-30 2012-03-28 みずほ情報総研株式会社 システム規模推計システム、システム規模推計方法及びシステム規模推計プログラム
JP4967562B2 (ja) * 2006-09-22 2012-07-04 株式会社明電舎 ソフトウェア開発支援システムおよび支援方法

Also Published As

Publication number Publication date
JP2010113639A (ja) 2010-05-20

Similar Documents

Publication Publication Date Title
KR102208210B1 (ko) 동적 특이치 바이어스 감소 시스템 및 방법
CN109684118B (zh) 异常数据的检测方法、装置、设备及计算机可读存储介质
US20080178145A1 (en) Method and System for Generating a Predictive Analysis of the Performance of Peer Reviews
US8020147B2 (en) Software package implementation sizing
CN108833458A (zh) 一种应用推荐方法、装置、介质及设备
US9785430B2 (en) Methods, systems and computer-readable media for detecting a partial commit
WO2017131669A1 (en) Recommendations based on the impact of code changes
CN112860756A (zh) 基于习题测试的学习资源推荐方法、装置及计算机设备
US20160162539A1 (en) Computer executable method of generating analysis data and apparatus performing the same and storage medium for the same
CN108428138B (zh) 一种基于客户分群的客户生存率分析装置及分析方法
CN112396335A (zh) 一种基于灰色综合评价模型的评价方法及装置
US20150089481A1 (en) Methods, systems and computer-readable media for quantifying a bug detection efficiency of a bug prediction technique
CN111324277A (zh) 一种输入校验方法及装置
JP5147649B2 (ja) ソフトウエア規模測定装置及びソフトウエア規模測定プログラム
WO2016079782A1 (ja) 業務状況管理システム、及び業務状況管理方法
CN113870969A (zh) 健康评估报告生成方法、系统、服务器及介质
US20200310583A1 (en) Methods and techniques for correcting pressure sensor data in the presence of abnormal pressure sensor readings
JP5856231B2 (ja) 環境負荷評価装置および環境負荷評価方法
JP6604032B2 (ja) 評価支援装置、評価支援プログラム及び評価支援システム
Aranha et al. Automated test execution effort estimation based on functional test specifications
JP2019003267A (ja) Aiサービス利用支援システム
JP2017062551A (ja) 品質基準算出装置及び品質基準算出方法
JP4903472B2 (ja) システム規模推計システム、システム規模推計方法及びシステム規模推計プログラム
JP6267455B2 (ja) 工数見積装置、工数見積方法及びプログラム
JP2016099688A (ja) リスク評価方法およびリスク評価装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121127

R150 Certificate of patent or registration of utility model

Ref document number: 5147649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees