ソフトウェアタグの規格とその応用に ついて 大阪大学大学院情報科学研究 科 井上 克郎 Copyright © 2008 Nara Institute of Science and Technology / Osaka University ソフトウェアの重要性と開発の複雑化 ソフトウェア品質に起因する問題の重大化と大規模化 重大な社会インフラが停止する ユーザ・ベンダに莫大な経済的損失を与える 人命に関る危険を引き起こす 銀行や通信システム 航空管制システム,自動車安全制御システム ソフトウェアの大規模化と開発期間の短縮 コストの低減や生産性の向上が要求される 2 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 開発情報の不透明化 開発体制の複雑化 受注ベンダから2次請け,3次請けという多重下請け構造 オフショア開発(海外へのアウトソース)の拡大 ソフトウェア部品の流用・再利用の拡大 COTS(Commercial Software)など off-the-shelf) , OSS(Open Source 発注 発注 一次請け 一次請け 発注 発注者 発注者 二次請け 二次請け 二次請け 二次請け (海外) (海外) 元請会社 元請会社 一次請け 一次請け 3 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 不透明化に伴う問題 発注者が納品物の品質を検証できない ユーザは要望に合ったソフトウェア商品を選択するこ とができない 開発者任せになっている 機能と値段などの情報は入手できるが,信頼性や保守性など については検証する手段がない 問題が発生した場合,原因や責任の所在を突き止める ことが困難である 迅速な障害対応が困難 法的な係争に発展した場合,長期化する 4 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University ソフトウェアタグ ユーザが納品された,あるいは購入・流用したソフト ウェアを安心して安全に用いるために,ソフトウェア の開発プロセスや成果物に関する情報を共有する仕組 み 開発時に得られる種々の実証データをユーザに提供 二者間の取引で発注者のみに開示(一般公開なし) 目標タグ,途中タグ,最終タグ 10 9 期待される効果 発注者によるソフトウェアの品質の検証 ユーザによる適正なソフトウェア製品の選択の促進 問題発生時の対応の迅速化 透明性の拡大による法的問題の発生の予防と 早期の公正な解決の促進 8 7 6 5 系列1 4 3 2 1 0 1 2 3 4 5 6 7 <23.5, 35.2, 50.7, 68.2> 7 6 5 4 系列1 3 2 1 0 20 40 60 80 1 2 3 4 5 6 7 <0, 2.5, 0, -0.8, 0 > 80 70 60 50 40 系列1 30 20 10 0 0 2 4 6 8 10 5 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 開発現場におけるデータ計測 実証データの収集 品質管理,進捗管理,リスク管理,コスト管理 発注 開発データ 録 納品 記 ソフトウェア開発者 ソフトウェア発注者 ソフトウェア プロダクト 分析 フィードバック データ収集 実証 6 データ Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University ソフトウェアタグと開発プロセス 実証データを選択、抽象化してタグにする 発注 開発データ 記録 納品 ソフトウェア開発者 ソフトウェア発注者 ソフトウェア プロダクト 分析 フィードバック データ収集 添付 実証 抽出 タグ データ 7 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University タグ項目 プロジェクト情報(12項目) 開発プロジェクト及びシステムの基本情報 進捗情報(29項目) 開発プロセスの履歴や進捗に関する情報 プロジェクト情報 (12種) 進捗情報 (29種) 8 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University プロジェクト情報の構成 基本情報 (4) システム情報 (2) 開発手法、開発体制、プロジェクト期間 プロジェクトの階層構造情報 (2) システム構成、システム規模 開発情報 (3) プロジェクト名、開発組織の情報、開発プロジェクト情報、 顧客情報 親プロジェクト情報、子プロジェクト情報 その他 (1) 特記事項 9 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University プロジェクト情報の例 分類 項番 項目名 1 2 基本情報 3 説明 具体化例 プロジェクト名 プロジェクトを一意に決定する ための識別名 開発組織の情 当該プロジェクトの開発を担当 開発組織名 報 する組織の情報.一般には, ISO15504(SPICE),CMMIなどのアセスメ 受注者となる組織情報となる. ントモデルによる認証レベル 対象業種の経験 .... 開発プロジェク 開発プロジェクトの特徴や当 開発プロジェクト種別:新規・改造・保 ト情報 該タグデータの対象とするプロ 守・運用・流用など ジェクトの種類を示す情報.タ 開発プロジェクト形態:商用パッケージ, グデータの解釈や分析時に必 受託開発など 要なデータ. 利用パッケージ 設計書再利用率・ソースコード再利用 率・コンポーネント再利用率など 顧客情報 4 システム構成 5 システム情 報 システム規模 6 ...... .... 当該システムのユーザ,もしく 顧客名 は第1発注者となる組織の情 新規顧客か否か 報. .... 実証データ例 プロジェクト計 画書 など プロジェクト計 発注仕様書 CMMI認定情報 体制表 キャリアシート など 要件定義書 プロジェクト計 画書 品質計画書 設計ドキュメン ト ソースコード テスト計画書 など 顧客との議事 録 プロジェクト計 画書 など 開発システム構成の特徴や当 利用したサブシステムの安定度:利用 基本設計書 該タグデータの対象とするシ ハードウェア、ライブラリ、OS等、調達し プロジェクト計 ステムの種類を示す情報.タ たサブシステムの安定度合い(初回、不 画書 グデータの解釈や分析時に必 安定等) 工程管理表 要なデータ. サブシステムの検証期間/工数:利用を 勤務実績デー 検討したサブシステムの検証期間と工 タ など 数 開発システムの規模.計画値 と最終実績値とする.進捗情 報に同じ情報が含まれる場合 は,省略可. .... 受注者側の想定する顧客要件の数,実 基本設計書 装した要件数など ソースコード 要件定義書 工程終了時のソースコード行数,機 能,FP,処理データ量,処理データ数など など .... 進捗情報の構成 要件定義 (3) 設計 (3) 作業工数、生産性 計画・管理 (4) レビュー状況、レビュー作業密度、レビュー指摘率、欠陥件数、欠陥対応件 数、欠陥密度、欠陥指摘率、静的チェックの結果 工数 (2) 規模、変更、密度、消化 品質 (8) 規模、変更、複雑度 テスト (4) 規模、変更、要件の網羅率 プログラミング (3) ユーザヒアリング情報、規模、変更 プロセス管理情報、会議実施状況、累積リスク項目数、リスク項目滞留時間 その他の成果物 (2) 規模、変更 11 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 進捗情報の例 分類 項番 項目名 要件定義 ユーザヒアリング情報 1 2 規模[推移] 変更[推移] 説明 具体化例 実証データ例 要件に関してユーザに行ったヒア ユーザヒアリング実施件数(回) ユーザヒアリング項目数(件) リングに関する情報 ユーザヒアリング回答率:ユーザヒアリング回 答数÷ユーザヒアリング項目数 ..... 開発側で作成した要件数 画面、機能項目、ユースケース、アクター,顧 客要件,機能,FPなど 変更された要件数 規模の計測単位に依存 ユーザヒアリン グ議事録 ユーザヒアリン グ質問票 など 要件定義書 など 要件定義書 要件定義書の 変更履歴 など 設計成果物の規模 ※新規・改造・再利用(流用)毎に 計測する 基本設計書 機能設計書 構造設計書 詳細設計書 など 3 設計 規模[推移] 4 変更[推移] 機能設計:ページ数・帳票数・画面数・ファイル 数・項目数・UML図の数、クラス数、バッチプロ グラム数,重要な機能数など 構造設計:データ項目数,DFDデータ数,DFD プロセス数,DBテーブル数など ..... 変更された設計成果物の数,もし 規模の計測単位に依存 くは変更量 5 要件の網羅率 6 ...... 要件定義で作成された要件の実 装率 設計に取り入れられた要件数÷要件数 基本設計書 機能設計書 構造設計書 詳細設計書 各設計書の変 更履歴 など 要件定義書 基本設計書 機能設計書 構造設計書 詳細設計書 など タグの規格の策定方法 ソフトウェアタグ規格技術委員会及びWGでの議論 第1回(2007年7月9日) ~ 第11回(2008年7月28日) タグ項目洗練のためのWG(2008年5月1日) 構成員 14組織 27人 SWEBOK、CMMI、ISO/IEC15939、 SECデータ白書 等を調査 プロセス 1. 2. 3. 4. 5. メンバーからの必要なメトリクスの提案 プロジェクト、プロセスの大分類とその下の中分類の導入 種々の規格との整合性チェック 利用シーンの検討 項目の整理、統合 13 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University ソフトウェアタグ規格技術委員会 富士通研究所 (Fujitsu Lab) 日立製作所 (Hitachi) NEC ベンダー シャープ (SHARP) SRA先端技術研究所 (SRA Key-Tech Lab) 東芝 (Toshiba) NTTデータ(NTT Data) 東京証券取引所 (Tokyo Stock Exchange) JAXA (Japan Aerospace Exploration Agency) ユーザー デンソー(DENSO) IPA (Information Technology Promotion Agency, Ministry of Economy, Trade and Industry, Japan) 政府 奈良先端科学技術大学院大学 (NAIST) 大学 大阪大学 (Osaka University) 14 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 利用モデル タグの利用モデル ソフトウェアの開発形態、利用形態、ユーザなどに 依存 典型例 委託開発時、ユーザが開発状況を知るため 2. 重大問題発生時の原因究明や法的紛争時に、 第三者による評価を行うため 3. ソフトウェア部品等の評価を行うため 1. 15 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 1.委託開発時の利用モデル 納品物の品質について検証する 発注 開発データ 記録 納品 ソフトウェア開発者 ソフトウェア発注者 ソフトウェア プロダクト 分析 フィードバック データ収集 添付 エンピリカル 抽出 タグ データ 16 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 2.法的紛争時の利用モデル 問題の原因や責任の所在を精査する 発注 開発データ 記録 納品 ソフトウェア発注者 ソフトウェア 製品 添付 ソフトウェア開発者 分析 フィードバック 抽出 データ収集 エンピリカ ル タグ データ 検査 検査 17 ソフトウェアライアビリティ Copyright ©Institute 2008 Nara Instituteand of Science and/ Technology / Osaka University 調停・仲裁人 Copyright © 2008 Nara of Science Technology Osaka University 3.ソフトウェア部品等の評価の利用モデル 再利用プロダクトの品質を検査し、選定したり、リス クやコストを見積ったりする 再利用プロダク トの検索 再利用可能なソフトウェア プロダクト リポジトリ ソフトウェア プロダクト ソフトウェア開発者 ソフトウェア システム ソフトウェア プロダクト ソフトウェア プロダクト 信頼性の高い プロダクト選定 信頼性検査 18 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 実証データ タグの証拠となるデータ 対象ソフトウェアに関する成果物や開発中に付随的に発生す る種々の生のデータ 7,000 6,000 ソースコード、設計書、議事録、障害票、進捗表などのデータ 5,000 4,000 3,000 2,000 1,000 2006/6/6 2006/6/2 2006/5/29 2006/5/25 2006/5/9 2006/5/5 2006/5/21 2006/5/1 2006/5/17 2006/5/13 2006/4/27 2006/4/23 2006/4/7 2006/4/19 2006/4/3 2006/4/15 2006/4/11 2006/3/30 2006/3/26 2006/3/22 2006/3/6 0 2006/3/18 二者間で実証データの扱い協議して決める 2006/3/14 2006/3/10 いろいろなやり方考えられよう 1. 実証データは不要 2. そのまま実証データをタグに添付する(一部のみ、全部、…) 3. 実証データはベンダーで保管。必要に応じてユーザが見る 4. 暗号化してタグに添付。キーはベンダー保管。重大な不具合や 問題が生じたとき等の原因調査、法的紛争時に復号化して開示 5. 安全な第3者機関で保存 … 19 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University タグの運用方法 すべての項目を網羅的にタグ化されることを求めない 収集データの対象物、対象範囲、粒度、収集期間(工 程)受発注者間で取り決める 他の項目から算出可能な数値は、項目から除外する 収集データのタグ化のタイミング、もしくは受注者へ の開示タイミングは、受発注者間の協議により決定さ れる 納品時、工程毎、一定時間ごと(週次、日次)などが考えられる 20 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University タグのライフサイクル例 21 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 階層的なタグの定義 プロジェクトの構造 ≡ 木 (親子関係) 親プロジェクトは子プロジェクトへのリンク情報を持つ(その逆も) メイン(親)タグ プロジェクトID 親がない場合は, 空白(Null) 親プロジェクトID サブ(子)タグ サブ(子)プロジェクト数(n) プロジェクトID サブ(子)プロジェクト1_ID .... 親プロジェクトID サブ(子)プロジェクトn_ID サブ(子)プロジェクト数(n) サブ(子)プロジェクト1_ID .... サブ(子)プロジェクトn_ID サブ(孫)タグ プロジェクトID 親プロジェクトID サブ(子)プロジェクト数(n) サブ(子)プロジェクト1_ID .... 22 サブ(子)プロジェクトn_ID22 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University タグフォーマットの標準化 多様なユーザへの開示・流通を目的として、タグ情報 の標準フォーマット化をXMLベースで実現する SEDEX*:Software Engineering Data Exchange language エンピリカル データ SEDEX*へ 変換 SEDEX化された ソフトウェアタグ タグの可視化、 評価ツール タグの評価 受注側 発注側 23 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University FAQ1: 進捗報告会議でやってることと同 じ ほぼ同じようなことを定期的に打ち合わせで発注者に情 報開示している。ソフトウェアタグとの違いは? 発注者と開発者できちんと情報交換して品質を担保し ようとしている組織にとってはタグ項目はあたりまえ あたりまえでない開発が現状、多々ある。タグはそれ を防ぐための最低基準 各社バラバラではない、統一の基準があると普及させ やすい 24 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University FAQ2: もっとデータが必要では? 41項目のデータだけでは十分品質を担保できないのでは ? 品質改善の現場では、もっと詳細なデータ収集・分析し ている 当然たくさんのデータがあれば、より詳細な可視化が 可能だが、収集コスト、実現可能性などのバランスを考 えて決定 プロジェクト規模 大: 最低限のデータセット 中: 標準的なデータセット 小: 十分なデータセット 不十分な場合は、合意の上、別途、余分なデータを追 25 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University FAQ3: 本当に品質向上するか? ソフトウェアタグによってどれだけ品質向上するか、定 量的なデータあるか?上司を説得できるケーススタディ ーあるか? 定量的に示すことは困難 食品のトレーサビリティの効果は? CMMIの効果は? 地道なデータの蓄積必要 品質向上に寄与することは間違いない データ開示による開発者の緊張感 発注者側も責任感 26 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University FAQ4: コスト増大にならないか? 趣旨はわかるが、実証データの収集、分析、開示のため のコストが大きく、利益を大幅に削ってしまうのではな いか? タグの項目の多くは、環境設定さえきちんとすれば、 ほぼ自動的に収集できるもの タグ用のデータ収集、パッケージング化ツールを使え ば、大きなオーバーヘッドにならない すでに組織内のプロセス改善活動用のデータ収集とオーバー ラップしている EASEプロジェクト/IPAで開発したEPM(Empirical Project Monitor)、EASE創研 27 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University FAQ5: い タグ項目の詳細がよくわからな タグ項目の例は書いてあるが、いくつかの選択があるよ うで、どれを選ぶか、また、どのようなツールを使うか よくわからない 規格として詳細なレベルまで規定は困難 メトリクスの定義も論文によりけり種々ある現状 発注者、開発者間で、これで行きましょう、等の合意 形成が必要 ある程度ツールが普及してくればデファクトスタンダ ードが決まる ケーススタディを積極的に開示していく 28 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 各種規格との関連は? FAQ6: 最近ソフトウェア開発や取引の透明性がいろいろ言われ ているが、どう関連するか。 工事進行基準等の会計基準 ソフトウェアタグは見積の根拠となるデータになりうる 経産省のガイドライン 情報システムの信頼性向上に関するガイドライン 情報システムの信頼性向上のための取引慣行・契約に関する研 究会~情報システム・モデル取引・契約書~ ソフトウェアタグとは相互補完の関係 ソフトウェアタグのようなベンダとユーザ間で情報をやり取り するためのメディアがあると,ガイドラインや契約書の恩恵が より明確になる ガイドラインや契約書にしたがった開発が主流になれば,タグ 29 項目の統一が容易になるなど,ソフトウェアタグの普及が促進 される Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University FAQ7: 世界の状況、反応は? StagEプロジェクトと同じようことをやっているのはある の か ? 海外での反応は? 同じようなことをやっているのはない 実証データの収集、分析に関しては多くの研究あり(ISERN、 IESE等) 実証データの発注者へのフィードバックに関しては、Basiliのグ ループが試み 近々に実証ソフトウェア工学の研究者や実務家が参入(?) オフショア関係者との懇談(主に中国) 非常に興味を持って動向注視 他社との差別化の手段 30 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 今後の課題 タグ利用シナリオの構築 タグの具体化例の充実 タグ活用技術の研究・開発 紛争解決のためのタグ規格の実例 タグデータの収集、分析、可視化の手法とツール等の開発 いろいろな方面への展開 国内規格 海外規格 31 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University StagEプロジェクトについて 32 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University StagEプロジェクト 文部科学省 次世代IT基盤構築のための研究開発 ソフトウェア構築状況の可視化技術の普及 2007年8月~2012年3月 研究代表者:奈良先端科学技術大学院大学 松本健一 研究分担者:大阪大学 井上克郎、楠本真二 奈良先端科学技術大学院大学 保浩三 飯田元、久 33 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University プロジェクト概要 背景:ソフトウェアに対する漠然とした不安 目的 現代社会はソフトウェアに多くを頼っているが,それらがどのように作 られどれだけ信頼できるか中身が見えない. ソフトウェアの品質や由来(どのような手順 を踏んで開発されたかなど)を手軽に,正確 に示すための技術を社会に提供する. 利用するソフトが信頼で きる作り手によってきち んと開発され,十分な品 質を持っていることを知 りたい 一般ユーザ 注文したソフトウェアがき ちんと管理された方法で 要求通りの品質を持って 開発されていることを確 認したい ソフト発注者 優れた技術で高い品質 のソフトを開発している ことを正しく評価してほ しい = ソフトウェア・トレーサビリティの実現 ソフト開発者 アプローチ:食品におけるトレーサビリティと同様の概念をソフトウェアの開発過程で実現す る ソフトウェアタグとは? ソフトウェア 開発データ 収集 要約 特徴抽出 ソフトウェア タグ プロファイル 開発者 コ ー テ 設 デ ス ィ 計 ト ン グ ソフトウェア開発過程(プロセス) 要 求 分 析 ソフトウェア 製品 発注者 ソフトウェア開発組織の プロファイルや開発プロ ジェクトから収集した様々 なデータを一定の形式で 整理し,ソフトウェア製品 に添付できるようにした もの. <23.5, 35.2, 50.7, 68.2> <0, 2.5, 0, -0.8, 0 > Project Information (12 elements) 10 9 8 7 6 5 系列1 4 3 2 1 0 1 2 3 4 5 76 7 6 5 4 系列1 3 Project Information (29 elements) 2 1 0 20 40 60 80 1 2 3 4 5 6 7 80 70 60 50 40 系列1 30 ユーザ 20 10 0 0 2 4 6 8 10 34 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 達成目標 ソフトウェアタグの規格化と普及 ソフトウェアトレーサビリティセンターの開設 アジアーオーストラリア圏研究開発共同体の形成 高度ソフトウェア技術者の育成 35 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University 実施体制/支援・連携体制 36 Copyright 2008 Nara Instituteand of Science and/ Technology / Osaka University Copyright © 2008 Nara©Institute of Science Technology Osaka University
© Copyright 2024 ExpyDoc