成果物:
|
![]() |
ソフトウェア アーキテクチャ説明書では、システムのさまざまな側面を描写する各種のアーキテクチャ ビューを使用して、システムのアーキテクチャの概要を包括的に示します。 |
役割: | ソフトウェア アーキテクト |
---|---|
オプション度 / 使用時期: | 主に推敲フェーズの間に作成される |
テンプレートとレポート: |
|
例: | |
UML の表現: | 関連する一連のアーキテクチャ ビュー。ユース ケース ビュー、論理ビュー、プロセス ビュー、配置ビュー、実装ビュー、データ ビューなど |
詳細情報: | |
成果物を入力とする作業: | 成果物を出力とする作業: |
ソフトウェア アーキテクチャ説明書では、ソフトウェア システムのアーキテクチャの包括的な概要を示します。この説明書は、プロジェクトで行われるアーキテクチャ上重要な決定に関して、ソフトウェア アーキテクトとほかのプロジェクト チームのメンバーの間のコミュニケーション手段として機能します。
ソフトウェア アーキテクチャの表現と目標は通常、最初の反復作業に入る前に定義し、その後はプロジェクト全体を通して保守しなければならないものです。アーキテクチャの表現に関するこれらのガイドラインは、ソフトウェア アーキテクチャ説明書の初期のバージョンで文書化されます。
ソフトウェア アーキテクチャ説明書は、基本的には推敲フェーズで作成されます。それは、このフェーズの目的の 1 つが、堅固なアーキテクチャの基礎を確立することであるからです。
ユース ケースは開発の推進力であり、反復を計画するために不可欠の入力情報であるため、この文書内のユース ケース ビューはほかのビューよりも先に検討される傾向があります。並行性と分散の度合いが高いシステムでは、システム全体に重大に影響を及ぼす可能性があるという理由から、プロセス ビューと開発ビューも早期に検討される傾向があります。
ソフトウェア アーキテクトは、ソフトウェア アーキテクチャ説明書の作成に責任を持ちます。この説明書では、複数のアーキテクチャ ビューを使用して、設計上の最も重要な決定事項を把握します。
ソフトウェア アーキテクトは、各アーキテクチャ ビューの全体的な構造 (ビューの分解、要素のグループ化、主なグループ間のインターフェイス) を確立します。したがって、ほかの役割は対照的に、ソフトウェア アーキテクトには深い洞察力よりも広い視野が求められます。
また、ソフトウェア アーキテクトは、開発プロセス全体を通じてシステムのアーキテクチャの整合性を維持することに責任を持ち、そのために以下のことを行います。
ソフトウェア アーキテクチャ説明書の概要を、ソフトウェアの性質に合わせて調整することが推奨されます。
各アーキテクチャ ビューの利点と不利な点は次のとおりです。
このビューは必須です。
このビューは必須です。
オプションのビューです。システムで複数の制御スレッドが使用され、独立したスレッドどうしが相互作用するか、依存し合う場合にのみ使用します。
オプションのビューです。システムが複数のノードに分散される場合にのみ使用します。その場合でも、分散がアーキテクチャ的な意味を持つ場合にのみ配置ビューを使用します。たとえば、1 台のサーバーと多数のクライアントが存在する場合、配置ビューはサーバーとクライアントの責務をノードのクラスとして表現する目的にのみ必要とされます。クライアントのノードの能力が均一である場合、すべてのノードを示す必要はありません。
オプションのビューです。実装が厳密に設計に基づいて行われない場合、たとえば、設計モデルと実装モデルの対応するパッケージ間で、責務の分散形態が異なるような場合にのみ使用します。設計モデルと実装モデルでパッケージ化の内容が同一な場合、このビューは省略できます。
オプションのビューです。永続性がシステムの重要な側面であり、設計モデルからデータ モデルへの変換が永続メカニズムによって自動的に行われない場合にのみ使用します。
Rational Unified Process
|