|
|
![]() |
Rational Unified Process® (RUP®) を利用すると、ソフトウェア開発を成功に導くことができます。 RUP は、次の 3 つの中核要素から定義されています。
RUP は、基本的な実践原則と重要な要素を基に開発されています。RUP の進化の歴史は長く、Rational Approach、Objectory Process、ClearGuide、SQA Process などを経て、現在も進化し続けています。 RUP の概要については、Spirit of RUP をお読みください。
Rational Software が定義し、継続的に改良している RUP プロセス・モデルとそれに関連するコンテンツ・ライブラリーは、ユーザーが独自のプロセスを構成する際に基盤として利用できる基本の RUP ソフトウェア開発プロセス・フレームワークを定義しています。
すべての基礎を支えているのはプロセス メタモデルです。
このモデルが、ソフトウェア開発プロセスを記述するために必要な、プロセス定義要素の言語を提供します。
この言語は、UML を拡張する SPEM を基盤にしており、ソフトウェア プロセス開発と Unified Process 手法の記述に利用できます。
長年の開発作業を経て、RUP は、いくつものソフトウェア開発プロセス製品が統合された製品ファミリーへと進化しました。 ソフトウェアの開発チームでは、これらの製品を活用して共通のソフトウェア開発プロセスを定義、構成、カスタマイズ、実践できます。 この製品ファミリーは、主な構成要素は次のとおりです。
RUP は、業界標準のブラウザ技術を使用した対話型 Web サイトとして実践者に提供されます。 次のツールを使用して RUP を提供できます。
RUP Web サイトは発行済みのプロセス定義で、特定のプロジェクト用に構成され、それぞれの要件に合わせてカスタマイズされています。
この Web サイトは動的に生成された HTML ページから作成されます。これらの HTML ページは、RUP 製品を使用して複数の RUP Web サイトとして発行でき、各ページがそれぞれ構成され、カスタマイズされたプロセス定義を表します。
RUP ブラウザ アプレットにより、多数の標準 Web ブラウザから、各種のナビゲーション アプレットを利用して RUP Web サイトに動的にアクセスできます。
RUP Builder は、異なるニーズに応じた各種プロセス構成を作成し、実践者がアクセスできる Web サイトとして発行するためのプロセス公開ツールです。
RUP Builder では、RUP プラグイン技術を使用して、プロセスを拡張するプラグインを RUP に追加することもできます。
developerWorks®: Rational® Web サイトの RUP セクションは、 プロセス・エンジニアを対象としたソフトウェア開発コミュニティーであり、各エンジニアが作成したプロセス拡張をプラグインとして公開して共有したり、プロセス拡張の重要なソースをプロジェクト管理者に提供することができます。
Rational Process Workbench
(以下 RPW) ツールは、コンテンツ ライブラリを管理する RUP Organizer、基本的な RUP プロセス定義を拡張したプロセス モデルを定義する RUP Modeler、RUP プロセス エンジニアリング プロセスの 3 つのコンポーネントで構成されています。これらのコンポーネント ツールを利用して、プロセス定義の拡張を RUP プラグインとして作成し、プロセスに組み込むことができます。
組織の成功を左右する重要なソフトウェアを開発して導入する場合は、RUP が役に立ちます。 RUP 製品ファミリーは、次の 2 つの主要なユーザー グループを対象として開発されています。
ソフトウェア開発の実践者は、RUP に定義されている役割を参照することで、それぞれが果たすべき作業や責務について確認できます。 RUP ソフトウェア開発プロジェクトに関わる実践者には、RUP に定義されている 1 つまたは複数の役割が割り当てられます。役割ごとに、責任を持つべき作業と成果物が異なります。 これらの役割が、反復作業にワークフローを確立するために必要な細かい作業を共同で進める方法に関する説明も参照できます。
プロセス エンジニアリングの実践者は、開発プロセスの定義、構成、カスタマイズ、実装に関する説明を参照することができます。RUP 製品ファミリーは、開発プロセスの定義、構成、カスタマイズを容易に行うことができる、
多くのツールを備えています。
RUP 製品には、ソフトウェア開発実践者のさまざまなグループに合わせてカスタマイズ済みのプロセス ビューが付属しています。
RUP の中核を成す実践原則の 1 つとして、反復型のインクリメンタル開発という特長があります。
RUP を使用する際には、この原則に留意してください。
一度に RUP の全部分を採用しようとするのは避けてください。
RUP そのものが反復型でインクリメンタルという特長を持つため、RUP を実装、学習、使用する手法を 1 つずつ採用していきます。
まず既存のプロセスを評価し、改善したい主要な領域を 1 つまたは 2 つ選択してください。
RUP を使用してこれらの領域を改善してから、後半の反復作業 (開発サイクル) で、ほかの領域を段階的 (インクリメンタル) に改善していきます。
詳細については、次の情報を参照してください。
RUP は、標準に準拠し、独自に構成が可能なプロセス環境を提供します。 このプロセス環境では、次の作業を実行できます。
RUP の中核要素はソフトウェア開発の原則を収集したもので、これは多くの定期的で継続した改善により、業界原則の変更を反映しているとみなされています。
ソフトウェア開発プロジェクトの利害関係者は、RUP を利用するとその開発作業で期待される結果を把握することができます。 また、用語集や知識ベースとしても利用でき、ソフトウェア開発チームに要望を効率的に伝える際に役立ちます。
ソフトウェア開発の実践者にとっては、このプロセス環境ではソフトウェア開発チームの全員が共通のプロセス定義を共有できるため、メンバー間の意思疎通をスムーズに図ることができるという利点があります。これにより、各自の責務を明確に把握し、プロジェクト チーム内で期待されている役割を果たすことができます。 RUP は、ソフトウェア開発の実践原則に関する幅広いガイダンスを備えているため、実践者の経験度を問わず、一般的なソフトウェア開発に役立つ資料としても利用できます。 単独でコードを記述する場合でも、国際的に通用するソフトウェアの開発を支援するツールとして RUP が役立ちます。
管理者またはチーム リーダーは、チームのスタッフと効率的に意思の疎通を行って計画を管理し、スタッフそれぞれの作業を制御できるプロセスを利用することができます。
プロセス エンジニアにとっては、独自のプロセス定義を作成する際に、基盤のアーキテクチャや素材として RUP を利用し、その基盤を必要に応じて拡張して構成していくことができます。これにより、プロセス定義を最初から作成する場合よりも、時間と労力を大幅に削減できます。
新しいソフトウェア プロジェクトの開始時から RUP を使用し、その初期プロジェクトが完了した後の後続開発サイクルでも引き続き使用できます。 ただし、プロジェクトで RUP を使用する方法は、それぞれの要件に合わせて適宜変更する必要があります。RUP のさまざまな部分を使用する時期と方法に影響する要因を次にいくつか示します。
次の参考文献を活用すると、RUP を効率よく短期間で習得できます。
Rational Unified Process
|