組み込みUMLを成功させる5つの鉄則とは?組み込み開発にUMLを活用しよう(2)(2/3 ページ)

» 2005年12月15日 00時00分 公開
[塚田 雄一 キャッツ,@IT MONOist]

 次にキャビンの動作を考えてみましょう。すると「ドアを閉じる」「移動する」「ドアを開ける」の3つが考えられます。キャビンがフロアの乗客から呼び出された処理も、キャビンの乗客が移動する処理も、キャビンの動作を考えてみるとすべて3つの動作に当てはまります。


キャビンのユースケース図 Vol.2 図3 キャビンのユースケース図 Vol.2

 そして最後には、そのキャビンの動作を実現するためには、どのようなデバイスが必要であるかを考えてみましょう。デバイスには大きく分けてドアを制御する「ドア制御」と、キャビンの移動を制御する「移動制御」の2つが考えられます。

キャビンのユースケース図 Vol.3 図4 キャビンのユースケース図 Vol.3

 UML自体はあくまでも表記法です。UMLでは、このように順序立てて開発していく設計手法が重要になります。そして設計手法を導入することにより、仕様の漏れを防げます。

ポイント2

UMLは、順序立てて開発する設計手法が重要



 以降は徐々に詳細を記していきますが、ここでキャビン内の処理(アプリケーション)とデバイス(ドライバー)が明確になったため、それぞれの開発を並行して進められます。どうですか? 全然難しくないことが分かりましたか? 何だか自分でもモデリングができるような気がしてきませんか?

ポイント3

組み込み開発の場合、デバイスとの関係を明確にする



初期リスクを軽減する2段階に分けた取り組み

 UMLを組み込み開発に適用することに戸惑いを感じている方へは、段階別に分けたUMLの取り組みをご紹介いたします。UMLの効果は第1回の記事で紹介しましたが、

  • 開発時などのレビュー効果
  • 引き継ぎなどのドキュメント効果
  • 英語化などの翻訳コストによる効果
  • 再利用性による効果

などの見える化(可視性)の効果があります。UMLの最大の効果としてはオブジェクト指向による効果ですが、組み込み開発にオブジェクト指向を適用していないユーザーも多く存在します。UMLはオブジェクト指向を使用しなくても見える化(可視化)による効果があります。UMLの適用を検討する際、まずは「見える化」による効果を求めて取り組んでみてください。初めから多くを望んではイケマセン。

 そして、次の段階としてオブジェクト指向による効果を求めて取り組んでみてください。開発にはUMLを使わないわけにはいかなくなりますよ(笑)。というわけで2段階による開発ステップを推奨いたします。

ポイント4

UMLへの取り組みは、まずは見える化の効果を求める



美しいモデルを求めて

 分科会ではモデリングを行う際に、何にこだわるかを検討し、モデルの美しさにこだわることに決定しました。それには理由があります。UMLと組み込み開発への取り組みの代表的なイベントとして「UMLロボットコンテスト」注があります。このイベントはUMLモデルが、ロボットとして走り、演技し、競い合う、世界でもユニークなイベントです。

※注:UMLロボットコンテスト
UMLロボットコンテストは、「LEGO Mindstorms」でロボットを作り、UMLで分析・設計されたソフトウェアを実装し、モデリング部門とタイムトライアルのレース部門で争われる競技大会。2002〜2004年まで3回開催された後、2005年より「ETロボコンチャンピオンシップ大会」となった。大会の模様は@IT記事「組み込みの祭典Embedded Technology 2005」を参照。


 レース部門の結果は良い(美しい)モデルが必ず勝てるというものではありません。レースとはそういうものですが、なぜでしょう? UMLの取り組みの成功例よりディスカッションした内容を第1回の記事でも紹介しましたが、UMLはアプリケーション部分の開発に使用して、ドライバ部分は従来の方法で開発すればよいのです。

 そこでUMLモデリングの段階では、実装を意識せず良い(美しい)モデル作りに取り組み、実装の段階になった際にどのような結果になるかを見ようということとなりました。エレベータを使ったリファレンスモデル作成では、モデリングの段階でとことん良い(美しい)モデルにこだわっています。分科会の中で、美しいモデルとは何かを議論しました。UMLのモデルの一般的な内容ですが、以下に紹介いたします。

【美しいモデルとは】

  1. シンプルである
  2. 素直である
  3. 厳密である
  4. ルールに従っている

ポイント5

モデリングの際は、美しいモデルを求める




Copyright © ITmedia, Inc. All Rights Reserved.