- 要求の収集とユースケース・モデリング
要求はさまざまなソースから発生する可能性がありますが、システムのアナリストと設計者は、これらの要求を要求文書に統合して管理する必要があります。
開発チームは、要求に基づいてシステム・ユースケースおよび高レベルのシステムの振る舞いを作成できます。
Rational RequisitePro®を使用するサイトでは、「要求管理」パースペクティブを使用して、既存の要求定義をユースケースなどの既存の UML モデル要素にマップできます。既存のモデル要素から要求を作成したり、既存の要求定義からモデル要素を作成したりすることもできます。
ソフトウェア設計者は、システムのユースケースと振る舞いおよびシステム上のアクターを定義したり、ユーザー・ワークフローを指定したりするために、ユースケース・モデルを作成します。
- ドメイン分析
ビジネス・アナリストと設計者は、システムの高レベルの機能モデルを定義することにより、システム・ドメインを記述します。分析フェーズでは、システム内に保管するデータとその処理方法を識別します。
設計者は、分析モデルを作成して、機能要求の論理ビューを記述します。 このモデルは、システム内の高レベル・オブジェクトとその相互作用を定義します。
- 詳細なアーキテクチャー設計
設計者は、ソフトウェア開発チームと協力して、詳細レベルのシステム・アーキテクチャーを設計します。
詳細設計中に、開発チームは、分析アクティビティー中に作成された高レベル・モデルを利用して、設計モデルを作成します。開発者は、モデルに詳細を追加して、システムの実装を記述します。例えば、永続性、セキュリティー、ロギング、および配置に使用されるプログラミング構造やテクノロジーを追加します。
実証済みの設計パターンや自動化されたモデル間変換を適用することにより、設計モデルをさらに洗練できます。
- 実装
開発チームは、承認済みの設計を使用して、アプリケーションを実装します。
開発者は、設計から実装に移行するために、自動化変換を使用してモデルをコード (Java™、EJB、C++ など) に変換し、ソフトウェアと Web の開発、デバッグ、テスト、および配置の機能を使用してアプリケーションの開発と配置を継続します。
Java アプリケーションの開発者は、追加の構造分析および制御機能を利用して、事前定義およびユーザー定義の構造ルールにコードが準拠していることを確認できます。
さらに、開発者は、アーキテクチャー・ディスカバリーと呼ばれる自動化されたパターン・マイニング機能を使用して、Java コード内で既知の構造パターンを検索できます。