Top

소프트웨어 아키텍처 문서화 2판

  • 원서명Documenting Software Architectures: Views and Beyond (2nd Edition) (ISBN 9780321552686)
  • 지은이폴 클레멘츠(Paul Clements), 펠릭스 바흐만(Felix Bachmann), 렌 베스(Len Bass), 데이비드 갈란(David Galan), 제임스 이버스(James Ivers), 리드 리틀(Reed Little), 파울로 멀슨(Paulo Merson), 로버트 노드(Robert Nord), 주디스 스태포드(Judith Stafford)
  • 옮긴이전병선
  • ISBN : 9788960778870
  • 45,000원
  • 2016년 07월 29일 펴냄
  • 페이퍼백 | 648쪽 | 188*250mm
  • 시리즈 : 소프트웨어 아키텍처

책 소개

요약

이 책은 좋은 문서화의 7가지 규칙을 설명하며 시작한다. 이어서 모듈 뷰와 컴포넌트-커넥터 뷰, 할당 뷰의 각 스타일을 문서화하는 방법과 가변점과 아키텍처 결정, 인터페이스, 그리고 행위를 문서화하는 방법 및 아키텍처 문서를 검토하는 방법을 알아본다. 이 책의 아키텍처 문서화의 템플릿은 그동안의 사용과 피드백을 반영해 향상되었으며, 서비스 지향 아키텍처와 다중 티어 아키텍처, 관점 지향 시스템을 위한 아키텍처를 문서화하는 예도 함께 제시한다. 또한 웹 기반의 서비스 지향 시스템의 소프트웨어 아키텍처 문서화의 예제와 애자일 개발 환경에서의 문서화 가이드를 제공하고, 마지막으로 UML을 사용한 소프트웨어 아키텍처 문서화를 설명한다.

2판 추천의 글

내 동료는 주택 시장에서 프랭크 프로이드 라이트(Frank Floyd Wright)가 학생 때 설계했던 오래된 자산에 매혹됐다. 역사와 구조, 발전에 대한 호기심으로 지역 계획 위원회를 찾아갔고, 그곳에서는 원본 청사진의 복사본을 기꺼이 그리고 빠르게 제공했다.
내 친구는 수십 년 전의 집 설계도도 구할 수 있는데, 작년에 작성한 소프트웨어의 아키텍처를 왜 볼 수 없는지 나에게 물었다.
이 책에서 저자들은 내 친구의 궁금증을 해결하도록 도와주는 몇 가지 실용적인 지혜를 제공한다.
소프트웨어 시스템이 아키텍처에 대한 이론과 실제는 아주 활발한 단계에 있다. 특별히 매리 쇼와 데이비드 갈란(David Garlan)의 초기 작업은 소프트웨어 아키텍처를 주요 연구 분야로 올려놓았다. 그 이후로 수년 동안 우리는 시스템의 개발과 발전의 주류 관심사로서 산출물로의 아키텍처 출현을 목격했다. 이것은 (피립 크루첸(Philippe Kruchten))의 소프트웨어 아키텍처의 4+1 모델 뷰에 의해 분명하게 영향을 받은) UML(Unified Modeling Language)과 같은 표기법뿐만 아니라, TOGAF(The Open group Architecture Framework)와 DoDAF(Department of Defense Architecture Framework)와 같은 아키텍처 프레임워크로 완전무장하고 나타난다. 이들을 IBM의 Unified Process와 또 다른 쪽에서는 FSAM(Federal Segment Architecture Methodology)와 같은 방법론에 추가해, 산출물로서의 아키텍처가 소프트웨어 시스템의 추론과 관리에 중요한 역할을 수행한다는 것이 명확해졌다.
우리가 자신 있게 말할 수 있는 몇 가지 사항이 있다. 모든 시스템은 아키텍처를 갖고 있다. 모든 복잡한 시스템은 본질상 계층적이지만, 또한 규칙적인 다른 패턴을 나타낸다. 아키텍처와 구현 과정 사이에 발생하는 친숙한 움직임이 있다. 그리고 소프트웨어 시스템의 아키텍처를 이해하고 추론하기 위해, 여러 이해당사자 분류의 특정한 관심사 관점을 반영하는 여러 뷰를 고려해야만 한다.
소프트웨어 아키텍처를 서술하는 데 가장 일반적으로 사용되는 표기법과 도구는 화이트보드 위에 생성한 상자와 선 스케치다. 이러한 문서화는 신속하고도 유용하다. 그러나 정확하거나 완성도를 갖지는 않는다. 이 책에서 저자들은 소프트웨어 시스템의 아키텍처를 정확하고 완성도 있게 문서화하는 것에 대한 결정적인 참고 자료를 제공한다. 그리고 유용하다!
나는 이 책의 초판을 읽고 저자들에게 그러한 포괄적인 참조에 대한 찬사를 이메일로 보냈던 기억이 난다. 그들은 아주 뛰어났다. 이 새로운 판은 이전 판보다 좀 더 명쾌하고 빛나며, 더 완전하고, 더 실용적이며, 더 집중적이다. 그리고 나는 원래의 것을 향상시키는 일이 가능하다고 생각하지 않했다. 소프트웨어 아키텍처 분야가 과거 수십년보다 더 성장했기 때문에, 말할 것이 더 많고, 우리가 알아야 할 것이 훨씬 더 많아지고, 우리가 작업했지만 그렇지 못했던 것이 훨씬 많아졌다.
그리고 저자들은 여기에서 그것들을 그 이상으로 해냈다. 따라서 독자로서 여러분들에 대한 내 희망은 이것이다. 여러분이 지금 작성하는 소프트웨어가 여러분의 아이들의 아이들이 이해하고 찬사를 보낼 수 있는 아키텍처를 갖게 하라.
- 그래디 부치(Grady Booch) / IBM 펠로우

이 책의 대상 독자

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

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

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

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

2판에 새로 추가된 것

■ 몇 가지 새로운 아키텍처 스타일이 주류로 들어왔으며, 이 판은 이들을 문서화하는 것에 대해 이야기한다. 여기에는 서비스지향 아키텍처와 다중 티어 아키텍처, 관점지향 시스템을 위한 아키텍처가 포함된다. 또한 설치와 제품 환경뿐만 아니라 소프트웨어 시스템 데이터 모델의 아키텍처 수준 문서화를 중요한 스타일로 다룬다.
■ 이 판은 포괄적인 문서화보다는 작동하는 소프트웨어에 더 큰 가치를 두는 애자일 선언문과 일관적인 충고를 지향하는 애자일에 근거를 두고 작업했다.
■ 최고의 산업 관행을 반영해 더 근거 있고 체계적인 문서화를 다뤘다. 또한, 이해당사자가 의도한 대로 되어 있는지 아키텍처 문서를 검토하는 새로운 장을 추가했다.
■ 제시된 아키텍처 문서화의 템플릿은 그동안의 사용과 피드백을 반영해 향상되었다. 또한, 좀 더 유연하며, 다른 옵션으로 문서를 배열할 수 있게 했다.
■ 문서화된 소프트웨어 아키텍처의 포괄적인 예를 새로운 것으로 대체했다. 오늘날 산업의 주류 아키텍처는 웹 기반의 서비스지향 시스템이다. 이 책을 더 얇게 하고, 시간이 지나감에 따라 예제를 유지할 수 있게 하기 위해 예제를 온라인에 두었다. 그리고 많은 온라인 예제도 대체되거나 변경되었다.
■ 초판이 출간된 이래 UML은 2.0 이상의 버전으로 업그레이드되었다. 이것은 다양한 아키텍처 구조, 특히 컴포넌트와 커넥터를 좀 더 직접적으로 문서화할 수 있는 새로운 가능성을 열어주었다. 필요한 곳에 새로운 구조를 반영해 그림을 변경했다.
■ 이 판은 아키텍처를 문서화하는 데 유용한 UML과 AADL, SysML 등 3가지 중요한 언어와 표기법을 요약한 간결한 부록을 포함하고 있다. 각 부록은 해당 언어의 간단한 참조 가이드를 제공한다.
■ 마지막으로 이 판에는 초판이 출간된 이래 그동안 우리가 뷰와 그 너머와 함께 얻은 경험이 반영되었다. 이 경험은 문서화된 아키텍처를 생성하고, 다른 사람이 그렇게 하도록 도와주는 데서 온 것이다. 또한 다른 조직의 소프트웨어 아키텍처를 평가할 때와 같이 실제로 아키텍처 문서를 사용하는 데서 왔다. 마지막으로 이 책을 기반으로 하는 이틀간의 실무 과정에 참여한 수천명 이상의 참가자와 상호작용한 결과를 반영하였다. 소프트웨어 아키텍처를 실습하는 이들의 상호작용은 우리의 충고를 좀 더 규범적이고 선명하게 하며, 아키텍트가 매일 만나게 되는 문제와 상황을 반영하게 만들었다.

저자/역자 소개

지은이의 말

이 책의 목적은 다음 질문에 대답하는 것이다.
“다른 사람이 성공적으로 사용할 수 있고, 유지보수하며, 시스템을 구축하는 데 사용할 수 있는 아키텍처를 어떻게 문서화하는가?”
이 책의 독자는 아키텍처 문서의 생산과 소비에 관련된 모든 사람들이다. 이 책의 목표는 아키텍처에 관한 어떤 정보가 수집해야 할 중요한 것인지를 결정하고, 그것을 수집하는 데 필요한 지침과 표기법, 예제를 제공하는 것이다. 우리는 이 책이 아키텍처를 구성하는 다양한 종류의 정보에 대한 실무 중심의 가이드가 되도록 했다. 또한, 어떤 정보가 문서화되어야 하는지를 결정하며, (UML을 비롯한 다양한 표기법의 예제와 함께) 다른 사람들이 아키텍처에 기반한 작업, 즉 구현과 분석, 복구를 수행하는 데 사용할 수 있도록 작성할 때 그 정보를 서술하는 방법을 보여주는 실제적인 가이드를 제공한다. 또한 다른 사람들이 사용할 수 있는 포괄적인 아키텍처 문서를 생성하는 방법을 보여준다.
대부분의 책에서 특정한 표기법(보통 UML)을 사용하는 방법을 설명하지만, 우리는 아키텍트가 정말로 필요한 것은 아키텍처와 이해당사자가 가장 우선하는 가이드며, 언어는 그것을 지원하는 부수적인 것이라고 믿는다. 그것이 이 책에서 제공하고자 하는 것이다.

지은이 소개

폴 클레멘츠(Paul Clements)

카네기멜론 SEI(Software Engineering Institute) 기술진의 선임 연구원이다.

펠릭스 바흐만(Felix Bachmann)

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

렌 베스(Len Bass)

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

데이비드 갈란(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의 교환 과학자다.

옮긴이의 말

30년간의 소프트웨어 개발 경험 속에서 갖고 있는 하나의 신념은 ‘아키텍처가 튼튼한 시스템이 결국엔 성공한다.’는 것이다. 아키텍처가 튼튼한 시스템은 결합성이 적고 응집력이 강한 시스템이다. 이처럼 튼튼하게 아키텍처가 설계된 시스템을 구현하는 것은 결코 실패하지 않으며, 적어도 문제를 최소화할 수 있다. 업무 로직이 변경되는 경우라도 쉽게 대응할 수 있어 생명력이 긴 소프트웨어 시스템을 만들어낼 수 있다. 이러한 신념을 바탕으로 집필한 『CBD, What & How』(와우북스, 2008)와 『SOA, What & How』(와우북스, 2008)에서 각각 제시한 CBD와 SOA 방법론은 모두 튼튼한 아키텍처 설계를 강조하고 있다. 소프트웨어 아키텍처를 문서화하는 것은 아키텍트나 개발자들에게 어려운 작업일 수 있다. 그러나 소프트웨어 아키텍처를 올바르게 문서화하는 일은 다양한 관점을 갖고 있는 모든 이해당사자가 시스템의 소프트웨어에 대해 같은 이해를 공유하게 한다는 점에서 아주 중요하다.
이 책은 초판의 연장선상에 있으면서도 문서화 체계를 변화시켰다. 뷰 타입과 스타일, 뷰로 구분하던 것을 스타일과 뷰로 간결하게 바꾼 것이다. 이것은 『(개정3판)소프트웨어 아키텍처 이론과 실제』(에이콘, 2015)를 반영한 결과다. 이 책에서 설명한 소프트웨어 아키텍처 문서화 방법론의 이름은 뷰와 그 너머(View and Beyond)다. 특별히 이번 판은 근래에 많이 적용하고 있는 애자일 개발 프로젝트에서의 아키텍처 문서화 방법도 함께 설명하고 있다. 이 책에서 뷰와 그 너머 방법론과 애자일 철학은 중심점에서 완전히 일치한다고 단정한다. 즉, 정보가 필요 없다면 문서화하지 않는다는 것이다. 많은 애자일 프로젝트에서 소프트웨어 아키텍처 문서화를 무시하는 경향이 있지만, 이 책을 읽고 여러분은 애자일 프로젝트에서도 소프트웨어 아키텍처 문서화가 필요하다는 것을 깨닫게 될 것이다. 특별히 이번 판에서는 UML을 사용해 소프트웨어 아키텍처의 다양한 뷰를 표현하는 방법도 포함하고 있으며, 웹 기반의 서비스지향 시스템을 문서화하는 예제도 제공한다.

옮긴이 소개

전병선

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 관련 프로젝트들을 수행했다.

목차

목차
  • 프롤로그: 소프트웨어 아키텍처와 문서화
    • P.1 소프트웨어 아키텍처의 간단한 개요
      • P.1.1 개요
      • P.1.2 아키텍처와 품질 속성
      • 용어 설명: 소프트웨어 아키텍처란?
      • 관점: 아키텍처와 설계의 차이점
    • P.2 아키텍처 문서화의 간단한 개요
      • P.2.1 왜 소프트웨어 아키텍처를 문서화하는가?
      • 용어 설명: 명세, 표현, 서술, 문서화
      • P.2.2 아키텍처 문서화의 사용과 독자
      • P.2.3 아키텍처 문서화와 품질 속성
      • P.2.4 아키텍처 문서화의 경제성
      • P.2.5 뷰와 그 너머 방법론
      • P.2.6 애자일 환경에서의 뷰와 그 너머
      • P.2.7 문서화보다 빨리 변경되는 아키텍처의 문서화
    • P.3 아키텍처 뷰
      • 용어 설명: 아키텍처 뷰의 간단한 역사
    • P.4 아키텍처 스타일
      • P.4.1 스타일의 3가지 분류
      • 용어 설명: 모듈과 컴포넌트
      • 용어 설명: ‘아키텍처 스타일’과 ‘아키텍처 패턴’
    • P.5 좋은 문서화를 위한 7가지 규칙
      • 관점: 모든 사람이 ‘그냥 아는’ 표기법을 조심하라
      • 관점: 화살표의 의미
    • P.6 요약 체크리스트
    • P.7 생각해볼 문제
    • P.8 더 읽을거리

  • I부 소프트웨어 아키텍처 스타일의 컬렉션
    • I.1 스타일의 세 가지 카테고리
    • I.2 스타일 지침: 스타일을 설명하기 위한 표준 구성
    • I.3 문서화할 요소 및 관계 속성 선택
    • I.4 아키텍처 뷰 표기법
    • I.5 사례

  • 1장 모듈 뷰
    • 1.1 개요
    • 1.2 모듈 뷰의 요소와 관계, 속성
      • 1.2.1 요소
      • 1.2.2 관계
      • 1.2.3 속성
    • 1.3 모듈 뷰 사용
    • 1.4 모듈 뷰 표기법
      • 1.4.1 비형식적 표기법
      • 1.4.2 UML
      • 1.4.3 DSM
      • 1.4.4 ERD
    • 1.5 다른 뷰와의 관계
    • 1.6 요약 체크리스트
    • 1.7 생각해볼 문제
    • 1.8 더 읽을거리

  • 2장 몇 가지 모듈 스타일
    • 2.1 분할 스타일
      • 2.1.1 개요
      • 2.1.2 요소, 관계, 속성
      • 2.1.3 분할 스타일 사용
      • 2.1.4 분할 스타일 표기법
      • 2.1.5 다른 스타일과의 관계
      • 2.1.6 분할 스타일 사례
      • 용어 설명: 서브 시스템
    • 2.2 사용 스타일
      • 2.2.1 개요
      • 2.2.2 요소, 관계, 속성
      • 2.2.3 사용 스타일 사용
      • 2.2.4 사용 스타일 표기법
      • 2.2.5 다른 스타일과의 관계
      • 2.2.6 사용 스타일 사례
      • 용어 설명: 사용하다(uses)
    • 2.3 일반화 스타일
      • 2.3.1 개요
      • 2.3.2 요소, 관계 속성
      • 2.3.3 일반화 스타일 사용
      • 2.3.4 일반화 스타일 표기법
      • 2.3.5 다른 스타일과의 관계
      • 2.3.6 일반화 스타일 사례
    • 2.4 레이어 스타일
      • 2.4.1 개요
      • 2.4.2 요소, 관계, 속성
      • 2.4.3 레이어 스타일 사용
      • 2.4.4 레이어 스타일 표기법
      • 2.4.5 다른 스타일과의 관계
      • 2.4.6 레이어 스타일 사례
      • 용어 설명: 가상 머신
      • 관점: 상위 레이어 호출
      • 관점: 레이어 아키텍처를 유지하기 위한 DSM 사용
    • 2.5 관점 스타일
      • 2.5.1 개요
      • 2.5.2 요소, 관계, 속성
      • 2.5.3 관점 스타일 사용
      • 2.5.4 관점 스타일 표기법
      • 2.5.5 다른 스타일과의 관계
      • 2.5.6 관점 스타일 사례
      • 용어 설명: 관점지향 프로그래밍
    • 2.6 데이터 모델
      • 2.6.1 개요
      • 2.6.2 요소, 관계, 속성
      • 2.6.3 데이터 모델 사용
      • 2.6.4 데이터 모델 스타일 표기법
      • 2.6.5 다른 스타일과의 관계
      • 2.6.6 사례
      • 용어 설명: 엔티티
    • 2.7 요약 체크리스트
    • 2.8 생각해볼 문제
    • 2.9 더 읽을거리

  • 3장 컴포넌트-커넥터 뷰
    • 3.1 개요
    • 3.2 C&C 뷰의 요소, 관계, 속성
      • 3.2.1 요소
      • 3.2.2 컴포넌트-커넥터 타입과 인스턴스
      • 3.2.3 관계
      • 3.2.4 속성
      • 관점: 복잡한 커넥터가 필요할까?
    • 3.3 C&C 뷰 사용
      • 관점: 커넥터 추상화 선택
    • 3.4 C&C 뷰 표기법
      • 3.4.1 비형식적 표기법
      • 3.4.2 형식적 표기법
      • 3.4.3 준형식적 표기법
      • 관점: 데이터 흐름과 제어 흐름 모델
    • 3.5 다른 뷰와의 관계
    • 3.6 요약 체크리스트
    • 3.7 생각해볼 문제
    • 3.8 더 읽을거리

  • 4장 몇 가지 컴포넌트-커넥터 스타일
    • 4.1 C&C 스타일 개요
    • 4.2 데이터 흐름 스타일
      • 4.2.1 파이프-필터 스타일
    • 4.3 호출-반환 스타일
      • 4.3.1 클라이언트-서버 스타일
      • 4.3.2 P2P 스타일
      • 4.3.3 서비스지향 아키텍처 스타일
    • 4.4 이벤트 기반 스타일
      • 4.4.1 출판-구독 스타일
    • 4.5 레파지토리 스타일
      • 4.5.1 공유 데이터 스타일
    • 4.6 C&C 스타일 횡단 관심사
      • 4.6.1 프로세스-커뮤니케이션
      • 4.6.2 티어
      • 4.6.3 동적 생성과 소멸
    • 4.7 요약 체크리스트
    • 4.8 생각해볼 문제
    • 4.9 더 읽을거리

  • 5장 할당 뷰와 몇 가지 할당 스타일
    • 5.1 개요
    • 5.2 배포 스타일
      • 5.2.1 개요
      • 5.2.2 요소, 관계, 속성
      • 5.2.3 배포 스타일 사용
      • 5.2.4 배포 스타일 표기법
      • 5.2.5 다른 스타일과의 관계
    • 5.3 설치 스타일
      • 5.3.1 개요
      • 5.3.2 요소, 관계, 속성
      • 5.3.3 설치 스타일 사용
      • 5.3.4 설치 스타일 표기법
      • 5.3.5 다른 스타일과의 관계
    • 5.4 작업 배정 스타일
      • 5.4.1 개요
      • 5.4.2 요소, 관계, 속성
      • 5.4.3 작업 배정 스타일 사용
      • 5.4.4 작업 배정 스타일 표기법
      • 5.4.5 다른 스타일과의 관계
      • 관점: 작업 배정 뷰가 왜 아키텍처적인가?
    • 5.5 기타 할당 스타일
      • 관점: 조정 뷰
    • 5.6 요약 체크리스트
    • 5.7 생각해볼 문제
    • 5.8 더 읽을거리

  • II부 구조를 넘어서: 문서화 완료
  • 6장 기초를 넘어서
    • 6.1 정제
      • 6.1.1 분할 정제
      • 6.1.2 구현 정제
      • 6.1.3 설계 스펙트럼
    • 6.1.4 스타일 특수화
    • 6.2 서술적 완결성
    • 6.3 컨텍스트 다이어그램 문서화
      • 6.3.1 뷰 용어를 사용한 컨텍스트 다이어그램 생성
      • 6.3.2 컨텍스트 다이어그램 내용
      • 6.3.3 컨텍스트 다이어그램과 다른 지원 문서화
      • 6.3.4 컨텍스트 다이어그램 표기법
    • 6.4 가변점 문서화
      • 6.4.1 가변점
      • 6.4.2 가변 메커니즘
      • 용어 설명: 제품 라인 아키텍처
      • 6.4.3 역동성과 동적 아키텍처
      • 6.4.4 가변점 문서화
    • 6.5 아키텍처 결정 문서화
      • 6.5.1 아키텍처 결정 문서화 이유
      • 6.5.2 아키텍처 결정 문서화 템플릿
      • 6.5.3 대안 문서화
      • 6.5.4 어떤 결정을 문서화할 것인가?
      • 관점: “이것을 하려면 많은 노력이 들겠지만, 함께 찾아보면 방법이 있습니다.”
      • 6.5.5 아키텍처 결정 문서화 보상
      • 관점: 아키텍처 문서화로부터 의사 결정으로서의 아키텍팅까지
      • 관점: 아키텍처 결정의 온톨로지
    • 6.6 뷰 결합
      • 6.6.1 뷰 사이의 연관 타입
      • 6.6.2 결합 뷰
      • 6.6.3 뷰를 결합할 때
      • 6.6.4 결합 뷰의 예
    • 6.7 요약 체크리스트
    • 6.8 생각해볼 문제
    • 6.9 더 읽을거리

  • 7장 소프트웨어 인터페이스 문서화
    • 7.1 개요
      • 용어 설명: 제공 인터페이스 대 필수 인터페이스
    • 7.2 인터페이스 문서화
      • 7.2.1 다이어그램에 인터페이스의 존재 보여주기
    • 7.3 인터페이스 문서화의 표준 구성
      • 용어 설명: 에러 처리
    • 7.4 인터페이스 문서화의 이해당사자
    • 7.5 구문 정보 전달
    • 7.6 의미적인 정보 전달
    • 7.7 인터페이스 문서화 사례
      • 7.7.1 Zip 컴포넌트 API
      • 용어 설명: 시그니처, 인터페이스, API
      • 7.7.2 SOAP 웹 서비스 인터페이스
    • 7.8 요약 체크리스트
    • 7.9 생각해볼 문제
    • 7.10 더 읽을거리

  • 8장 행위 문서화
    • 8.1 구조를 넘어서
    • 8.2 행위 문서화 방법
      • 8.2.1 1단계: 어떤 유형의 질문에 대답할지를 결정한다
      • 8.2.2 2단계: 어떤 타입의 정보를 사용할지, 제약할지를 결정한다
      • 8.2.3 3단계: 표기법을 선택한다
    • 8.3 행위 문서화 표기법
      • 8.3.1 추적 표기법
      • 8.3.2 포괄적인 모델 표기법
    • 8.4 행위 문서화 위치
    • 8.5 행위 문서화 이유
      • 8.5.1 개발 행위 주도
      • 8.5.2 분석
    • 8.6 요약 체크리스트
    • 8.7 생각해볼 문제
    • 8.8 더 읽을거리

  • III부 아키텍처 문서화 구축
  • 9장 뷰 선택
    • 9.1 이해당사자와 문서화 필요성
    • 9.2 뷰 선택 방법
      • 관점: 이해당사자에게 듣기
    • 9.3 사례
      • 관점: 아키텍처를 도입하지 않는 방법
    • 9.4 요약 체크리스트
    • 9.5 생각해볼 문제
    • 9.6 더 읽을거리

  • 10장 문서 패키지 구축
    • 10.1 뷰 문서화
      • 10.1.1 뷰 문서화 표준 구성
      • 관점: 컨텍스트 다이어그램에서 컨텍스트 뷰까지
      • 10.1.2 뷰 표준 구성의 유용한 변형
      • 10.1.3 뷰 또는 뷰 패킷에 불필요한 반복 피하기
    • 10.2 뷰 너머 문서화
      • 10.2.1 뷰 너머 정보 문서화의 표준 구성
      • 10.2.2 뷰 너머 문서화 표준 구성의 유용한 변형
    • 10.3 요구 매핑 문서화
      • 관점: 요구 매핑: 이미 갖고 있을 수 있음
    • 10.4 아키텍처 문서 패키징
      • 10.4.1 패키징 체계
      • 10.4.2 온라인 문서, 하이퍼텍스트, 위키
      • 용어 설명: 위키
      • 10.4.3 형상 관리
      • 10.4.4 릴리스 전략 따르기
      • 관점: 표현도 역시 중요하다
      • 관점: 도구 요구
    • 10.5 요약 체크리스트
    • 10.6 더 읽을거리

  • 11장 아키텍처 문서 검토
    • 11.1 절차 단계
      • 용어 설명: 능동적 설계 검토
    • 11.2 아키텍처 문서 검토를 위한 질문 세트의 예
      • 11.2.1 적합한 이해당사자와 관심사를 찾기 위한 예제 질문 세트
      • 11.2.2 평가 지원을 위한 예제 질문 세트
      • 11.2.3 개발을 지원하기 위한 예제 질문 세트
      • 11.2.4 ISO/IEC 42010 준수를 위한 예제 질문 세트
    • 11.3 검토 구축과 수행 예제
    • 11.4 요약 체크리스트
    • 11.5 생각해볼 문제
    • 11.6 더 읽을거리

  • 에필로그: 다른 접근 방법과 함께 뷰와 그 너머 사용
    • E.1 ISO/IEC 42010, 이전의 ANSI/IEEE Std 1471-2000
      • E.1.1 개요
      • E.1.2 42010과 뷰와 그 너머
    • E.2 RUP/크루첸 4+1
      • E.2.1 RUP/4+1과 뷰와 그 너머
    • E.3 로잔스키와 우즈 관점 집합 사용
      • 용어 설명: 아키텍처 시각
      • E.3.1 로잔스키와 우즈 관점과 뷰와 그 너머
    • E.4 애자일 개발 프로젝트에서 아키텍처 문서화
      • E.4.1 개요
      • E.4.2 애자일 개발과 뷰와 그 너머
    • E.5 미국 국방 아키텍처 프레임워크
      • E.5.1 DoDAF 개요
      • E.5.2 DoDAF와 소프트웨어 아키텍처
      • E.5.3 DoDAF와 뷰와 그 너머
      • E.5.4 소프트웨어 아키텍처 문서화에 DoDAF 사용 전략
    • E.6 아키텍처 문서화가 끝나는 곳
    • E.7 끝으로
    • E.8 더 읽을거리

  • 부록 A UML
    • A.1 개요
    • A.2 모듈 뷰 문서화
      • A.2.1 분할 스타일
      • A.2.2 사용 스타일
      • A.2.3 일반화 스타일
      • A.2.4 레이어 스타일
      • A.2.5 관점 스타일
      • A.2.6 데이터 모델 스타일
      • 관점: UML 클래스 다이어그램: 너무 많아도, 너무 적어도
    • A.3 컴포넌트-커넥터 뷰 문서화
    • A.4 할당 뷰 문서화
      • A.4.1 배포스타일
      • A.4.2 설치 및 구현 스타일
      • A.4.3 작업 배정 스타일
    • A.5 행위 문서화
      • A.5.1 액티비티 다이어그램
      • A.5.2 시퀀스 다이어그램
      • A.5.3 커뮤니케이션 다이어그램
      • A.5.4 타이밍 다이어그램
      • A.5.5 인터랙션 오버뷰 다이어그램
      • A.5.6 상태 머신 다이어그램
      • A.5.7 유스케이스 다이어그램
    • A.6 인터페이스 문서화
      • 관점: UML 도구

  • 부록 B SysML
    • B.1 아키텍처 문서화
    • B.2 요구
    • B.3 모듈 뷰 문서화
    • B.4 컴포넌트-커넥터 뷰 문서화
    • B.5 할당 뷰 문서화
    • B.6 행위 문서화
    • B.7 인터페이스 문서화
    • B.8 요약

  • 부록 C AADL - SAE 아키텍처 분석과 설계 언어
    • C.1 개요
    • C.2 모듈 스타일 문서화
    • C.3 컴포넌트-커넥터 뷰 문서화
    • C.4 배포 뷰 문서화
    • C.5 행위 문서화
    • C.6 인터페이스 문서화
    • C.7 요약

도서 오류 신고

도서 오류 신고

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

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

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