( 원서를 보면서 요약하려니... 참... 요약할게 눈에 띄지 않는다. 원서 읽는 것에 대해서 조금더 신경을 쓰면 조금씩 나아지리라 생각해본다.
2011.
Architecture Style 의 사용이유 : 디자인 결정에 대한 이미 존재하는 패키지들을 사용하는 것이 새롭게 시작하는 것보다 나은 선택방식이다.
스타일의 세가지 카테고리
- Module
- Component & Connector
- Allcation Style
스타일 가이드의 outline
Element, Relations, Properties
Constraints
Reason
Notation
Relation to other styles
Notation 종류
Informal notations
Semiformal notations
Formal notations
Module Views
- Module Structure 를 표현 , 원리와 설계요소 그리고 시스템의 모듈을 표현
- Elements : 책임,
- Relations : is-part-of, Depends on, Is-a
6개의 중요한 모듈 뷰 스타일
- Decomposition style
주로 is-part-of 관계로 이루어진 모듈 뷰 스타일
decomposition style 은 관리 가능한 모듈로 이루어짐
모듈과 서브 모듈간의 책임을 할당하는 방법에 대한 관점으로 표현한다.
- Uses style
depends-on 관계에 특화된 uses
모듈간의 의존성을 관리한다.
점진적인 개발에 대한 지원과 변경에 대한 영향도 분석의 효율성을 위한 뷰가 될 수 있다.
- Generalization style
is-a 관계로 이루어진 elements 를 표현하는 스타일
일반화와 특수화 간의 관계를 표현가능하게 한다.
객체 지향 시스템의 광범위한 표현으로 볼수 있다.
상속은 모듈간에 이루어지게 된다.
- Layered style
allowed-to-use 관계를 가진다.
모듈 그룹으로써 시스템을 분할하고 책임/역할의 응집을 가능하게 한다.
이 그룹들은 layer 라고 불려지며 allowed-to-use 관계에 의해 단방향으로 연결을 할 수 있다.
layered design 은 시스템의 이동성과 수정용이성을 달성하게 한다.
- Aspects style
cross cutting concern 을 위한 책임을 가진 모듈로 이루어진 아키텍처
cross-cutting 관심사를 위한 책임으로써의 aspect 라고 불리우는 특별한 모듈을 보여준다.
이 뷰는 AOP를 사용해서 구현되는 시스템에 유용하게 사용된다.
- Data model style
데이타 엔티티와 관계간의 구조를 보여주는 스타일
data-centric system 에서 성능과 수정용이성을 달성하게 하는 스타일이다.