본문 바로가기

정보처리

품질 요구사항

품질 요구사항 

소프트웨어의 품질은 소프트웨어의 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체이다. 

  • 소프트웨어의 품질은 사용자의 요구사항을 충족시킴으로써 확립된다. 

ISO/IEC 9126

  • ISO/IEC 9126은 소프트웨어의 품질 특성과 평가를 위한 표준 지침으로서 국제 표준으로 널리 사용된다.
  • ISO/IEC 9126은 소프트웨어의 품질에 대한 요구사항을 기술하거나 개발 중인 또는 개발이 완료된 소프트웨어의 품질 평가 등에 사용된다. 
  • ISO/IEC 9126은 2011년에 호환성과 보안성을 강화하여 ISO/IEC 25010으로 개정되었다. 
  • ISO/IEC 9126에서 제시한 소프트웨어의 품질 특성

ISO/IEC 25010은 2011년 ISO/IEC 9126을 개정하여 만든 소프트웨어 제품에 대한 국제 표준입니다. 

  • ISO/IEC 25010은 ISO/IEC 9126에 비해 호환성과 보안성 부분이 강화되었다. 
  • ISO/IEC 9126의 품질 특성: 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성이 있다. 
  • ISO/IEC 25010의 품질 특성 : 신뢰성, 사용성, 이식성, 유지보수성, 기능 적합성, 실행 효율성, 호환성, 보완성

기능성(Functionality)

기능성은 소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부를 나타낸다. 

상세 품질 요구사항 설명
적절성/적합성(SUitability) 지정된 작업과 사용자의 목적 달성을 위해 적절한 기능을 제공할 수 있는 능력
정밀성/정확성(Accuracy) 사용자가 요구하는 결과를 정확하게 산출할수 있는 능력
상호 운용성(Interoperability) 다른 시스템들과 서로 어울려 작업할 수 있는 능력
보안성(Security) 정보에 대한 접근을 권한에 따라 허용하거나 차단할 수 있는 능력
호환성(Compliance) 기능과 관련된 표준, 관례 및 규정을 준수할 수 있는 능력

신뢰성(Reliability)

신뢰성은 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도를 나타낸다. 

상세 품질 요구사항 설명
성숙성(Maturity) 결함으로 인한 고장을 피해갈 수 있는 능력
고장 허용성(Fault Tolerance) 결함 또는 인터페이스 결여 시에도 규정된 성능 수준을 유지할 수 있는 능력
회복성(Recoverability) 고장 시 규정된 성능 수준까지 다시 회복하고 직접적으로 영향 받은 데이터를 복구할 수 있는 능력 

사용성(Usability)

사용성은 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도를 나타낸다. 

상세 품질 요구사항 설명
이해성(Understandability) 소프트웨어의 적합성, 사용 방법 등을 사용자가 이해할 수 있는 능력
학습성(Learnability) 소프트웨어 애플리케이션을 학습할 수 있도록 하는 능력
운용성(Operability) 사용자가 소프트웨어를 운용하고 제어할 수 있도록 하는 능력
친밀성(Attractiveness) 사용자가 소프트웨어를 다시 사용하고 싶어 하도록 하는 능력

효율성(Efficiency)

효율성은 사용자가 요구하는 기능을 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 정도를 나타낸다. 

상세 품질 요구사항 설명
시간 효율성(Time Behaviour) 특정 기능을 수행할 때 적절한 반응 시간 및 처리 시간, 처리율을 제공할 수 있는 능력
자원 효율성 (Resource Behaviour) 특정 기능을 수행할 때 적절한 자원의 양과 종류를 제공할 수 있는 능력

유지 보수성(Maintainability)

유지 보수성은 환경의 변화 또는 새로운 요구사항이 발생했을 때 소프트웨어를 개선 하거나 확장할 수 있는 정도를 나타낸다. 

상세 품질 요구사항 설명
분석성(Analyzability) 결함이나 고장의 원인, 수정될 부분들의 식별을 가능하게 하는 능력
변경성(Changeability) 결함 제거 또는 환경의 변화로 인한 수정 등을 쉽게 구현할 수 있는 능력 
안정성(Stability) 변경으로 인한 예상치 못한 결과를 최소화할 수 있는 능력
시험성(Testability) 소프트웨어의 변경이 검증될 수 있는 능력

이식성(Potability)

이식성은 소프트웨어가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지 정도를 나타낸다. 

상세 품질 요구사항 설명
적용성(Adaptability) 원래의 목적으로 제공되는 것 외에 다른 환경으로 변경될 수 있는 능력 
설치성(Installability) 임의의 환경 속에서 소프트웨어를 설치할 수 있는 능력
대체성(Replaceability) 동일한 환경에서 동일한 목적을 위해 다른 소프트웨어를 대신하여 사용될 수 있는 능력
공존성(Co-existence) 자원을 공유하는 환경에서 다른 소프트웨어와 공존할 수 있는 능력 

'정보처리' 카테고리의 다른 글

UI 설계서의 개요에 대해 알아보자  (0) 2020.05.09
UI 프로토타입 제작 및 검토  (0) 2020.05.07
UI 설계 도구의 종류  (0) 2020.05.06
소프트웨어 아키텍처  (0) 2020.04.30
UI표준 및 지침  (0) 2020.04.29