logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

소프트웨어 아키텍처 : 이론과 실제

소프트웨어 아키텍처 : 이론과 실제

(개정3판)

렌 베스, 폴 클레멘츠, 릭 캐즈먼 (지은이), 전병선 (옮긴이)
  |  
에이콘출판
2015-08-28
  |  
45,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
yes24 로딩중
교보문고 로딩중
영풍문고 로딩중
인터파크 로딩중
11st 로딩중
G마켓 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
로딩중

e-Book

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

소프트웨어 아키텍처 : 이론과 실제

책 정보

· 제목 : 소프트웨어 아키텍처 : 이론과 실제 (개정3판)
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학
· ISBN : 9788960777507
· 쪽수 : 648쪽

책 소개

소프트웨어 아키텍트가 되고자 하는 사람과 이미 소프트웨어 아키텍트로서 역할을 수행 중인 사람 모두가 읽어야 하는 소프트웨어 아키텍처 교과서. 2판이 출간된 이후로 10여 년 동안 소프트웨어 분야의 발전을 반영하여 이번 3판은 전면 개정되었다.

목차

1부 개요
1장. 소프트웨어 아키텍처의 의미
__1.1 무엇이 소프트웨어 아키텍처이고, 무엇이 아닌가?
__1.2 아키텍처 구조와 뷰
__1.3 아키텍처 패턴
__1.4 좋은 아키텍처를 만드는 법
__1.5 정리
__1.6 참고 문헌
__1.7 생각해볼 문제

2장. 소프트웨어 아키텍처가 중요한 이유
__2.1 시스템의 품질 속성 억제 또는 가능
__2.2 변경 근거와 관리
__2.3 시스템 품질 예측
__2.4 이해당사자 의사소통 향상
__2.5 초기 설계 결정 수용
__2.6 구현 제약사항 정의
__2.7 조직 구조 영향
__2.8 발전적 프로토타이핑
__2.9 비용과 일정 산정 향상
__2.10 이전 가능한 재사용모델 공급
__2.11 독립적으로 개발된 컴포넌트 통합 허용
__2.12 설계 선택 대상 제한
__2.13 훈련 기초 제공
__2.14 정리
__2.15 참고 문헌
__2.16 생각해볼 문제

3장. 소프트웨어 아키텍처 컨텍스트
__3.1 기술적 컨텍스트에서의 아키텍처
__3.2 프로젝트 라이프사이클 컨텍스트에서의 아키텍처
__3.3 비즈니스 컨텍스트에서의 아키텍처
__3.4 전문성 컨텍스트에서의 아키텍처
__3.5 이해당사자
__3.6 아키텍처는 어떻게 영향을 받는가
__3.7 아키텍처가 무엇에게 영향을 주는가
__3.8 정리
__3.9 참고 문헌
__3.10 생각해볼 문제

2부 품질 속성
4장. 품질 속성의 이해
__4.1 아키텍처와 요구
__4.2 기능성
__4.3 품질 속성 고려사항
__4.4 품질 속성 요구 명세
__4.5 전술을 통한 품질 속성 달성
__4.6 품질 설계 결정 가이드
__4.7 정리
__4.8 참고 문헌
__4.9 생각해볼 문제

5장. 가용성
__5.1 가용성 일반 시나리오
__5.2 가용성 전술
__5.3 가용성 설계 체크리스트
__5.4 정리
__5.5 참고 문헌
__5.6 생각해볼 문제

6장. 상호운영성
__6.1 상호운영성 일반 시나리오
__6.2 상호운영성 전술
__6.3 상호운영성 설계 체크리스트
__6.4 정리
__6.5 참고 문헌
__6.6 생각해볼 문제

7장. 변경용이성
__7.1 변경용이성 일반 시나리오
__7.2 변경용이성 전술
__7.3 변경용이성 설계 체크리스트
__7.4 정리
__7.5 참고 문헌
__7.6 생각해볼 문제

8장. 성능
__8.1 성능 일반 시나리오
__8.2 성능 전술
__8.3 성능 설계 체크리스트
__8.4 정리
__8.5 참고 문헌
__8.6 생각해볼 문제

9장. 보안
__9.1 보안 일반 시나리오
__9.2 보안 전술
__9.3 보안 설계 체크리스트
__9.4 정리
__9.5 참고 문헌
__9.6 생각해볼 문제

10장. 테스트 용이성
__10.1 테스트 용이성 일반 시나리오
__10.2 테스트 용이성 전술
__10.3 테스트 용이성 설계 체크리스트
__10.4 정리
__10.5 참고 문헌
__10.6 생각해볼 문제

11장. 사용편의성
__11.1 사용편의성 일반 시나리오
__11.2 사용편의성 전술
__11.3 사용편의성 설계 체크리스트
__11.4 정리
__11.5 참고 문헌
__11.6 생각해볼 문제

12장. 기타 품질 속성
__12.1 기타 중요한 품질 속성
__12.2 기타 품질 속성 카테고리
__12.3 소프트웨어 품질 속성과 시스템 품질 속성
__12.4 품질 속성 표준 목록 사용
__12.5 ‘-성’ 다루기: 새로운 품질 속성 도입
__12.6 참고 문헌
__12.7 생각해볼 문제

13장. 아키텍처 전술과 패턴
__13.1 아키텍처 패턴
__13.2 패턴 목록 개요
__13.3 전술과 패턴 사이의 관계
__13.4 전술 종합 사용
__13.5 정리
__13.6 참고 문헌
__13.7 생각해볼 문제

14장. 품질 속성 모델링과 분석
__14.1 품질 속성 분석을 가능하게 하는 아키텍처 모델링
__14.2 품질 속성 체크리스트
__14.3 사고 실험과 대략 분석
__14.4 실험, 시뮬레이션 및 프로토타입
__14.5 라이프사이클 단계에서의 분석
__14.6 정리
__14.7 참고 문헌
__14.8 생각해볼 문제

3부 라이프사이클에서의 아키텍처
15장 애자일 프로젝트에서의 아키텍처
__15.1 어느 정도의 아키텍처일까?
__15.2 애자일과 아키텍처 방법론
__15.3 애자일 아키텍팅의 간단한 사례
__15.4 애자일 아키텍트 가이드라인
__15.5 정리
__15.6 참고 문헌
__15.7 생각해볼 문제

16장 아키텍처와 요구
__16.1 요구 문서로부터 ASR 수집
__16.2 이해당사자 인터뷰로 ASR 수집
__16.3 비즈니스 목표 이해에 의한 ASR 수집
__16.4 유틸리티 트리 ASR 수집
__16.5 방법론 결합
__16.6 정리
__16.7 참고 문헌
__16.8 생각해볼 문제

17장 아키텍처 설계
__17.1 설계 전략
__17.2 속성 주도 설계 방법론
__17.3 ADD 단계
__17.4 정리
__17.5 참고 문헌
__17.6 생각해볼 문제

18장 소프트웨어 아키텍처 문서화
__18.1 아키텍처 문서 사용과 독자
__18.2 아키텍처 문서 표기법
__18.3 뷰
__18.4 뷰 선택
__18.5 뷰 결합
__18.6 문서 패키지 구축
__18.7 행위 문서화
__18.8 아키텍처 문서와 품질 속성
__18.9 문서화보다 빨리 변경되는 아키텍처의 문서화
__18.10 애자일 개발 프로젝트에서 아키텍처 문서화
__18.11 정리
__18.12 참고 문헌
__18.13 생각해볼 문제

19장 아키텍처, 구현과 테스팅
__19.1 아키텍처와 구현
__19.2 아키텍처와 테스팅
__19.3 정리
__19.4 참고 문헌
__19.5 생각해볼 문제

20장 아키텍처 재구성과 순응
__20.1 아키텍처 재구성 프로세스
__20.2 원시 뷰 추출
__20.3 데이터베이스 구축
__20.4 뷰 융합
__20.5 아키텍처 분석: 위반 사항 찾기
__20.6 가이드라인
__20.7 정리
__20.8 참고 문헌
__20.9 생각해볼 문제

21장 아키텍처 평가
__21.1 평가 요인
__21.2 아키텍처 트레이드오프 분석 방법론
__21.3 경량 아키텍처 평가
__21.4 정리
__21.5 참고 문헌
__21.6 생각해볼 문제

22장 관리와 거버넌스
__22.1 계획
__22.2 조직
__22.3 구현
__22.4 측정
__22.5 거버넌스
__22.6 정리
__22.7 참고 문헌
__22.8 생각해볼 문제

4부 아키텍처와 비즈니스
23장 아키텍처 경제적 분석
__23.1 의사 결정 배경
__23.2 경제적 분석 기초
__23.3 이론에서 실제로: CBAM
__23.4 사례 연구
__23.5 정리
__23.6 참고 문헌
__23.7 생각해볼 문제

24장 아키텍처 역량
__24.1 개인 역량: 아키텍트의 의무, 기능, 지식
__24.2 소프트웨어 아키텍처 조직 역량
__24.3 정리
__24.4 참고 문헌
__24.5 생각해볼 문제

25장 아키텍처와 소프트웨어 제품 라인
__25.1 제품 라인 가변성 사례
__25.2 소프트웨어 제품 라인 작동 원리
__25.3 제품 라인 범위
__25.4 가변성 품질 속성
__25.5 제품 라인 아키텍처의 역할
__25.6 가변 메커니즘
__25.7 제품 라인 아키텍처 평가
__25.8 주요 소프트웨어 제품 라인 이슈
__25.9 정리
__25.10 참고 문헌
__25.11 생각해볼 문제

5부 멋진 신세계
26장 클라우드 아키텍처
__26.1 기본적인 클라우드 정의
__26.2 서비스 모델과 배포 선택
__26.3 경제적 타당성
__26.4 기반 메커니즘
__26.5 기술의 예
__26.6 클라우드 환경에서의 아키텍팅
__26.7 정리
__26.8 참고 문헌
__26.9 생각해볼 문제

27장 엣지 아키텍처
__27.1 엣지 지배적 시스템의 생태계
__27.2 소프트웨어 개발 라이프사이클 변화
__27.3 아키텍처 의미
__27.4 메트로폴리스 모델 의미
__27.5 정리
__27.6 참고 문헌
__27.7 생각해볼 문제

28장 에필로그

저자소개

렌 베스 (지은이)    정보 더보기
세계 여러 곳에서 강의를 해왔고 수상 경력이 있다. 소프트웨어 아키텍처에 관한 그의 책은 업계 표준으로 여겨지며, 소프트웨어 아키텍처에 관한 책 외에 사용자 인터페이스 소프트웨어와 데브옵스(DevOps)에 관한 책도 썼다. 50년 넘게 소프트웨어 개발을 해왔고, 그중 25년은 카네기 멜론(Carnegie Mellon)의 SEI(Software Engineering Institute)에서 일했다. 호주의 NICTA에서 3년간 근무했으며, 현재는 카네기 멜론 대학교(Carnegie Mellon University)에서 겸임 교수로 데브옵스를 가르친다.
펼치기
렌 베스의 다른 책 >
폴 클레멘츠 (지은이)    정보 더보기
빅레버 소프트웨어(BigLever Software Inc.)의 고객 성공 부서 부사장이다. 이전에는 워싱턴 DC의 미해군 연구소(The U.S. Naval Research Laboratory)에서 컴퓨터 과학자로 일하면서 고급 소프트웨어 엔지니어링 원칙들을 실시간 임베디드 시스템에 적용하는 업무를 수행했다. 그 후에 카네기 멜론 대학교 SEI의 기술 부서 수석 구성원으로서 소프트웨어 제품 라인 엔지니어링과 소프트웨어 아키텍처 설계, 문서화, 분석에 관한 프로젝트를 이끌었다. 이 책 외에도 『소프트웨어 아키텍처 문서화』(에이콘, 2016)와, 『소프트웨어 아키텍처 평가』(에이콘, 2009)을 공저했다. 까다로운 소프트웨어 시스템의 설계와 명세화에 대한 오랜 관심을 두고 있으며, 소프트웨어 엔지니어링에 관한 100여 개의 논문을 썼다.
펼치기
폴 클레멘츠의 다른 책 >
릭 카즈만 (지은이)    정보 더보기
하와이 대학교(University of Hawaii)의 교수이자 카네기 멜론 대학교 SEI의 방문 연구원이다. 주요 연구 관심 분야는 소프트웨어 아키텍처와 설계 및 분석 툴, 소프트웨어 가시화, 소프트웨어 엔지니어링 경제다. 영향력이 매우 높은 여러 아키텍처 분석 방법과 툴을 만드는 데 참여했으며 ATAM(Architecture Tradeoff Analysis Method, 아키텍처 절충점 분석 방법)과 CBAM(Cost-Benefit Analysis Method, 비용-이익 분석 방법), Dali, Titan 등이 대표적이다. 이 책 외에도 200개가 넘는 출간물을 작성했고, 세 개의 특허와 여덟 권의 책을 공저했다. 저서로는 『Technical Debt』(MIT Press, 2021)과 『Designing Software Architectures』(Addison-Wesley Professional, 2016), 『소프트웨어 아키텍처 평가』(에이콘, 2009), 『Ultra-Large-Scale Systems』(Carnegie Mellon University, 2006) 가 있다. 구글 스칼라(Google Scholar)에 따르면, 그의 연구는 25,000번 넘게 인용됐다. 현재 IEE TAC(Technical Activities Committee, 기술 활동 위원회)의 의장이자, IEEE Transactions on Software Engineering의 부편집자이며, ICSE Steering Committee의 회원이다.
펼치기
전병선 (지은이)    정보 더보기
30여 년간 현업에서 개발자와 아키텍트, 컨설턴트로 다양한 프로젝트를 수행하였으며 30여 권의 저서와 7권의 번역서를 출간하고 폭 넓은 독자 층을 갖고 있는 베스트 셀러 저자다. 금융, 제조, 조선, 통신, 국방, 정부 연구 기관 등 다양한 도메인 분야에서 아키텍트이자 컨설턴트로 프로젝트를 수행하였으며, 최근에는 막 개발자와 프로그래머로서 첫걸음을 시작하는 사람들이 실무 프로젝트에서 작업을 할 수 있을 만큼의 능력을 갖출 수 있도록 핵심 지식과 기술을 묶어 자바스크립트 프로그래밍, 자바 프로그래밍 기초, SQL 프로그래밍, JSP 서블릿 웹 프로그래밍, 스프링 웹 프로그래밍 등 다섯 권의 책을 출간하였다. 객체지향 이야기 개정판과 나는 개발자다 개정판도 출간하였다. 또한 이들 책을 교재로 온라인 강의 사이트(www.realdev-learning.com)에서 체계적인 강의를 제공하고 있으며, 이러한 노력은 자바에서 닷넷으로, 객체지향 언어에서 함수형 언어로, 컴포넌트에서 마이크로서비스로, 모노리식 애플리케이션에서 반응형 분산 컴퓨팅 분야로 이동하면서 끊임 없이 새로운 기술과 언어에 관한 저술과 강의 할동을 계속 이어갈 예정이다. 유튜브(www.youtube.com/@realdev.learning)에서 독자들과의 소통에도 힘쓰고 있다.
펼치기

책속에서

★ 지은이의 말 ★

이 책의 개정2판이 출간된 이후로 10년이 지났다. 이 시간 동안에 소프트웨어 아키텍처 분야는 기본적으로 내부적인 지향성(소프트웨어를 어떻게 설계하고 평가하며 문서화하는가?)뿐만 아니라 외부적인 영향(아키텍처에 대한 더 깊은 이해와 아키텍처가 라이프사이클, 조직, 관리에 미치는 영향의 대한 더 깊은 이해(?))을 포함하도록 초점이 확장되었다.
또한 과거 10년 동안 구축된 시스템의 유형이 극적으로 변화되었다. 대용량 데이터, 소셜 미디어, 클라우드는 10년 전에는 기껏해야 초보적이었지만, 지금은 성숙되었을 뿐만 아니라 커다란 영향력을 갖고 있다.
우리는 이전 판에서의 몇 가지 비판을 듣고 패턴에 대한 좀 더 많은 자료를 포함했으며, 품질 속성에 대한 자료를 재구성하고, 품질 속성의 상호운영성을 하나의 장에 할애했다. 또한 여러분이 선호하는 품질 속성에 대한 시나리오와 전술을 생성할 수 있는 방법에 대한 가이드도 제공한다.
새로운 많은 자료를 수용하기 위해 우리는 어려운 선택을 해야 했다. 특별히 이번 개정3판에서는 이전 판에서 있었던 확장된 사례 연구를 넣지 않았다. 또한 이러한 결정은 소프트웨어 아키텍처에서 선택할 수 있는 사례 연구가 과거 10년보다는 훨씬 더 많아졌다는 점에서, 그리고 소프트웨어 아키텍처의 중요성에 대해 이제는 그다지 강조하지 않아도 된다는 점에서 이 분야가 그만큼 성숙했음을 반영한다. 그러나 이전 두 판에 있었던 사례 연구는 이 책의 웹 사이트(https://www.informit.com/store/software-architecture-inpractice-9780321815736)에서 찾을 수 있다. 이 웹 사이트에는 프리젠테이션 슬라이드도 포함되어 있다.
이번 개정3판에서 다룬 많은 주제들은 완전히 다시 작성되었다. 특별히 우리가 제시한 방법론(아키텍처 설계, 분석 및 문서화)이 특별한 목적을 달성하는 방법에 관한 하나의 버전이지만, 다른 것도 있다는 것을 인식했다. 따라서 우리는 이들의 기반이 되는 이론으로부터 세부적인 사항을 제시하는 방법론을 분리했다. 이제 우리는 이론의 가능한 실현을 예로 제공하는 구체적인 방법론으로 먼저 이론을 제시한다. 이번 개정판의 새로운 주제에는 아키텍처 중심적인 프로젝트 관리, 아키텍처 역량, 요구 모델링과 분석, 애자일 방법론, 구현과 테스팅, 클라우드, 엣지가 포함된다.
이전 판에서와 마찬가지로 주제들이 스터디 그룹이나 강의실에서 많이 논의된다고 강하게 믿고 있으므로, 각 장의 끝에 토론할 질문들을 포함시켰다. 이들 대부분의 토론 질문들은 개방적이기 때문에 절대적인 옳고 그른 답이 없다. 따라서 독자로서 여러분은 질문 그 자체에 대해 단순히 대답을 하기보다는 여러분의 대답의 정당성을 어떻게 주장할 것인가를 강조해야 한다.


★ 옮긴이의 말 ★

나의 30년 가까운 소프트웨어 개발 경험 속에서 갖고 있는 하나의 신념은 ‘아키텍처가 튼튼한 시스템이 결국엔 성공한다’는 것이다. 아키텍처가 튼튼한 시스템은 결합성이 적고 응집력이 강한 시스템이다. 이처럼 튼튼하게 아키텍처가 설계된 시스템을 구현하는 것은 결코 실패하지 않으며, 적어도 문제를 최소화할 수 있다. 업무 로직이 변경되는 경우라도 쉽게 대응할 수 있어 생명력이 긴 소프트웨어 시스템을 만들어낼 수 있다. 이러한 신념은 이 책의 2판을 읽고 나서 더욱 커졌다. 그 이후로 내가 집필한 『CBD, What & How』(와우북스, 2008)와 『SOA, What & How』(와우북스, 2008)에서 각각 제시한 CBD와 SOA 방법론은 모두 튼튼한 아키텍처 설계를 강조하고 있다.
이 책은 2판에 비해 더 체계적인 내용을 담고 있다. 이 책의 핵심 개념인 품질 속성에 대해 좀 더 상세하고 체계적인 설명을 담고 있으며, 소프트웨어 개발 라이프사이클에서 아키텍처의 역할과 해야 할 일에 대해 체계적으로 설명한다. 특별히 애자일 접근 방법에서의 아키텍처의 역할을 설명한 장은 애자일 실천자들이 반드시 이해해야 할 좋은 내용을 담고 있다.
개발자들을 위해 이 책을 해설하는 가칭 『개발자를 위한 소프트웨어 아키텍처 해설』을 집필하고 있던 중에 출판사로부터 이 책의 번역을 의뢰받았다. 이 책의 번역본이 빨리 출간되었으면 하는 바람을 갖고 있던 터라 흔쾌히 수락하고 번역에 착수했다. 이 책의 번역이 어쩌면 내 인생에서 가장 힘들고 보람된 작업이 아니었나 싶다. 이미 이 책을 읽으면서 정리해둔 것이 있어서 가능한 일이었긴 하지만, 그래도 평균적으로 하루 20쪽 이상을 번역하는 작업이 그렇게 녹록한 일은 아니었다. 하지만 덕분에 꼼꼼히 이 책을 처음부터 끝까지 빠짐없이 읽을 수 있었기에 더할 나위 없이 보람된 작업이었다.
이미 여러 책을 집필하고 번역했기 때문에 책을 쓰고 번역하는 일이 낯설지 않았지만, 그래도 이 책을 번역하면서 어려움이 많았다. 사실 이 책이 소프트웨어 공학을 공부하는 사람들에게는 교과서와 같은 책이어서, 실무뿐만 아니라 학문적으로도 손색이 없도록 번역해야 한다는 부담감이 있었다. 그럼에도 불구하고 아무래도 이 책을 번역할 때 실무자를 향해 있음을 부인할 수는 없다. 이 책의 번역 용어는 가능한 한 실무를 반영해 선택했으며, 옮긴이 주석은 이 책을 읽는 데 이해하기 쉽도록 도움을 주는 정도로만 한정했다. 실무의 개발자들에게 좀 더 쉬운 해설을 제공하기 위해 향후 『개발자를 위한 소프트웨어 아키텍처 해설』 책을 집필할 계획이다.
이 책의 번역을 의뢰해주신 에이콘출판사에 감사드리며, 오타와 껄끄러운 문맥을 다듬느라 고생하신 편집부의 노고에 감사드린다. 이 번역본이 튼튼한 아키텍처를 갖춘 시스템을 구축하는 데 조금이라도 도움이 되었으면 한다.


추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책