반응형
1. 소프트웨어 아키텍처 스타일의 개요
가. 소프트웨어 아키텍터 스타일의 정의
- 아키텍터의 구성요소와 구성요소들 간의 관계들이 사용될 때 작용하는 제약사항과 함께 특화시켜 놓은 아키텍처 집합
- View를 표현할 때 반복적으로 나타나는 재사용이 가능한 아키텍처의 형태
- 아키텍처 설계 시에 요구되는 비기능 품질 요구사항을 달성할 수 있도록 해 놓은 문서
나. 소프트웨어 아키텍터 스타일의 필요성
- 기 검증된 패턴을 통한 최적의 아키텍처 제시
- 아키텍처 스타일이 제공하는 주요 제한 조건을 통해 현 문제의 이슈사항 사전 인지
- Best Practice의 사용을 통해 아키텍처의 대외적 신뢰성 및 권위 획득
- 시스템의 모든 설계 작업의 기초를 제공함
- 아키텍처 스타일의 사용시 좋은 점
- 특정 종류의 시스템에 특화된 설계 지식의 적용 가능
- 해당 스타일에 특화된 도구를 활용해 시스템을 설계, 분석, 구현 가능
2. 소프트웨어 아키텍처 스타일의 유형
가. 아키텍처 스타일의 유형
아키텍처 스타일 | 설명 |
데이터 중심의 아키텍처 스타일 (Data-Centered Architecture Style) |
데이터 정합성을 위한 품질 특성을 구현하는 것을 목적으로 함 |
데이터 흐름 아키텍처 스타일 (Data Flow Architecture Style) |
소프트웨어 시스템을 연속적으로 연결된 입력 데이터에 대한 일련의 변형 동작으로 구성 |
가산 머신 아키텍처 스타일 (Virtual Machine Architecture Style) |
이식성 특성을 성취하는데 목적 |
호출과 리턴 아키텍처 스타일 (Call-and-Return Architecture Style) |
시스템 수정성과 확장성 품질특성 구현 주 프로그램과 서브루킨 아키텍처, 원격 프로시져 호출, 객체지향, 계층적 아키텍처 |
독립적인 컴포넌트 아킥텍처 스타일 (INdependent Component Architecture Style) |
상호간 메시지를 통한 통신, 컴포넌트, CBD, Web Service |
이질적인 아키텍처 스타일 | 위치적 이질성, 계층적 이질성, 동시적인 이질성 |
- 아키텍처 설계에서 반복적으로 나타나는 문제를 해결하고 아키텍처가 만족시켜야 하는 시스템 품질 속성을 달성할 수 있는 방법을 문서로 정리한 것
나. 아키텍처 스타일의 상세 유형
유형 | 서브타입 | 설명 |
데이터 중심 (Data-Centered) |
칠판형 (Blackboard) |
- 데이터의 정확성을 위한 품질 특성 구현이 목적 |
저장소형 (Repository) |
- 광범위하게 접근되는 데이터 저장소에 대한 접근과 갱신 작업에 초점 | |
데이터 흐름 (Data Flow) |
일괄 순차형 (Batch Sequential) |
- 처리 단계 또는 컴포넌트들이 독립적인 프로그램으로 구성하며, 하나의 컴포넌트가 수 행을 완료한 후에 다음의 컴포넌트를 수행 - 전통적인 데이터 처리 응용분야에서 사용 |
파이프-필터형 (Pipes and Filtered) |
- 연속적인 컴포넌트들에 의한 데이터의 점진적 변형 구조 - 필터 : 데이터 스트림(Stream) 변환기 - 파이프 : 필터와 필터 사이에 존재하면서 단순한 데이터의 이동을 담당 |
|
가상머신 (Virtual Machine) |
번역기형 (Interpreter) |
- 소프트웨어 시스템의 이식성 품질 특성을 성취하는데 목적을 둔 스타일로서 해당 소프트웨어 시스템이 구현 될 하드웨어나 소프트웨어에 직접적인 관련이 없는 기능들에 대한 시뮬레이션을 수행 |
규칙기반 시스템 형 (Rule-Based System) |
- 하나의 프로그램을 작은 단위의 서비 루틴으로 나눔으로써 소프트웨어 시스템의 수정성 품질 특성을 성취 | |
Call and Return | 원격 프로시저 호출 (Remote procedure call architecture) |
- 소프트웨어 시스템을 네트워크로 연결 된 컴퓨터상에서 실행되는 작은 단위의 서브 루틴으로 구성하여 분석처리 |
Layered | - SW를 계층이라는 단위로 분할하여 각 계층은 오직 이웃한 계층끼리만 통신 - 시스템의 수정성과 이식성 품질 특성 제공 |
반응형
'TechNote > 소프트웨어 공학(SW)' 카테고리의 다른 글
007 아키텍처 평가방법 ATAM (0) | 2022.09.30 |
---|---|
006. 소프트웨어 아키텍처 평가 방법론 (0) | 2022.09.30 |
004. 소프트웨어 아키 (0) | 2022.09.29 |
003. 요구 공학 (0) | 2022.09.29 |
002. Software Development Life Cycle의 정의 (0) | 2022.09.29 |
댓글