Research Abstract |
本研究では,技術者個人の能力に応じたソフトウェア教育を行うための「計量化モデルに基づく支援システムの開発」を最終的な目標に掲げた.具体的には,プログラマがバグを作り込む時点から,それを発見し,除去するまでの全ての作業プロセスを定量的に観測し,各個人の作業プロセスのどこをどのように改善すればよいかを具体的に指示する枠組を作ることを目指す. 先ず,「コーディング」と「テスト」の2つの工程に注目し,そこでの作業内容を計量化モデルで記述した.具体的には,大学におけるプログラム開発演習を例にとって,比較検討した.先ず,フォールト除去(文法フォールトと論理フォールトの除去)プロセスでの作業内容を定量的に評価するため,フォールト除去プロセスをペトリネットモデルで記述した.ペトリネットのトランジションに対し種々のデータが計測可能な基本作業を対応させ,プレースには状態を対応させた.次に,このモデルに基づいて4つの評価尺度:文法フォールト除去作業の繰り返し回数(CountSF)とその総時間(TimeSF),論理フォールト除去作業の繰り返し回数(CountLF)とその総時間(TimeLF),を導入した.これらの評価尺度の値はトランジションの発火回数と発火時間,プレースにト-クンが置かれていた時間,等の値が求まると計算可能となる.これらの値をソフトウェア開発プロセスから収集したデータから求めるための支援ツールを作成した.次に,大学の情報工学演習で実際にモデルの適用実験を行った.その結果,文法フォールトと論理フォールト除去の作業効率に向上が見られること,及び,それぞれの向上の中身に違いがあることが定量的に確認できた.更に,企業で実際に行われたソフトウェア開発にも提案するプロセス改善の枠組を適用した.その結果,現状のソフトウェア開発プロセスにおけるフォールトの発見・除去作業の問題点を指摘し,その問題点を解消する改善案の提示を行うことができた.
|