아키 텍 쳐 적 인 Tradeoff 를 고려 해라 . ( Architectural Tradeoff ) | arload – my Load , to Architect 
 9 월 12 , 2009 — arload 	 아키 텍 쳐 적 인 Tradeoff 를 고려 해라 . ( Architectural Tradeoff ) 
 모든 소프트웨어 아키 텍 트 들 은 모든 것 을 가질 수 없 다는 것 을 알 고 이해 해야 합니다 . 높 은 성능 , 높 은 가용성 , 고 수준 의 보안 그리고 고 수준 의 추상 화 모두 를 동시 에 충족 하 는 아키 텍 쳐 를 설계 하 는 것 은 사실 상 불 가능 합니다 . 
 소프트웨어 아키 텍 트 들 이 알 아야 만 하 고 , 이해 해야 하 는 , 그리고 고객 , 동료 와 함께 대화 를 나누 어야 하 는 진실 된 이야기 가 있 습니다 . 
 이 이야기 는 Vasa 라 불리 는 배 이야기 입니다 . 1620 년 대 에 스웨덴 과 폴란드 사이 에 전쟁 이 발생 했 습니다 . 스웨덴 국왕 은 비용 이 많이 드 는 전쟁 을 빨리 끝내 고 싶 었 고 , vasa 라 불리 는 배 를 건조 [ 1 ] 할 것 을 명령 하 였 습니다 . 이 순간 부터 , 이 배 는 더 이상 평범 한 배 가 될 수 없 었 습니다 . 
 이 배 가 갖춰야 했 던 조건 ( 요구사항 ) 들 은 그 당시 의 어떤 배 와 도 비교 할 수 없 었 습니다 : 선체 가 200 피트 정도 더 길 고 , 2 개 의 갑판 에 64 개 의 총 을 적재 할 수 있 고 , 300 명 의 군사 를 안 전하 게 태워 폴란드 로 가 는 바다 를 가로지를 수 있 는 수송 능력 을 가져야 했 습니다 . 배 를 건조 하 는 데드라인 ( 시간 ) 을 엄수 해야 했으며 , 재정 ( 자금 ) 적 으로 도 여유 롭 지 않 았 습니다 . 
 배 설계자 ( 아키 텍 트 ) 는 이렇게 생긴 배 를 전 에 한 번 도 설계 한 적 이 없 었 습니다 . 크기 가 작 고 총 을 실 을 수 있 는 갑판 이 한 개 만 있 는 배 를 만드 는 것 이 그 가 주로 한 일 이 였 습니다 . 그럼에도 불구 하 고 , 배 를 설계자 는 그 의 예전 경험 을 기반 으로 추정 하 고 , Vasa 를 설계 하 고 건조 하 기 시작 했 습니다 . 그 배 는 결국 설계 대로 건조 가 되 었 고 배 를 띄우 는 날 이 드디어 왔 을 때 , Vasa 호 는 위풍 당당 하 게 항구 를 출항 하 였 지만 배 의 예포 를 쏘 고 난 뒤 바로 바다 의 바닥 으로 가라앉 고 말 았 습니다 . 
 Vasa 호 의 문제 는 명확 합니다 . 그 어느 누구 도 1600 ~ 1700 년 에 큰 전투함 에서 갑판 을 본 적 이 없 었 고 이러 한 배 의 갑판 은 특히 전쟁 중 에 붐비 고 안 전하 지 않 다는 것 을 알 았 습니다 . 전투함 과 운송선 두 개 의 역할 을 다 하 는 하나 의 배 를 건조 하 는 것 은 큰 실수 였 습니다 . 국왕 의 모든 소원 을 충족 하 려고 한 배 설계자 는 , 균형 이 맞 지 않 고 , 불 완전 한 배 를 만들 었 던 것 입니다 . 
 소프트웨어 설계자 들 은 이 이야기 로부터 많 은 것 을 배울 수 있 습니다 . 이 와 같 은 불행 한 사건 을 소프트웨어 아키 텍 쳐 의 설계 에 도 적용 할 수 있 습니다 . Vasa 와 같이 모든 요구사항 을 충족 시킬려는 시도 는 , 궁극 적 으로 아무것 도 수행 할 수 없 는 불 완전 한 아키 텍 쳐 를 만들 게 됩니다 . 
 트레이드 오프 의 좋 은 예 로 SOA 를 point to point 솔루션 같이 동작 하 게 만드 는 요구 입니다 . 이런 요구 는 , SOA 접근 법 에 의해 만들 어 진 추상화 의 다양 한 단계 를 무시 하 도록 당신 에게 요구 하 게 됩니다 . 그 때문 에 , 아키 텍 쳐 를 만드 는 것 이 동네 이탈리안 레스토랑 에서 당신 이 전통 적 인 순서 대로 어떤 것 을 주문 하 는 것 처럼 보이 게 됩니다 . 
 아 키 텍 쳐 를 설계 할 때 어떠 한 트레이드오프 가 있 는지 결정 하 도록 도와 주 는 몇 가지 도구 들 이 있 습니다 . 두 가지 의 유명 한 방법 으로 , 아키 텍 쳐 트레이드오프 분석 방법 ( ATAM ) 과 비용 이 점 분석 방법 ( CBAM ) 이 있 습니다 . ATAM 과 CBAM 에 대한 정보 를 더 얻 고 싶 다면 아래 의 웹 사이트 주소 를 방문 하 면 됩니다 . 웹 사이트 는 http : / / www . sei . cmu . edu / architecture / tools / systematam / index . cfm 와 http : / / www . sei . cmu . edu / architecture / cbam . html 입니다 . 
 1 차 번역 : 김 현종 
 2 차 번역 : 손영수 
 [ 1 ] 建造 – 배 따위 를 설계 ( 設計 ) 하 여 만 듦 
 이전 글 [ PLoP ] Half - Push / Half - Polling 패턴 의 저자 워크 샾 피드백 	 다음 글 [ PLoP ] 또 한 번 의 저자 워크 샾 
 Articles , My Activity , My Thinking , Software Architecture , Software Engineering , Study 	 태그 
 97 Architects , Architectural Tradeoff , ATAM , CBAM , mark richards , Vasa 	 글 목록