タブの始まり
- 1. UMLモデリングからJava/JavaEEコーディング・テストまでこれ1本!
- 2. 要件/分析/設計/ソースコードといった異なる抽象度の情報を一元管理(課題1. を解決します!)
- 3. トレーサビリティーを利用した強力な影響分析(課題1. を解決します!)
- 4. UMLモデルのメトリックと品質レビュー(課題2. を解決します!)
- 5. UMLモデル変換、レポーティング機能(課題3. を解決します!)
- 6. チームでの並行モデリング支援:Rational Team Concertとの連携
- 7. UMLを用いた開発のベストプラクティスを同梱
UMLがソフトウェア標準化団体OMG(Object Management Group) に提案され、標準化認定を受けて以来十数年が経過しました。近頃ではデザインパターンのようなソフトウェア設計技法の説明には当然のようにUMLが用いられており、雑誌やWebの技術記事でもUMLの様々なダイアグラムを目にすることが増えてきました。
ソフトウェア設計の手段として、なぜUMLを用いるのでしょうか。UMLを利用しようと考えるその背景にはUMLによって解決したい課題があるはずです。いくつか例を挙げてみます。
課題1. ソフトウェア構造をソースコードよりも高い抽象度で理解したい
課題2. 表記を統一することで設計の品質を高めたい
課題3. UMLからソースコードを自動生成するなど、2次利用したい
ここでご紹介するIBM Rational Software Architect for WebSphere Softwareは、このような課題を解決すべくUMLを用いる開発者のためのUMLモデリング機能を備えた統合開発環境(IDE)です。
1. UMLモデリングからJava/JavaEEコーディング・テストまでこれ1本!
IBM Rational Software Architect for WebSphere Software (以降、RSAと略します) は、ソフトウェア開発プロセスにおける分析・設計からコーディング・テストまでを支援するRationalの「アーキテクチャー管理」ソリューションの中の最上位に位置付けられる製品です。
UMLモデリングはもちろんのこと、Java/JavaEE開発用統合開発環境であるIBM Rational Application Developer for WebSphere Software (以降、RADと略します)の全ての機能を包含しており、UMLによる分析・設計からJavaやEJB等のコーディングまでを複数のツールを使い分けることなく、RSA1本で実施することができます。
また、RADにはIBMのWebアプリケーション・サーバーであるWebSphere Application Server(以降、WASと略します)のBase Editionが3世代同梱されており、他の開発者による開発用サーバーの利用状況を意識することなく、PC上でのWebアプリケーションの稼動確認を行うことが可能となっています。
これにより、UMLによる設計から実際のWebアプリケーションの稼動確認までのリードタイムを大幅に短縮し、生産性を向上することができます。
2. 要件/分析/設計/ソースコードといった異なる抽象度の情報を一元管理
RSAは、UMLと同じくOMGによって標準化されているMDA (モデル駆動型アーキテクチャー)を採用しており、要件を表現するユースケースから分析レベルのモデル、設計レベルのモデル、ソースコードまでをトレーサビリティーを確保しつつ管理することが可能となっています。
言い換えれば、ある要件がどのように詳細化されて、最終的なソースコードになっているのかを段階的に追っていくことが可能となり、直接ソースコードを読むよりも高い抽象度でソフトウェアの構造を理解することができます。
3. トレーサビリティーを利用した強力な影響分析
RSAを利用してUMLを記述する際の大きな利点として、UMLの要素間のトレーサビリティーを管理できる点があります。RSAにはこのトレーサビリティーを利用して、影響分析を行う機能が用意されています。
これにより、あるユースケースに登場するクラスはどれか?逆にあるJavaクラスを利用しているユースケースはどれか?といった分析が可能となり、何らかの変更が発生した際にどこまで影響範囲があるのかを誰かに聞かずとも素早く特定することができます。このような影響分析を実施し修正漏れを防ぐことで、結果として設計とソースコードが乖離してしまうような状況を未然に防ぐことができます。
4. UMLモデルのメトリックと品質レビュー
RSAにはUMLモデルを対象としたメトリック収集と品質レビュー機能があります。
ソフトウェア開発プロセスの上流工程にあたるUMLの時点で品質レビューを実施することにより、UMLの品質の均一化を図り、下流工程にあたるソースコードに問題が残ることを未然に防ぎます。例えば、Javaではクラス名の先頭は大文字である必要がありますが、UMLの時点で名前が小文字で始まるクラスを検出することができます。
5. UMLモデル変換、レポーティング機能
RSAには、一旦作成したUMLを様々な形で2次利用するための仕組みがあります。大きく分けて一つはモデル変換、もう一つはレポーティングになります。
モデル変換は、「トランスフォーメーション」と呼び、モデルからモデルあるいはモデルからソースコードの生成が可能となっています。
一方、レポーティングはUMLを元に、HTMLやPowerPoint、PDF等に出力することで、仕様書作成の作業を軽減することができます。
モデルからモデルへのトランフォーメーションの定義例
入力となる左側のUMLモデルの要素が、出力となる右側のUMLモデル要素の何を生成するのかを定義している様子を示しています。
6. チームでの並行モデリング支援:Rational Team Concertとの連携
ソフトウェア開発をチームで行っている場合、当然ながら複数人でUMLモデルを編集することになります。この場合、お互いの変更が競合を起こす可能性がでてきてしまいます。
RSAには、このような競合の発生を最小限にとどめるための仕組みとして、「フラグメント」という機能を備えています。このフラグメントとは、一つの大きなUMLモデルを、小さな複数の物理ファイルに分割して保存する機能です。このフラグメント単位で変更者を局所化することにより、無用な競合を軽減することが可能となります。
フラグメントの例
また、ソースコードと同様にUMLモデルも構成管理サーバー上で共有することになります。この場合、RSAではサーバー上のUMLとローカルのUMLの差分をビジュアルに確認することができます。
なお、構成管理サーバーとしてRational Team Concertを用いる場合、Rational Team ConcertのクライアントをRSAに統合して利用することが可能です。
7. UMLを用いた開発のベストプラクティスを同梱
RSAには、Rationalが25年間に渡って培ってきたUMLを用いたオブジェクト分析設計技法のノウハウが、プラクティスとして同梱されており、RSAを利用する範囲で活用することができます。
また、IBMにおけるSOAのモデリング手法であるRUP SOMAについても同梱されており、一からメソドロジーの検討をせずとも採用する開発スタイルに応じて活用することができます。
IBM、IBMロゴ、ibm.com、developerWorks、PartnerWorld、RationalおよびPolicy Testerは、世界の多くの国で登録されたInternational Business Machines Corp.の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US)をご覧ください。












