1부. 소개 1장. 소프트웨어 아키텍처 정의1.1 소프트웨어 아키텍처의 올바른 정의와 오해1.2 아키텍처 구조와 뷰1.3 무엇이 좋은 아키텍처를 만드는가?1.4 요약1.5 참고 문헌1.6 토론 질문2장. 소프트웨어 아키텍처가 중요한 이유2.1 시스템의 품질 속성 억제 또는 보장2.2 변경 사항 추론 및 관리2.3 시스템 품질 예측2.4 이해관계자 간의 의사소통2.5 초기 설계 결정2.6 구현에 대한 제약2.7 조직 구조에 대한 영향2.8 점증적 개발 가능2.9 비용 및 일정 추정2.10 이전 가능한 재사용 모델2.11 독립적으로 개발된 요소들의 통합2.12 설계 선택 사항 제한2.13 훈련 기반2.14 요약2.15 참고 문헌2.16 토론 질문2부. 품질 속성3장. 품질 속성 이해하기3.1 기능성 3.2 품질 속성 고려 사항3.3 품질 속성 요구 사항 명세: 품질 속성 시나리오3.4 아키텍처 패턴과 전술을 통한 품질 속성 달성3.5 전술을 활용한 설계3.6 품질 속성 설계 결정 분석: 전술 기반 질문지3.7 요약3.8 참고 문헌3.9 토론 질문4장. 가용성4.1 가용성 일반 시나리오4.2 가용성 전술4.3 가용성 전술 기반 질문지4.4 가용성 패턴4.5 참고 문헌4.6 토론 질문5장. 배포 용이성5.1 지속적인 배포5.2 배포 용이성5.3 배포 용이성 일반 시나리오5.4 배포 용이성 전술5.5 배포 용이성 전술 기반 질문지5.6 배포 용이성 패턴5.7 참고 문헌5.8 토론 질문6장. 에너지 효율성6.1 에너지 효율성 일반 시나리오6.2 에너지 효율성 전술6.3 에너지 효율성 전술 기반 질문지6.4 패턴6.5 참고 문헌6.6 토론 질문7장. 통합 용이성7.1 아키텍처의 통합 용이성 평가7.2 통합 용이성 일반 시나리오7.3 통합 용이성 전술7.4 통합 용이성 전술 기반 질문지7.5 패턴7.6 참고 문헌7.7 토론 질문8장. 변경 용이성8.1 변경 용이성 일반 시나리오8.2 변경 용이성 전술8.3 변경 용이성 전술 기반 질문지8.4 패턴8.5 참고 문헌8.6 토론 질문9장. 성능9.1 성능 일반 시나리오9.2 성능 전술9.3 성능 전술 기반 질문지9.4 성능 패턴9.5 참고 문헌9.6 토론 질문10장. 안전성10.1 안전성 일반 시나리오10.2 안전성 전술10.3 안전성 전술 기반 질문지10.4 안전성 패턴10.5 참고 문헌10.6 토론 질문11장. 보안11.1 보안 일반 시나리오11.2 보안 전술 11.3 보안 전술 기반 질문지11.4 보안 패턴11.5 참고 문헌11.6 토론 질문12장. 테스트 용이성12.1 테스트 용이성 일반 시나리오12.2 테스트 용이성 전술12.3 테스트 용이성 전술 기반 질문지12.4 테스트 용이성 패턴12.5 참고 문헌12.6 토론 질문13장. 사용성13.1 사용성 일반 시나리오13.2 사용성 전술13.3 사용성 전술 기반 질문지13.4 사용성 패턴13.5 참고 문헌13.6 토론 질문14장. 기타 품질 속성14.1 기타 품질 속성 종류14.2 품질 속성 표준 리스트 사용 여부14.3 새로운 품질 속성을 다루는 방법14.4 참고 문헌14.5 토론 질문3부. 아키텍처 해결책 15장. 소프트웨어 인터페이스15.1 인터페이스 개념15.2 인터페이스 설계15.3 인터페이스 문서화15.4 요약15.5 참고 문헌15.6 토론 질문16장. 가상화16.1 공유 리소스16.2 가상 머신16.3 가상 머신 이미지 16.4 컨테이너 16.5 컨테이너와 가상 머신16.6 컨테이너 이식성16.7 팟16.8 서버리스 아키텍처16.9 요약16.10 참고 문헌16.11 토론 질문17장. 클라우드 및 분산 컴퓨팅17.1 클라우드 기본 지식17.2 클라우드에서의 고장17.3 성능과 가용성을 향상시키기 위한 다중 인스턴스 사용17.4 요약17.5 참고 문헌17.6 토론 질문18장. 모바일 시스템18.1 에너지18.2 네트워크 연결성18.3 센서와 액추에이터18.4 리소스18.5 생애주기18.6 요약18.7 참고 문헌18.8 토론 질문4부. 확장 가능한 아키텍처 실천법19장. 아키텍처 관점에서 중요한 요구 사항들19.1 요구 사항 문서로부터 ASR 수집19.2 이해관계자 인터뷰를 통한 ASR 수집19.3 비즈니스 목표 이해를 통한 ASR 수집19.4 유틸리티 트리와 ASR19.5 언제나 발생하는 변경19.6 요약19.7 참고 문헌19.8 토론 질문20장. 아키텍처 설계20.1 속성 중심 설계20.2 속성 중심 설계의 구성 단계20.3 단계 4: 설계 개념 선택에 관한 추가 내용20.4 단계 5: 구조 생성에 관한 추가 내용20.5 단계 6: 설계 중에 예비 문서 생성에 관한 추가 내용20.6 단계 7: 현재 설계에 대한 분석 수행과 반복 목표 및 설계 목적 달성 리뷰에 대한 추가 내용20.7 요약20.8 참고 문헌20.9 토론 질문21장. 아키텍처 평가21.1 위험 감소를 위한 평가21.2 무엇이 핵심 평가 활동인가?21.3 평가 주체21.4 상황적 요인들21.5 아키텍처 절충점 분석 방법21.6 경량 아키텍처 평가21.7 요약21.8 참고 문헌21.9 토론 질문22장. 아키텍처 문서22.1 아키텍처 문서의 사용 용도와 청중22.2 표기법22.3 뷰22.4 뷰 결합22.5 행동 문서화22.6 뷰 외의 항목들22.7 근거 문서화22.8 아키텍처 이해관계자들22.9 실질적인 고려 사항22.10 요약22.11 참고 문헌22.12 토론 질문23장. 아키텍처 부채 관리23.1 아키텍처 부채 문제가 있는지 여부 결정23.2 핫스팟 발견23.3 아키텍처 부채 사례23.4 자동화23.5 요약23.6 참고 문헌23.7 토론 질문5부. 아키텍처와 조직24장. 프로젝트에서 아키텍트의 역할24.1 아키텍트와 프로젝트 관리자24.2 점증적인 아키텍처와 이해관계자들24.3 아키텍처와 애자일 개발24.4 아키텍처와 분산 개발24.5 요약24.6 참고 문헌24.7 토론 질문25장. 아키텍처 역량25.1 개인 역량: 아키텍트의 업무와 기술, 지식25.2 소프트웨어 아키텍처 조직의 역량25.3 더 나은 아키텍트 되기25.4 요약25.5 참고 문헌25.6 토론 질문6부. 결론26장. 미래 예측: 양자 컴퓨팅 26.1 큐비트26.2 양자 순간 이동26.3 양자 컴퓨팅과 암호화26.4 기타 알고리즘26.5 잠재적인 적용 분야26.6 결론26.7 참고 문헌