オブジェクト指向を製品設計に | 組込みとともに

オブジェクト指向を製品設計に

CQ出版TECH Iシリーズの「組み込みC/C++プログラミング入門」を読んで気づいた昞

組み込みシステムにおいてソフトウェアとハードウェアは一対の関係なのだから、ハードウェアや機械設計全て含めて製品全体的な設計をオブジェクト指向でモデリングする方が良いのでは無いだろうか。
いくらソフトウェアをオブジェクト指向でモデリングしたとしても要求分析の段階でハードウェア上どうにも対応できない場合もあるだろう。

もう少し具体的に考えてみる。
よくある例えで自動販売機を例に挙げてみる。
ユースケースでは商品購入がまず思い浮かぶと思う。
シナリオでは購入と購入キャンセルがある。ここでもしキャンセル(払い戻し)ボタンが無い場合、ソフトウェアでキャンセル処理を作り込むことになる。ソフトウェアでの実現はタイマー処理になるだろうが、払い戻しを急ぐユーザーにとっては不満になるだろう。また操作に時間のかかる方にとっも不満になる。
やはり製品設計の段階でオブジェクト指向を取り入れた方が総合的な品質向上に繋がるのである。
かといって現状の製品設計でいろいろなユースケースを想定していないかと言えばそうではない。人によっては図に書いたり、シナリオを書いたり、頭の中にあったりとまちまち。何れにしても良いものを作りたいといろいろ試行錯誤している。
今たどり着いた答えとしてはUMLを適用することで下記の4つのメリットがあると思う。
一つはユーザー視点でニーズの分析できる
一つは明示かすることでレビューアできる
一つはRapid Application Development
一つはテストケースの洗い出しが容易になる

もっと早く気づくべきでしたが、時間は取り戻せないので失った時間の分だけ積極的に使っていこうと思います。
何れにしても品質(顧客満足度)向上にUMLは役立ちそうです(^^)