Top

(개정판) 소프트웨어 아키텍처 세트

  • 원서명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. 소프트웨어 프로젝트의 아키텍처 문서를 생성하는 책임을 맡은 소프트웨어 아키텍트: 이들에 대해서는 “나의 아키텍처에 수집할 정보는 무엇이며, 시기적절한 형식으로 명확하고 유용하게 의사소통하는데 사용할 수 있는 표기법과 기법은 무엇인가?”에 대한 질문에 대답할 것이다.

  1. 아키텍트 또는 아키텍처 팀에게 받은 문서를 소화하고 사용해야 하는 아키텍처 이해당사자: 소프트웨어 아키텍트는 자신의 문서의 안내서로, 이 책을 제공해 특정한 절을 통해 문서 구조의 원칙, 표기법, 개념 또는 관례를 설명할 수 있다.

  2. 소프트웨어 아키텍처에 관한 개요적인 개념을 배우고자 하는 사람: 소프트웨어 아키텍처(따라서 문서화)의 목적과 사용을 수립함으로써, 그리고 아키텍처의 생성과 의사소통에 중요한 기본적인 개념 집합을 수립함으로써, 이 책은 이 주제의 개요로서의 역할을 한다.

우리는 소프트웨어 엔지니어링의 개념에 대한 기본적인 사항을 알고 있다고 가정한다. 대부분의 경우에서 아키텍처 뷰와 아키텍처 스타일, 인터페이스와 같이 여러분이 알고 있는 기본 개념을 더 선명하고 명확하게 할 것이다.

『소프트웨어 아키텍처 평가』 소개

올바른 아키텍처를 선택하거나 수립했는지를 평가하는 데 활용할 수 있는 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장에 있는 사례연구는 팀에서 시범으로 평가를 수행하는 데 참조 자료로 사용할 수 있다.

저자/역자 소개

저자 소개

렌 베스(Len Bass)

NICTA(National ICT Australia Ltd) 사의 수석 연구원이다. 2011년에 NICTA에 입사하기 전에 카네기 멜론(Carnegie Mellon) 대학의 SEI(Software Engineering Institute)에서 25년간 재직했다. 『Software Architecture: Views and Beyond, Second edition』(Addison-Wesley, 2011)을 포함하여 2권의 수상 경력을 보유한 책의 공동 저자이며, 컴퓨터 과학과 소프트웨어 공학에 관련된 다양한 주제에 관한 여러 권의 책과 다수의 논문이 있다. 과학 분석 시스템, 임베드 시스템과 정보 시스템과 같은 여러 도메인에서 소프트웨어 개발과 연구를 50년간 해왔다.

폴 클레멘츠(Paul Clements)

빅레버 소프트웨어(BigLever Software) 사의 Customer Success 부사장으로, 시스템과 소프트웨어 제품 라인 엔지니어링의 채택을 확산시키는 일을 하고 있다. 이전에는 SEI에서 기술 분야의 수석 연구원으로서 17년 동안 소프트웨어 제품 라인과 소프트웨어 아키텍처 문서화와 분석 분야의 프로젝트를 이끌었다. 『Software Architecture: Views and Beyond, Second edition』(Addison-Wesley, 2011)의 공동 저자이며, 『Evaluating Software Architectures: Methods and Case Studies』(Addion-Wesley, 2002)(번역서: 『소프트웨어 아키텍처 평가』(에이콘, 2009)), 『Software Product Lines: Practices and Patterns』(Addison-Wesley, 2002) 등을 집필했다. 이와 함께 소프트웨어 시스템의 설계와 명세에 대한 오래된 관심사를 반영하는 수십 편의 소프트웨어 엔지니어링 논문을 출판했다.

릭 캐즈먼(Rick Kazman)

하와이(Hawaii) 대학의 교수이며, SEI 외래 연구원(그리고 전 기술 분야 수석 연구원)이다. 『Evaluating Software Architectures: Methods and Case Studies』(Addion-Wesley, 2002)의 공동 저자이며, 100편이 넘는 기술 논문의 저자다. 주요 연구 분야는 소프트웨어 아키텍처 설계와 분석, 소프트웨어 시각화 및 소프트웨어 엔지니어링 경제학이다. SAAM(Software Architecture Analysis Method), ATAM(Architecture Tradeoff Analysis Method), CBAM(Cost-Benefit Analysis Method), 그리고 Dali 아키텍처 역공학 도구를 포함하는 여러 영향력이 높은 아키텍처 분석 방법론과 도구를 만들었다.

펠릭스 바흐만(Felix Bachmann)

SEI 기술진의 선임 연구원으로, Architecture Centric Engineering Initiative에서 일하고 있다

데이비드 갈란(David Galan)

카네기멜론 대학(CMU) 컴퓨터 과학 학부의 컴퓨터 과학 교수며 소프트웨어 공학 전문 프로그램 소장이다.

제임스 이버스(James Ivers)

SEI 기술진의 선임 연구원으로, 소프트웨어 아키텍처와 프로그램 분석 분야에서 일했다.

리드 리틀(Reed Little)

SEI 기술진의 선임 연구원이다.

파울로 멀슨(Paulo Merson)

SEI에서 소프트웨어 아키텍처, 서비스 지향 아키텍처, 그리고 관점지향 소프트웨어 개발 분야에서 일했다. 또한 산업에서 실무 소프트웨어 아키텍트다.

로버트 노드(Robert Nord)

SEI의 Research, Technology, and System Solutions Program 기술진의 선임 연구원이다.

주디스 스태포드(Judith Stafford)

터프츠(Tufts) 대학의 전문 강사며 SEI의 교환 과학자다.

마크 클라인(Mark Klein)

미 SEI 연구소 기술 분야의 수석 연구원이다. 마크는 카네기 멜론 대학의 소프트웨어 공학 석사과정의 교수이며 『A Practitioner’s Handbook for Real-Time Analysis(실무자를 위한 실시간 분석 가이드)』(슈프링거, 1993)의 공동저자다.

옮긴이 소개

전병선

30년간의 실무 개발 경험을 바탕으로 CBD, SOA, BPM 분야의 아키텍처 설계와 컨설팅을 수행하고 있으며, 20권 이상의 많은 저서를 출간한 베스트셀러 저자다. 1993년부터 C, C++, Visual C++, 객체지향, UML, CBD, SOA 분야의 IT 서적을 저술했으며 폭넓은 독자층을 갖고 있다. 최근에는 다시 개발자로서 직접 실무 개발에 참여해 .NET과 자바 개발 기술을 이끌고 있다.
1994년 이후 전문 IT 기술 강사로서 정보기술연구소, 다우데이터시스템, 소프트뱅크코리아, 데브피아, 웹타임, 삼성SDS 멀티캠퍼스에서 강의했으며, 1996, 1997년에는 마이크로소프트의 초대 리저널 디렉터로서 DevDays, TechEd, PDC 등의 여러 컨퍼런스에서 강연했다.
금융, 제조, 조선, 통신, 정부 연구기관 등 다양한 도메인 분야에서 아키텍트이자 PM으로 참여했다. 삼성전자 홈네트워크 솔루션 아키텍처 구축, STX 조선 생산계획 시스템, 대우조선 DIPS 시스템, 삼성생명 비전속영업관리 시스템 등 CBD 또는 Real-Time & Embedded를 기반으로 하는 다양한 프로젝트를 컨설팅했다.
또한 SOA 전문가로서 거버먼트 2.0, KRNet 2010 등 각종 SOA 세미나와 강연회를 가졌으며, 조달청 차세대 통합 국가전자조달시스템 구축 사업 서비스 모델링과 KT N-STEP SOA 진단 컨설팅을 했으며, KT의 NeOSS 시스템 구축, 암웨이의 AUS 시스템, 대우조선의 SOA 기반 종합 계획 EA 프로젝트 등의 SOA 관련 프로젝트들을 수행했다.

이석준

뉴사우스웨일스 대학원에서 정보공학을 전공했으며 삼성 SDS 아키텍처팀에서 소프트웨어 아키텍트로 활동하고 있다. SEI에서 소프트웨어 아키텍처 전문가 자격과 ATAM 평가자 자격을 수료했다. 참여한 다수 프로젝트에서 소프트웨어 아키텍처 수립 및 절차를 반영하는 데 많은 노력을 하고 있으며 이와 관련한 사내 과정의 집필과 강의를 맡고 있다. 『소프트웨어 아키텍처: 이론과 실제』(에이콘출판사, 2007)를 번역했다.

백창현

KAIST 전산학 석사출신으로 일찍이 전투기 파일럿을 꿈꾸다 항공 시뮬레이션에 빠져 소프트웨어 분야에 입문했다. 핸디소프트의 BPM/그룹웨어 개발과 벤처기업 이모션의 개발 경력을 거쳐 삼성 SDS IT 플랫폼 팀에서 차세대 시스템을 위한 엔터프라이즈 프레임워크 개발을 선도하고 있다. 제품/시스템 개발을 위한 최적화된 소프트웨어 설계가 주 관심 분야며, 소프트웨어 시스템 개발의 근간은 아키텍처라고 확신한다. 공저서로는 『1st 워크플로우』(시사컴퓨터, 2000), 역서로는 『소프트웨어로 승리하자』(학현사, 2004)가 있다.

박인수

숭실대에서 전산을 전공했으며 현재 삼성 SDS에서 소프트웨어 아키텍트로 활동하고 있다. 누구보다도 소프트웨어 아키텍처에 대한 애착이 있다고 자부하며, 실제 프로젝트에서 이상적인 소프트웨어 아키텍처를 적용하기 위해 노력한다. 훌륭한 아키텍처는 성공적인 시스템의 밑거름이 된다는 철학을 바탕으로, 설계에서 의도한 대로 시스템이 구현될 수 있을까에 대한 해답을 찾기 위한 연구에 매진 중이다. 개발자들이 희생을 강요당하지 않고 품질, 납기, 원가 모두를 만족하는 성공적인 소프트웨어 시스템을 구축할 수 있는 세상을 위해 늘 고민한다.

목차

목차
  • 『(개정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. 속성 기반 아키텍처 스타일의 사례

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안