소프트웨어 품질 속성과 품질 시나리오, 그리고 기능적 적합성(Functional Suitability), 성능 효율성(Performance Efficiency), 호환성(Compatibility), 사용성(Usability)에 대해 앞선 글에서 알아보았습니다.
이번에는 소프트웨어 품질 속성 중 하나인 신뢰성(Reliability)에 대해 조금 더 자세히 알아보고, 품질 시나리오 예를 알아보고자 합니다.
목차
신뢰성(Reliability)
신뢰성(Reliability)은 시스템, 제품, 또는 구성 요소가 지정된 기간 동안 지정된 조건에서 요구되는 기능을 수행할 수 있는 능력을 나타냅니다. 이는 시스템이 예상대로 정확하고 안정적으로 작동하는 정도를 말하며, 오류 발생 없이 연속적으로 원활하게 서비스를 제공할 수 있는지에 대한 지표입니다. 신뢰성은 다음과 같은 여러 하위 특성으로 세분화됩니다:
성숙도(Maturity)
성숙도(Maturity)는 시스템, 제품 또는 구성 요소가 정상 작동 시 신뢰성 요구 사항을 얼마나 잘 충족하는지를 나타냅니다. 이는 오류 발생 빈도와 시스템의 안정성을 기준으로 측정됩니다.
중요성
높은 성숙도를 가진 시스템은 사용자에게 신뢰할 수 있는 서비스를 제공하며, 예상치 못한 오류나 중단 없이 연속적으로 기능을 수행합니다. 이는 사용자 만족도를 높이고, 시스템에 대한 신뢰를 구축하는 데 핵심적인 요소입니다.
QAS 예시
- Category: 신뢰성
- Source: 사용자
- Stimulus: 상품 검색
- Environment: 피크 쇼핑 시간 중
- Artifacts: 데이터베이스, 서버 인프라
- Response: 시스템은 높은 사용자 요구와 트래픽을 처리하면서도 정상적으로 기능을 수행한다.
- Response Measure: 시스템은 99.9%의 가동 시간을 유지하며, 사용자 요청에 대해 평균 응답 시간은 2초 이내로 유지한다.
쇼핑몰 시스템에서 피크 쇼핑 시간 중, 사용자가 상품 검색을 할 때, 데이터베이스와 서버 인프라를 통해 사용자 요구와 트래픽을 처리하면서도 정상적으로 기능을 수행할 수 있습니다. 이때, 99.9%의 가동 시간을 유지하며, 사용자 요청에 대해 평균 응답 시간은 2초 이내로 보장합니다.
가용성(Availability)
가용성(Availability)은 시스템, 제품 또는 구성요소가 작동 가능하고 사용이 필요할 때 쉽게 액세스할 수 있는 정도를 나타냅니다.
중요성
사용자가 서비스를 필요로 할 때마다 이를 이용할 수 있다는 것은 비즈니스 연속성과 직결되는 중요한 요소입니다. 높은 가용성을 유지함으로써, 기업은 서비스 중단으로 인한 잠재적인 비용 손실과 사용자 불만을 최소화할 수 있습니다.
QAS 예시
- Category: 신뢰성
- Source: 서버 인프라스트럭처
- Stimulus: 주요 서버의 장애
- Environment: 24/7 운영되는 온라인 쇼핑몰
- Artifacts: 백업 서버, 재해 복구 시스템
- Response: 시스템은 주요 서버 다운에도 불구하고 서비스를 계속 제공한다.
- Response Measure: 서버 다운 후 1분 이내에 백업 시스템이 작동을 시작하며, 가용성은 99.95% 이상을 유지한다.
쇼핑몰을 24/7 운영 중, 서버 인프라스트럭처에서 주요 서버의 장애가 발생할 때, 백업 서버와 재해 복구 시스템을 통해 빠르게 서비스를 복구하여, 사용자가 서비스 중단 없이 지속적으로 쇼핑할 수 있도록 합니다. 이때 서버 다운 후 1분 이내에 백업 시스템이 작동을 시작하며, 가용성은 99.95% 이상을 유지한다.
내결함성(Fault Tolerance)
내결함성(Fault Tolerance)은 시스템, 제품, 또는 구성 요소가 하드웨어 또는 소프트웨어 결함이 발생하더라도 정상적으로 작동할 수 있는 능력을 가리킵니다.
중요성
시스템의 내결함성은 예기치 않은 오류나 실패가 발생했을 때 서비스의 중단 없이 작동을 계속 유지할 수 있도록 합니다. 이는 특히 금융, 의료, 국방 등 중요한 서비스에서 필수적으로 요구되는 특성입니다.
QAS 예시
- Category: 신뢰성
- Source: 결제 시스템 오류
- Stimulus: 결제 처리 중 시스템 오류 발생
- Environment: 온라인 결제 과정
- Artifacts: 결제 시스템, 오류 관리 프로토콜
- Response: 시스템은 오류를 자동으로 감지하고, 사용자에게 영향을 최소화하며 결제 과정을 계속 진행한다.
- Response Measure: 결제 시스템 오류 발생 시, 95% 이상의 경우에서 사용자는 오류로 인한 중단 없이 결제를 완료할 수 있다.
쇼핑몰 시스템 온라인 결제 과정 중, 결제 시스템 오류에 의해 결제 처리 중 시스템 오류가 발생할 때, 결제시스템, 오류 관리 프로토콜을 통해 자동으로 오류를 자동으로 감지하고, 사용자에게 영향을 최소화하며 결제 과정을 계속 진행합니다. 이때, 95% 시앙의 경에서 사용자는 오류로 인한 중단 없이 결제를 완료할 수 있습니다.
복구 가능성(Recoverability)
복구 가능성(Recoverability)은 시스템이 중단이나 오류 발생 후 원하는 상태로 복구하고, 영향을 받은 데이터를 복구할 수 있는 능력을 나타냅니다.
중요성
시스템이 실패 또는 오류 상황에서 신속하게 복구할 수 있다는 것은 데이터 손실을 방지하고 서비스를 빠르게 정상화할 수 있음을 의미합니다. 복구 가능성이 높은 시스템은 사용자와 비즈니스에 대한 신뢰성을 강화하고, 장기적인 안정성을 제공합니다.
QAS 예시
- Category: 신뢰성
- Source: 데이터베이스 오류
- Stimulus: 데이터 손상
- Environment: 데이터 관리 작업 중
- Artifacts: 백업 데이터베이스, 복구 프로토콜
- Response: 시스템은 손상된 데이터를 감지하고, 백업으로부터 신속하게 복구한다.
- Response Measure: 데이터 손상이 발생한 경우, 99%의 경우에서 1시간 이내에 데이터 복구가 완료되며, 사용자 서비스에 미치는 영향은 최소화된다.
쇼핑몰 시스템에서 데이터 관리 작업 중, 데이터베이스 오류로 인한 데이터 손상이 발생한 경우, 백업 데이터베이스와 복구 프로토콜을 통해 손상된 데이터를 감지하고, 백업으로부터 신속하게 복구한다. 이때, 99%의 경우에서 1시간 이내에 데이터 복구가 완료되며, 사용자 서비스에 미치는 영향은 최소화한다.
'개발 > 요구공학' 카테고리의 다른 글
[요구공학] [소프트웨어 품질 속성] Maintainability (3) | 2024.04.13 |
---|---|
[요구공학] [소프트웨어 품질 속성] Security (52) | 2024.04.07 |
[요구공학] [소프트웨어 품질 속성] Usability (42) | 2024.03.31 |
[요구공학] [소프트웨어 품질 속성] Compatibility (60) | 2024.03.30 |
[요구공학] [소프트웨어 품질 속성] Performance Efficiency (40) | 2024.03.24 |