- - PR -
前回に引き続き、本稿では関東地区大会ワークショップの模様をお伝えする。まずはクラス化モデリングを行ううえで基本となるクラス図の描き方をご紹介。講師はETロボコン審査委員を務める幸加木 哲治氏(リコー)だ。
クラス図ってどう描くの?
――そもそもクラス図とは、機能(ユースケースなど)を実現するために必要な要素やその要素間の関連を記述した構造図のことです。順を追って説明していきましょう。(幸加木氏、以下省略)
モデリング方針を決める
――まずは何を達成するのか、ユースケースを確認し、そのための戦略を決めます。ここでは例として“コースを最速走破する”というユースケースを設定します。すると、次のような戦略が考えられます。
戦略1:コースは複数の形状からなる
![]() |
緩いカーブ、直線、急カーブという3つのコース形状がある |
戦略2:各コース形状には最適な走行方法がある
|
| 走行方法によって、駆動輪・操蛇(そうだ)輪の方向、パワーが変化する |
戦略3:コースの状況変化に応じて走行方法を切り替える
|
| 黒線と白線の検知がほぼ同じであれば直線。白線よりも黒線が多ければ緩いカーブ。そして、内側に回ったときに黒線の割合が多ければ急カーブとする
|
――このような戦略を立てることで、走行方法、コース状況、変化、切り替えというような概念が出てきます。
オブジェクトの抽出
――戦略を考えたうえで、次は方針に従って機能を実現するために必要なオブジェクトを抽出します。これは手順1で決めた戦略の部分に当たります。
|
動作を実現するために必要なオブジェクトを書き出す |
クラス化
――次に共通の特徴を持ったオブジェクトをグルーピングし、さらに構造化(クラス化、属性化、操作化)します。例えば走行方法ならば、直線走行、急カーブ走行、緩カーブ走行の3つでまとめることができます。
|
|
|
走行方法のオブジェクトは、直線走行、急カーブ走行、緩カーブ走行になる |
||
――ここで、オブジェクト間の関連を考察します。例えばコース状況を見ると、コース形状、そしてそのコース形状に応じた走行方法が分かるので、それらをリンクさせます。
|
それぞれの走行ごとに適した駆動輪・操蛇輪の方向、パワーがありそうだ |
――変化、切り替えが見えてきたので、これを属性化、操作化します。
![]() |
コース状況の変化量よって切り替え操作ができる |
――最後に多重度、ロール名(関連名)を決定します。多重度はオブジェクトからのリンクを張った数によって決まります。
――基本なことですが、以上の操作を定量的に行うだけでもモデルの評価はぐっと高くなります!
最後に、以下の4つのチェックポイントを押さえよう。
| チェックポイント! | |
| UMLの記法に従っているか | |
| 「すべてのクラスに属性がない」「多重度がない」「ロール名(もしくは関数名)がない」ということはないか | |
| ハードウェアのオブジェクトのみでクラスが構築されていないか | |
| そもそも動解析(アクティビティ図やシーケンス図)から始めていないか? (ここが一番重要) |
|
>>次ページ。本部モデル部門審査員を務めたマイクロソフト 太田 寛氏による、クラス図の分析・設計方法をご紹介!
関連記事 業界動向/イベントレポート
ホワイトペーパー(TechTargetジャパン)
組み込み開発フォーラム 新着記事
- 【問題9】 アナログをデジタルに変換する「AD変換」(2010/3/17)
- 組み込みシステム開発における“モデル”とは?(2010/3/11)
- 組み込み向けAndroid「Embedded Master」を公開(2010/3/10)
- Androidでビジネス拡大を狙うミップスの新戦略(2010/3/9)
- MATLAB/Simulinkプロダクト・ファミリ R2010aを発表(2010/3/8)
- 各種カード決済/通信方式に対応した携帯型POS(2010/3/5)
- 【問題8】 「ウォッチドッグタイマ」の役割とは?(2010/3/4)
- アクテル、ミックスド・シグナルFPGA「SmartFusion」(2010/3/3)
- 素晴らしきファイルシステムのデータ管理(2010/3/2)
- 周期イベントでLEDのダイナミック点灯を!(2010/2/25)
- OpenGL ESプログラミングで本格3D描画体験(2010/2/23)
- 富士ソフト、組み込み向けXML-DBの新Ver.発売へ(2010/2/23)



















