情報処理学会第69回全国大会

4M-5

ソフトウェア開発工程における GUI 部分の工数見積について
今井義治，太田義勝，鈴木秀智

三重大学大学院 工学研究科 情報工学専攻
１．はじめに一般にソフトウェア開発の可否を判断するエンドユーザや経営者が求めているのはプロジェクトの完成に何人必要で、何年何ヶ月かかるか、全部でいくらかかるか、リリース時の品質はどうなるか、といったことである(2)。これらの情報を開発側と発注側が各々計算し、同じ結果に至るように出来るならば、現在開発現場で起こっている見積りミスや見積りの不一致による問題はその殆どが解決できる。
高度な GUI を持った対話型ソフトウェアの場合、画面設計書が開発の初期段階に与えられることが多く、また、画面に含まれる要素の内、データの移動の件数とソフトウェア全体の規模には相関関係がある(4)。故に GUI の開発工数を正確に見積ることによって、ソフトウェア全体の開発工数を見積ることが出来る。
本研究では、要求された動作を実現するために必要な GUI 部分の開発工数を、技術的背景を持たないエンドユーザを含め、誰が行っても同じ結果で見積る事ができる方法を開発することにより、見積りミス等による問題の解決を図る。
２．関連研究第４世代言語以降のプログラミングツールの発展により、プログラム開発者の技能はロジックの作成だけでなく、プロパティ等の設定調整の効率が大きく影響するようになり、従来の見積り手法であるステップ数等ではプログラムの開発規模を測るのが難しくなってきた。これに対し、ファンクションポイント等の見積り手法が研究されて来たが、この手法で見積りが行えるのはロジックの見積りができる技術者に限定される。従ってシステムの外見のみを以って規模を判断しがちなエンドユーザを納得させるという点についていえば不十分といわざるを得ない。
近年 COSMIC‑FFP を用いて画面設計書から機能規模を割り出す研究(4)がなされているが、同一機能部品を再利用するか否かの判断等の点で見積りにばらつきが生じたり、実際の再利用度とそぐわない結果が出てしまったりして、エンドユーザが機械的に見積るには、充分とは言えない。
A Method to Estimate Software Cost Focused on Graphical UserInterface,
Yoshiharu Imai, Yoshikatsu Ohta, Hidetomo Suzuki,
Division of Information Engineering, Graduate School ofEngineering, Mie University

また、従来見積の研究においては、過去の実績の収集が正確な見積を行う上での第一歩であるとされてきた(2)。プロジェクトの開発に携わるチームの力量によって開発能力に差があり、その力量を測るのは過去のデータによることが一番良いのは自明である。しかしながら、我国ではソフトウェア開発の第一線では自社内の技術者ではなく協力会社と呼ばれる下請企業の技術者によって現場が支えられている。実際、プロジェクトの名目上のリーダのみをプロパーとして参加させ、孫受けや玄孫受けの下請企業の技術者が開発チームのリーダとなって、その他全ての開発メンバーも外注といった開発も多々行われている。その為、我国の開発現場ではプロジェクト毎に開発メンバーが異なるのが一般的である。
このような状況下では過去の実績から開発メンバーの能力を予測することは不可能である。
そこで、特定の開発チームによらない、我国の平均的であり且つ一般的な開発能力の指針を汎用的な見積ツールとして作成する必要がある。
３．本研究における工数見積り
本研究の手法は技術的背景を持たないエンドユーザ自身が見積りを行える事もあり、過去に、実際の開発現場において複雑な GUI の開発を短期で行うように要請されたときに本手法で見積りを作成し、エンドユーザを納得させることに成功した事例がある。しかし、前提となる GUI 部品毎の見積りの基準が作成者及び同プロジェクトに参加していた技術者を基準としていた為、その時点では汎用的なツールとはいえない状態であった。
本研究では以下の手順により開発工数を割り出し、手法の汎用化を図る。
(1) GUI の構成要素の種類を全て洗い出す。
(2) 各々の構成要素毎に開発必要工数を割り出す。
(3) 各構成要素についてその数と必要工数を掛け合わせて合計し、1 画面あたりの部品数等によって修正を加えて全体の開発工数を割り出す。
構成要素毎の開発必要工数の割り出しには、先行研究(3)で検証に利用されている熟練者による見積を利用する。その為、代表的な GUI プログラミングツールである Visual Studio 統合開発環境を例に取り、技術者を対象にアンケート調査し、アンケート回答者の技術的な背景から回答された値に重1-331

情報処理学会第69回全国大会

み付けを行うことにより、目的とする手法のパーツ毎の見積り基準を作成する。
４．結果
本研究では日本語を母国語とする技術者、上流設計経験者、調査対象の言語での開発経験者という条件の下に調査を行った。調査は中部経済産業局所管のシステムインテグレータを中心に 21 社に協力を依頼し、協力合意 13 社 51 人の技術者から回答を得、内有効回答数は 48 であった。有効回答中の技術者の年齢は 25 歳から 45 歳まで平均 32.8 歳、情報処理業務従事月数は平均 115 ヶ月、上流工程経験月数は平均 10.3 回、Visual Studio を使用して の 開 発 で の 見 積 回 数 は 平 均 11.3 回 、 VisualStudio を使用しての開発経験月数は 56.2 回、コンピュータの使用歴は平均 157.5 ヶ月であった。また、回答者中 24 人が開発作業を行ってからブランクがあり、その平均は 30.7 ヶ月であった。表１に調査結果を示す。見積時にはこの表の所要時間に画面毎の部品点数を掛けた結果を合算して画面毎の開発工数の見積を行う。
表１．GUI 部品毎の開発工数#

機能

文字やグラフィックの表示と入力
1
文字の表示（編集不可）
2
ハイパーリンクの表示
3
文字や数値の自由入力（文字修飾なし）
4
文字や数値の自由入力（文字修飾あり）
5
グラフィックの描画及び表示表と選択
6
表形式でのデータ表示（編集不可）
7
表形式でのデータ表示（編集可）
8
オンとオフの選択
9
リスト表示でない複数選択肢からの単一選択（１選択肢毎）
10
リストの表示11
リストの表示とリスト中からの単一選択
12
リストの表示とリスト中からの複数選択
13
リストからの単一選択と自由入力の混合
その他の部品
14
ツリー構造の表示
15
タブ付パネルの表示（IP の設定やオプション設定の上部の子画面選択用の見出し機能等）
16
日付や時刻の入力
17
カレンダー（月単位）の表示
18
横スクロールバーの表示
19
縦スクロールバーの表示
20
登録されている文字列のリストから 1 つを選んで表示する時の表示切替用上下ボタン
21
入力数値の増減用上下ボタン
22
ボリュームやビデオプレーヤーの再生位置移動等値の範囲をゲージで変更するバー
23
処理の進行状況の表示
24
インターバルのある処理（タイマー）

所要時間
(分)
16
18
40
35
38
85
186
4350
59
62
66
67
94
107
64
65
39
39
38
35
52
70
76

部品に依存しない処理
26
フォームの初期・終了処理
27
データベースの検索・更新（データベースへの接続と SQL の発行）
フォーム全体に対する設定
28
マウスポインタを当てた時に表示する簡易説明の設定（説明を一つ追加する毎）29
右クリック時に表示されるメニューの設定（メニューを表示する対象を一つ追加する毎）30メニューバーの表示（メニュー１項目追加毎）
31
ツールバーの表示(１機能追加毎）
32
フォーム下部のステータスバーの表示
33
ステータスバー上へのアイコンの表示（１アイコン追加毎）
ファイルの操作34
ファイルの選択ダイアログの表示
35
ファイルの保存ダイアログの表示
36
フォルダの選択ダイアログの表示
フォントや色の設定
37
フォント指定ダイアログの表示
38
色指定ダイアログの表示
印刷実行
39
印刷ダイアログの表示
40
印刷の実行（帳票の作成を含む）
印刷プレビュー
41
プリントプレビューダイアログの表示
42
プリントプレビューの表示
印刷設定
43
ページ設定ダイアログの表示
エラー表示
44
エラー情報ダイアログの表示

70
160

2337573438445458
46
33
33
59
249
76
97
74
76

５．おわりに
本研究では、GUI 部分の開発工数を、技術的背景を持たないエンドユーザを含め、誰が行っても同じ結果で見積る事ができる方法を提案した。本手法の妥当性検証を目的として、割り出した構成要素毎の開発工数を用いて既に開発が終わっているシ
ステムの GUI 部分の見積りを行う。この値を利用し、COSMIC‑FFP(1)を用いてシステム全体の工数を類推し、見積った結果と実際にかかった工数間の関連に有意性があるか検証する。
参考文献(1) COSMIC‑FFP Measurement Manual (The COSMIC
Implementation Guide for ISO/IEC 19761:2003)
Version 2.2, January 2003.
(2) Lawrence H. Putnam and Ware Myers, 山 浦 恒 央（訳）, 初めて学ぶソフトウェアメトリクス プロ
ジェクト見積もりのためのデータの導き方 , 日経BP 社, 2005.
(3) 松川文一, "ユースケースモデルを入力とした工数見積支援ツールの構築", 修士論文, 大阪大学大学
院情報科学研究科, 2004.
(4) 野中誠ほか,
画面仕様書に基づく対話型ソフトウ
ェアの機能規模と複雑度の測定技法 , 情報処理学会研究報告 SE‑136‑23, pp.171‑178, March 2002.

1-332