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

[요구공학] [소프트웨어 품질 속성] Performance Efficiency

by ▶ Carpe diem ◀ 2024. 3. 24.

소프트웨어 품질 속성과 품질 시나리오, 그리고 기능적 적합성(Functional Suitability)에 대해 앞선 글에서 알아보았습니다.

 

 

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

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

wide-shallow.tistory.com

 

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

 

 

목차

     

    성능 효율성(Performance Efficiency)

    성능 효율성(Performance Efficiency)은 소프트웨어 시스템의 성능이 사용된 리소스 양에 비해 얼마나 효과적인지를 나타내는 중요한 품질 속성입니다. 이는 시스템이 사용자의 요구사항을 만족시키면서도, 최소한의 리소스를 사용하여 최적의 성능을 제공하는 능력과 관련이 있습니다.

     

    성능 효율성은 시간 반응성(Time Behaviour), 자원 활용도(Resource Utilization), 그리고 용량(Capacity)이라는 세 가지 주요 하위 특성으로 구성됩니다.

     

     

    시간 반응성(Time Behaviour)

    시간 반응성(Time Behaviour)은 소프트웨어가 특정 작업을 수행하는 데 필요한 응답 시간, 처리 시간, 그리고 처리 속도를 말합니다. 이는 사용자가 시스템에 요청을 할 때부터 그 요청이 처리되고 결과가 반환될 때까지의 시간을 포함합니다.

     

    중요성

    시간 반응성(Time Behaviour)은 사용자 경험에 직접적인 영향을 미치는 요소로, 빠른 응답 시간과 효율적인 처리 속도는 사용자의 만족도를 높이는 데 기여합니다. 또한, 시스템의 성능 최적화를 위해 중요한 지표로 사용됩니다.

     

    QAS 예시

    • Category: 성능 효율성
    • Source: 웹 쇼핑몰 고객
    • Stimulus: 상품 페이지 로딩 요청
    • Environment: 고객이 웹 쇼핑몰을 이용하는 동안
    • Artifacts: 웹 서버, 데이터베이스를 포함한 시스템
    • Response: 시스템은 고객의 상품 페이지 로딩 요청에 신속하게 응답한다.
    • Response Measure: 상품 페이지는 고객의 요청 후 3초 이내에 완전히 로드되며, 이는 95% 이상의 요청에서 달성된다.

     

    고객이 웹 쇼핑몰을 이용하는 상황에서, 시스템에서 고객상품 페이지 로딩을 요청할 때, 웹 서버와 데이터베이스를 포함한 시스템고객의 상품 페이지 로딩 요청에 신속하게 응답하며, 이는 3초 이내에 페이지를 완전히 로드하여 95% 이상의 요청에서 이 시간 내 응답을 보장한다.

     

    자원 활용도(Resource Utilization)

    자원 활용도(Resource Utilization)는 시스템이 작업을 수행하는 동안 사용하는 자원의 양과 유형을 나타냅니다. 여기에는 CPU 사용률, 메모리 사용량, 네트워크 대역폭 등이 포함될 수 있습니다.

     

    중요성

    자원 활용도(Resource Utilization)는 시스템이 제한된 자원을 얼마나 효율적으로 사용하는지를 나타냅니다. 과도한 자원 사용은 시스템의 전체 성능 저하로 이어질 수 있으며, 비용 증가의 원인이 될 수 있습니다. 따라서, 자원 활용도의 최적화는 시스템의 경제성과 효율성을 높이는 데 중요합니다

     

    QAS 예시

    • Category: 성능 효율성
    • Source: 시스템 관리자
    • Stimulus: 피크 시간 동안의 사용자 요청 증가
    • Environment: 웹 쇼핑몰의 피크 사용 시간
    • Artifacts: 서버, 데이터베이스, 네트워크 인프라를 포함한 시스템
    • Response: 시스템은 리소스를 효율적으로 활용하여 사용자 요청을 처리한다.
    • Response Measure: 서버 CPU 사용률은 70%를 넘지 않으며, 메모리 사용량은 최대 용량의 80% 내에서 유지되며, 네트워크 대역폭 사용은 최대 용량의 75% 이내로 유지된다.

     

    웹 쇼핑몰 시스템에서 피크 사용 시간 동안 사용자 요청이 증가할 때, 시스템 관리자는 서버, 데이터베이스, 및 네트워크 인프라를 포함한 시스템리소스를 효율적으로 활용하여, 서버 CPU 사용률 70% 미만, 메모리 사용 80% 이하, 네트워크 대역폭 사용 75% 이하로 유지되도록 보장한다.

     

    용량(Capacity)

    용량(Capacity)은 시스템이나 제품이 한계치에 도달하지 않고 처리할 수 있는 최대 작업량 또는 트랜잭션 수를 말합니다. 이는 시스템이 동시에 처리할 수 있는 사용자 수나 요청 수 등으로 표현될 수 있습니다.

     

    중요성

    용량(Capacity)은 시스템의 규모 확장성과 관련이 깊으며, 사용자 수나 데이터 양의 증가에 따른 시스템의 성능을 보장합니다. 충분한 용량을 확보하는 것은 높은 사용자 수요에도 불구하고 안정적인 성능을 유지하기 위해 필수적입니다.

     

    QAS 예시

    • Category: 성능 효율성
    • Source: 웹 쇼핑몰 고객
    • Stimulus: 상품 검색 시도
    • Environment: 대규모 세일 이벤트 기간 동안
    • Artifacts: 검색 엔진, 웹 서버, 데이터베이스를 포함한 시스템
    • Response: 시스템은 고객의 상품 검색 요청에 대해 신속하게 응답한다.
    • Response Measure: 시스템은 최소 5,000명의 동시 사용자가 상품 검색을 수행할 수 있으며, 검색 요청에 대한 응답 시간은 3초 이내로 유지된다.

     

    대규모 세일 이벤트 기간 동안 웹 쇼핑몰 고객상품 검색을 시도할 때, 검색 엔진, 웹 서버, 및 데이터베이스를 포함한 시스템고객의 상품 검색 요청에 대해 신속하게 응답하며, 이는 최소 5,000명의 동시 사용자를 수용하며, 모든 상품 검색 요청을 3초 이내에 신속하게 처리할 수 있는 충분한 용량을 확보하도록 보장한다.

     

     

    "3초 이내로 유지된다"는 내용은 시간 반응성(Time Behaviour)에 해당 하는 것 같지만, 용량(Capacity)에 대한 Response Measure에도 해당할 수 있습니다. 용량에 대한 품질 속성은 시스템이 특정 시간 내에 처리할 수 있는 작업의 양 또는 동시 요청의 수를 기준으로 측정됩니다. 여기서 응답 시간을 3초 이내로 유지한다는 Response Measure는, 시스템이 동시에 처리해야 하는 상품 검색 요청의 양(여기서는 최소 5,000명의 동시 사용자)에도 불구하고, 일정한 성능(응답 시간)을 유지할 수 있는 시스템의 능력을 나타냅니다.