소프트웨어 아키텍처 설계 [애자일이 적용된 ADD 3.0 아키텍처 설계 프로세스 및 통신, 금융, 빅데이터 도메인 적용 사례]
- 원서명Designing Software Architectures: A Practical Approach (ISBN 9780134390789)
- 지은이움베르토 세르반테스(Humberto Cervantes), 릭 카즈만(Rick Kazman)
- 옮긴이전병선 (IT 아키텍트/컨설턴트)
- ISBN : 9788960779822
- 30,000원
- 2017년 02월 24일 펴냄
- 페이퍼백 | 312쪽 | 188*250mm
- 시리즈 : 소프트웨어 아키텍처
책 소개
요약
소프트웨어 아키텍처 이론과 실제 3판의 ADD 방법론의 3.0 버전을 제시한다. 애자일 프로젝트에서 활용할 수 있는 아키텍처 설계 프로세스 및 참조 아키텍처와 아키텍처 패턴, 디자인 패턴, 애플리케이션 프레임워크를 활용할 수 있는 아키텍처 설계 프로세스를 제시한다. 또한 통신, 금융, 빅데이터 등 핵심 도메인에서의 적용 사례를 제시한다.
이 책에서 다루는 내용
■ 아키텍처 설계가 포함하고 있는 것과 전체 소프트웨어 개발 라이프사이클에서 아키텍처 설계에 적합한 부분 이해
■ 핵심 설계 개념과 원칙, 프로세스 마스터
■ ADD 방법론 단계를 수행하는 방법 이해
■ 사전 영업 프로세스, 경량 아키텍처 검토를 위한 설계를 포함한 설계와 분석 확장
■ 분석과 설계 사이의 중요한 관계 인식 및 최적화
■ 재사용할 수 있는 증명된 설계 근원을 활용하고, 특정한 문제와 컨텍스트 적용
■ 클라우드나 모바일, 빅데이터 같은 새로운 도메인에서 설계 문제 해결
이 책의 대상 독자
이 책의 대상 독자는 소프트웨어 아키텍처 설계에 관심 있는 모든 사람들이다. 특히 설계 작업을 수행해야 하지만, 현재 임시 방편으로 수행하고 있는 실무자들에게 유용할 것이라고 생각한다. 이미 수립된 방법론을 다뤄본 경험이 있는 실무자도 몇 가지 아이디어를 찾을 수 있을 것이다. 예를 들어 칸반 보드를 사용하여 설계 진행 상황을 추적하는 것이라든지, 전술 기반 설문서를 사용하여 설계를 분석하는 방법, 초기 산정을 위해 설계 방법론을 사용하는 방법 등이다.
이 책의 구성
1장, ‘개요’에서는 소프트웨어 아키텍처와 속성 주도 방법의 개요를 간단히 설명한다.
2장, ‘아키텍처 설계’에서는 설계 프로세스의 주요(우리가 아키텍처 요인이라고 부르는 것)와 증명된 솔루션을 사용해 이들 요인을 충족시킬 수 있도록 하는 설계 개념과 함께, 아키텍처 설계를 좀 더 자세하게 논의한다.
3장, ‘아키텍처 설계 프로세스’에서는 ADD 방법론을 자세하게 제시한다. 각 방법론 단계와 함께 단계를 적절하게 수행하는 데 사용할 수 있는 다양한 기법을 논의한다.
4장, ‘사례 연구: FCAPS 시스템’에서는 첫 번째 사례 연구로서, 신규 개발 시스템의 개발을 예로 든다. 이 사례 연구에서 3장에 설명한 주요 개념을 설계 프로세스에 사용하는 방법을 보여주기 위해 노력했으며, 이 사례 연구가 본질상 좀 더 “학문적”이라고 생각한다(그렇다고 하더라도 실제 시스템에서 도출했다).
5장, ‘사례 연구: 빅데이터 시스템’에서는 두 번째 사례 연구를 제시한다. 이 사례 연구는 현업 소프트웨어 아키텍트와 함께 작성되었으며, 마찬가지로 본질적으로 좀 더 기술적이고 상세하다. ADD가 많은 기술을 포함하는 빅데이터 시스템 설계에서 사용되는 방법에 관한 핵심 세부 사항을 보여줄 것이다. 이 사례는 우리가 ’특수한’ 도메인으로 간주하는 시스템 개발의 예시를 보여주며, 4장에서 사용된 전통적인 도메인과는 반대된다.
6장, ‘사례 연구: 뱅킹 시스템’에서는 일반적인 레거시(또는 기존) 시스템의 확장 설계에서 ADD의 사용 예를 보여주는 짧은 사례 연구다. 이 예는 아키텍처 설계가 시스템의 첫 번째 버전이 개발될 때 한번만 수행되는 것이 아니라, 개발 프로세스의 다른 순간에도 수행될 수 있는 활동이라는 것을 보여준다.
7장, ‘다른 설계 방법론’에서는 다른 설계 방법론을 제시한다. 우리의 ADD 개정에서 설계 프로세스를 연구했던 다른 저자의 개념을 채택했으며, 여기에서 이들 작업에 대한 경의의 표시로서, 그리고 이들 방법론과 ADD를 비교하기 위해 이들의 접근 방법을 요약했다.
8장, ‘설계 프로세스에서의 분석’에서는 분석을 깊이 있게 논의한다. 이 책의 주제가 설계일지라도, 분석은 설계의 일부로서 자연스럽게 수행되기 때문에 설계 프로세스 동안 또는 설계의 일부가 완료된 후에 사용될 수 있는 기법을 설명했다. 특히, 설계 프로세스에서 내린 결정을 시간 효율적이며 단순한 방식으로 이해할 수 있게 하기 위해 전술 기반 설문서의 사용을 도입했다.
9장, ‘조직에서의 아키텍처 설계 프로세스’에서는 조직 수준에서 설계 프로세스를 적합하게 하는 방법을 설명한다. 예를 들어, 프로젝트 초기에 아키텍처 설계의 일부분을 수행하는 것이 산정 목적에 유용하다. 또한, 다른 소프트웨어 개발 접근 방법과 ADD가 어떻게 연관될 수 있는지를 보여준다.
10장, ‘마무리’에서는 이 책의 결론을 제시한다.
목차
목차
- 1장. 개요
- 1.1 동기
- 1.2 소프트웨어 아키텍처
- 1.3 아키텍트 역할
- 1.4 간략한 ADD 역사
- 1.5 요약
- 1.6 더 읽을거리
- 2장. 아키텍처 설계
- 2.1 설계 일반
- 2.2 소프트웨어 아키텍처에서의 설계
- 2.3 왜 아키텍처 설계가 중요한가?
- 2.4 아키텍처 요인
- 2.5 설계 개념: 구조 생성을 위한 빌딩 블록
- 2.6 아키텍처 설계 결정
- 2.7 요약
- 2.8 더 읽을거리
- 3장. 아키텍처 설계 프로세스
- 3.1 원칙적인 방법론의 필요성
- 3.2 속성 주도 설계 3.0
- 3.3 시스템 유형에 따른 설계 로드맵
- 3.4 설계 개념 식별과 선택
- 3.5 구조 생성
- 3.6 인터페이스 정의
- 3.7 설계 동안 예비 문서화 생성
- 3.8 설계 진행 추적
- 3.9 요약
- 3.10 더 읽을거리
- 4장. 사례 연구: FCAPS 시스템
- 4.1 비즈니스 케이스
- 4.2 시스템 요구
- 4.3 설계 프로세스
- 4.4 요약
- 4.5 더 읽을거리
- 5장. 사례 연구: 빅데이터 시스템
- 5.1 비즈니스 케이스
- 5.2 시스템 요구
- 5.3 설계 프로세스
- 5.4 요약
- 5.5 더 읽을거리
- 6장. 사례 연구: 뱅킹 시스템
- 6.1 비즈니스 케이스
- 6.2 기존 아키텍처 문서
- 6.3 설계 프로세스
- 6.4 요약
- 6.5 더 읽을거리
- 7장. 다른 설계 방법론
- 7.1 소프트웨어 아키텍처 설계 일반 모델
- 7.2 아키텍처 중심적 설계 방법론
- 7.3 RUP 아키텍처 활동
- 7.4 소프트웨어 아키텍팅 프로세스
- 7.5 아키텍처와 설계 기법
- 7.6 시점과 관점 방법론
- 7.7 요약
- 7.8 더 읽을거리
- 8장. 설계 프로세스에서의 분석
- 8.1 분석과 설계
- 8.2 왜 분석하는가?
- 8.3 분석 기법
- 8.4 전술 기반 분석
- 8.5 투영 질문
- 8.6 시나리오 기반 설계 검토
- 8.7 아키텍처 서술 언어
- 8.8 요약
- 8.9 더 읽을거리
- 9장. 조직에서의 아키텍처 설계 프로세스
- 9.1 아키텍처 설계와 개발 라이프사이클
- 9.2 조직 관점
- 9.3 요약
- 9.4 더 읽을거리
- 10장. 마무리
- 10.1 방법론의 필요성에 대하여
- 10.2 다음 단계
- 10.3 더 읽을거리
- 부록 A. 설계 개념 카탈로그
- A.1 참조 아키텍처
- A.2 배포 패턴
- A.3 아키텍처 설계 패턴
- A.4 전술
- A.5 외부에서 개발된 컴포넌트
- A.6 요약
- A.7 더 읽을거리
- 부록 B. 전술 기반 설문서
- B.1 설문서 사용
- B.2 가용성
- B.3 상호운영성
- B.4 변경용이성
- B.5 성능
- B.6 보안
- B.7 테스트 용이성
- B.8 사용편의성
- B.9 데브옵스
- B.10 더 읽을거리