본문 바로가기

개발/소프트웨어공학

소프트웨어 아키텍처

SW 컴포넌트 사이의 상호관계를 설계하고 정의한 시스템 구조이다.

소프트웨어 아키텍처의 특징

  1. 간략성
    이해하고 추론할 수 있을 정도의 간결성을 유지
  2. 추상화
    시스템의 추상적인 표현을 사용
  3. 가시성
    시스템이 포함해야 하는 것들을 가시화

소프트웨어 아키텍처 구성요소

  1. Architecture Description(AD)
    아키텍처를 기록하기 위한 산출물을 의미한다.
    하나의 AD는 System의 하나 이상의 View로 구성되어 있다.
  2. 이해관계자
    소프트웨어 시스템 개발에 관련된 모든 사람과 조직을 의미하며 고객 개발자 프로젝트 관리자 등을 포함한다.
  3. 관심사
    동일한 시스템에 대해 서로 다른 이해관계자의 의견이다.
  4. 관점
    서로 다른 역할이나 책임으로 시스템이나 산출물에 대한 서로 다른 관점이다.

  5. 이해 관계자들가 이들이 가지는 생각이나 견해로부터 전체 시스템을 표현한다.
    (4 + 1 View)