본문 바로가기
개발/요구공학

[요구공학] [소프트웨어 품질 속성] Functional Suitability

by ▶ Carpe diem ◀ 2024. 3. 23.

소프트웨어 품질 속성과 품질 시나리오에 대해 앞선 글에서 알아보았습니다.

 

[요구공학] 소프트웨어 품질 속성과 품질 시나리오

품질 속성과 품질 시나리오가 무엇인지 알아보고자 합니다. 목차 품질 속성과 품질 시나리오: 소프트웨어 개발의 길잡이 품질 속성과 품질 시나리오의 중요성을 이해하고, 이를 소프트웨어 개

wide-shallow.tistory.com

 

이번에는 소프트웨어 품질 속성 중 하나인 기능적 적합성(Functional Suitability)에 대해 조금 더 자세히 알아보고, 품질 시나리오 예를 알아보고자 합니다.

 

 

목차

     

    기능적 적합성(Functional Suitability)

    기능적 적합성(Functional Suitability)은 소프트웨어의 품질 측정에 있어 중요한 요소 중 하나입니다. 이는 시스템이나 제품이 사용자의 명시적 및 묵시적 요구사항을 충족하는 기능을 얼마나 잘 제공하는지를 평가합니다. 여기에는 기능적 완전성(Functional completeness), 기능적 정확성(Functional correctness), 그리고 기능적 적절성(Functional appropriateness)이 포함됩니다. 각 하위 특성에 대해 자세히 설명하고, 해당 품질 속성을 활용한 품질 시나리오 작성 예를 제시하겠습니다.

     

    기능적 완전성(Functional completeness)

    기능적 완전성은 시스템이나 제품이 사용자의 모든 작업과 목표를 수행할 수 있는 기능을 얼마나 완벽하게 포함하고 있는지를 나타냅니다. 즉, 사용자의 요구사항을 충족시키기 위해 필요한 모든 기능이 제공되는지를 평가하는 지표입니다.

     

    QAS 예시

    • Category: 기능적 적합성
    • Source: 고객
    • Stimulus: 상품 리뷰 작성 및 평점 부여
    • Environment: 사용자가 상품 리뷰를 작성하는 상황
    • Artifacts: 리뷰 시스템, 데이터베이스
    • Response: 시스템은 고객의 리뷰와 평점을 정확하게 저장하고 반영한다.
    • Response Measure: 제출된 리뷰와 평점이 데이터베이스에 정확히 기록되며, 100% 오류 없이 처리된다.

    사용자가 상품 리뷰를 작성하는 상황에서, 시스템은 리뷰 시스템과 데이터베이스를 통해 고객의 리뷰와 평점을 정확하게 저장하고 반영하며, 제출된 리뷰와 평점이 데이터베이스에 100% 오류 없이 정확히 기록됩니다.

     

     

    기능적 정확성(Functional correctness)

    기능적 정확성은 제공된 기능이 요구된 정밀도로 올바른 결과를 내놓는 정도를 나타냅니다. 시스템이나 제품이 정확하고 오류 없이 사용자의 요구사항을 만족시키는 결과를 제공하는지의 여부를 말합니다.

     

    QAS 예시

    • Category: 기능적 적합성
    • Source: 고객
    • Stimulus: 상품 검색 수행
    • Environment: 정상적인 온라인 쇼핑몰 운영 상황
    • Artifacts: 웹 인터페이스, 검색 엔진, 데이터베이스
    • Response: 시스템은 고객의 검색 요청에 따라 정확하고 관련성 높은 상품 결과를 제공한다.
    • Response Measure: 검색된 상품 결과의 정확도 및 관련성이 고객 요구를 95% 이상 만족시킨다.

    정상적인 온라인 쇼핑몰 운영 상황에서, 고객이 상품 검색을 수행할 때, 시스템은 웹 인터페이스, 검색 엔진, 데이터베이스를 통해 정확하고 관련성 높은 상품 결과를 제공하며, 이는 검색 결과의 정확도 및 관련성이 고객의 요구를 95% 이상 만족한다.

     

     

    기능적 적절성(Functional appropriateness)

    기능적 적절성은 제공된 기능이 사용자의 특정 작업 및 목표 달성을 얼마나 잘 지원하는지를 나타냅니다. 사용자가 목적을 달성하는데 필요한 기능을 쉽게 찾고 사용할 수 있는지의 적합성을 평가합니다.

     

    QAS 예시

    • Category: 기능적 적합성
    • Source: 온라인 쇼핑몰 고객
    • Stimulus: 특정 카테고리 내 상품 탐색
    • Environment: 사용자가 웹 쇼핑몰을 이용하는 동안
    • Artifacts: 웹 인터페이스, 카테고리 분류 시스템, 상품 데이터베이스
    • Response: 시스템은 사용자가 쉽게 원하는 카테고리를 찾아 해당 카테고리의 상품을 탐색할 수 있도록 지원한다.
    • Response Measure: 사용자가 원하는 카테고리 내 상품을 찾는데 걸리는 시간은 평균 30초 이내이다.

    웹 쇼핑몰을 이용하는 동안, 온라인 쇼핑몰 고객특정 카테고리 내 상품을 탐색하려 할 때, 시스템은 웹 인터페이스와 카테고리 분류 시스템, 상품 데이터베이스를 통해 사용자가 쉽게 원하는 카테고리를 찾고 해당 카테고리의 상품을 탐색할 수 있도록 지원하며, 이 과정에서 사용자가 원하는 카테고리 내 상품을 찾는 데 걸리는 시간은 평균 30초 이내이다.

     

     

    기능적 적합성(Functional Suitability)이 품질 속성에 포함되어 있는 이유

    단순히 소프트웨어가 특정 기능을 수행하는지 여부를 넘어서, 해당 기능이 사용자의 요구와 기대를 얼마나 잘 충족시키는지를 평가하는 데 초점을 맞추기 때문입니다. 기능적 적합성은 소프트웨어 제품이나 시스템이 제공하는 기능들이 사용자의 명시적 및 묵시적 요구를 어떻게 만족시키는지, 그리고 그 기능들이 사용자의 작업과 목표 달성에 얼마나 적합하고 적절한지를 측정합니다.

     

    품질 속성은 소프트웨어의 비기능적 요구사항을 다루며, 시스템의 운영, 성능, 보안, 유지보수성과 같은 다양한 측면을 포함합니다. 기능적 요구사항이 "무엇을" 할 것인지에 대한 사항을 정의한다면, 기능적 적합성과 같은 품질 속성은 "어떻게" 그 기능이 수행되어야 하는지, 그리고 사용자에게 어떤 가치를 제공해야 하는지에 대한 기준을 제공합니다.

    기능적 적합성은 기능이 사용자에게 제공하는 가치와 사용자 경험의 질에 중점을 두므로, 단순한 기능 구현을 넘어서 사용자 중심의 설계와 개선을 유도합니다. 이는 사용자의 기대를 충족시키고, 제품의 사용성을 향상시키며, 결국에는 제품의 전반적인 품질을 높이는 데 기여합니다. 따라서, 기능적 적합성은 품질 속성의 중요한 부분으로 간주되며, 품질 관리 및 향상 프로세스에서 중요한 역할을 수행합니다.

     

    예를 들어 상품 검색에 대해 요구사항을 작성한다면, 기능적 요구사항(Functional Requirement)와 기능적 적합성(Functional Suitability)는 다음과 같이 구분될 수 있습니다.

     

    기능적 요구사항 (Functional Requirement, FR)

     

    기능적 요구사항은 시스템이나 소프트웨어가 수행해야 할 구체적인 기능이나 행위를 직접적으로 설명합니다. 상품 검색 기능과 관련된 기능적 요구사항은 다음과 같을 수 있습니다.

    • 사용자가 키워드를 입력하면 관련 상품 목록이 반환되어야 한다.
    • 사용자는 여러 필터(예: 가격 범위, 카테고리, 브랜드)를 적용하여 검색 결과를 좁힐 수 있어야 한다.
    • 검색 결과는 상품명, 가격, 평점을 포함하여 표시되어야 한다.

     

    기능적 적합성 (Functional Suitability)

     

    기능적 적합성은 제품이나 시스템이 사용자의 명시적 및 묵시적 요구를 만족시키는 기능을 얼마나 잘 제공하는지에 대한 정도를 나타내며, ISO/IEC 25010 표준에서 정의된 품질 속성 중 하나입니다. 상품 검색 기능과 관련된 기능적 적합성 요구사항은 다음과 같이 표현될 수 있습니다.

    • 기능적 완전성(Functional Completeness): 시스템은 사용자가 기대하는 모든 상품 검색 관련 기능을 제공해야 한다. 예를 들어, 키워드 검색, 카테고리별 검색, 필터링 옵션 등이 포함될 수 있습니다.
    • 기능적 정확성(Functional Correctness): 검색 결과는 사용자의 쿼리와 정확히 일치해야 하며, 관련 없는 상품이 포함되어서는 안 된다.
    • 기능적 적절성(Functional Appropriateness): 검색 기능은 사용자의 검색 의도와 목적에 맞게 최적화되어 있어야 하며, 사용자가 원하는 상품을 효과적으로 찾을 수 있도록 도와줘야 한다.