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はこのパッケージがどのような要素をもっているか、パッケージ同士どのようにつながっているかを示したもの。
-- 今日はここまで --