「UMLを大規模な組み込みシステムの開発でどのように使うか」という疑問に答える解説書 ―― 『リアルタイムUMLワークショップ』

中佐藤 麻記子

tag: 組み込み

書評 2010年1月14日

「UMLを大規模な組み込みシステムの開発でどのように使うか」という疑問に答える解説書

 

『リアルタイムUMLワークショップ』
著者 ブルース・ダグラス
翻訳 鈴木 尚志
出版社: 翔泳社
ISBN-10: 4798121118
ISBN-13: 978-4798121116
448ページ
発売日: 2009年12月3日
価格: 5,800円(税別)
Amazonで購入

 

 本書は,「UMLの本は業務系システムの例ばかりで,組み込みシステムの開発者には役に立たない」,そうお嘆きの諸氏には画期的な書籍である,とまずは言っておきましょう.

 しかし実のところ,この書籍内のプロセスでいう「オブジェクト分析」までは,業務系システムで行うこととさほど違ったことをしているわけではありません.「今までの本は業務系システムの例だから理解できなかった」と思う方は,ぜひこの『リアルタイムUMLワークショップ』にトライしてください.「組み込みシステムの例だから理解できるというわけでもない」ということに気づかれる方もいらっしゃると思います.

 本書では,比較的小規模なシステムの例と大規模システムの例の二つが示されています.二つの例とも,普段の業務ドメインに近い,という方はほとんどいないでしょう.これを,普段ご自身の担当しているシステムに置き換えて理解できる方は,実は業務系システムの例でも理解できるスキルをお持ちなのではないか,と思います. 

 とはいえ,本書が今までにない内容であることは間違いありません.

 本書ではまず,「UMLを大規模な組み込みシステムの開発でどのように使うか」,ということを示しています.これまで書籍や雑誌に掲載されているUMLを使った開発例は,小規模なものがほとんどでした.分かりやすさのために仕方のない面もありますが,本当は,UMLのような設計図を描く手法の必要性は,大規模なシステムのほうが大きいはずです.

 その点,本書では,「非常に規模の大きいシステムでUMLモデルをどのように構成するか」が詳細に述べられています.UMLモデルのすべてが本書内で示されているわけではありませんが,全体像は十分に把握できます.

 ただし,決して初心者向けの内容ではありません.UMLの知識は必須です.第1章のイントロダクションでも軽く触れられてはいますが,これはあくまでも復習です.できれば参考文献として挙げられている「Real-TimeUML 3rd Edition」がお薦めなのですが,残念ながら第3版は未訳です.英語が苦痛でない方はUML基礎知識の習得のためにこちらをどうぞ.

 UML1.xのバージョンしかご存じない方は,この際,UML2を勉強しましょう.特にこの書籍を読むうえでは,「提供/要求インターフェース」と「ポート」の概念は必要です.

 より組み込みに特化して,機能要求から見出された分析クラスがどのように設計に展開されるかに興味がある方は,「アーキテクチャ設計」以降の内容が対象になりますが,その場合こちらも未訳ですが,できれば参考文献の「Real-Time Design Patterns」も併用されることをお勧めします.

 本書を読んでみて,「よし,これでUMLを使った本格的な開発ができそうだ.ぜひ現場でやってみよう!」と思った方,ちょっと待ってください.

 このご時世,なかなか値段の張る開発ツールは買ってもらえません.仕方なく,追加コストなしで使えるお絵描きツールや無償のツールでUMLを描いておられる開発現場の方は多いでしょう.このような現場では,主に設計の際のスケッチとして,また,開発者間のコミュニケーションの道具として,UMLを使っていると思います.もちろん,このようなUMLの使い方は,決して間違っていませんし,UMLの一つの使い方です.

 とはいえ,本書で紹介されている方法をすぐに使えると思うのは間違いです.本書で示されている図だけでもかなりの点数がありますが,これでさえシステム全体のごく一部にすぎません.これだけ膨大な量のモデルを適切に管理し,保守するためには,適切なツールのサポートが必須です.単なるお絵描きツールでこれをまねようとしても,まず間違いなく挫折します.

 本書では,「Harmony」という繰り返し型のプロセス(以前のROPES)を前提としていますが,特にそれを意識する必要はないでしょう.オブジェクト発見戦略やタスク識別戦略,ユースケースのガイドラインなど,本書で示されているさまざまなテクニックはプロセスを意識せずに使えるはずです.

 ただし,特に分析工程以降については,「繰り返し見直すことで洗練されていく」ということを念頭に置くべきです.1回で最適な分析結果が出てくることなど,まずあり得ません.

 非常に明確な定義がなされていることも,本書の魅力です.「翻訳者の序」でも述べられている「分析」と「設計」の明確な線引きや,初心者はまず必ず圧倒されるに違いない膨大なUML仕様の中でも「クラス図」,「状態マシン図」,「シーケンス図」があれば開発可能,という記述は,明快で,かつとても納得できるものです.

 最後に細かいことですが,ちょっとした小技の説明が入ることで,実開発現場のモデラとしての著者の息遣いを感じます.例えば,アルファベット順の先頭にくるようにSystemパッケージの名前を「_System」にするなど,ちょっとしたことではあるのですが,普段からちゃんとモデリングをしている人なんだな,ということが伝わってきます.紺屋の白袴で,ツールを販売していながらそのツールを使っていない人もいる中,これは正しい姿だと思います.

 

中佐藤 麻記子
(株)テクノロジックアート

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日