Modeling does the future with the state-of-the-art engineering tool. 新横浜ITクラスター交流会 2006年10月31日(火) 『現場の組込ソフト開発の問題を考えて、解決する』 キャッツ株式会社 ソフトウェア事業部 南雲 宏行 Tel:045-473-2816 E-mail:[email protected] Modeling does the future with the state-of-the-art engineering tool. 本資料の構成 1.なぜソフトウェア開発では、「設計書(設計図)」 が軽視されるのか 2.ソフトウェアの 「設計書(設計図)」に求められる ものは何なのか 3.何の為に「設計書(設計図)」が必要なのか 以上について、理想と現実の問題点を考えて、一つの解決策を提案します 4.まとめ Copyright© 2006 CATS Co.,ltd. All rights reserved. 2 1 Modeling does the future with the state-of-the-art engineering tool. 組込みソフトウェア開発の現状 1.なぜソフトウェア開発では、「設計書(設計図)」 が軽視されるのか ・ソフトウェアは動作する ・「設計書(設計図)」は、動かない ⇒ 動きを確認出来ない ・動作確認はコーディングして、ターゲット(実機)で確認するしか無い 「設計書(設計図)」の作成は早めに切り上げて、コーディング作業を開始する 問題が実機試験で発覚 実機でのコードデバッグの作業時間が膨大 Copyright© 2006 CATS Co.,ltd. All rights reserved. 3 Modeling does the future with the state-of-the-art engineering tool. 組込みソフトウェア開発の現状 机上で分析 分析 分析、設計で検証ができない 問題を見つけるのは机上で 机上で設計 設計 実際に動作するかは試験段階で エディタで製作 製作 試験段階での致命的問題の発覚 ターゲットで試験 試験 試験段階での工数が予測できない 設計段階の問題(バグ)は 試験段階にて発覚 Copyright© 2006 CATS Co.,ltd. All rights reserved. 4 2 Modeling does the future with the state-of-the-art engineering tool. 組込みソフトウェア開発の現状 バグはどこで作られるのか 不具合の工程別分類 バグの 約8割 は、仕様・設計が原因! 仕様検討 その他 1% 10% ソフトウェア設計 38% コーディング 21% システム設計 30% 社団法人 電気協同研究会 「電気協同研究」第54巻 第4号:平成11年1月 「集中制御所システム機能検証試験の 効率化と品質管理」:集中制御所システム機能検証試験専門委員会 Copyright© 2006 CATS Co.,ltd. All rights reserved. 5 Modeling does the future with the state-of-the-art engineering tool. 解決するには 分析 設計 分析、設計で検証を行う 分析、設計で問題の早期解決 試験段階での負荷を大幅に削減 製作 試験 工数を削減 適切な設計書(設計図)を適用し潜在的 なバグを早期に発見し修正! Copyright© 2006 CATS Co.,ltd. All rights reserved. 6 3 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 2.ソフトウェアの 「設計書(設計図)」に求められる ものは何なのか ・ソフトウェアの動き(振る舞い)を表現しやすく確認しやすい事 ・動作確認(シミュレーション)が出来る事 Copyright© 2006 CATS Co.,ltd. All rights reserved. 7 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 状態遷移設計は「使われている」 企画要求獲得・要求分析仕様設計・システム設計の工程で使用したフォーマル記述言語 利用している 0% 10% 20% 30% 40% 利用していない 50% 60% 70% 80% 90% 100% 状態遷移図 フローチャート 状態遷移表 UML DFD SDL ペトリネット その他 経済産業省 2005年度版 組み込みソフトウェア産業実態調査:開発プロジェクト責任者向け調査 Copyright© 2006 CATS Co.,ltd. All rights reserved. 8 4 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 例:通信仕様書 以下の通信仕様を「状態遷移図」と「状態遷移表」で記述したら・・・・・・・・ Abnormal Sequence Normal Sequence Driver Task Host Timer Task Driver Send Request Host Send Request Send Data Send Data Time Out Send End Send NG Send OK Copyright© 2006 CATS Co.,ltd. All rights reserved. 9 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 『状態遷移図』 と 『状態遷移表』 の比較 状態遷移表だと! S Ready Ready Ready E Send Request /Send Data TimeOut /Send NG Send End /Send OK Sending Sending 1 同じ情報 Send Request 1 Send End 2 Time Out 3 Copyright© 2006 CATS Co.,ltd. All rights reserved. Sending 2 2 Send Data 1 Send OK 1 Send NG 10 5 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 状態遷移表だと! S E Send Request 1 Ready Sending 1 2 状態遷移図では、表現 されていなかった部分 が見えてくる 2 Send Data Send End 2 1 Send OK Time Out 3 1 Send NG Copyright© 2006 CATS Co.,ltd. All rights reserved. 11 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 状態遷移表で見えた部分の仕様を考えると・・・ S E Send Request 1 Ready Sending 1 2 2 Send Data - Send Busy Send End 2 1 Send OK Time Out 3 1 Send NG 無視 無視 仕様が未確定 仕様が未確定 だった部分 だった部分 不可 不可 Copyright© 2006 CATS Co.,ltd. All rights reserved. 12 6 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 3.何の為に「設計書(設計図)」が必要なのか ・ソフトウェアをメインテナンス(保守)する為 ・ソフトウェアを再利用する為 「設計書(設計図)」は、保守・再利用の時に変更される 「設計書(設計図)」は、変更しやすい事が需要 Copyright© 2006 CATS Co.,ltd. All rights reserved. 13 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 『状態遷移図』 と 『状態遷移表』 の比較 # 図 比較項目 表 1 異常・例外ケース × 入れると図の収拾がつかなくなる ● 入れられる 2 「モレ」「ヌケ」 × 「モレ」「ヌケ」やすい ● 「モレ」「ヌケ」を発見・防止する 3 ドキュメントの変更 × 手間取る (空間配置や結線を意識する) ● 行・列の変更だけで済む Copyright© 2006 CATS Co.,ltd. All rights reserved. 14 7 Modeling does the future with the state-of-the-art engineering tool. 膨大化するソフトウェアの仕様 組込みソフトウェア開発は、膨大化している この課題を「設計書(設計図)」である「状態遷移表」 では、どの様にして対応するか。 日経エレクトロニクス:2004-3-1:トヨタインサイドp104 Copyright© 2006 CATS Co.,ltd. All rights reserved. 15 Modeling does the future with the state-of-the-art engineering tool. 膨大化するソフトウェアの仕様 ソフトウェア膨大化・・・・・・。 それは「状態遷移表」 の巨大化 です。 事象、状態が増えるほど、 表が大きくなってしまう! Copyright© 2006 CATS Co.,ltd. All rights reserved. 16 8 Modeling does the future with the state-of-the-art engineering tool. 膨大化するソフトウェアの仕様 「状態遷移表」の巨大化は、拡張階層化状態遷移表設計手法で抑制 膨大な 事象と状態 ①並列状態 ①並列状態 ②事象階層化 ②事象階層化 ④クローン ④クローン ⑤遷移型 ⑤遷移型 簡約化技術 簡約化技術 ⑥アクティビ ⑥アクティビ ティ ティ ③状態階層化 ③状態階層化 単純な 単純な 事象と状態 事象と状態 Copyright© 2006 CATS Co.,ltd. All rights reserved. 17 Modeling does the future with the state-of-the-art engineering tool. 拡張階層化状態遷移表設計手法の一例 表の階層化 により、状態遷移表のセル面積の増加を抑制する。 処理セル数: 108 セル Copyright© 2006 CATS Co.,ltd. All rights reserved. 18 9 Modeling does the future with the state-of-the-art engineering tool. 拡張階層化状態遷移表設計手法の一例 表の階層化 により、状態遷移表のセル面積の増加を抑制する。 □0 □0.1 □0.2.1 □0.2 □0.2.2 処理セル数: 50 セル Copyright© 2006 CATS Co.,ltd. All rights reserved. 19 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 2.ソフトウェアの 「設計書(設計図)」に求められる ものは何なのか ・ソフトウェアの動き(振る舞い)を表現しやすく確認しやすい事 ・動作確認(シミュレーション)が出来る事 Copyright© 2006 CATS Co.,ltd. All rights reserved. 20 10 Modeling does the future with the state-of-the-art engineering tool. 適切なソフトウェアの「設計書(設計図)」とは? 3.何の為に「設計書(設計図)」が必要なのか ・ソフトウェアをメインテナンス(保守)する為 ・ソフトウェアを再利用する為 「設計書(設計図)」は、保守・再利用の時に変更される 「設計書(設計図)」が変更されたら、ソフトウェアも変更 しかし 設計変更が、ソフトウェアに反映されない ソフトウェアだけ変更されて、「設計書」に反映されない Copyright© 2006 CATS Co.,ltd. All rights reserved. 21 Modeling does the future with the state-of-the-art engineering tool. 解決するには 分析 設計 分析、設計で検証を行う 分析、設計で問題の早期解決 試験段階での負荷を大幅に削減 製作 試験 工数を削減 適切な設計手法とCASEツールを適用し 動作確認(シミュレーション)を行い。 仕様変更に対しても「設計書(設計図)」から自動コード生成により、 確実にコードに反映させる。 Copyright© 2006 CATS Co.,ltd. All rights reserved. 22 11 Modeling does the future with the state-of-the-art engineering tool. 解決するには 生産性・品質を上げるのは 再利用とCASE 4年利用後の1ドルあたりの投 資効果($) 技術 完全なソフトウェア再利用 30 I-CASE 25 ソフトウェアの品質測定 17 ソフトウェアの見積もりツール 17 正規の設計インスペクション 15 正規のコードインスペクション 15 オブジェクト指向プログラミング 12 ソフトウェアの生産性測定 10 ソフトウェアプロセスアセスメント 10 8 機能的尺度 Assessment and Control of Software Risks : Prince-Hall, 1994,邦訳:島崎・富野「ソフトウェア病理学」共立出版,1995 Copyright© 2006 CATS Co.,ltd. All rights reserved. 23 Modeling does the future with the state-of-the-art engineering tool. まとめ ソフトウェアの「設計書(設計図)」は、 ソフトウェアの動作(振る舞い)が、表現しやすく変更しやすく、 尚且つモレ・ヌケを防止しやすい「状態遷移表」で設計 仕様の概要を把握しやすい「状態遷移図」も適切に利用 描いた設計書の「状態遷移表」を動作確認(シミュレーションデバック) 出来るCASEツールを使用 動作確認した「状態遷移表」からコードを自動生成し、仕様書とコード を常に一致させる Copyright© 2006 CATS Co.,ltd. All rights reserved. 24 12 Modeling does the future with the state-of-the-art engineering tool. まとめ キャッツは、組込みソフト開発の現場で培った 開発手法(拡張階層化状態遷移表設計手法) 開発手法を実現した、CASEツール「ZIPC」 により、解決します。 Copyright© 2006 CATS Co.,ltd. All rights reserved. 25 Modeling does the future with the state-of-the-art engineering tool. ZIPC を使った開発の流れ 分析 基本設計 詳細設計 実装 試験 ZIPC Editor ZIPC Simulator / ATV ZIPC ZIPC Generator Generator ZIPC ZIPC Emulator Emulator Option Option Copyright© 2006 CATS Co.,ltd. All rights reserved. 26 13 デザイン・フェーズ Modeling does the future with the state-of-the-art engineering tool. ZIPC Editor ZIPC Editor は、「状態遷移図」 と 「状態遷移図」 に対応 図から表、表から図の両方向にコンバート(変換)可能 状態遷移図(EHSTD) 状態遷移表(EHSTM) コンバート(変換)可能 Copyright© 2006 CATS Co.,ltd. All rights reserved. Modeling does the future with the state-of-the-art engineering tool. 27 シミュレーション・フェーズ ZIPC Simulator 設計書「状態遷移表」を動作させて、動きを検証出来る 状態遷移 イベント発生 状態と イベントの 組み合わせで どう振舞うか Copyright© 2006 CATS Co.,ltd. All rights reserved. 28 14 シミュレーション・フェーズ Modeling does the future with the state-of-the-art engineering tool. ZIPC ATV (Auto Test & Verification) 設計書「状態遷移表」を動作させた Simulation LOG ファイルから「カバレッジ」の確認、「Replay」または、 「MSC」「TC」を生成して、さらなる動きを確認 Simulation LOG ファイル MSC生成 TC生成 Replay機能 走破率カバレッジ Copyright© 2006 CATS Co.,ltd. All rights reserved. 29 Modeling does the future with the state-of-the-art engineering tool. ZIPC Generator 設計書(状態遷移表) ANSI C 準拠 コード自動生成 Generate Reverse コードの変更を 設計書に反映 設計書とコード は常に一致 C ソース・コード Copyright© 2006 CATS Co.,ltd. All rights reserved. 30 15 デバッグ・フェーズ Modeling does the future with the state-of-the-art engineering tool. ZIPC Emulator Option 「状態遷移表」と「状態遷移表」から自動生成されたコード を連動させてコードデバッグを効率化 状態、事象、実行処理をリアルタイム表示 各社デバッガに対応 V850、78K/4、 78K/0、78K/0S 各シリーズ FR、F2MC-16 F2MC-8L 各ファミリ Multi2000 CSIDE SH シリーズ H8 シリーズ M16Cシリーズ microVIEW-G (advice) 101C、101D、102L 102H 各シリーズ BITX-Wind32 Copyright© 2006 CATS Co.,ltd. All rights reserved. 31 Modeling does the future with the state-of-the-art engineering tool. この続きは・・・・・ 新横浜ITクラスター 『現場の組込ソフト開発の問題を考えて、解決する』分科会にて・・・・ 分科会のお問合せは以下にお願いします。 新横浜ITクラスター交流会事務局 E-mail:[email protected] この資料に関するお問合せは以下にお願いします。 キャッツ株式会社 ソフトウェア事業部 南雲 宏行 Tel:045-473-2816 E-mail:[email protected] Copyright© 2006 CATS Co.,ltd. All rights reserved. 32 16
© Copyright 2024 ExpyDoc