profile image

L o a d i n g . . .

소프트웨어 아키텍처 (Software Architecture)

- 시스템의 초기 설계 결정 사항을 표현하는 것 = 구조

- 소프트웨어 아키텍처가 중요한 이유는 소프트웨어의 품질을 결정하기 때문

- 하나의 소프트웨어를 개발할 때, 이런 수많은 모듈들을 어떻게 분할하고 배치할 것인지 결정할 때 참고하는 것이 소프트웨어 아키텍처

 

모듈

- 소프트웨어를 구성하고 있는 작은 기능 하나하나의 단위

 

컴포넌트

- 모듈을 기능별로 묶어놓은 집합

 

소프트웨어 아키텍처 기본 원리

  • 모듈화: 소프트웨어 성능 향상 및 유지관리 등이 용이하도록 시스템의 기능을 모듈단위로 나누는 것
  • 추상화: 전체적이고 포괄적인 개념을 설계한 후에 구체화 시켜 나가는 것
  • 단계적 분해: 상위 개념부터 하위 개념으로 구체화 시키는 분할 기법 하향식 설계 전략
  • 정보 은닉: 모듈 내부에 정보와 자료들을 숨겨서 다른 모듈이 접근하거나 수정하지 못하도록 하는 기법

 

복사했습니다!