아키텍처란

Gooreum·2021년 11월 5일
0

클린아키텍처

목록 보기
15/33
post-custom-banner

소프트웨어 시스템의 아키텍처란?

  • 사람들이 만들어낸 시스템의 형태다.
  • 이를 통해 시스템이 쉽게 개발, 배포, 운영, 유지보수되도록 만들어진다.

개발

  • 개발팀들이 시스템을 쉽게 개발할 수 있도록 만드는데 도움을 주어야한다.

배포

  • 소프트웨어 아키텍처는 시스템을 단 한번에 쉽게 배포할 수 있도록 도움을 주어야 한다.

운영

비용차원

  • 아키텍처가 운영에 큰 영향을 주지는 않는다. 한정된 자원을 효율적으로 사용하기 위해 아키텍처를 개선하는 것 보다 하드웨어를 추가하는 비용이 더 싸기 때문.

개발자

  • 시스템 아키텍처는 개발자에게 시스템을 운영하는 데 필요한 요구를 알려준다.
  • 좋은 시스템 아키텍처는 유스케이스, 기능, 시스템의 필수 행위를 일급 엔티티로 격상시키고, 이들 요소가 개발자에게 주요 목표로 인식되도록 한다. 이를 통해 시스템을 이해하기 쉬워지며, 따라서 개발과 유지보수에 큰 도움이 된다.

유지보수

  • 시스템 아키텍처는 유지보수하기 위해 필요한 탐사 시간을 줄여준다.
    • A컴포넌트가 어떤 컴포넌트에 의존성을 가지고 있는지 명확하게 보여줄 수 있으므로, 에러를 찾기 위한 디버깅 작업 시간을 줄여 줄 수 있다.

선택사항 열어 두기

  • 시스템 아키텍처는 세부사항과는 독립적인 고수준의 정책을 세워두되 최대한 선택 가능한 세부사항 결정 경우의 수를 검토할 수 있어야 한다.
    • 프레임워크, 데이터베이스, 웹 서버 등과 같은 기술(세부사항)이 개발 방향을 이끌게 해서는 안되고, 시스템을 구축하게 하기 위한 하나의 도구로써 자리 잡도록 설계를 해야 한다.
profile
하루하루 꾸준히
post-custom-banner

0개의 댓글