Coursera Software Architecture Week1 UML Architecture Diagram - 2

# Kruchten's 4 + 1 view model

アーキテクチャの設計のときには、いくつかの観点から見ることが必要。

その『いくつかの観点』が、Kruchten's 4 + 1 view modelとしてまとめられている。

 

## Logical View

ソフトウェアにどのような機能があるのか? という観点。

UML Diagramによって表現することができる。

これによって、クラスやデータがどのようにお互い作用するのかわかりやすくなる。

 

## Process View

ソフトウェアがどのように実行されるのか、どのように他のシステムと作用するのか、という観点。

機能の実行順序やパフォーマンス、スケーラビリティなど。

UML Sequence Diagram、UML Activity Diagramが理解の助けになる。

 

# Development View

どの言語を使用するのか、どのような実装とするのか、という観点。

スケジュールなどのようなコーディング以外の開発についての部分も含まれる。

 

# Physical View

ソフトウェアが実行される物理的な環境からの観点。

UML Deployment Diagramで一部を表すことができる。

 

# Scenario

ユーザーに対して何が必要か? がわかっていないと、アーキテクチャを決めることはできない。

なので、ユースケースやタスクのようなシナリオが必要になる。

 

# UML Component Diagram

コンポーネントとは:システムの中で、独立していて、カプセル化されたもの

 

コンポーネントは他のコンポーネントのためにインターフェースを提供していて、それを使ってコンポーネント同士が結びつく。

それを図で表したのがUML Component Diagram。

ここではコンポーネントの内部の実装ではなく、コンポーネント同士がどのように作用するかが関心になっている。

UML Component Diagramによって、システムの狙いやデザインを確認することができる。

 

# UML Package Diagram

パッケージとは:関連する複数の要素をまとめたもの。データ、クラス、ユーザータスクをもち、名前空間が割り当てられる。

Package Diagramはこのパッケージがどのような要素をもっているか、パッケージ同士どのようにつながっているかを示したもの。

 

-- 今日はここまで --