(개정판) 소프트웨어 아키텍처 세트
- 원서명Software Architecture in Practice (3rd Edition), Documenting Software Architectures: Views and Beyond (2nd Edition), Evaluating Software Architectures: Methods and Case Studies
- 지은이렌 베스(Len Bass), 폴 클레멘츠(Paul Clements), 릭 캐즈먼(Rick Kazman), 펠릭스 바흐만(Felix Bachmann), 데이비드 갈란(David Galan), 제임스 이버스(James Ivers), 리드 리틀(Reed Little), 파울로 멀슨(Paulo Merson), 로버트 노드(Robert Nord), 주디스 스태포드(Judith Stafford), 마크 클라인(Mark Klein)
- 옮긴이전병선, 이석준, 백창현, 박인수
- ISBN : 9788960779020
- 118,000원
- 2016년 08월 25일 펴냄 (절판)
- 페이퍼백 | 1,640쪽 | 188*250mm
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
세트 구성: 전3권
1) 『(개정3판) 소프트웨어 아키텍처 이론과 실제』
2) 『소프트웨어 아키텍처 문서화 2판』
3) 『소프트웨어 아키텍처 평가』
『(개정3판) 소프트웨어 아키텍처 이론과 실제』 소개
소프트웨어 아키텍트가 되고자 하는 사람과 이미 소프트웨어 아키텍트로서 역할을 수행 중인 사람 모두가 읽어야 하는 소프트웨어 아키텍처 교과서다. 2판이 출간된 이후로 10여 년 동안 소프트웨어 분야의 발전을 반영하여 이번 3판은 전면 개정되었다. 소프트웨어 아키텍처의 이론적 기반을 좀 더 견고하게 설명하고 있으며, 실무 적용 사례는 좀 더 이해하기 쉽게 제시했다. 대규모 시스템의 소프트웨어 아키텍처 설계와 분석은 물론이고, 특별히 애자일 방식의 시스템을 개발할 때 소프트웨어 아키텍처의 역할과 적용에 대해서도 명확하게 설명한다.
이 책에서 다루는 내용
■ 소프트웨어 아키텍처 컨텍스트: 기술적, 프로젝트, 비즈니스, 전문성
■ 아키텍처 역량: 개인과 조직에게 아키텍처가 의미하는 것
■ 비즈니스 목표의 근원과 이것이 아키텍처에 미치는 영향
■ 아키텍처적으로 중요한 요구와 이들을 결정하는 방법
■ 라이프사이클에서의 아키텍처: 설계 철학으로서 생성과 테스트, 구현 단계에서의 아키텍처 준수, 아키텍처와 테스팅, 아키텍처와 애자일 개발
■ 아키텍처와 현재 기술: 클라우드, 소셜 네트워킹, 최종 사용자 디바이스
이 책의 대상 독자
소프트웨어 공학에 지식과 경험이 있는 소프트웨어 전문가나 학생을 대상으로 한다.
■ 아키텍처에 대한 기술적인 배경과 함께 거기에 작용하는 업무적, 조직적 상황과 요구사항, 영향력에 대해 이해하고자 하는 소프트웨어 공학 교육생
■ 소프트웨어 아키텍처를 통해 시스템 구축 업무를 좀더 효과적으로 감독하고 조직을 개선시킬 수 있는 방법을 배우고자 하는 기술 관리자들
■ 학부나 대학원의 소프트웨어 공학 과정에서 이 책을 학습 자료로 활용하고자 하는 전산과나 소프트웨어 공학과 학생
『소프트웨어 아키텍처 문서화 2판』 소개
이 책은 좋은 문서화의 7가지 규칙을 설명하며 시작한다. 이어서 모듈 뷰와 컴포넌트-커넥터 뷰, 할당 뷰의 각 스타일을 문서화하는 방법과 가변점과 아키텍처 결정, 인터페이스, 그리고 행위를 문서화하는 방법 및 아키텍처 문서를 검토하는 방법을 알아본다. 이 책의 아키텍처 문서화의 템플릿은 그동안의 사용과 피드백을 반영해 향상되었으며, 서비스 지향 아키텍처와 다중 티어 아키텍처, 관점 지향 시스템을 위한 아키텍처를 문서화하는 예도 함께 제시한다. 또한 웹 기반의 서비스 지향 시스템의 소프트웨어 아키텍처 문서화의 예제와 애자일 개발 환경에서의 문서화 가이드를 제공하고, 마지막으로 UML을 사용한 소프트웨어 아키텍처 문서화를 설명한다.
2판에 새로 추가된 것
■ 몇 가지 새로운 아키텍처 스타일이 주류로 들어왔으며, 이 판은 이들을 문서화하는 것에 대해 이야기한다. 여기에는 서비스지향 아키텍처와 다중 티어 아키텍처, 관점지향 시스템을 위한 아키텍처가 포함된다. 또한 설치와 제품 환경뿐만 아니라 소프트웨어 시스템 데이터 모델의 아키텍처 수준 문서화를 중요한 스타일로 다룬다.
■ 이 판은 포괄적인 문서화보다는 작동하는 소프트웨어에 더 큰 가치를 두는 애자일 선언문과 일관적인 충고를 지향하는 애자일에 근거를 두고 작업했다.
■ 최고의 산업 관행을 반영해 더 근거 있고 체계적인 문서화를 다뤘다. 또한, 이해당사자가 의도한 대로 되어 있는지 아키텍처 문서를 검토하는 새로운 장을 추가했다.
■ 제시된 아키텍처 문서화의 템플릿은 그동안의 사용과 피드백을 반영해 향상되었다. 또한, 좀 더 유연하며, 다른 옵션으로 문서를 배열할 수 있게 했다.
■ 문서화된 소프트웨어 아키텍처의 포괄적인 예를 새로운 것으로 대체했다. 오늘날 산업의 주류 아키텍처는 웹 기반의 서비스지향 시스템이다. 이 책을 더 얇게 하고, 시간이 지나감에 따라 예제를 유지할 수 있게 하기 위해 예제를 온라인에 두었다. 그리고 많은 온라인 예제도 대체되거나 변경되었다.
■ 초판이 출간된 이래 UML은 2.0 이상의 버전으로 업그레이드되었다. 이것은 다양한 아키텍처 구조, 특히 컴포넌트와 커넥터를 좀 더 직접적으로 문서화할 수 있는 새로운 가능성을 열어주었다. 필요한 곳에 새로운 구조를 반영해 그림을 변경했다.
■ 이 판은 아키텍처를 문서화하는 데 유용한 UML과 AADL, SysML 등 3가지 중요한 언어와 표기법을 요약한 간결한 부록을 포함하고 있다. 각 부록은 해당 언어의 간단한 참조 가이드를 제공한다.
■ 마지막으로 이 판에는 초판이 출간된 이래 그동안 우리가 뷰와 그 너머와 함께 얻은 경험이 반영되었다. 이 경험은 문서화된 아키텍처를 생성하고, 다른 사람이 그렇게 하도록 도와주는 데서 온 것이다. 또한 다른 조직의 소프트웨어 아키텍처를 평가할 때와 같이 실제로 아키텍처 문서를 사용하는 데서 왔다. 마지막으로 이 책을 기반으로 하는 이틀간의 실무 과정에 참여한 수천명 이상의 참가자와 상호작용한 결과를 반영하였다. 소프트웨어 아키텍처를 실습하는 이들의 상호작용은 우리의 충고를 좀 더 규범적이고 선명하게 하며, 아키텍트가 매일 만나게 되는 문제와 상황을 반영하게 만들었다.
이 책의 대상 독자
이 책에는 3가지 독자 유형이 있다.
1. 소프트웨어 프로젝트의 아키텍처 문서를 생성하는 책임을 맡은 소프트웨어 아키텍트: 이들에 대해서는 “나의 아키텍처에 수집할 정보는 무엇이며, 시기적절한 형식으로 명확하고 유용하게 의사소통하는데 사용할 수 있는 표기법과 기법은 무엇인가?”에 대한 질문에 대답할 것이다.
아키텍트 또는 아키텍처 팀에게 받은 문서를 소화하고 사용해야 하는 아키텍처 이해당사자: 소프트웨어 아키텍트는 자신의 문서의 안내서로, 이 책을 제공해 특정한 절을 통해 문서 구조의 원칙, 표기법, 개념 또는 관례를 설명할 수 있다.
소프트웨어 아키텍처에 관한 개요적인 개념을 배우고자 하는 사람: 소프트웨어 아키텍처(따라서 문서화)의 목적과 사용을 수립함으로써, 그리고 아키텍처의 생성과 의사소통에 중요한 기본적인 개념 집합을 수립함으로써, 이 책은 이 주제의 개요로서의 역할을 한다.
우리는 소프트웨어 엔지니어링의 개념에 대한 기본적인 사항을 알고 있다고 가정한다. 대부분의 경우에서 아키텍처 뷰와 아키텍처 스타일, 인터페이스와 같이 여러분이 알고 있는 기본 개념을 더 선명하고 명확하게 할 것이다.
『소프트웨어 아키텍처 평가』 소개
올바른 아키텍처를 선택하거나 수립했는지를 평가하는 데 활용할 수 있는 ATAM 등 평가 기법을 소개하고 이를 기반으로 아키텍처 평가를 수행하는 데 실질적인 절차와 지침을 제공하는 소프트웨어 아키텍트의 필독서.
이 책에서 다루는 내용
■ 아키텍처 트레이드오프 분석방법 (ATAM)
■ 소프트웨어 아키텍처 분석방법 (SAAM)
■ 중간설계에 대한 능동적 검토 (ARID)
이 책의 대상 독자
이 책은 아키텍처 평가자에게 직접 이야기하는 형식으로 썼지만 고객과 프로젝트 대표자(특히 아키텍트)도 이 책을 읽음으로써 아키텍처 평가 프로세스가 무엇인지를 배울 수 있다. 특히 이 책은 다음과 같은 네 종류의 독자를 염두에 뒀다.
■ 평가자: 아키텍처 평가팀을 이끌거나 팀에 지원할 예정인 사람. 신입 평가자는 모든 장을 주의 깊게 읽어야 한다. 경력을 쌓은 평가자는 평가방법(3장, 7장, 8장)을 설명한 장과 품질속성에 깔린 개념(5장)에 집중해야 한다.
■ 고객: 아키텍처 평가를 의뢰할 예정이어서 아키텍처 평가에 어떤 내용이 포함되는지를 배우고자 하는 사람. 고객은 1장과 2장을 중점적으로 읽는다. 고객 입장에서 어떤 방법이 프로젝트에 가장 적합한지에 대한 확신이 없다면 평가방법을 소개하는 3장, 7장, 8장은 대략 훑으면 된다. 평가방법을 선택하는 데 도움이 되는 9장을 먼저 읽고 적합한 방법을 다루는 이전 장을 주의 깊게 다시 읽는 것도 한 방법이다.
■ 프로젝트 구성원: 아키텍처 평가를 받아야 하는 프로젝트 대표자(아키텍트, 관리자, 기타 프로젝트 구성원)는 평가를 통해 무엇을 기대할지를 배우기 바랄 것이다. 프로젝트 구성원은 1장과 2장을 가볍게라도 읽어야 한다. 다음에는 프로젝트에 사용될 방법을 정의하는 장(3장, 7장, 8장)을 읽어야 한다. 그 다음에는 해당 방법을 적용한 사례연구를 담은 장을 읽는다. 4장, 6장에 ATAM에 대한 사례연구가 포함돼 있다. 아키텍트는 자신이 만든 창작물이 평가를 받게 되는 특별한 프로젝트 구성원이다. ATAM을 사용한다면 아키텍트는 앞에 언급한 장에 덧붙여 5장도 읽어야 한다.
■ 평가부서 관리자: 조직 내에 아키텍처 평가 역량을 키우고 싶은 사람은 전체 장의 내용을 잘 알아야 하지만 특히 10장을 잘 알아야 한다. 4장, 6장, 7장, 8장에 있는 사례연구는 팀에서 시범으로 평가를 수행하는 데 참조 자료로 사용할 수 있다.
목차
목차
- 『(개정3판) 소프트웨어 아키텍처 이론과 실제』
- 1부. 개요
- 1장. 소프트웨어 아키텍처의 의미
- 2장. 소프트웨어 아키텍처가 중요한 이유
- 3장. 소프트웨어 아키텍처 컨텍스트
- 2부 품질 속성
- 4장. 품질 속성의 이해
- 5장. 가용성
- 6장. 상호운영성
- 7장. 변경용이성
- 8장. 성능
- 9장. 보안
- 10장. 테스트 용이성
- 11장. 사용편의성
- 12장. 기타 품질 속성
- 13장. 아키텍처 전술과 패턴
- 14장. 품질 속성 모델링과 분석
- 3부. 라이프사이클에서의 아키텍처
- 16장. 아키텍처와 요구
- 17장. 아키텍처 설계
- 18장. 소프트웨어 아키텍처 문서화
- 19장. 아키텍처, 구현과 테스팅
- 20장. 아키텍처 재구성과 순응
- 21장. 아키텍처 평가
- 22장. 관리와 거버넌스
- 4부. 아키텍처와 비즈니스
- 23장. 아키텍처 경제적 분석
- 24장. 아키텍처 역량
- 25장. 아키텍처와 소프트웨어 제품 라인
- 5부. 멋진 신세계
- 26장. 클라우드 아키텍처
- 27장. 엣지 아키텍처
- 28장. 에필로그
- 『소프트웨어 아키텍처 문서화 2판』
- 프롤로그: 소프트웨어 아키텍처와 문서화
- I부. 소프트웨어 아키텍처 스타일의 컬렉션
- 1장. 모듈 뷰
- 2장. 몇 가지 모듈 스타일
- 3장. 컴포넌트-커넥터 뷰
- 4장. 몇 가지 컴포넌트-커넥터 스타일
- 5장. 할당 뷰와 몇 가지 할당 스타일
- II부. 구조를 넘어서: 문서화 완료
- 6장. 기초를 넘어서
- 7장. 소프트웨어 인터페이스 문서화
- 8장. 행위 문서화
- III부. 아키텍처 문서화 구축
- 9장. 뷰 선택
- 10장. 문서 패키지 구축
- 11장. 아키텍처 문서 검토
- 에필로그: 다른 접근 방법과 함께 뷰와 그 너머 사용
- 부록 A. UML
- 부록 B. SysML
- 부록 C. AADL - SAE 아키텍처 분석과 설계 언어
- 『소프트웨어 아키텍처 평가』
- 1장. 소프트웨어 아키텍처
- 2장. 소프트웨어 아키텍처 평가
- 3장. ATAM - 아키텍처 평가방법
- 4장. 전장통제 시스템 - ATAM을 적용한 첫 사례연구
- 5장. 품질속성 이해
- 6장. ATAM 적용 사례연구
- 7장. SAAM을 이용한 예제 아키텍처 평가
- 8장. ARID - 부분적 아키텍처 평가방법
- 9장. 소프트웨어 아키텍처 평가방법 비교
- 10장. 조직 차원에서 아키텍처 평가역량의 증대
- 11장. 결론
- 부록 A. 속성 기반 아키텍처 스타일의 사례