소프트웨어 아키텍처 101 자율 평가 문제 – 6장 아키텍처 특성의 측정 및 거버넌스

소프트웨어 아키텍처 101 내용 중 자율 평가 문제에 대한 제가 생각하는 답을 정리했습니다. 책에서 가르쳐준 내용을 토대로 최대한 정답이라고 생각하는 내용을 적었으나 잘못 정리 했거나 틀린 답을 적었을 수 있습니다. 정리한 내용 중 책의 저작권을 위배하는 사항이 있다면 내용이 수정될 수 있습니다.

1 아키텍처를 분석할 때 순환 복잡도가 중요한 메트릭인 이유는 무엇인가요?

순환 복잡도가 증가하면 코드의 모듈성, 시험성, 배포성 등 거의 모든 바람직한 코드베이스 특성을 저해하게 된다.

2 아키텍처 피트니스 함수는 무엇인가요? 아키텍처를 분석하는 데 이 함수를 어떻게 사용하나요?

어떤 아키텍처 특성의 객관적인 무결성을 평가하는 모든 메커니즘

아키텍처 피트니스 함수는 아키텍처가 아키텍처 목표를 달성하는데 얼마나 근접해 있는지를 나타낸다. 테스트 주도 개발에서 각각의 기능들이 얼마나 비즈니스 결과에 부합하는지 확인하기 위해 테스트 코드를 작성해서 확인하는 것 처럼 아키텍처 피트니스 함수를 통해 시스템이 아키텍처 목표에 얼마나 부합하는지 테스트 할 수 있다.

3 아키텍처 피트니스 함수를 이용해서 아키텍처 확장성을 측정하는 예를 들어보세요.

https://youtu.be/ipJtGdmyT-Y

책의 저자 중 한명인 마크 리처즈는 이 영상에서 아키텍처 확장성을 측정하는 방법을 설명하고 있다.

또한 이 글 에서는 다음과 같은 아키텍처 피트니스 함수를 통해 아키텍처 확장성을 측정할 수 있다고 한다.

describe "Performance" do
    it "completes a transaction under 10 seconds" do
        expect(transaction.check_transaction_round_trip_time()).to < 10
    end
    it "has less than 10% error rate for 10000 transactions" do
        expect(transaction.check_error_rate_for_transactions(10000)).to < .1
    end
end

4 아키텍트, 개발자가 피트니스 함수를 생성할 수 있게 하는, 아키텍처 특성의 가장 중요한 기준은 무엇인가요?

아키텍처 특성은 운영적, 구조적, 프로세스 측정 등의 기준으로 측정 할 수 있다.

참고자료

댓글 남기기