1. ADD(Attribute Driven Design)의 개요
1-1. ADD(Attribute Driven Design)의 정의
- ADD(Attribute Driven Design)은 순차적으로 소프트웨어 아키텍처 수립하기 위한 시스템적인 방법론
- ADD는 소프트웨어 시스템의 기능적인 속성과 품질 속성, 그리고 제약사항을 input으로 받아 각각의 속성을 만족시킬 수 있도록 최상위 수준에서 recursive하게 분할하는 과정을 통해 아키텍처를 수립하는 방법
1-2. ADD(Attribute Driven Design)의 특성
1) 소프트웨어가 달성해야 할 품질속성이 기반.
2) 품질속성 달성 방안을 고려해서 아키텍처 스타일을 결정.
3) 결정한 아키텍처 스타일에 따라 분할(decomposition)을 수행.
4) 분할로 구성요소와 이 구성요소들 사이의 관계가 결정되면 기능 요구사항을 만족시킬 수 있도록 구성요소들을 구체화.
5) 이 작업을 ADD로 더 이상 분할할 것이 없을 때까지 반복.
6) ADD는 초기단계의 분할만 수행한다. ADD의 결과로 얻은 아키텍처는 세세한 부분까지
다루지 않고 시스
2. ADD(Attribute Driven Design)의 개념도, 프로세스
2-1. ADD(Attribute Driven Design)의 개념도
2-2. ADD(Attribute Driven Design)의 프로세스
단계 | 구분 | 내용 |
1 | 요구 추출 | - 요소들간의 관계를 설계할 핵심적인 아키텍처 요구사항을 추출 - 요구사항들은 반드시 순위로 작성 |
2 | 분할 선택 | - 소프트웨어 아키텍처를 수립할 소프트웨어 시스템의 최상위 수준 요소를 선별하고 분할할 요소를 선택 |
3 | 중요 설계 요소 | - 우선 순위가 높은 요구사항을 추출 |
4 | 설계 방향 | - 아키텍처 설계 방향(아키텍처 패턴이나 tactics)을 선택 - 사용하려 하는 아키텍처 패턴이나 tactics들이 다른 아키텍처 요구사항과 tradeoff가 발생할 경우 우선 순위로 선택 |
5 | 매핑 | - 선택된 아키텍처 패턴과 tactics에 맞도록 분할할 요소에 맵핑 |
6 | 인터 페이스 | - 분할할 요소 내부에 새로운 요소를 정의하고 이들의 인터페이스 및 연관관계를 정의 |
7 | 정제 | - 아키텍처 요구사항을 다시 한번 정제하고 앞에서 정해진 요소를 제약사항으로 정의 |
8 | 반복 | - 모든 아키텍처 요구사항을 만족하는지 확인하여 만족할 때까지 1 ~ 7번을 반복적으로 수행 |
'1. IT Story > Basic Studies' 카테고리의 다른 글
BCG Matrix (0) | 2019.07.15 |
---|---|
Spring 프레임워크 (0) | 2019.07.13 |
프레임워크 (0) | 2019.07.12 |
SW 아키텍처 드라이버(SW Architecture Driver) (0) | 2019.07.11 |
SWOT (0) | 2019.07.09 |
7S 모델 (0) | 2019.07.08 |
가치사슬(Value Chain) (0) | 2019.07.07 |
5 Force (0) | 2019.07.06 |