품질 요구사항
소프트웨어의 기능, 성능, 만족도 등 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체
소프트웨어의 품질은 사용자의 요구사항을 충족시킴으로써 확립된다.
기능성(Funtionality)
소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지에 대한 여부
- 적절성/적합성 : 적절하는 기능을 제공하는 능력
- 정밀성/정확성 : 사용자가 요구하는 결과를 정확히 산출할 수 있는 능력
- 상호 운용성 : 다른 시스템과 어울려 작업할 수 있는 능력
- 보안성 : 정보에 대한 접근을 권한에 따라 허용하거나 차단하는 능력
- 준수성 : 표준, 관례 및 규정을 준수할 수 있는 능력
신뢰성(Reliability)
소프트웨어가 요구된 기능을 정확히 알고 일관되게 오류 없이 수행할 수 있는 정도
- 성숙성 : 고장을 피해갈 수 있는 능력
- 고장 허용성 : 결함 시에도 규정된 성능을 유지할 수 있는 능력
- 회복성 : 성능 수준까지 다시 회복하고 데이터를 복구할 수 있는 능력
사용성(Usability)
사용자가 쉽게 배우고 사용할 수 있으며, 향후 다시 사용하고 싶은 정도
- 이해성 : 사용자가 이해할 수 있는 능력
- 학습성 : 애플리케이션을 학습할 수 있도록 하는 능력
- 운용성 : 소프트웨어를 운용하고 제어하도록 하는 능력
- 친밀성 : 다시 사용하고 싶어 하도록 하는 능력
효율성(Efficiency)
할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지에 대한 정도
- 시간 효율성 : 적절한 반응 시간 및 처리 시간, 처리율을 제공할 수 있는 능력
- 자원 효율성 : 적절한 자원의 양과 종류를 제공할 수 있는 능력
유지 보수성(Maintainability)
소프트웨어를 개선하거나 확장할 수 있는 정도
- 분석성 : 결함의 식별을 가능하게 하는 능력
- 변경성 : 결함 제거 또는 환경 변화로 인한 수정 등을 쉽게 구현할 수 있는 능력
- 안정성 : 변경으로 인한 예상치 못한 결과를 최소화할 수 있는 능력
- 시험성 : 소프트웨어의 변경이 검증될 수 있는 능력
이식성(Portability)
다른 환경에서도 얼마나 쉽게 적용할 수 있는지의 정도
- 적용성 : 다른 환경으로 변경될 수 있는 능력
- 설치성 : 임의의 환경에서 소프트웨어를 설치할 수 있는 능력
- 대체성 : 다른 소프트웨어를 대신하여 사용될 수 있는 능력
- 공존성 : 다른 소프트웨어와 공존할 수 있는 능력