적정 소프트웨어 아키텍처 (리스크 주도 접근법)

적정 소프트웨어 아키텍처 (리스크 주도 접근법)

$32.58
Description
소프트웨어 개발자를 위한 실용 가이드
이 책은 소프트웨어 개발을 시작할 때 필요한 실용 가이드북이다. 소프트웨어 아키텍처의 리스크는 무엇인지, 아키텍처 설계 원칙은 어떻게 적용하고 해결하는지, 유관 부서의 실무자를 어떻게 도울 수 있는지 등의 주제를 개발자가 흔히 겪는 경험을 기반으로 풀어냈다. 개발하면서 너무 많은 문서를 작성했거나, 코딩을 시작하기 전에 너무 적게 고민한 적도 있을 것이다. 어느 쪽이든 소프트웨어 개발이 왜 잘못되는지 알 수 있고, 이 책에서 제공하는 해결책이 많은 도움이 될 것이다.
선정 및 수상내역
2023 대한민국학술원 우수학술도서 선정도서
저자

조지페어뱅크스

GeorgeH.Fairbanks
소프트웨어시스템을구축하는방법을배우려고노력한결과,학계와산업소프트웨어개발을접목할수있었다.저자는컴퓨터과학학위세트(학사,석사,박사)가있으며박사는카네기멜런대학교의소프트웨어엔지니어링분야에서취득했다.연구한논문의주제는많은개발자가직면하는문제인‘소프트웨어프레임워크’였다.프레임워크사용방법을설명하려고‘designfragments’라는새로운사양을개발했고,올바르게사용하는중인지확인할수있는이클립스기반도구를구축했다.데이비드갈란과빌셜리스의지도를받았고,논문심사위원회에는영광스럽게도조너선올드리치와랄프존슨이참여했다.
학업중에는이론적인내용을배웠으며,현업에서실질적인부분을더익힐수있었다.노텔DMS-100중앙사무실전화스위치(centralofficetelephoneswitch),운전시뮬레이터(drivingsimulator)용통계분석,TWTelecom의IT애플리케이션,이클립스IDE용플러그인,그리고웹스타트업의모든코드를포함한프로젝트에소프트웨어개발자로참여했다.아마추어시스템관리자로서리눅스박스를만지고,컴퓨터LED를벽장의미등처럼사용했으며,전원공급장치를난방기처럼사용했다.그리고초창기부터애자일기법을지지해왔다.1996년몸담았던부서의6개월개발주기를2주로단축했고,1998년테스트주도개발을시작했다.
현재구글의소프트웨어엔지니어다.구글애드익스체인지(AdX)를포함한다수의프로젝트
에서테크니컬리더로활동중이다.

목차

CHAPTER1개요
_1.1분할,지식,추상화
_1.2소프트웨어아키텍처세가지예시
_1.3되돌아보기
_1.4관점이동
_1.5아키텍처를아키텍처링하는아키텍트
_1.6리스크주도소프트웨어아키텍처
_1.7애자일개발자를위한아키텍처
_1.8이책에대하여

PARTI리스크주도소프트웨어아키텍처

CHAPTER2소프트웨어아키텍처
_2.1소프트웨어아키텍처개요
_2.2소프트웨어아키텍처가중요한이유
_2.3아키텍처가중요한상황은?
_2.4추정아키텍처
_2.5소프트웨어아키텍처사용법
_2.6아키텍처무관설계
_2.7아키텍처집중설계
_2.8아키텍처상향설계
_2.9대규모조직에서의아키텍처
_2.10마치며
_2.11참고자료

CHAPTER3리스크주도모델
_3.1리스크주도모델개요
_3.2리스크주도성자가진단
_3.3리스크
_3.4기법
_3.5기법선택가이드
_3.6적정한투자
_3.7계획설계와진화적설계
_3.8소프트웨어개발프로세스
_3.9프로세스변동의이해
_3.10리스크주도모델과소프트웨어프로세스
_3.11애자일프로세스에적용
_3.12리스크와아키텍처리팩터링
_3.13리스크주도모델의대안
_3.14마치며
_3.15참고자료

CHAPTER4예제:홈미디어플레이어
_4.1팀커뮤니케이션
_4.2상용기성품컴포넌트통합
_4.3메타데이터일관성
_4.4마치며

CHAPTER5모델링관련조언
_5.1리스크에집중하기
_5.2아키텍처이해
_5.3아키텍처기술배포
_5.4합리적인아키텍처선택
_5.5지나친선행설계미리피하기
_5.6하향식설계방지
_5.7남은과제
_5.8기능과리스크:예시

PARTII아키텍처모델링

CHAPTER6엔지니어가사용하는모델
_6.1규모와복잡성에필요한추상화
_6.2통찰력과지렛대효과를제공하는추상화
_6.3시스템품질추론
_6.4세부사항을제거하는모델
_6.5추론을증폭하는모델
_6.6질문이먼저,모델은그다음
_6.7마치며
_6.8참고자료

CHAPTER7소프트웨어아키텍처의개념모델
_7.1정준모델구조
_7.2도메인모델,디자인모델,코드모델
_7.3지정및구체화관계
_7.4마스터모델의여러가지뷰
_7.5모델을구성하는다른방법
_7.6비즈니스모델링
_7.7UML사용
_7.8마치며
_7.9참고자료

CHAPTER8도메인모델
_8.1도메인과아키텍처의관계
_8.2정보모델
_8.3탐색및불변사항
_8.4스냅샷
_8.5기능시나리오
_8.6마치며
_8.7참고자료

CHAPTER9디자인모델
_9.1디자인모델
_9.2경계모델
_9.3내부모델
_9.4품질속성
_9.5인저시스템설계살펴보기
_9.6뷰타입
_9.7동적아키텍처모델
_9.8아키텍처기술언어
_9.9마치며
_9.10참고자료

CHAPTER10코드모델
_10.1모델코드격차
_10.2일관성관리
_10.3구조적으로명확한코딩스타일
_10.4코드에서설계의도표현
_10.5코드내모델원칙
_10.6표현할내용
_10.7코드에서설계의도를표현하는패턴
_10.8이메일처리시스템둘러보기
_10.9마치며

CHAPTER11캡슐화및파티셔닝
_11.1여러수준의스토리
_11.2계층구조및분할
_11.3분해전략
_11.4효과적인캡슐화
_11.5캡슐화된인터페이스구축
_11.6마치며
_11.7참고자료

CHAPTER12모델요소
_12.1할당요소
_12.2컴포넌트
_12.3컴포넌트조립도
_12.4커넥터
_12.5설계결정
_12.6기능시나리오
_12.7불변사항(제약조건)
_12.8모듈
_12.9포트
_12.10품질속성
_12.11품질속성시나리오
_12.12책임
_12.13트레이드오프
_12.14마치며

CHAPTER13모델관계
_13.1투영(뷰)관계
_13.2분할관계
_13.3구성관계
_13.4분류관계
_13.5일반화관계
_13.6지정관계
_13.7구체화관계
_13.8바인딩관계
_13.9종속성관계
_13.10관계의사용
_13.11마치며
_13.12참고자료

CHAPTER14아키텍처스타일
_14.1장점
_14.2개념스타일대구현스타일
_14.3제약조건및아키텍처집중설계
_14.4패턴대스타일
_14.5스타일카탈로그
_14.6계층스타일
_14.7큰진흙뭉치스타일
_14.8파이프와필터스타일
_14.9일괄-순차스타일
_14.10모델중심스타일
_14.11발행-구독스타일
_14.12클라이언트-서버스타일및다중계층
_14.13P2P스타일
_14.14맵리듀스스타일
_14.15미러링,랙,팜스타일
_14.16마치며
_14.17참고자료

CHAPTER15아키텍처모델사용하기
_15.1바람직한모델특성
_15.2뷰를이용한작업
_15.3뷰품질향상
_15.4다이어그램품질개선
_15.5테스트및증명
_15.6아키텍처모델분석
_15.7아키텍처불일치
_15.8추상화수준선택
_15.9사용자인터페이스계획
_15.10규범모델대설명모델
_15.11기존시스템모델링
_15.12마치며
_15.13참고자료

CHAPTER16결론
_16.1당면과제
_16.2품질속성에집중
_16.3모델링이아니라문제해결
_16.4제약조건을가이드레일로사용
_16.5표준아키텍처추상화사용

출판사 서평

리스크관리중심의적정한설계를위한소프트웨어아키텍처가이드
처음부터완벽한소프트웨어개발설계방법이있을까?이책은설계의적정한수준은무엇이며,리스크관리중심으로아키텍처를설계하는방법은무엇인지,어떻게전략적으로자신의프로젝트에적용할수있는지자세히설명한다.다루는내용과수준은실무소프트웨어개발자뿐아니라미숙한개발자나고학년학부생까지총망라한다.
소프트웨어아키텍처의필수개념,아키텍처설계를수행하는추천시기와현실적인조언,다양한모델과스타일,리스크관리중심의설계적용방법을배우고여러분의아키텍처설계에필요한실용적이고적절한해결책을찾길바란다.

주요내용
● 리스크주도아키텍처링:직면한리스크에따라적정한아키텍처설계를수행하는방법
● 참여하는아키텍처:아키텍트뿐아니라모든소프트웨어개발자를위한아키텍처
● 선언적지식:기법을적재적소에사용하기위한개념과용어
● 엔지니어링강조:소프트웨어개발의기술적인부분과시스템작동을위한엔지니어링
● 실용적인활용방법:상위아키텍처부터하위자료구조설계까지다양한수준의모델을활용하는접근방법