オブジェクト指向を製品設計に
組み込みシステムにおいてソフトウェアとハードウェアは一対の関係なのだから、ハードウェアや機械設計全て含めて製品全体的な設計をオブジェクト指向でモデリングする方が良いのでは無いだろうか。
いくらソフトウェアをオブジェクト指向でモデリングしたとしても要求分析の段階でハードウェア上どうにも対応できない場合もあるだろう。
もう少し具体的に考えてみる。
よくある例えで自動販売機を例に挙げてみる。
ユースケースでは商品購入がまず思い浮かぶと思う。
シナリオでは購入と購入キャンセルがある。ここでもしキャンセル(払い戻し)ボタンが無い場合、ソフトウェアでキャンセル処理を作り込むことになる。ソフトウェアでの実現はタイマー処理になるだろうが、払い戻しを急ぐユーザーにとっては不満になるだろう。また操作に時間のかかる方にとっも不満になる。
やはり製品設計の段階でオブジェクト指向を取り入れた方が総合的な品質向上に繋がるのである。
かといって現状の製品設計でいろいろなユースケースを想定していないかと言えばそうではない。人によっては図に書いたり、シナリオを書いたり、頭の中にあったりとまちまち。何れにしても良いものを作りたいといろいろ試行錯誤している。
今たどり着いた答えとしてはUMLを適用することで下記の4つのメリットがあると思う。
一つはユーザー視点でニーズの分析できる
一つは明示かすることでレビューアできる
一つはRapid Application Development
一つはテストケースの洗い出しが容易になる
もっと早く気づくべきでしたが、時間は取り戻せないので失った時間の分だけ積極的に使っていこうと思います。
何れにしても品質(顧客満足度)向上にUMLは役立ちそうです(^^)
ARM+Eclipse GNU環境
インターフェース2009年5月号付属のARM基板のWindows環境構築のところでやる気をなくしましたが
その後いろいろと調べたら海の向こう側である程度確立されているようです。
YAGARTOというサイトに情報がまとまっています。
構成は次のようになっています。
・Open On-Chip Debugger (OpenOCD)
2009/5/23
2007/3/3
make, sh, touch and more.
2009/3/29
Binutils-2.19.1
Newlib-1.17.0
GCC-4.3.3
GDB-6.8.50-20080308
Insight-6.8.50-20080308
・Integrated Development Environment
Eclipse
Eclipse CDT
Zylin plugin
各リンクに丁寧な解説ページもあって助かります。
ちなみにMAC OS Xな方も同Toolchainで環境構築できます。
OCDを使用したデバッガにはJATGインターフェースが必要です。
YAGARTOでは下記のツールが対応しているようです。
JATGKey-Tinyはサイズも価格(2ユーロ)9も魅力的ですね。
送料だけが気になるんですよねー^^;
これを買う方向で進めよ。
またなんと!JATGKeyの販売店では上記のToolChain一式をまとめたインストーラーの作成をしていたりします。ダウンロードが1回なのはメリットがあります↓
http://www.amontec.com/sdk4arm.shtml
ただパッケージが更新されてなさそうなんでYAGARTOから落として1個ずつ入れていった方が無難かも^^;
後日インストール期でもまとめようかな。
今日は調査まで。
良本日記『組み込みソフトウェアの設計&検証』
こんな良本を今まで読んでなかったことが悔やまれます(>_<;)
何が良いかと言うと組み込み特有の『振る舞い】に焦点をあてて深く書かれていることです。
話がそれますが、振る舞いに関するソフトウェアテスト手法というのはこれといった決め手になる手法がありません。
ですので今だ闇雲なテストになりがちです。
と暗い話もありますが、実は設計にスポットを当てることで品質及び効率を引き出せます。
具体的には
・振る舞いを如何にモデリングするか
・モデリングしたものの妥当性を如何に検証するか
となります。
また、作ったモデルをシンプル化することでテストも省力化することも可能です。
話を戻してこの本の後半は振る舞いのモデリングと検証について丁寧に解説されてます。
ツールの紹介などもあり助かりました。
前半は振る舞いの設計に役立つテクニックが満載です。組み込みシステムの開発を10年以上やってますが、恥ずかしながら知らないこともありました(^^;
RTOS有り無しのそれぞれの解説がありとても良くまとまってます。
ということでこの本、オススメです(^^)
