확장메뉴
주요메뉴


소득공제
미리보기 공유하기

적정 소프트웨어 아키텍처

: 리스크 주도 접근법

[ 양장 ]
리뷰 총점9.5 리뷰 20건 | 판매지수 1,722
베스트
IT 모바일 top100 1주
명화를 담은 커피, 가을을 닮은 책 - 명화 드립백/명화 캡슐 커피/명화 내열 유리컵+드립백 세트/매거진 랙
[IT 기획전] IT, 모두의 교양
9월의 얼리리더 주목신간 : 웰컴 투 북월드 배지 증정
[대학생X취준생] 꼭 공부를 해야 할 상황이라면? 2학기, 공부할 결심!
박해선 저자의 머신러닝/딥러닝 패스
[단독]『혼자 공부하는 파이썬』 개정판 출간
내일은 개발자! 코딩테스트 대비 도서전
[단독] 에듀윌 IT 자격증 기획전 - 가장 빠른 합격출구 EXIT
소장가치 100% YES24 단독 판매 상품
YES24 트윈링 분철 : 인서트라벨/스티커 택1 증정
9월 전사
쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2022년 05월 30일
판형 양장?
쪽수, 무게, 크기 472쪽 | 988g | 183*235*24mm
ISBN13 9791162245538
ISBN10 1162245530

책소개 책소개 보이기/감추기

소프트웨어 개발자를 위한 실용 가이드

이 책은 소프트웨어 개발을 시작할 때 필요한 실용 가이드북이다. 소프트웨어 아키텍처의 리스크는 무엇인지, 아키텍처 설계 원칙은 어떻게 적용하고 해결하는지, 유관 부서의 실무자를 어떻게 도울 수 있는지 등의 주제를 개발자가 흔히 겪는 경험을 기반으로 풀어냈다. 개발하면서 너무 많은 문서를 작성했거나, 코딩을 시작하기 전에 너무 적게 고민한 적도 있을 것이다. 어느 쪽이든 소프트웨어 개발이 왜 잘못되는지 알 수 있고, 이 책에서 제공하는 해결책이 많은 도움이 될 것이다.

목차 목차 보이기/감추기

CHAPTER 1 개요

_1.1 분할, 지식, 추상화
_1.2 소프트웨어 아키텍처 세 가지 예시
_1.3 되돌아보기
_1.4 관점 이동
_1.5 아키텍처를 아키텍처링하는 아키텍트
_1.6 리스크 주도 소프트웨어 아키텍처
_1.7 애자일 개발자를 위한 아키텍처
_1.8 이 책에 대하여

PART I 리스크 주도 소프트웨어 아키텍처

CHAPTER 2 소프트웨어 아키텍처

_2.1 소프트웨어 아키텍처 개요
_2.2 소프트웨어 아키텍처가 중요한 이유
_2.3 아키텍처가 중요한 상황은?
_2.4 추정 아키텍처
_2.5 소프트웨어 아키텍처 사용법
_2.6 아키텍처 무관 설계
_2.7 아키텍처 집중 설계
_2.8 아키텍처 상향 설계
_2.9 대규모 조직에서의 아키텍처
_2.10 마치며
_2.11 참고 자료

CHAPTER 3 리스크 주도 모델

_3.1 리스크 주도 모델 개요
_3.2 리스크 주도성 자가 진단
_3.3 리스크
_3.4 기법
_3.5 기법 선택 가이드
_3.6 적정한 투자
_3.7 계획 설계와 진화적 설계
_3.8 소프트웨어 개발 프로세스
_3.9 프로세스 변동의 이해
_3.10 리스크 주도 모델과 소프트웨어 프로세스
_3.11 애자일 프로세스에 적용
_3.12 리스크와 아키텍처 리팩터링
_3.13 리스크 주도 모델의 대안
_3.14 마치며
_3.15 참고 자료

CHAPTER 4 예제: 홈 미디어 플레이어

_4.1 팀 커뮤니케이션
_4.2 상용 기성품 컴포넌트 통합
_4.3 메타데이터 일관성
_4.4 마치며

CHAPTER 5 모델링 관련 조언

_5.1 리스크에 집중하기
_5.2 아키텍처 이해
_5.3 아키텍처 기술 배포
_5.4 합리적인 아키텍처 선택
_5.5 지나친 선행 설계 미리 피하기
_5.6 하향식 설계 방지
_5.7 남은 과제
_5.8 기능과 리스크: 예시

PART II 아키텍처 모델링

CHAPTER 6 엔지니어가 사용하는 모델

_6.1 규모와 복잡성에 필요한 추상화
_6.2 통찰력과 지렛대 효과를 제공하는 추상화
_6.3 시스템 품질 추론
_6.4 세부 사항을 제거하는 모델
_6.5 추론을 증폭하는 모델
_6.6 질문이 먼저, 모델은 그다음
_6.7 마치며
_6.8 참고 자료

CHAPTER 7 소프트웨어 아키텍처의 개념 모델

_7.1 정준 모델 구조
_7.2 도메인 모델, 디자인 모델, 코드 모델
_7.3 지정 및 구체화 관계
_7.4 마스터 모델의 여러 가지 뷰
_7.5 모델을 구성하는 다른 방법
_7.6 비즈니스 모델링
_7.7 UML 사용
_7.8 마치며
_7.9 참고 자료

CHAPTER 8 도메인 모델

_8.1 도메인과 아키텍처의 관계
_8.2 정보 모델
_8.3 탐색 및 불변 사항
_8.4 스냅샷
_8.5 기능 시나리오
_8.6 마치며
_8.7 참고 자료

CHAPTER 9 디자인 모델

_9.1 디자인 모델
_9.2 경계 모델
_9.3 내부 모델
_9.4 품질 속성
_9.5 인저 시스템 설계 살펴보기
_9.6 뷰타입
_9.7 동적 아키텍처 모델
_9.8 아키텍처 기술 언어
_9.9 마치며
_9.10 참고 자료

CHAPTER 10 코드 모델

_10.1 모델 코드 격차
_10.2 일관성 관리
_10.3 구조적으로 명확한 코딩 스타일
_10.4 코드에서 설계 의도 표현
_10.5 코드 내 모델 원칙
_10.6 표현할 내용
_10.7 코드에서 설계 의도를 표현하는 패턴
_10.8 이메일 처리 시스템 둘러보기
_10.9 마치며

CHAPTER 11 캡슐화 및 파티셔닝

_11.1 여러 수준의 스토리
_11.2 계층 구조 및 분할
_11.3 분해 전략
_11.4 효과적인 캡슐화
_11.5 캡슐화된 인터페이스 구축
_11.6 마치며
_11.7 참고 자료

CHAPTER 12 모델 요소

_12.1 할당 요소
_12.2 컴포넌트
_12.3 컴포넌트 조립도
_12.4 커넥터
_12.5 설계 결정
_12.6 기능 시나리오
_12.7 불변 사항(제약 조건)
_12.8 모듈
_12.9 포트
_12.10 품질 속성
_12.11 품질 속성 시나리오
_12.12 책임
_12.13 트레이드오프
_12.14 마치며

CHAPTER 13 모델 관계

_13.1 투영(뷰) 관계
_13.2 분할 관계
_13.3 구성 관계
_13.4 분류 관계
_13.5 일반화 관계
_13.6 지정 관계
_13.7 구체화 관계
_13.8 바인딩 관계
_13.9 종속성 관계
_13.10 관계의 사용
_13.11 마치며
_13.12 참고 자료

CHAPTER 14 아키텍처 스타일

_14.1 장점
_14.2 개념 스타일 대 구현 스타일
_14.3 제약 조건 및 아키텍처 집중 설계
_14.4 패턴 대 스타일
_14.5 스타일 카탈로그
_14.6 계층 스타일
_14.7 큰 진흙 뭉치 스타일
_14.8 파이프와 필터 스타일
_14.9 일괄-순차 스타일
_14.10 모델 중심 스타일
_14.11 발행-구독 스타일
_14.12 클라이언트-서버 스타일 및 다중 계층
_14.13 P2P 스타일
_14.14 맵리듀스 스타일
_14.15 미러링, 랙, 팜 스타일
_14.16 마치며
_14.17 참고 자료

CHAPTER 15 아키텍처 모델 사용하기

_15.1 바람직한 모델 특성
_15.2 뷰를 이용한 작업
_15.3 뷰 품질 향상
_15.4 다이어그램 품질 개선
_15.5 테스트 및 증명
_15.6 아키텍처 모델 분석
_15.7 아키텍처 불일치
_15.8 추상화 수준 선택
_15.9 사용자 인터페이스 계획
_15.10 규범 모델 대 설명 모델
_15.11 기존 시스템 모델링
_15.12 마치며
_15.13 참고 자료

CHAPTER 16 결론

_16.1 당면 과제
_16.2 품질 속성에 집중
_16.3 모델링이 아니라 문제 해결
_16.4 제약 조건을 가이드 레일로 사용
_16.5 표준 아키텍처 추상화 사용

저자 소개 (2명)

출판사 리뷰 출판사 리뷰 보이기/감추기

리스크 관리 중심의 적정한 설계를 위한 소프트웨어 아키텍처 가이드

처음부터 완벽한 소프트웨어 개발 설계 방법이 있을까? 이 책은 설계의 적정한 수준은 무엇이며, 리스크 관리 중심으로 아키텍처를 설계하는 방법은 무엇인지, 어떻게 전략적으로 자신의 프로젝트에 적용할 수 있는지 자세히 설명한다. 다루는 내용과 수준은 실무 소프트웨어 개발자뿐 아니라 미숙한 개발자나 고학년 학부생까지 총망라한다. 소프트웨어 아키텍처의 필수 개념, 아키텍처 설계를 수행하는 추천 시기와 현실적인 조언, 다양한 모델과 스타일, 리스크 관리 중심의 설계 적용 방법을 배우고 여러분의 아키텍처 설계에 필요한 실용적이고 적절한 해결책을 찾길 바란다.

주요 내용

● 리스크 주도 아키텍처링: 직면한 리스크에 따라 적정한 아키텍처 설계를 수행하는 방법
● 참여하는 아키텍처: 아키텍트뿐 아니라 모든 소프트웨어 개발자를 위한 아키텍처
● 선언적 지식: 기법을 적재적소에 사용하기 위한 개념과 용어
● 엔지니어링 강조: 소프트웨어 개발의 기술적인 부분과 시스템 작동을 위한 엔지니어링
● 실용적인 활용 방법: 상위 아키텍처부터 하위 자료 구조 설계까지 다양한 수준의 모델을 활용하는 접근 방법

추천평 추천평 보이기/감추기

명쾌한 설명과 흥미로운 사례가 넘친다. 일찍부터 이 책이 있었다면 상당히 많은 실수를 피할 수 있었을 것이다. 더 나은 소프트웨어 아키텍처가 되고 싶다면 이 책을 항상 곁에 두길 바란다.
- 티머시 핼러런 박사 (SureLogic 엔지니어링 디렉터)

이 책은 소프트웨어 아키텍처를 쉽게 적용하고 실용적으로 만드는 독특한 관점을 제시한다. 적정 아키텍처와 리스크 주도 설계의 개념은 획기적인 아이디어다. 이 책은 아키텍처 원칙을 실제 사례에 효과적으로 적용할 수 있는 방법을 보여준다. 소프트웨어 개발 분야에서 일하는 모든 사람이 반드시 읽어야 할 매우 유용한 책이다.
- 마커스 폰토라 박사 (Yahoo! 리서치 수석 연구원 및 아키텍트)

회원리뷰 (20건) 리뷰 총점9.5

혜택 및 유의사항?
적정 소프트웨어 아키텍처, 리스트 주도 접근법 리뷰 내용 평점4점   편집/디자인 평점4점 얍*얍 | 2022.07.11 | 추천0 | 댓글0 리뷰제목
적정 소프트웨어 아키텍처라는 책을 읽게되었다. 리스크 주도 접근법이라는 부제를 가진 책이었다.   이 책에서는 리스크를 활용하여 소프트웨어 아키텍처의 작업량을 결정하는 방법을 살펴본다고 한다. 그러기 위해선 소프트웨어 아키텍처가 무엇인지부터 이해해야 한다고 한다.   소프트웨어 아키텍처는 시스템의 골격 역활을 하고 품질 속성에 영햘을 미치며 대부분의;
리뷰제목

적정 소프트웨어 아키텍처라는 책을 읽게되었다. 리스크 주도 접근법이라는 부제를 가진 책이었다.

 

이 책에서는 리스크를 활용하여 소프트웨어 아키텍처의 작업량을 결정하는 방법을 살펴본다고 한다. 그러기 위해선 소프트웨어 아키텍처가 무엇인지부터 이해해야 한다고 한다.

 

소프트웨어 아키텍처는 시스템의 골격 역활을 하고 품질 속성에 영햘을 미치며 대부분의 기능과 직교하면서 시스템을 제한한다고 한다. 이것이 소프트웨어 아키텍처가 중요한 이유라고 한다.

 

코드 내 모델 원칙이라는 것이 있는데, 사용하는 모델의 종류를 코드를 읽는 사람에게 전달하려는 설계 의도라고 한다. 힌트를 제공하고 모델의 일부를 소스 코드에 포함시키면 설계 의도가 더 쉽게 복구되며 전혀 손실되지 않을 수도 있다고 한다.

 

전체 시스템과 구성 부분은 관련되어 있으며 때대로 계층적 중첩, 계층적 분해라고도 한다고 한다. 부분과 전체의 관계를 분할 관계라고 한다고 한다.

 

아키텍처 스타일에는 여러가지 스타일이 있을 수 있는데 그 스타일들을 나열해 보았다.

 

일괄-순차 스타일, 모델 중심 스타일, 발행-구독 스타일, 클라이언트-서버 스타일 및 다중 계층 스타일, 파이프와 필터 스타일 등이 있는 것으로 보인다.

 

이 중 나는 모델 중심 스타일을 기본으로 해서 프로그램을 작성하는 타입이라는 생각이 들었다. 왜냐하면 내가 주로 코딩하는 부분은 서버 프로그램이고 서버 프로그램의 기본은 데이터 모델링에 있다는 생각에서 였다.

 

이것으로 이 책의 리뷰를 마칠까 한다. 소프트웨어 아키텍처 중에서도 리스크 주도 접근법에 관심이 있으신 분들이 이 책을 읽으시면 도움을 얻을 수 있으시리라고 생각한다. 일반 소프트웨어 아키텍처에 관심이 있으신 분들 역시 구독자로서 해당이 되는 책이라고 할 수 있다.

 

이 글은 한빛미디어의 나는 리뷰어다 리뷰단 자격으로 작성되었습니다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
포토리뷰 적정 소프트웨어 아키텍처 - 리스크 주도 접근법 내용 평점5점   편집/디자인 평점5점 YES마니아 : 플래티넘 w*******4 | 2022.07.04 | 추천0 | 댓글0 리뷰제목
저자 조지 페어뱅크스의 "Just Enough Software Architecture: A Risk-Driven Approach"은 성공적으로 소프트웨어를 만드는 것이 "가능한 실패를 예상하고 실패할 수 있는 설계를 피하는 것을 의미"한다고 이야기 한다. 그렇기 때문에 실패 리스크를 찾고 이것에 매핑하는 소프트웨어 설계 테크닉을 적용하는 것이라고 한다.   책에서 말하는 리스크 주도 모델의 경우는 다음과;
리뷰제목

저자 조지 페어뱅크스의 "Just Enough Software Architecture: A Risk-Driven Approach"은 성공적으로 소프트웨어를 만드는 것이 "가능한 실패를 예상하고 실패할 수 있는 설계를 피하는 것을 의미"한다고 이야기 한다. 그렇기 때문에 실패 리스크를 찾고 이것에 매핑하는 소프트웨어 설계 테크닉을 적용하는 것이라고 한다.


 

책에서 말하는 리스크 주도 모델의 경우는 다음과 같은 단계를 거치면서 반복하는 과정이라고 말한다.

  1. 리스크 식별/우선 순위 지정
  2. 적용할 테크닉 선택/적용
  3. 리스크 감소의 평가

소프트웨어 개발은 설계만으로 끝나는 것이 아니고 구현을 해야 한다. 그러므로 다음과 같은 예의 논리를 바탕으로 진행하는 것을 제안한다.

 

"A, B 그리고 C를 리스크로 식별하고, B는 매우 중요하다. 이를 위한 테크닉 X와 Y를 통해 B의 리스크를 줄일 수 있다고 판단했다. 결과물인 설계를 평가했을 때, B의 리스크가 충분히 완화되어 구현을 계속 했다."

 

아키텍처 도서와 방법론 관련된 도서가 요즘들어 굉장히 많이 나오고 있는데, 

해당도서도 마찬가지다.

 

평소 오랠리의 도서시리즈를 좋아해서 '아키텍처 101'을 먼저 읽었고 해당 '리스크 주도학습법'을 읽어보면서 '실무 적용'에 대해 여러가지 생각을 읽어보고 고민을 했었는데,

해당 도서를 읽으면서 좋았던 부분은 '리스크 주도 접근(A Risk Driven Approach)'과 관련해 

실무관련된 내용을 실습 위주로 다루고 있다는 부분이였다.


 

리스크 주도 설계 접근 방식의 주요 내용은 설계에 많은 비용이 들기 때문에 리스크를 찾아 내고 이에 적절한 테크닉을 필요한 만큼 반복적으로 적용한다는 것이다. 이는 현재 소프트웨어 개발에서 적용되고 있는 양극단의 소프트웨어 개발 방법에서 모두 적용할 수 있다고 책에서는 주장하고 있다.

 

특히, 애자일 혹은 반복적 개발에서 알 수 있는 주요한 내용 중 하나가 설계가 항상 개발 프로세스의 앞부분에서만 진행되어야 하는 것은 아니라는 점이다. 후반부에 설계를 하게 되면설계를 변경하기 어려운 부분도 있을 수 있으나 구현하려고 하는 소프트웨어를 초기에는 잘 알지 못하는 문제점도 있다는 것을 책에서는 지적하고 있다. 소프트웨어 개발이 지식을 얻어 가는 과정이라면, 이를 이를 소프트웨어 설계 및 아키텍처링에 적용하는 방법으로서 리스크 주도 접근 방식의 장점과 적용하는 방법에 대해서도 흥미로운 제안을 하고있다.


 

개인적으로는 아키텍처 101일 먼저 읽고 해당도서를 읽어서 더욱 와닿았던 부분이 많았다.

두가지 모두 읽어보기를 추천드립니다!

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
포토리뷰 적정 소프트웨어 아키텍처 : 리스크 주도 접근법 내용 평점5점   편집/디자인 평점5점 스타블로거 : 수퍼스타 좋**상 | 2022.07.01 | 추천5 | 댓글0 리뷰제목
좋은 개발이란 무엇일까? 코딩가이드부터 인프라 구축까지 다양한 범위의 다양한 대답들이 나올 수 있다. 개발의 궁극적인 목적은 ‘원하는 것을 제대로 구현하는 것’이라고 할 수 있다. 여기서 말한 ‘제대로'에 대한 많은 방법들이 있다. 이 책 ‘적정 소프트웨어 아키텍처'는 그 방법들 중 ‘리스크 주도 접근법'에 대해 설명하고 있다. 소프트웨어 아키텍처에 대한 책들은 많;
리뷰제목

좋은 개발이란 무엇일까?

코딩가이드부터 인프라 구축까지 다양한 범위의 다양한 대답들이 나올 수 있다.

개발의 궁극적인 목적은 ‘원하는 것을 제대로 구현하는 것’이라고 할 수 있다.

여기서 말한 ‘제대로'에 대한 많은 방법들이 있다.

이 책 ‘적정 소프트웨어 아키텍처'는 그 방법들 중 ‘리스크 주도 접근법'에 대해 설명하고 있다.

소프트웨어 아키텍처에 대한 책들은 많다.

다양한 이론과 깊이를 보여주고 있지만 막상 실무에 접목하려면 막막해질 때가 있다.

이 책이 가장 큰 특징은 철저히 실무 위주라는 것이다.

사용되지 않는 아키텍처는 의미가 없다.

이제 개발을 시작하는 분들에게는 체계적으로 아키텍처를 배울 수 있고, 오랜 경험을 바탕으로 감각적으로 사용하던 분들은 깊은 이론을 배울 수 있다.

 

처음 개발을 시작할 때 아키텍처부터 고민하고 공부하는 사람은 별로 없다.

바로 키보드를 두드리면서 코딩을 시작한다.

함수 하나, 문법 하나를 알아갈 때마다 실력을 늘어난 듯 하다.

하지만 어느 정도의 시간이 흐르면 복사, 붙여넣기를 하고 있는 자신에 놀라고, 뭔가 부족한 느낌을 받을 것이다.

아키텍처의 필요성을 느끼는 순간이다.

 

이 책은 소프트웨어 아키텍쳐 중 ‘리스크 주도 모델'을 설명하고 있다.

간단히 요약하면 애자일처럼 ‘리스크' 위주로 아키텍처의 적용 범위와 방법을 접목시키기를 반복한다.

처음부터 제대로 설계를 하고 진행하면 최선이겠지만, 비즈니스 환경의 변화로 인해 그러지 못하는 것이 현실이다.

그렇기에 ‘현재 상황'에 맞는 ‘적절한 아키텍쳐'를 만들고, 적용하는 것이 바람직하다.

 

이 책을 통해 ‘리스크 주도 모델'에 필요한 아키텍처의 전반적인 기술 스택을 모두 배울 수 있다.

모델(도메인, 디자인, 코드)은 물론이고, 캡술화와 파티셔닝까지 알려주고 있다.

 

개발을 시작한 분들에게는 어렵게 느껴질 수도 있는 내용이지만, 개발자라면 ‘꼭' 알아야 할 내용이다.

코딩만 할지라도 아키텍쳐에 대한 이해 여부에 따라 결과가 달라질 수 있다.

아키텍처를 이해한 이후와 이전의 차이를 직접 느껴보자.

 

[한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.]

 
댓글 0 5명이 이 리뷰를 추천합니다. 공감 5
  •  쿠폰은 결제 시 적용해 주세요.
1   28,800
뒤로 앞으로 맨위로 aniAlarm