요구 사항을 명시 적으로 분리하면 올바른 시스템을보다 쉽게 설계 할 수 있습니다.
비 기능적 요구 사항 (개념 / 용어 품질 특성 선호-기능적 / 기능적 이외의 새로운 통찰력을 제공해야 함)을 사용하면 기능보다는 소프트웨어 의 속성 에 더 관심 이 있습니다. 즉 어떻게 시스템이 어떤 기능을 단순히 수행하는 어떤 시스템이 수행합니다. 품질 요구 사항은 기능적 요구 사항이 수행하지 않는 방식으로 시스템 아키텍처에 상당한 영향을 미치므로 이러한 이유로 요구 사항이 다르게 처리되어야합니다.
품질 속성을 기능 요구 사항과 분리하면 다양한 요구 사항을 다른 방식으로 분석, 지정 및 우선 순위 지정할 수 있습니다. 예를 들어, 품질 속성은 일반적으로 품질 속성 시나리오 를 사용하여 지정 되지만 기능적 요구 사항은 스토리, 유스 케이스, should statement 또는 기타 여러 형식의 형식을 취할 수 있습니다. 내가 작업 한 대부분의 시스템에는 12 가지 미만의 품질 특성과 더 많은 기능 요구 사항이있었습니다.
실제로 다른 종류의 요구 사항- 기술 제약 조건을 소개 합니다. 다시 한 번, 요구 사항을이 세 가지 버킷으로 명시 적으로 분리하면 시스템을 구축하는 동안 올바른 균형을 유지하는 방법에 대한 힌트를 얻을 수 있습니다. 기능적 요구 사항은 종종 협상 가능하며, 품질 특성은 아키텍처 및 선택한 구조에 큰 영향을 미치며 기술적 인 제약은 협상 할 수 없습니다.
이것이 우리 팀이라면 아키텍처에서 중요한 것을 놓치지 않도록 요구 사항에 유형별로 명확하게 주석을 달아야한다고 말하고 싶습니다. 기능뿐만 아니라 아키텍처 드라이버에 대해서도 생각해보십시오.
소프트웨어 집중 시스템 설계의 Anthony Lattanze : 실무자 안내서 는 아키텍처 드라이버에 대한 실질적인 개요와 여기에서 요약 한 것보다 훨씬 포괄적으로 다루어야하는 이유를 설명합니다.