- 要求収集およびユースケース・モデリング
要求は多くのソースから発生しますが、
システムのアナリストおよびアーキテクトはそれらを要求文書に統合して要求を管理する必要があります。
それらの要求から、チームは、システムのユースケースおよびシステムの振る舞いの概要を作成することができます。
Rational RequisitePro® を使用するチームは、要求管理パースペクティブを使用して、
既存の要求定義を既存の UML モデル要素 (ユースケースなど) にマッピングできます。
また、既存のモデル要素から要求を作成したり、既存の要求定義からモデル要素を作成したりできます。
ソフトウェア・アーキテクトは、システムのユースケースおよび振る舞いと、システム上のアクターを定義し、
さらに、ユーザーのワークフローを指定するユースケース・モデルを作成します。
- ドメイン分析
アナリストおよびアーキテクトは、
システムの全体的な機能モデルを定義することによってシステム・ドメインを説明します。
分析フェーズでは、システムに保管されるデータおよびその処理方法を識別します。
アーキテクトは、機能要求の論理ビューを説明する分析モデルを作成します。
このモデルは、システムの概略的オブジェクトおよびそのオブジェクト間の相互作用を定義します。
- 詳細なアーキテクチャー設計
アーキテクトは、ソフトウェア開発チームと一緒に
詳細レベルでのシステム・アーキテクチャーを設計します。
詳細設計時に、
開発チームは、分析アクティビティーで作成した概略的なモデルを利用して、
設計モデルを作成します。開発者は、永続性、セキュリティー、ログ、デプロイメントのために
使用されるプログラミング構造やテクノロジーなどのシステムの実装を説明する詳細をモデルに追加します。
設計モデルは、実績のあるデザイン・パターンおよび自動化されたモデル間変換を適用することで、
さらに洗練させることができます。
- 実装
開発チームは、承認された設計を使用してアプリケーションを実装します。
開発者は、モデルからコード (C++、Java™、または
CORBA IDL など) に変換する自動変換を使用し、ワークベンチ環境でソフトウェア開発機能
(C/C++ 開発ツールキットおよび Java 開発ツールキットなど) を使用してアプリケーションの作成および導入を続けることで、
設計から実装に移行していきます。
C、C++、および Java アプリケーションの開発者は、UML 可視化機能を使用して、
アプリケーション・コードを UML ベースの図で表記することによって、コードを検討し、作成することもできます。
Java アプリケーションの開発者は、
さらに構造分析および制御機能を活用して、定義済みおよびユーザー定義の構造規則にコードを準拠させることができます。
また、
開発者は、アーキテクチャー・ディスカバリーという自動パターン・マイニング機能を使用することで、
Java コードに既知の構造パターンがあるかどうか検索できます。