(책) 개발자에서 아키텍트로

정은경·2021년 9월 25일
0

🧩 Me Today 

목록 보기
47/48

요즘 읽어보고 싶은 책


http://www.yes24.com/Product/Goods/101865885

오늘(2021-10-06) 전자책으로 구매완료! 두근두근ㅎㅎ

소프트웨어 아키텍트

  • 아키텍트는 엔지니어링 관점에서 문제를 정의
  • 소프트웨어 시스템을 구현 가능한 작은 조각으로 나누는 동시에 전체 시스템이 일관성이 있게 동작하도록 큰 그림을 그림
  • 품질에 영향을 주는 다양한 품질속성(quality attribute) 사이에 균형을 잡아야 하며 어쩔 수 없이 늘어나는 기술 부채도 관리
  • 팀원들의 설계 역량을 개발(아키텍트에게 최고의 팀은 아키텍트로 채워진 팀이기 때문)
  • 아키텍트는 소프트웨어가 언제 어떻게 전달되는지 결정하는 사람
  • 아키텍트는 소프트웨어가 비즈니스 목표에 부합하도록 만드는 사람

1.1 소프트웨어 아키텍트가 하는 일

  • 엔지니어링 관점에서 문제 정의
    • 요구사항으로 기능을 정의하고, 이에 상응하는 "품질속성"을 또 하나의 요구사항으로 만드는 일
    • 시스템의 품질 속성을 정의할 뿐만 아니라, 소프트웨어 아키텍처가 정해진 방향으로 갈 수 있도록 제약(constraint)과 기능을 꾸준히 확인해야 함
  • 시스템은 분리하고 책임은 위임하기
    • 소프트웨어를 분명한 책임을 가진 단위로 나누고 각자의 포지션을 지키면서 운영하면 더 순조로워짐
    • 소프트웨어 시스템을 여러 조각으로 나누고, 조각마다 품질 속성과 요구사항을 달성하도록 전략을 만듬
  • 큰 그림 그리기
    • 소프트웨어는 시스템의 맥락 안에서 살아 숨쉰다
    • 트레이트오프를 생각해야 함
  • 품질/속성의 트레이드오프를 고려하기
    • 다양한 트레이드오프를 파악해 어떤 결정이 더 합리적인지 결정할 수 있어야함
  • 기술 부채 관리하기
    • 기술부채(technical debt)는 소프트웨어 시스템의 현재 설계와 소프트웨어가 지속적으로 가치를 창출하기 위해 가져야만 하는 바람직한 설계사이의 간극
    • 이 간극을 줄이는 데 얼마만큼의 노력이 필요할지 예측하는 것으로 기술 부채를 측정할 수 있음
  • 팀의 아키텍처 설계 역량 키우기

1.2 소프트웨어 아키텍처란 무엇인가

  • 필수 구조 정의하기
  • 직접해보기: 요소, 관계,구조
  • 품질 속성과 시스템 속성 도출하기
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글