SW 아키텍처란?
SW 아키텍처는 소프트웨어 시스템의 기본 구조를 정의하며, 시스템의 주요 구성 요소, 이들 간의 관계, 상호 작용 방식을 포함한다. 또한, SW 아키텍처는 품질 속성(성능, 확장성, 보안성 등)을 충족시키기 위해 설계된 주요 설계 결정을 나타낸다.
소프트웨어 아키텍처는 시스템 개발 과정에서 의사소통의 기반이 되며 시스템의 성공적인 구현과 유지 보수를 위해 필수적이다. 이를 통해 프로젝트 팀은 설계 의도를 명확히 하고 요구사항을 시스템 구조에 반영하며 기술적 위험을 완화할 수 있다.
SW 아키텍처 4+1 뷰 모델
SW 아키텍처 4+1 뷰 모델은 필립 크리센(Philippe Kruchten)이 제안한 소프트웨어 설계 접근법이다. 이 모델은 복잡한 시스템을 다각도로 분석하여 명확히 이해하고 설계할 수 있도록 돕는다. 4+1 뷰는 다음의 다섯 가지로 구성된다.
1. 논리 뷰 (Logical View)
- 시스템의 기능적 요구사항을 다루는 관점이다.
- 주요 클래스, 객체, 인터페이스와 이들 간의 관계를 설계한다.
- 설계자와 개발자에게 중요한 관점으로, UML 클래스 다이어그램, 시퀀스 다이어그램 등을 활용한다.
2. 유스케이스 뷰 (Use Case View)
- 시스템의 주요 시나리오를 다루는 관점이다.
- 유스케이스를 통해 시스템의 요구사항을 정의하고 다른 뷰를 연결한다.
- 이해 관계자 간의 의사소통과 요구사항 검증에 사용된다.
3. 프로세스 뷰 (Process View)
- 시스템의 동적 동작을 다루는 관점이다.
- 병렬 처리, 동시성, 스레드 관리, 통신 등의 설계를 포함한다.
- 성능과 확장성을 보장하기 위한 설계를 다루며, UML 활동 다이어그램 등이 활용된다.
4. 구현 뷰 (Implementation View)
- 시스템의 코드 구조와 모듈 설계를 다루는 관점이다.
- 소프트웨어 구성 요소, 파일 구조, 의존성을 설계한다.
- 개발팀 간의 작업 분배와 코드 관리를 효과적으로 수행할 수 있도록 돕는다.
5. 배포 뷰 (Deployment View)
- 시스템의 물리적 배포를 다루는 관점이다.
- 하드웨어와 소프트웨어 간의 매핑, 네트워크, 서버 구성 등을 설계한다.
- 운영 환경에서의 안정성과 확장성을 보장하기 위해 사용된다.
4+1 뷰 모델의 핵심
각 뷰는 시스템의 특정 측면을 다루며, 이 다섯 가지 뷰를 종합적으로 사용하면 복잡한 시스템의 설계와 구현을 체계적으로 관리할 수 있다. 유스케이스 뷰는 나머지 네 개의 뷰를 연결하는 중심 역할을 하여 설계의 일관성과 완전성을 유지한다.
'Dev > CS' 카테고리의 다른 글
[검색엔진] Solr에 대해서 알아보자 (1) | 2024.11.27 |
---|---|
[정보처리기사] SW 비용산정 모형 (0) | 2024.11.15 |
[정보처리기사] 소프트웨어 개발 방법론(SDM) (2) | 2024.11.14 |
[CS] 생성형 AI 도구의 특징과 장단점 (5) | 2024.11.13 |
[정보처리기사] 소프트웨어 생명 주기 (SDLC) (7) | 2024.11.11 |