いまや多くの開発ツールがサポートし、ソフトウェア設計のための標準的な記述言語としての注目がますます高まるUML(Unified
Modeling Language:統一モデリング言語)は、OCUP(OMG認定UML技術者資格試験プログラム)がワールドワイドで本格的に稼働したことも手伝って、その必要性と実用性への関心はますます高まっている。 今回は、2003年11月から正式に開始されたOCUPにいち早く挑戦し、ファンダメンタル、インターメディエイトの両レベルで見事合格を果たした東芝ソリューション株式会社 SI技術開発センター 山城明宏氏に、エンジニアにとってのOCUP、そしてUMLのソフトウェア開発における意義についてお伺いした。 |
PROFILE
東芝ソリューション株式会社 SI技術開発センター 戦略企画担当 参事 山城明宏 氏 株式会社東芝入社後、構造化技術の研究開発に従事。1991年以降、オブジェクト技術の研究開発に携わる。1995年にBooch法原書の翻訳を手がけ、2001年からはOMG JSIGの翻訳委員会UML作業部会でUML 1.3仕様の翻訳にも参加した。共著書に「オブジェクト指向システム開発」(日経BP)、共訳書に「Booch法:オブジェクト指向分析と設計」(Booch著、トッパン印刷刊)、「UML仕様書」(OMG著、アスキー刊)など。北海道大学工学部卒。ボストン大学 システム工学科修士。 |
■オブジェクト指向の延長であるUML
山城氏の所属する、東芝ソリューション株式会社 SI技術開発センターは、ナレッジマネジメント、ユビキタス、セキュリティ、システム構築方法論などの研究開発を行っている。最近ではEA(エンタープライズアーキテクチャ)やMDA(モデル駆動型アーキテクチャ)にも力を注ぐ。山城氏自身は、現在、戦略企画担当という組織の参事を務め、システム構築方法論を研究している。
山城氏がオブジェクト指向の研究開発にかかわるようになったのは1991年だ。同氏は当時主流であったDr.Rumbaughらが開発したOMT法とGrady Boochが開発したBooch法をもとにオブジェクト指向設計を行っていたが、1995年にはBooch法の原書翻訳を手掛ける機会も持ち、オブジェクト指向に関しては国内でも指折りのエキスパートだ。
同氏がOCUPを受験した理由については「UMLの理解度を深めるため、どれだけ理解しているかを自分自身で測るためもありましたが、一番の理由は、この資格試験が良いものか悪いものかを見極めるためでした。部下の者に受けてみろ、といっても自分が分かっていなくては勧められませんからね」と語る。UMLを策定するオブジェクト・マネジメント・グループ(以下、OMG)が初めて認定する資格試験だけに、日常UMLを使うエンジニアたちには是非受験させたい。しかし、まずは中身を自分で確かめなければ、というのが大きな理由だったようだ。
■UML資格試験はどんなもの?どう学習したのか?
山城氏は2003年8月23日にファンダメンタル、同年9月7日にインターメディエイトの試験を受験した。山城氏が受験したのは「ベータ版」と呼ばれるもので、OMGが資格試験を正式リリースする前に、希望する有識者向けに受験枠を設けて行われた試験である。2003年11月から運用されている正規試験・問題作成のためのサンプリングが目的ということもあり、ファンダメンタルは120分で107問、インターメディエイトは180分で100問が英語で出題され、時間、設問数、問題の難易度、どれをとっても現在の試験よりもハードなものとなっている。
「受験した印象は、結構大変だった、という感じです。UML 2.0の表記法の理解を問う問題が中心かなと思っていましたが、メタモデリングの知識も問われました。UML1.Xを使って、ひととおり設計書を書いた経験と問題によってはUML 2.0仕様の知識がないと解けないと思います」と山城氏が説明するように、OCUPの試験内容はUML 2.0の仕様だけでなく、実践力も問われる問題のようだ。ファンダメンタルは基礎的な問題だが、インターメディエイト以上になると高度なスキルが求められる。
「非同期メッセージ通信におけるメッセージの送受信順を問うような問題もありましたし、UMLのClassifier(クラスやインタフェースのメタクラス)の意味を問うアカデミックな問題もあります。問題は基本的ですが、仕様書を見て記号と言葉とを覚えているだけではだめでしょう。オブジェクト指向でやるとこうなる、というように、実際の業務に置き換えて考える能力が求められるかもしれません」
ところで同氏が合格したのは、ファンダメンタルとインターメディエイト。最上位資格のアドバンストのべータ試験はなぜ受験しなかったのか。「アドバンストのベータ試験が行われた9月は、会社が半期の締めのため繁忙で、受験を断念せざるを得ませんでした。ぜひ近日中には受験をするつもりです。アドバンストまで取得し、今後の業務に活用していきたいです。技術者の必須技術ですからね」と語る。
第2期 第3回MDAテクノロジー・フォーラム(2003年11月12日)の会場で授賞式が行われた。右手はOMG会長兼CEOのリチャード・M・ソーリー氏 |
受験に備え、同氏はOMGのWebサイトから「UML 2.0仕様書」英語版の原文をダウンロードして読んだという。しかし、同氏が所属する東芝(東芝ソリューションは、2003年10月に東芝本体から分社独立した企業)は、OMGの法人会員として、発足当時から参画している。そのため「UMLの仕様を決める際に、いくつかの候補案が出るのですが、東芝が会員ということもあって、いち早く仕様を見ることのできる立場にありました。そういう意味では、ほかのエンジニアよりは多少早く仕様を理解できました」という。
勉強するために何が必要かについて、UMLのエキスパートである山城氏はこうアドバイスする。
「すでにUMLの技術を持っている方は、まずは仕様書を読むことをお勧めします。そうすれば受験のための対策はできます。これから勉強される方は、一般に出ている講座や教材を使ってUML 1.xをベースに学習し、さらにUML 2.0の仕様の基本を理解すれば、合格できるレベルになると思います。特にファンダメンタルに関しては、クラス図とアクティビティ図、ユースケース図とシーケンス図の4つのダイアグラムが中心となりますから」
OCUP試験対策に関する学習教材は、現在、ピーエイ、ソフトバンク・パブリッシングや豆蔵などからファンダメンタル試験に対応したリファレンスガイドや公認教材が出ている。また4月にはOTI(オブジェクトテクノロジー研究所)のWebページにUML2.0日本語版の仕様書が公開される予定となっている(UML Forum/Tokyo 2004に参加登録するとダウンロードできる)。IT教育機関が提供するUMLの基礎講座、入門コースも増えており、UMLを学ぶ環境は確実に整ってきているといえるだろう。
■UML 2.0はエンジニアにとって今後必須の技術となる
設計分析、モデリングを行う立場にあるエンジニアとして、山城氏はUML 2.0の必要性、実用性についてこう語る。
山城氏は、MDAの可能性に大きな期待をかける。技術者同士だけではなく、技術者とコンピュータがコミュニケーションする手段としてUMLが重要な道具となっていくと語る |
「UML 2.0には2つの利点があります。1つはUML 1.xより表現力が豊かになったことです。例えばシーケンス図に繰り返しや分岐などが書けるようになりましたね。これで、あらゆるソフトウェアがUMLで表現しやすくなりました。もう1つは、コンポーネント図や配置図などが1.xの頃より整理されて、簡潔に書けるようになったことがあります」
一方でUML 2.0は、1.Xのころから比べると、ダイアグラムは9から13に増えており、やや敷居が高くなっているといわれる。しかし、これは裏返せば、その分、さまざまなソフトウェア設計をUMLで表現できるようになったということだ。しかし、実際に業務で使用するのは、クラス図、シーケンス図、ユースケース図の、3つが中心といわれている。また、担当者によっても使う図は異なる。例えば詳細設計を行うSEにはクラス図とシーケンス図が必須。顧客と密接にコミュニケーションを行い要件定義を行うSEには、業務モデルを表現するユースケース図が必須だ。UML 2.0は、どの図においても従来よりもソフトウェアを表現しやすく改良されており、ダイアグラムが増えたからといって、難解になったというわけではない。
一方で山城氏は、UML 2.0のもう1つの可能性についてMDAを取り上げて説明する。
「私は仕事でMDAをやっていますので、UMLのメタモデルを扱えないと仕事になりません。XMIといって、XMLを使ってUMLのメタモデルレベルを書く標準や、MOFという、モデルを解釈変換する標準があるのですが、ここでUMLが必須になります。UMLはMDAの標準言語の側面があるんですね」
MDAはOMGが策定する次世代のソフトウェア開発モデルとして、いま大きな注目を集めている。J2EEや.NETといった現在対立的にとらえられえているプラットフォームを選ぶことなく、モデル・ドリブンに開発を行いシステムコードまで落とすことができるMDAは、短期開発が求められる現在のソフトウェア開発の要求に応える手法として可能性を期待されている。UML 2.0は、そのMDAのために必須の表記法であるわけだ。
■将来、乗り遅れないために!
OCUPを受験した山城氏は、現場のエンジニアに対し、ぜひOCUPを受験してほしいと勧める。
「OCUPはすべてのエンジニアに受験してほしいと思います。業種も関係ありません。UMLはISO(正確にはISO/IEC JTC1)によってISO化が予定されています。ISOになれば、UMLは今後のソフトウェア設計図の基本になるのではないでしょうか。さらに、UMLは設計のエンジニアだけのものではありません。プログラマはUMLが読めないとコードが書けない時代が来ます」
「さらに、お客さまに対してもUMLで設計書を書いて提案することになるでしょうし、実際われわれはすでにそうしています。エンジニアを海外調達することも増えるでしょう、その時に設計側がUMLという中間言語を覚えないと、コミュニケーションできないことになります。近い将来、UMLで記述された設計自体が、ソフトウェア構築の再利用単位になっていくことも考えられます。UMLはエンジニア同士のコミュニケーション標準言語ですね」
ファンダメンタルの合格証。ファンダメンタル受験はUML習得のための有効な手段の1つだ |
技術者同士のコミュニケーションにUMLは共通言語として必須になっていく。山城氏の仕事の現場でも、こうした事例はもはや当たり前のことになっているという。
「現在、私の所属するSI技術開発センターではプロジェクト制を採用していて、仕事が入るたびにリーダーがエンジニアを集めます。短いと3カ月、長い場合で1年のプロジェクトです。こうした組織になると、各エンジニアは技術を持っていなければ、仕事が来ないことになりますし、常にエンジニアの組み合わせが変わりますので、UMLが共通語なのです。皆が分かっていることが前提となりますから、皆が必ずUMLを勉強します」
しかし、山城氏の現場でもエンジニアは忙しく、UMLを効率的に学習することが必要ではないかと提言する。
「やみくもに勉強しても、理解度や習得度がどのくらいなのか、自分1人ではなかなか把握できませんよね。そのためにもOCUPを活用することをお勧めします。仕事の中だけで覚えようとしても、忙しさに流されて結局中途半端に終わってしまうこともある。それよりは資格という目標を立てて、業務と併用してやることが、結果としてはUMLスキル習得のための最短距離だと思います」
さらに同氏は、UMLに対するもう1つの見方として、ソフトフェア技術の進化の大きな流れの中で、その登場が必然のことではないかと意見を述べ、今後のエンジニアにとって必須の技術であると説明する。
「コンピュータは機械語を解釈してプログラムを実行しますが、人間がそれを1から書くのは大変なのでアセンブラが誕生しました。しかし、アセンブラもCPUのアーキテクチャごとに文法が異なるため、C/C++言語やJava言語のようなハードウェアに依存しない高級言語が誕生したわけです。しかし今度は、ミドルウェアとアプリケーションをつないだり、J2EEと.NETといった異なるプラットフォームの両方を同じ技術者がやらなければならないというニーズが出てきました。なので、それらに依存しない、さらに上のレイヤのソフトウェアの記述が求められるわけです。それに応えるのがUML、そしてMDAだと考えています。平たく言えば、ソフトウェア技術はターゲットに依存しない記述法を生み出す流れの中で進んでいるわけです」
同氏のお話をお伺いする中で「UMLは一時の流行だ」「プログラマには関係ない」といったたぐいの認識は、とんでもない勘違いであるという確信が生まれてくる。そして、ソフトウェア開発の標準化という大きな流れの中で、UML、そして、UMLのスキルを測るOCUPの重要性を認識させられる。
今後、UMLはコンピュータにかかわるすべてのエンジニアにとって不可欠な技能となるだろう。そして、OCUPは、UMLを策定するOMGがUMLの習熟レベルを評価する資格試験であり、エンジニア本人のスキルを客観的に判断するうえでも有用な資格といえるだろう。乗り遅れないためにも、OCUPを受験して、自らUMLの可能性を体験してみてはいかがだろうか?
■関連記事〜エンジニアのスキルを測る新たな業界標準資格 |
[新資格] OMG認定UML技術者資格の実用度は? |
EA(Enterprise Architecture)
企業や政府機関・自治体などの組織(enterprise)の構造と機能をある一定の考え方・方法で包括的に体系化・記述し、全体と構成要素の相互関係を明らかにし、その構造の背景にある基本理念・設計思想を含めて企業活動の全体最適を実現するアーキテクチャモデルを設定し、そのあるべきモデル(To Be)を目指して、長期的かつ体系的に行われる企業活動のこと。
MDA(model driven architecture)モデル駆動型アーキテクチャ
OSやハードウェアなどのプラットフォームに依存せず、UMLなどの標準モデリング技法を使ってアプリケーションの機能をモデル化する手法。または、そのモデル情報を基にコードを自動生成する開発スタイルを指す。
OMT(Object Modeling Technique)法
オブジェクト指向を使ってシステム分析や設計を進めるオブジェクト指向分析/設計(OOA/OOD)開発方法論の1つ。米ラショナル・ソフトウエア社のJames Rumbaugh氏らが開発した。使用するモデルがそれほど複雑でない、構造化分析/設計(SA/SD)手法からの移行が容易である、システム分析や設計手順が詳細に規定されている、などの利点を持つ。
Booch法
Grady Booch氏が開発したオブジェクト指向設計手法。システムの分析、設計、開発のうち,設計に重点を置いている
企画:アットマーク・アイティ 人財局
制作:アットマーク・アイティ 編集局
掲載内容有効期限:2004年5月31日
@IT関連記事 |
・[FYI] [新資格]OMG認定UML技術者資格の実用度は?
・OMGのUML技術者資格試験、ようやくスタート(@IT News) ・初歩のUML ・5分で絶対に分かるUML ・FAQ UML篇 ・UMLを段階的に学べる6冊 ・Javaオブジェクトモデリング |
OCUP関連リンク集 |
・OCUP公式サイト
・プログラム概要 ・資格取得までのステップ ・認定試験について ・OCUP認定教育パートナー ・FAQ ・メーリングサービス ・OMG ・OTI |
バウチャーチケットを特別価格で手に入れる! |
通常31,500円(税込)のバウチャーチケットが、21,000円(税込)の大幅値引き価格で販売されます!4月13日(火)、4月14日(水)の2日間開催される「UML Forum/Tokyo 2004」会場でのみ購入可能です。各日50枚までの限定となっておりますので、このチャンスを是非ご活用下さい。詳しくはOCUPのイベント・セミナー情報ページまで。 |
OCUP模擬試験問題配信中
|
@IT自分戦略研究所のITトレメでは、ピーエイの協力により、OCUP(ファンダメンタル)の模擬試験問題を毎日メールとWebサイトで配信中です。 |
[an error occurred while processing this directive] |