서브메뉴

본문

소프트웨어 아키텍처
소프트웨어 아키텍처
저자 : 폴 클레멘츠
출판사 : 에이콘출판
출판년 : 2009
정가 : 40000, ISBN : 9788960770737

책소개


소프트웨어 아키텍처를 다루는 실무자들을 위한 책으로 소프트웨어 아키텍트로서 저자들의 폭넓은 경험을 바탕으로 어떤 정보를 문서에 기록해야 하는지 결정하고, 그런 다음에 필요한 지침들과 UML 등 다양한 표기법으로 작성한 예제들을 가지고 누구나 이해할 수 있는 형태로 아키텍처를 표현하는 방법을 보여주는 책이다. 좋은 문서를 만드는 일곱 가지 규칙, 소프트웨어 아키텍처를 활용하는 용도, 목표, 전략, 아키텍처 뷰와 스타일에 대한 일반적인 소개와 구체적인 예제 등을 담고 있다. 소프트웨어 프로젝트에서 아키텍처 문서를 작성하는 책임을 진 아키텍트와 기술문서 작성자들이 읽으면 좋을 것이다.

목차


서장: 소프트웨어 아키텍처와 문서화
P1: 아키텍처의 역할
용어 설명: 소프트웨어 아키텍처
견해 소개: 아키텍처는 설계와 어떻게 다른가?
용어 설명: 문서화, 설명, 표현, 명세
P2: 아키텍처 문서 활용방안
P3: 인터페이스
P4: 뷰
용어 설명: 아키텍처 뷰
P5: 뷰타입과 스타일
P.5.1 뷰타입
P.5.2 스타일
P.5.3 뷰타입, 스타일, 뷰에 대한 요약
용어 설명: 모듈과 컴포넌트
P6: 좋은 문서를 만드는 7가지 규칙
P.6.1 규칙 1: 읽는 사람의 관점에서 문서를 작성한다
P.6.2 규칙 2: 불필요한 반복을 피한다
P.6.3 규칙 3: 모호함을 피한다
P.6.4 규칙 4: 표준 체계를 따른다
P.6.5 규칙 5: 근거를 남겨둔다
P.6.6 규칙 6: 문서를 항상 최신으로 유지하되 너무 앞서나가지 않는다
P.6.7 규칙 7: 목적에 맞게 작성됐는지 사후 검토한다
견해 소개: 화살표에 대한 고민
P7: 요약정리
P8: 토론 문제
P9: 더 읽을거리

1부: 소프트웨어 아키텍처 뷰타입과 스타일
1.1 뷰타입과 스타일 목록
I.1.1 모듈 뷰타입
I.1.2 컴포넌트와 커넥터 뷰타입
I.1.3 할당 뷰타입
1.2 스타일 지침 : 스타일 문서화 표준 구조

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.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 사용 스타일의 예제
용어 설명: 사용
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 계층 스타일의 예제
용어 설명: 가상 기계
견해 소개: 거슬러 올라가는 소프트웨어
견해 소개: '수준' 때문에 생기는 혼란
견해 소개: UML 클래스 다이어그램 남용금지!
2.5 요약정리
2.6 토론 문제
2.7 더 읽을거리

3장 컴포넌트와 커넥터 뷰타입
3.1 개요
3.2 C&C 뷰타입의 요소, 관계, 속성
3.2.1 요소
3.2.2 관계
3.2.3 속성
견해 소개: 커넥터가 정말 필요한가?
견해 소개: 커넥터 추상화 하기
3.3 C&C 뷰타입의 용도
견해 소개: 데이터 흐름과 제어 흐름 투영
3.4 C&C 뷰타입 표기법
3.5 다른 뷰타입과의 관계
3.6 요약정리
3.7 토론 문제
3.8 더 읽을거리

4장 컴포넌트와 커넥터 뷰타입 스타일
4.1 파이프와 필터 스타일
4.1.1 개요
4.1.2 요소, 관계, 속성
4.1.3 파이프와 필터 스타일의 용도
4.1.4 다른 스타일과의 관계
4.1.5 파이프와 필터 스타일의 사례
4.2 공유 데이터 스타일
4.2.1 개요
4.2.2 요소, 관계, 속성
4.2.3 공유 데이터 스타일의 용도
4.2.4 다른 스타일과의 관계
4.2.5 공유 데이터 스타일의 사례
4.3 발행 구독 스타일
4.3.1 개요
4.3.2 요소, 관계, 속성
4.3.3 발행 구독 스타일의 용도
4.3.4 다른 스타일과의 관계
4.3.5 발행 구독 스타일의 사례
4.4 클라이언트 서버 스타일
4.4.1 개요
4.4.2 요소, 관계, 속성
4.4.3 클라이언트 서버 스타일의 용도
4.4.4 다른 스타일과의 관계
4.4.5 클라이언트 서버 스타일의 사례
4.5 피어 투 피어 스타일
4.5.1 개요
4.5.2 요소, 관계, 속성
4.5.3 피어 투 피어 스타일의 용도
4.5.4 다른 스타일과의 관계
4.5.5 피어 투 피어 스타일의 사례

2부 실전 소프트웨어 아키텍처 문서화

6장 고급 개념
6.1 정보 분할과 뷰 패킷, 정제, 설명적 완결성
6.1.1 뷰 패킷
6.1.2 정제
6.1.3 설명적 완결성
6.2 컨텍몽트 다이어그램 사용
6.2.1 최상위 수준 컨텍스트 다이어그램
6.2.2 컨텍스트 다이어그램의 내용
6.2.4 컨텍스트 다이어그램 표기법
6.2.5 컨텍스트 다이어그램에 대한 예제
6.3 결합 뷰
6.3.1 결합 뷰를 사용해야 하는 경우
6.3.2 대응의 유형
6.3.3 요소, 관계, 속성
6.3 결합 뷰 문서화
6.3.5 결합 뷰 예제
6.3.6 그 밖의 예제
6.4 가변성과 역동성 문서화
6.4.1 가변성
6.4.2 역동성
6.4.3 정보 기록
6.4.4 가변성과 역동성 표기법
견해 소개: 시점이란 무엇인가?
6.5 새로운 스타일 작성과 문서화
용어 설명: 스타일과 패턴
6.6 요약정리
6.7 토론 문제
6.8 더 읽을거리

7장 소프트웨어 인터페이스 문서화
7.1 개요
7.2 인터페이스 명세
7.3 인터페이스 문서 표준 구성
용어 설명: 예외와 오류 처리
7.4 인터페이스 문서와 관련된 이해관계자
7.5 인터페이스 문서 표기법
7.5.1 인터페이스의 존재 제시
7.5.2 형태정보 전달
7.5.3 의미정보 전달
7.5.4 요약
견해 소개: 다중 인터페이스
용어 설명: 호출규약, 인터페이스, API
7.6 인터페이스 문서화 예제
7.6.1 SCR 스타일의 인터페이스
7.6.2 IDL
7.6.3 맞춤형 표기법
7.6.4 XML
7.7 요약정리
7.8 토론 문제
7.9 더 읽을거리

8장 행위 문서화
8.1 구조를 넘어서
8.2 행위 문서화 위치
8.3 행위 문서화 필요성
8.3.1 시스템 분석
8.3.2 개발 작업 추진
8.4 문서화 내용
8.4.1 통신 방식
8.4.2 순서 제약사항
8.4.3 시간에 따라 발생하는 자극
8.5 행위 문서화에 쓰이는 언어와 표기법
8.5.1 추적trace
8.5.2 정적 모델
8.6 요약정리
8.7 토론 문제
8.8 더 읽을거리

9장 뷰 선택
9.1 이해관계자들에게 필요한 문서
견해 소개: 아키텍처 트레이드오프 분석 방법
9.2 선택하기
9.3 두 가지 예제
9.3.1 소규모 프로젝트 A-7E
9.3.2 대규모 프로젝트 ECS
9.4 요약정리
9.5 토론 문제
9.6 더 읽을거리

10장 문서 패키지 작성
10.1 문서를 하나로? 여러 개로?
견해 소개 'is'의 의미
10.2 뷰 문서화
견해 소개: 표현 방법도 중요해
10.3 여러 뷰를 고려한 문서화
10.3.1 어떻게 문서가 구성됐는가: 구성 정보
10.3.2 무엇을 아키텍처로 봤는가: 구성 내용
10.3.3 왜 아키텍처가 현재의 모습을 하고 있는가: 배경, 근거, 설계 제약사항
견해 소개: 전역 분석Global Analysis
10.4 소프트웨어 아키텍처 문서의 검증
견해 소개: 용어집을 만들면 좋았을 텐데
10.5 요약정리
10.6 토론 문제
10.7 더 읽을거리

11장 여러 뷰를 고려한 문서 작성에 대한 다양한 시각 뷰에 대한 다양한 시각
11.1 개요
11.2 래셔널 통합 프로세스(RUP)/크루첸 4+1
11.3 UML
11.3.1 클래스 다이어그램과 객체 다이어그램
11.3.2 컴포넌트 다이어그램
11.3.4 행위 다이어그램
11.4 지멘스 4 뷰
11.4.1 전역 분석
11.4.2 개념적 아키텍처 뷰
11.4.3 모듈 아키텍처 뷰
11.4.4 실행 아키텍처 뷰
11.4.5 코드 아키텍처 뷰
11.4.6 요약
11.5 C4ISR 아키텍처 프레임워크
11.5.2 공통 산출물
11.6 ANSI/IEEE-1471-2000
11.7 데이터 흐름과 제어 흐름
11.7.1 데이터 흐름 뷰
11.7.2 제어 흐름 뷰
견해 소개: 그거 전부 다 추측이잖아요!
11.8 RM-ODP 371
11.9 아키텍처 문서화의 결말
11.9.1 아키텍처 설명 언어
11.9.2 상용 컴포넌트
11.9.3 하이퍼텍스트 문서
11.9.4 형상 관리
11.10 당부의 말
11.11 더 읽을거리