소프트웨어 시스템 아키텍처 Software Systems Architecture Second Edition
- 원서명Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives (2nd Edition) (ISBN 9780321718334)
- 지은이닉 로잔스키(Nick Rozanski), 오언 우즈(Eóin Woods)
- 옮긴이송재하, 금창섭, 박미율
- ISBN : 9788960776555
- 50,000원
- 2015년 01월 30일 펴냄 (절판)
- 페이퍼백 | 784쪽 | 188*250mm
- 시리즈 : 소프트웨어 아키텍처
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 주로 신참 소프트웨어 아키텍트와 장차 아키텍트의 길을 가고자 하는 개발자들에게 소프트웨어 아키텍처의 본질은 무엇이며 소프트웨어를 디자인하는 종합예술가인 아키텍트가 어떻게 실무를 하는지에 대해 우리가 쉽게 접할 수 있는 정보 시스템을 기반으로 풍부한 예제와 깊이 있는 내용을 제공한다. 이전에 출간된 아키텍처 서적에서 언제나 갈구하던 ’실용성’을 갖추기 위한 저자들의 노력이 매우 돋보이는 책이다. 책을 읽다 보면 “아키텍트가 할 업무를 이렇게 명확하게 알려주는 책이 또 있을까?”라는 생각이 들 것이다.
이 책에서 다루는 내용
■ 이해관계자들의 다양한 요구를 반영해 균형 잡힌 아키텍처를 설계하고 설명하는 방법
■ 성능, 복원성, 지역성 등 간과하기 쉬운 영역을 비롯해 아키텍처적으로 중요한 설계적 측면에 초점을 맞추는 방법
■ 시나리오와 패턴을 활용해 아키텍처를 만들고 검증하는 방법
■ 연관된 뷰들을 묶어서 아키텍처를 문서화하는 방법
■ 시스템과 주위 환경 사이의 상호작용을 문서화하는 ‘시스템 맥락 시점’
■ 아키텍처 원칙에 대한 논의를 확장한, 아키텍처 의사결정에 대한 추적용이성과 근거를 제공하는 방법
■ 애자일 개발과 아키텍처를 융합할 수 있는 방안
■ 과제 맥락 내에서 요건과 아키텍처 활동의 위치 선정
■ 아키텍처 검증을 위한 가볍고 새로운 방법론
이 책의 대상 독자
이 책은 분명히 기성 소프트웨어 아키텍트와 소프트웨어 아키텍트 지망생이 관심을 보일 만한 책이다. 이 책에는 이미 친숙한 개념도 많지만 아직 낯선 개념도 다수 담겨 있다. 이 책을 통해 아키텍트의 역할을 명확히 설명하고 역할의 경계를 분명히 하며 독자들의 업무 방식이 개선되기를 기대해본다. 경력이 많은 아키텍트라면 일상적인 업무에서 3부와 4부에 담긴 정보를 참고용으로 활용하기에 유용하리라 본다.
또한 이 책에는 아키텍처 이해관계자들이 관심을 보일 만한 부분도 있다. 시스템 개발 과제에서 요구하는 쪽 입장으로 아키텍트와 협업하는 후원자와 고위 관리자라면 1부 전체, (각각 시점과 관점을 다루는) 3부와 4부의 도입장, 5부를 읽어보면 좋다.
소프트웨어 개발자(특히 설계자)와 지원 및 유지보수 인력도 이 책에서 유용한 자료를 많이 얻을 수 있을 텐데, 주로 3부와 4부를 집중해서 살펴보면 흥미를 끌 만한 아키텍처 정의 프로세스상의 여러 측면을 더 잘 이해할 수 있을 것이다.
이 책의 구성
1부에서는 책 전체에서 사용되는 기본적인 개념인 이해관계자, 아키텍처 문서, 시점, 뷰, 관점을 소개 및 검토하고 소프트웨어 아키텍트의 역할을 설명한다.
2부에서는 아키텍트로서 해야 하는 가장 중요한 활동인 과제 범위 합의, 이해관계자 식별 및 참여, 시나리오 및 패턴 활용, 모델 생성, 아키텍처 문서화 및 검증 같은 작업을 설명한다.
3부에서는 아키텍처 문서를 만들 때 쓰이는 가장 중요한 맥락, 기능, 정보, 동시성, 개발, 배치, 운영의 7가지 시점을 차례로 설명한다.
4부에서는 정보 시스템 관점 중에서 가장 중요한 보안, 성능 및 확장용이성, 가용성 및 복원성, 진화, 위치, 개발 자원, 국제화 관점을 차례로 설명한다.
5부에서는 이 모든 개념을 모아서 실무에 적용할 때 쓸 방안을 설명한다.
목차
목차
- __1장. 들어가며
- ____이해관계자, 시점, 관점
- ____이 책의 구성
- ____이 책의 대상 독자
- ____편집 관례
- 1부. 아키텍처 기초
- __2장. 소프트웨어 아키텍처 기본 개념
- ____소프트웨어 아키텍처
- ____아키텍처 요소
- ____이해관계자
- ____아키텍처 명세서
- ____핵심 개념 사이의 관계
- ____정리
- ____더 읽을거리
- __3장. 시점과 뷰
- ____아키텍처 뷰
- ____시점
- ____핵심 개념 간의 관계
- ____시점과 뷰를 사용하는 이점
- ____시점의 함정
- ____시점 목록
- ____정리
- ____더 읽을거리
- __4장. 아키텍처 관점
- ____품질 속성
- ____아키텍처 관점
- ____뷰에 관점 적용
- ____관점 적용 결과
- ____핵심 개념 사이의 관계
- ____관점 활용에 따른 이점
- ____관점의 함정
- ____관점과 시점의 비교
- ____관점 목록
- ____정리
- ____더 읽을거리
- __5장. 소프트웨어 아키텍트의 역할
- ____아키텍처 정의 프로세스
- ____아키텍트의 역할
- ____핵심 개념 사이의 상호관계
- ____아키텍처 전문화
- ____조직 맥락
- ____아키텍트의 기량
- ____아키텍트의 책임
- ____정리
- ____더 읽을거리
- 2부. 소프트웨어 아키텍처 프로세스
- __6장. 소프트웨어 아키텍처 정의 프로세스 소개
- __7장. 아키텍처 정의 프로세스
- ____핵심 원칙
- ____프로세스 산출물
- ____프로세스 맥락
- ____보조 활동
- ____아키텍처 정의 활동
- ____프로세스 완료 조건
- ____소프트웨어 개발 수명주기상의 아키텍처 정의
- ____정리
- ____더 읽을거리
- __8장. 관심사항, 원칙, 결정
- ____문제 중심 관심사항
- ____해결책 중심 관심사항
- ____기타 실무적인 제약사항
- ____좋은 관심사항의 조건
- ____아키텍처 원칙
- ____아키텍처 결정사항
- ____원칙을 활용한 관심사항과 결정사항 연결
- ____점검 목록
- ____정리
- ____더 읽을거리
- __9장. 이해관계자 파악과 유치
- ____이해관계자 선정
- ____이해관계자 유형
- ____예제
- ____대리 이해관계자
- ____이해관계자 집단
- ____이해관계자의 책임
- ____점검 목록
- ____정리
- ____더 읽을거리
- __10장. 시나리오 식별과 활용
- ____시나리오의 종류
- ____시나리오 활용
- ____시나리오 식별 및 순위결정
- ____시나리오 수집
- ____좋은 시나리오의 조건
- ____시나리오 적용
- ____효과적인 시나리오 활용
- ____점검 목록
- ____정리
- ____더 읽을거리
- __11장. 스타일과 패턴 활용
- ____설계 패턴
- ____스타일, 패턴, 이디엄
- ____패턴과 아키텍처 전술
- ____아키텍처 스타일 예제
- ____아키텍처 스타일 활용 시 이점
- ____스타일과 아키텍처 설명
- ____설계 패턴과 언어 이디엄 적용
- ____점검 목록
- ____정리
- ____더 읽을거리
- __12장. 아키텍처 모델 수립
- ____모델의 중요성
- ____모델의 유형
- ____모델화 언어
- ____효과적인 모델 도출 지침
- ____애자일 팀에서의 모델화
- ____점검 목록
- ____정리
- ____더 읽을거리
- __13장. 아키텍처 명세서 작성
- ____효과적인 아키텍처 명세서의 속성
- ____용어집
- ____ISO 표준
- ____아키텍처 설명 내용
- ____아키텍처 설명 제시
- ____점검 목록
- ____정리
- ____더 읽을거리
- __14장. 아키텍처 평가
- ____아키텍처 평가 필요성
- ____평가 기법
- ____시나리오 기반 평가 기법
- ____소프트웨어 수명주기 중의 평가
- ____기존 시스템의 아키텍처 검증
- ____평가 결과 기록
- ____평가 접근법 선택
- ____점검 목록
- ____정리
- ____더 읽을거리
- 3부. 시점 목록
- __15장. 시점 목록 소개
- __16장. 맥락 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __17장. 기능 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __18장. 정보 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __19장. 동시성 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __20장. 개발 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __21장. 배치 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __22장. 운영 시점
- ____관심사항
- ____모델
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __23장. 여러 뷰 사이의 일관성 확보
- ____뷰 사이의 관계성
- ____맥락 뷰와 기능 뷰 일관성
- ____맥락 뷰와 정보 뷰 일관성
- ____맥락 뷰와 배치 뷰 일관성
- ____기능 뷰와 정보 뷰 일관성
- ____기능 뷰와 동시성 뷰 일관성
- ____기능 뷰와 개발 뷰 일관성
- ____기능 뷰와 배치 뷰 일관성
- ____기능 뷰와 운영 뷰 일관성
- ____정보 뷰와 동시성 뷰 일관성
- ____정보 뷰와 개발 뷰 일관성
- ____정보 뷰와 배치 뷰 일관성
- ____정보 뷰와 운영 뷰 일관성
- ____동시성 뷰와 개발 뷰 일관성
- ____동시성 뷰와 개발 뷰 일관성
- ____배치 뷰와 운영 뷰 일관성
- 4부. 관점 목록
- __24장. 관점 목록 소개
- __25장. 보안성 관점
- ____뷰 적용성
- ____관심사항
- ____활동: 보안성 관점 적용
- ____아키텍처 전술
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __26장. 성능 및 확장용이성 관점
- ____뷰 적용성
- ____관심사항
- ____활동: 성능 및 확장용이성 관점 작용
- ____아키텍처 전술
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __27장. 가용성 및 복원성 관점
- ____뷰 적용성
- ____관심사항
- ____활동: 가용성 및 복원성 관점 적용
- ____아키텍처 전술
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __28장. 진화성 관점
- ____뷰 적용성
- ____관심사항
- ____활동: 진화성 관점 적용
- ____아키텍처 전술
- ____문제점 및 함정
- ____점검 목록
- ____더 읽을거리
- __29장. 그 밖의 관점
- ____접근성 관점
- ____활동: 접근성 관점 적용
- ____개발 자원 관점
- ____국제화 관점
- ____위치 관점
- ____규제 관점
- ____사용편의성 관점
- 5부. 총정리
- __30장. 소프트웨어 아키텍트로 일하기
- ____과제 수명주기상에서의 아키텍처
- ____다른 유형의 과제 지원
- __A. 그 밖의 시점들
- ____크루첸 ‘4+1’
- ____RM-ODP
- ____지멘스(호프마이스터, 노드, 소니)
- ____SEI ‘뷰와 그 이상’ 뷰
- ____갈런드와 앤서니
- ____IAF
- ____전사적 아키텍처 프레임워크
- ____그 밖의 전사적 아키텍처 프레임워크