더북(TheBook)

2.3 아키텍처적으로 중요한 요구 사항

일반적으로 신뢰도는 아키텍처적으로 중요한 요구 사항 중 하나입니다.3 아키텍처적으로 중요한 요구 사항(Architecturally Significant Requirement, ASR)이란 아키텍처 자체에서 다루어야 하며, 설계나 구현의 세부 사항에 위임할 수 없는 요구 사항을 의미합니다. 이는 다소 자기 참조적인 정의(self-referential definition)4라서 실제 상황에서 정확히 어떤 요구 사항을 의미하는지 파악하기 어려울 때가 많습니다.

아키텍처적으로 중요한 요구 사항은 대부분 비기능 요구 사항에 해당합니다. 비기능 요구 사항이란 시스템 성능이나 처리 범위에 대한 요구 사항을 의미하며, 최소 처리량(minimum throughput)5최대 지연 시간(maximum latencies)6 등이 대표적인 예입니다. 여기에서 비기능이라는 표현이 다소 부적절하다고 여길 수 있는데, 이는 비기능 요구 사항을 충족하지 못한 소프트웨어 제품은 기능적이라고 할 수 없기 때문입니다. 따라서 이 책에서는 좀 더 범용적인 용어인 아키텍처적으로 중요한이라는 용어를 사용할 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.