아키텍쳐

GGOMG·2022년 6월 24일
0

마틴 파울러의 아키텍쳐란?

구성요소들간의 관계, 환경, 설계와 발전을 관리하는 원칙으로 이루어진 시스템의 근본적인 구조
-IEEE 소프트웨어 정의
Ralph - "너무 포괄적인(거시적인) 컴포넌트 개념으로 정의했다"

많은 수의 컴포넌트와 연관관계 속에서 어떤 것을 선택하고 배제할 것인가

1. 전문 개발자들은 시스템 디자인에 대한 지식을 공유한다 - 사회적 영향

프로젝트를 주도하고 있는 팀원 간 프로젝트에 대한 이해도가 잘 공유되어야 함

2. 한 번 결정하면 변경하기 어렵기 때문이다

아키텍쳐는 반드시 프로젝트가 시작되기 전에 정의되어야 한다
Ralph - "왜냐하면 그때로 돌아가고 싶기 때문이다"

결론 -> 뭐든 간에 중요한 것

소프트웨어 시스템이나 아키텍쳐를 설계할 때 무엇이 중요한지 핵심가치에 대해 생각한다
무엇을 핵심가치로 둘 것인가?

아키텍쳐에서는 이러한 핵심가치를 위한 결정들이 중요한 것

왜 우리는 아키텍쳐에 관심을 기울여야 할까?

좋은 아키텍쳐, 모듈러 디자인을 가지고 있더라도 외부인에게는 보이지 않는다
소프트웨어의 품질을 평가하는 사람들은 외부의 사람들이다
내부 품질은 직접적으로 보이지 않는다
그러나

아키텍쳐는 내부의 품질과 관련이 있다

동일 기능이지만
고품질에 비싼 제품과 저품질에 저렴한 제품 중 선택한다면
저품질에 저렴한 제품을 선택한다

하지만 소프트웨어의 내부 품질은 장기적인 관점에서 중요하다

소스코드가 플랫폼화 되고, 이 플랫폼 위에서 더 빠르게 개발할 수 있다
낮은 품질의 제품은 시간을 계속해서 잡아먹는다

결국 경제학적인 관점에서 소프트웨어 아키텍쳐가 중요하다

0개의 댓글