2012-04-14 3 views

답변

17

소프트웨어 아키텍처는 디자인 유형입니다. "일반"디자인은 주로 기능 요구 사항에 관한 것이지만 아키텍처는 주로 "기능 외"또는 "부족"또는 더 나은 이름 "품질 속성"에 관한 것입니다.

이해 관계자에게 품질 특성에 대해 질문하면 성능, 가용성, 확장 성 등을 원하지만 실제로 도움이되지는 않습니다. ATAM (및 다른 방법)은 컨텍스트에서 시나리오로서 품질 속성을 표현하는 것을 장려합니다. 예 :

가용성 -> 수리 시간 -> 정상 조건에서 시스템은 구성 요소의 고장을 5 초 이내에 감지합니다.

적응성 -> 기능을 추가/제거 -> 일단 생산, 인터페이스의 변화는 다시 하나 이상의 버전

유틸리티 나무 호환됩니다 것은 이러한 품질 속성을 구성하는 방법입니다. ATAM과 관련하여 품질 특성의 우선 순위를 정하고 나중에 후보 아키텍처와 요구 사항의 적합성을 평가하는 방법으로 사용됩니다. 또한 애자일 개발의 백 로그의 일부로 참조 요구 사항 및 스토리 (또는 크기에 따라 테마)를 사용하고 싶습니다.

품질 속성 및 유틸리티 머릿단에 대해 잠시 후에 내가 쓴 글 : Quality attributes introductionUtility trees - hatching quality attributes을 조금 더 읽을 수 있습니다. ATAM의 맥락에서 그들에 관해 읽고 싶다면 Evaluating Software Architectures: Methods and Case Studies Paul Clements, Rick Kazman & Mark Klein (나는이 주제에 대해 오래된 presentation을 가지고있다.)을 읽어야한다.

편집 : 위의 설명을 확장하여 blog post을 추가했습니다.

+1

안녕하세요, 시나리오, 유형, 구성 요소가 무엇인지 이해하지만 여전히 추출 방법을 이해할 수 없으며 요구 사항에서 나온 것입니까? "사용자가 월을 선택하여 비용 보고서를 생성 할 수 있어야합니다."와 같이 해당 요구 사항에서 시나리오를 추출합니다. –

+0

@PHPAvenger : 예, 일반적으로 시나리오는 요구 사항에서 추출됩니다. 의문의 여지가있는 경우, 관련 이해 관계자로부터 계약을 얻어야합니다. 품질 속성 워크숍 (예 : https://www.sei.cmu.edu/architecture/tools/establish/qaw.cfm 참조) – EFrank

1

기본적으로 유틸리티 트리는 ATAM 좌표의 유틸리티 측정 값에 대한 트리입니다. 적절한 비 기능 요구 사항이 제안 된 아키텍처 옵션을 통해 유지되는지 여부를 나타냅니다. 각 노면에는 관련 수준의 신뢰가 있습니다.