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