講演資料のダウンロード - 横浜 ITクラスター交流会

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