1P by neo 5달전 | favorite | 댓글 1개

소프트웨어 아키텍처 책 소개

책의 특징

  • 리스크 기반 설계: 리스크가 작을 때는 간단한 설계, 리스크가 클 때는 철저한 설계를 강조함.
  • 아키텍처의 민주화: 모든 개발자가 아키텍처를 이해하도록 돕는 것을 목표로 함.
  • 선언적 지식: 시스템 설계와 구축에 대한 명확한 개념을 제공함.
  • 엔지니어링 강조: 기술적인 부분에 집중하여 원칙적인 설계 결정을 할 수 있도록 도와줌.
  • 실용적인 조언: 다양한 추상화 수준의 모델을 통해 실용적인 설계 방법을 제시함.

책의 구성

Part I: 리스크 기반 소프트웨어 아키텍처

  • 소프트웨어 아키텍처 정의: 시스템의 골격 역할을 하며 품질 속성에 영향을 미침.
  • 리스크 기반 모델: 리스크를 식별하고 우선순위를 정한 후, 적절한 설계 기법을 적용하여 리스크를 줄이는 방법을 설명함.
  • 모델 사용 조언: 문제 해결을 위해 모델을 사용하고, 제약 조건을 신중하게 추가하며, 팀 전체에 아키텍처 기술을 분배하는 방법을 제시함.

Part II: 아키텍처 모델링

  • 개념적 모델 구조: 도메인 모델, 설계 모델, 코드 모델로 구성됨.
  • 캡슐화 경계 구축: 컴포넌트나 모듈의 내부 작동을 숨겨 다른 문제 해결에 집중할 수 있도록 함.
  • 효과적인 모델 구축: 품질 속성과 기능성을 강조하는 다양한 아키텍처 기법을 통합하여 실용적인 모델을 구축하고 디버깅하는 방법을 설명함.
  • 모델 사용 조언: 모델의 장점과 단점을 모두 다루며, 효과적으로 사용하는 방법을 제시함.

전자책 및 하드백

  • 전자책: Google Play에서 DRM-free 버전으로 판매 중 ($9.99).
  • 하드백: Amazon에서 구매 가능.

책에 대한 리뷰 및 추가 자료

  • 리뷰: IEEE Software 등에서 다양한 리뷰와 에세이 제공.
  • 추가 자료: 연속 설계, 아키텍처 스타일, 모델링 등 다양한 주제의 비디오와 출판물 제공.

GN⁺의 의견

  • 리스크 기반 접근법의 중요성: 리스크를 기반으로 한 설계는 프로젝트의 성공 가능성을 높이는 데 매우 유용함.
  • 아키텍처의 민주화: 모든 개발자가 아키텍처를 이해하면 팀 전체의 효율성이 높아질 수 있음.
  • 실용적인 조언: 이 책은 이론보다는 실용적인 조언을 많이 제공하여 실제 프로젝트에 바로 적용할 수 있음.
  • 기술적 집중: 기술적인 부분에 집중하여 개발자들이 실질적인 문제를 해결하는 데 도움을 줌.
  • 추가 학습 자료: 다양한 추가 자료를 통해 더 깊이 있는 학습이 가능함.
Hacker News 의견
  • 프로젝트 관리 위험소프트웨어 엔지니어링 위험을 구분해야 함. 엔지니어링 기술이 관리 위험을 해결하지 못하는 경우가 많음.
  • 코드 품질, 조직화, 테스트, 문서화, 표준 도구 사용이 양쪽 모두에 도움이 됨.
  • "버스에 치이다" 가설을 자주 사용하게 되는 이유는 재현 가능하고 이해하기 쉬운 소프트웨어를 만들기 위함임.
  • 부정적인 의미를 피하기 위해 "복권에 당첨되다"라는 표현을 사용하는 것이 좋음.
  • 아키텍처를 위한 아키텍처는 최악임. 불필요하게 복잡성을 증가시킴.
  • 좋은 아키텍처의 궁극적인 목표는 비용 절감임. 개발 및 유지보수에 더 많은 시간이 소요된다면 실패한 아키텍처임.
  • 2010년에 출판된 책이 얼마나 살아남았는지 궁금함.
  • "Design It" 책은 워크숍 활동이 기술자들에게 유용하고, 특정 기술 아키텍처 스타일에 치우치지 않아 좋음.
  • John Ousterhout의 'A Philosophy of Software Design' 책이 유용함. 이해하기 쉬운 조언과 예시가 많음.
  • "리스크 의존적"이라는 용어가 더 나은 명칭일 것 같음. 프로그래머들이 "[X]-기반"이라는 표현을 좋아하는 이유가 궁금함.
  • 특정 책은 모르지만, 저자의 "지적 통제"에 대한 글이 매우 통찰력 있음.
  • 몇 년 전 회사에서 책 클럽을 했는데, 매우 반복적임을 느꼈음.
  • 비중 있는 오픈 소스 프로젝트를 시작하는 사람이나 솔로프리너에게 좋은 자원인지 궁금함. 솔로 개발자에게 유용한 책이나 자원을 추천해달라는 요청.
  • 소프트웨어 아키텍처는 일반적인 아키텍처와 비슷하지만, 소프트웨어에는 Isaac Newton 같은 인물이 없어서 시민 공학이 존재하지 않음. 가장 가까운 인물은 Claude Shannon임.
  • 임의의 용어를 읽는 것에 지침. 수학적 모델을 원함. 모호한 인간이 만든 용어는 아이디어를 번역하려는 해킹에 불과함.