개요

소프트웨어의 품질은 한마디로 정의하기 어렵다. IEEE는 소프트웨어의 품질을 다양한 이해 관계자의  명시적이고 암묵적인 요구사항을 충족시킬 수 있는 소프트웨어의 기능 및 특성이라고 정의한다.

품질 모델은 제품 품질 평가 시스템의 초석이며, 소프트웨어 제품의 속성을 평가할 때 고려해야 할 품질 특성을 결정한다.

ISO 25010에 정의된 제품 품질 모델은 아래와 같이 8가지 주특성과 하위 부특성으로 구성된다.

ISO 25010의 주특성 및 부특성에 대한 설명

주특성 부특성 설명
기능성 기능 성숙도 기능 집합이 지정된 요구사항을 만족하는 정도
기능 정확성 제품 또는 시스템이 필요한 정밀도로 정확한 결과를 제공하는 정도
기능 타당성 기능이 특정 업무 및 목표 달성을 용이하게 하는 정도
효율성 시간 반응성 기능 수행 시 제품 또는 시스템의 응답 및 처리 시간, 처리속도가 요구 사항을 충족하는 정도
자원 활용성 기능 수행 시 제품 또는 시스템에서 사용하는 자원의 양과 유형이 요구 사항을 충족하는 정도
기억 용량 제품 또는 시스템 매개 변수(최근 사용자 수, 통신 대역폭, 데이터 베이스 저장 용량 등)의 최대 한도가 요구 사항을 충족하는 정도
호환성 공존성 다른 제품에 해로운 영향을 미치지 않고 환경 및 자원을 공유하면서 요구된 기능을 효과적으로 수행하는 정도
상호 운용성 둘 이상의 시스템, 제품 또는 구성 요소가 정보를 교환하고 교환된 정보를 사용할 수 있는 정도
사용성 타당성 식별도 제품이나 시스템이 자신의 필요에 적합한지 여부를 사용자가 인식할 수 있는 정도
학습성 사용자가 제품이나 시스템의 사용법을 배워서 명시된 목적을 달성할 수 있는 정도
운용성 제품 또는 시스템의 작동 및 제어를 쉽게 할 수 있는 정도
사용자 오류 보호 시스템이 사용자를 오류로부터 보호하는 정도
사용자 인터페이스 미학 사용자 인터페이스가 사용자에게 만족스러운 정도
접근성 연령과 장애에 관계없이 시스템을 사용할 수 있는 정도
신뢰성 성숙성 시스템이 정상 작동 상태에서의 신뢰성에 대한 필요성을 충족시키는 정도
가용성 사용이 요구되는 시기에 제품 또는 구성요소의 사용 및 접근이 가능한 정도
결점 완화 시스템 또는 제품의 구성요소가 하드웨어 또는 소프트웨어의 결함이 존재하더라도 이를 극복하고 의도한 대로 동작해야 함
회복 가능성 중단 또는 실패가 발생하는 경우 제품 또는 시스템이 영향을 받는 데이터를 직접 복구하고 시스템의 원하는 정도를 다시 설정할 수 있는 정도
보안성 기밀성 제품 또는 시스템이 접근 권한이 있는 사람에게만 데이터 접근을 허용하는 정도
무결성 시스템 또는 제품의 구성요소가 소프트웨어 또는 데이터에 대한 무단 접근 및 수정을 방지하는 정도
부인 방지 사건 및 행위에 대해 부인하지 못하도록 행동 및 사건에 대해 입증되는 정도
책임성 시스템 내의 각 개인을 유일하게 식별하여 언제 어떤 행동을 하였는지 기록하여 필요 시 그 행위자를 추적할 수 있는 능력
인증성 사건 및 행동에 대해 행위자임을 증명할 수 있는 능력
유지보수성 모듈성 하나의 구성요소에 대한 변경이 다른 구성 요소에 미치는 영향이 최소화되도록 시스템 또는 소프트웨어가 개별 구성요소로 구성되는 정도
재사용성 하나 이상의 시스템에서 자산을 사용하거나 다른 자산을 구축할 수 있는 정도
분석성 하나 이상의 의도된 변경 사항이 제품 또는 시스템에 미치는 영향을 평가하거나 결함 또는 결함 원인에 대해 제품을 진단하거나 수정할 부분을 식별할 수 있는 정도
수정 가능성 제품이나 시스템에 결함이 발생한 경우 기존 제품의 품질을 저하시키지 않고 효과적으로 수정할 수 있는 정도
시험 가능성 제품 사용 전 사용에 필요한 검증 기능 제공 여부
이식성 적용성 제품 또는 시스템이 다른 하드웨어나 소프트웨어 또는 기타 사용 환경에 효과적이고 효율적으로 적용될 수 있는 정도
설치성 제품 또는 시스템이 성공적으로 설치 및 제거될 수 있는 정도
대체성 제품이 동일한 환경에서 동일한 목적을 위해 다른 지정 소프트웨어 제품으로 대체될 수 있는 정도

공식 사이트: https://iso25000.com/index.php/en/iso-25000-standards/iso-25010

실무 프로젝트에서의 적용 예

아래는 원격검침 시스템에서의 품질 특성에 따른 평가의 기준이다.

  • 기능성 - 기능 성숙도: 검침 기능이 요구된 시간 간격에 맞게 정상적으로 동작하는가? 
  • 기능성 - 기능 정확성: 웹서버에 전송되어 기록된 검침 데이터가 실제 미터의 검침 데이터와 일치하는가? 
  • 효율성 - 시간 반응성: 웹에서 동작 실행 시 기준 시간 내에 응답하는가? (기준 시간: 일반적인 웹의 경우 3초 이내)
  • 효율성 - 자원 활용성: 시스템의 CPU나 메모리 사용량이 적절한가? 
  • 호환성 - 상호 운용성: 모뎀과 웹서버의 연동 및 데이터 교환 기능이 정상적으로 동작하는가?
  • 사용성 - 사용자 오류 보호: 사용 시 입력 창에 잘못된 값을 입력해도 시스템 오류로부터 안전한가?
  • 사용성 - 사용자 인터페이스 미학: 사용자에게 만족할 만한 UI(화면 구성, 글자 폰트, 이미지) 를 제공하는가?
  • 신뢰성 - 가용성: 데이터 처리량이 많을 때 시스템이 다운되거나 문제가 생기지 않는가?
  • 신뢰성 - 회복 가능성: 시스템에 문제가 발생한 경우 데이터가 깨지거나 손실되지 않는가?
  • 신뢰성 - 결점완화: 검침주기에 데이터 전송이 실패한 경우 전송 실패한 데이터를 다음 검침 주기에 다시 전송하는가?
  • 보안성 - 기밀성: 제품의 동작을 변경하기 위한 위한 CLI (Command Line Interface) 접근이 가능한가?
  • 보안성 - 무결성: 시스템을 무단으로 접근하여 파일 변경을 시도하는 경우 이를 막거나 복구하는 기능이 있는가?
  • 보안성 - 부인 방지: 시스템의 사건이나 행위 발생 시 이를 로그로 기록하는가?
  • 유지보수성 - 분석성: 결함 발생 시 출력되는 오류코드로부터 결함의 원인을 파악할 수 있는가?
  • 유지보수성 - 시험 가능성: 검침 데이터 전송을 확인하기 전에 통신 상태나 네트워크 상태를 확인하는 기능이 있는가?
  • 이식성 - 설치성: 설치 또는 제거, 업그레이드가 용이한가?

 

+ Recent posts