2007 年度 ESxR 実証実験 トライアル報告書 2008 年 3 月 31 日 ソフトウェア エンシ ニアリンク センター 組み込み系プロジェクト
< 目次 > 1. はじめに... 3 第 1 章 ESCR 実証計画 ( 富士フイルムソフトウエア株式会社 )... 4 1. トライアルの目的... 4 2. H19 年度活動... 4 3. H20 年度トライアル計画... 6 4. 関係図... 7 第 2 章 ESPR 実証実験 ( アルパイン株式会社 )... 8 1. 活動概要... 8 1.1 トライアルの背景...8 1.2 トライアルの目的...8 1.3 実施体制...8 1.4 適用対象...9 2. ESPR トライアル活動内容... 9 2.1 実施方法...9 2.2 まとめ...11 3. ESPR トライアル結果... 11 3.1 評価...11 3.2 今後の課題...11 3.3 まとめ (IPAとしての評価と今後の課題)...11 2
1. はじめに トライアルの背景 報告書は 独立行政法人情報処理推進機構ソフトウェア エンジニアリング センター ( 以下 IPA/SEC と称す) 公募によるESxR 活用トライアル参加プロジェクトとして 富士フイルムソフトウエア株式会社 アルパイン株式会社のトライアル実施について報告するものである 3
第 1 章 ESCR 実証計画 ( 富士フイルムソフトウエア株式会社 ) 1. トライアルの目的 富士フイルムソフトウエア株式会社以下 FFS と称す FFSの目的 FFSは 製品毎に要求される品質を 品質戦略を持って効果的 効率的に実現し保証する事を目的に開発部門と品証部門が連携し 品質保証体系を実現する仕組みを整備していく IPA/SECの目的 IPA/SECとしては IPA/SECが開発したC 言語向けコーディング作法 ( 以下 ESCR と称す) をベースに策定した 実際の開発で利用する コーディング規約のサンプルを入手し 作法から規約を策定する際の工夫点などを確認すると共に 実フィールドでESCRを活用した際の効果に関するデータを入手し その有効性を評価する 2. H19 年度活動 FFSでは品証部門が上記目的の一環として 静的解析ツールの活用を推進している IPA/SECが最初にFFSに来訪した時期には 一部の開発部門ではそれを受けた形で先行してW Gが発足し 静的解析ツールの活用法を改良しており その効果を実証評価中であった 品証部門の話では FFSにも既にコーディング規約は存在するが 品質特性での分類は考慮されていない FFSとしては上記目的に向けた更なる一歩として 実装工程で表現すべき品質特性があるという事を開発者 / 管理者にもっと強く意識付けたい 品質特性分類という特徴があるIPA/SEC 開発のESCRとESCR 準拠の静的解析ツールを相乗活用する最良の方法を検討し 開発部門に提案していきたい FFSで良い結果がでれば 社会にも1 事例として還元したい というものであった このような背景から H19 年 11 月より品証部門が ESCRと静的解析ツールの相乗活用勉強会 を主催し IPA/SECも参加した 勉強会の主な参加メンバは下記の通りである 株式会社富士通ソフトウェアテクノロジーズ 下記の部門で活用中の静的解析ツールの開発元 ( 以下 FST と称す) 富士フイルムソフトウエア株式会社 機器組み込みソフト開発部門 WGメンバ ESCRの最初の適用候補部門の代表者 4
品証部門 勉強会の主催者 IPA/SEC ESCRの開発元 IPA/SEC は 勉強会で ESCR の活用法を中心にアドバイスを行った ESCRと静的解析ツールの相乗活用勉強会 開催歴 日 付 内 容 11 月 7 日 キックオフ 12 月 13 日 機器組み込みソフト開発部門の 現状の静的解析の選択ルールに関する分析 1 月 30 日 機器組み込みソフト開発部門に対する コーディング規約の検討 3 月 5 日 H19 年度データ整理と静的解析効果報告 H20 年度トライアルに関する検討 H19 年度は 開発部門と品証部門の目的を同時に達成する手段として 品証部門が提案する ESCR と静的解析ツールの相乗活用 を 開発部門及び上位層に認めてもらう活動が 中心であった FFSにおいて 勉強会を通じてのESCRへの深い理解と自分達自身が利用価値を創造する為に ESCRを最適化するという活用法への強い共感と賛同を得る事ができた その結果 静的解析ツールの活用法改良も先行中の機器組み込みソフト開発部門に対し ES CRの実適用に向けた H20 年度でのトライアル実施の合意 承認を得た 5
3. H20 年度トライアル計画 H19 年 3 月に H20 年度のトライアルのおよその進め方を以下のように決定した 3 4 5 6 7 8 9 H19 年分データの整理 トライアル PJ キックオフ 企画書検討 社内調整 トライアル PJ 決定 トライアル PJ 実装 事前教育 収集データの検討 データ分析 検討とまとめ トライアルの主な作業 1 事前教育 ESCR 教育 : トライアル対象者を対象にESCR 概要の教育を実施 (0.3 日 ) 部門規約教育 : FFSトライアル対象部門のコーディング規約を教育 (0.2 日 ) 2 収集データの検討収集すべき指標を決める ( ワーニング数 規模 (LOC) 工数など ) 収集のルールとルーチンを決める 3 データ分析収集されたデータを分析し コーディング規約の効果を評価するデータ比較は H19 年のデータ分析との比較を行う 4 ESCRの定期ミーティング H19 年度に引き続き 定期的 ( 約 1ヶ月に1 回 ) に 勉強会を開催する IPA/SECも参加する 6
4. 関係図 FFS QA 支援 品証部門 PJ メトリクス ESCR 支援 実証データ IPA/SEC 品証部門 WG コーディング規約対象 PJ ツール利用 ノウハウ 適用事例 FST 図 4-1. 関係図 7
第 2 章 ESPR 実証実験 ( アルパイン株式会社 ) 1. 活動概要 1.1 トライアルの背景報告書は IPA/SEC 公募によるESxR 活用トライアル (ESPR: 組込みソフトウェア向け開発プロセスガイド ) 参加プロジェクトとして アルパイン株式会社 ( 以下 アルパイン と称す ) カーナビ開発プロジェクトを選定し 開発を請け負う東芝ソリューション株式会社 ( 以下 TSOL と称す) の3 組織において2007 年 7 月より同年 9 月までの3ヶ月 ESPR トライアルの実施について報告するものである 1.2 トライアルの目的アルパインでは SPICE をベースとした標準開発プロセス (OSSP) に則って車載システムのソフトウェア開発を実施しているが 近年の開発規模拡大に対応するため さらに一段の品質の向上 特に上流工程での品質作りこみ目的で IPA/SEC の ESPR の導入適用実験を行った 1.3 実施体制アルパインでカーナビ ソフトウェア開発を行っている AVNC コアソフト開発部とソフトウェア開発技術の開発 推進をおこなっているソフト開発管理推進室の2 部門 IPA/SEC で ESPR トライアルを支援する組み込み系プロジェクト TSOL でカーナビ ソフトウェア開発を行っているモービルメディアソリューション技術部の体制で ESPR トライアルを実施した アルパインソフト開発管理推進室 IPA/SEC 組込み系プロジェクト 支援 アルパイン AVNC コアソフト開発部 TSOL モービルメディアソリューション技術部 図 1-1.ESPR トライアル体制図 8
1.4 適用対象ナビゲーション機能におけるナビアプリケーション開発 ( 以下 ナビコア ) を対象とした性能向上を目的とした上流工程での文章化に対して ESPR を適用した ソフトウェア要求定義( 機能仕様書 : システム設計書 ) ソフトウェアアーキテクチャ設計( ソフトウェア設計書 : サブシステム設計書 ) 1.4.1 プロジェクトの目的ナビコアにおける性能改善としてエンドユーザーが快適に操作できるように 各処理の待ち時間を減らす また 地図スクロール時の地図欠けやスクロール動作時に一時停止してしまうような事がないこととする 性能改善項目は 下記の4つである (1) 起動高速化 (2) 地図スクロールの改善 地図表示の高速化 (3) 検索の高速化 (4) 探索の高速化 1.4.2 プロジェクトの規模 全体のカーナビ開発体制 : 数十名体制スケジュール : 調査から内部リリースまでは1 年弱 2. ESPR トライアル活動内容 2.1 実施方法アルパインカーナビゲーション開発プロジェクトの開発工程のうち 上流工程である基本設計 (BD) 工程とシステム設計 (SD) 工程に対して IPA/SEC の ESPR を適用し評価を行うため ESPR トライアル機関とマッチングする開発項目を選定し実施した 選定された項目は カーナビ起動高速化の開発項目で 起動高速化項目の対象はナビコアのソフトウェア部分である (1) ESPR 適用導入ステップの決定 TSOLの開発プロセスとIPA/SECのESPRの開発プロセスのすり合わせを行い ESPRからの視点で現状プロセスを見直しプロジェクトで実施した (2) すり合わせの実施 IPA/SECのESPRと現状開発プロセスの開発工程対応表を作成し すり合わせを実施 すり合わせた結果として大幅な見直しをせず 現状開発プロセスの不足部分を追加する方針で実施した 9
(3) プロセスの実施改良した開発プロセスを実際の開発 以下の赤枠部分に適用した 適用した部分 図 2-1.ESPR からの適用部分 (4) ドキュメント作成の実施 ESPRの視点から上流ドキュメントの内容の見直しを行った (5) レビューの実施内部レビュー 共同レビューを ESPR にもとづいて実施した ドキュメントレビューではIPA/SECのチェックシートを利用し プロセスで定義された内容とドキュメントの品質のレビューを行う事ができた (6) 外部発表の実施 2007 年 9 月 13 日 第 11 回ソフトウェアプロダクトライン国際会議 (SPLC2007) 併設 SEC ワークショップにて ESPR トライアルの内容をアルパイン TSOL として発表した (7) ESPR トライアル後工程実績数値 ESPR をシステム設計に適用した結果を踏まえ 後工程 ( 下記の項目 ) の予測値と実績値をあげた 1 工数 予測範囲の数値におさまった 2ステップ数 予測範囲の数値におさまった 3 試験件数 実施件数が予測件数と同数だった 10
4 性能 5 品質 予測値よりも若干上回ったが 許容範囲内だった バクの発生率は3% と品質目標指標値の範囲内であり品質に影響はなしだった 2.2 まとめ非機能要求 ( 性能改善 ) に関する開発での上流工程の品質向上として 以下 2 点の ESPR 適用を実施した (1) 性能に関する上流ドキュメント構成と記載項目内容の検討と決定 (2) チェックシートを使用した性能に関する上流ドキュメントレビュー 3. ESPR トライアル結果 3.1 評価 ESPR とアルパイン TSOL で作成したドキュメントのすり合わせを行うことによって 不足しているプロセスの実施 成果物の作成を行う事ができ 開発プロセス評価 成果物評価 ソフトウェア評価 ( 目標を達成したか?) の成果が得られた 3.2 今後の課題性能改善を実施する場合 複数の性能目標に対して並行開発を行う場合が多く また 1つの性能改善が他の性能改善に悪影響することも発生する 平行開発をうまく実施できるプロセスが必要である 3.3 まとめ (IPAとしての評価と今後の課題) 今回 アルパインのナビゲーション開発に ESPR ver1.0 を適用し ESPR が実用に供しうる事が確認でき トライアルを通じて ESPR に追加 補足すべき事項が明らかになり ESPR ver2.0 へ反映できた また 実担当者との議論や共同レビューなどを通じ ESPR の理解と普及が促進できた 今後の課題として以下が挙げられる ドメイン毎に各工程での品質指標の提案とその指標の設定方法の考え方の整備が求められる ESPR 導入に際し より記述を容易にするためのサンプルやテンプレートの充実が求められる 派生開発等のさまざまな開発パターンに対応した 工程設計方法の充実が求められる プロセスのレビュー参加者の条件 役割等を ESPR に盛り込むかを検討する 11