spaci***
2022-07-11

소프트웨어 개발을 시작할 때 필요한 실용 가이드북이다. 소프트웨어 아키텍처의 리스크는 무엇인지, 아키텍처 설계 원칙은 어떻게 적용하고 해결하는지, 유관 부서의 실무자를 어떻게 도울 수 있는지 등의 주제를 개발자가 흔히 겪는 경험을 기반으로 풀어냈다.
적정 소프트웨어 아키텍처라는 책을 읽게되었다. 리스크 주도 접근법이라는 부제를 가진 책이었다.
이 책에서는 리스크를 활용하여 소프트웨어 아키텍처의 작업량을 결정하는 방법을 살펴본다고 한다. 그러기 위해선 소프트웨어 아키텍처가 무엇인지부터 이해해야 한다고 한다.
소프트웨어 아키텍처는 시스템의 골격 역활을 하고 품질 속성에 영햘을 미치며 대부분의 기능과 직교하면서 시스템을 제한한다고 한다. 이것이 소프트웨어 아키텍처가 중요한 이유라고 한다.
코드 내 모델 원칙이라는 것이 있는데, 사용하는 모델의 종류를 코드를 읽는 사람에게 전달하려는 설계 의도라고 한다. 힌트를 제공하고 모델의 일부를 소스 코드에 포함시키면 설계 의도가 더 쉽게 복구되며 전혀 손실되지 않을 수도 있다고 한다.
전체 시스템과 구성 부분은 관련되어 있으며 때대로 계층적 중첩, 계층적 분해라고도 한다고 한다. 부분과 전체의 관계를 분할 관계라고 한다고 한다.
아키텍처 스타일에는 여러가지 스타일이 있을 수 있는데 그 스타일들을 나열해 보았다.
일괄-순차 스타일, 모델 중심 스타일, 발행-구독 스타일, 클라이언트-서버 스타일 및 다중 계층 스타일, 파이프와 필터 스타일 등이 있는 것으로 보인다.
이 중 나는 모델 중심 스타일을 기본으로 해서 프로그램을 작성하는 타입이라는 생각이 들었다. 왜냐하면 내가 주로 코딩하는 부분은 서버 프로그램이고 서버 프로그램의 기본은 데이터 모델링에 있다는 생각에서 였다.
이것으로 이 책의 리뷰를 마칠까 한다. 소프트웨어 아키텍처 중에서도 리스크 주도 접근법에 관심이 있으신 분들이 이 책을 읽으시면 도움을 얻을 수 있으시리라고 생각한다. 일반 소프트웨어 아키텍처에 관심이 있으신 분들 역시 구독자로서 해당이 되는 책이라고 할 수 있다.