Skip to content
난이도 문제은행 5

소프트웨어 품질 특성 ​

"좋은 소프트웨어"는 사람마다 다르게 말하기 쉽다. 그래서 국제 표준은 품질을 몇 가지 특성으로 나누고, 각 특성을 다시 하위 특성으로 쪼개 무엇을 재야 하는지 정했다. 실기 시험은 옛 표준인 ISO/IEC 9126의 6가지 특성과 하위 특성을 주로 묻는다. 이 문서는 그것을 중심으로 정리하고, 현재 표준인 ISO/IEC 25010과의 차이를 덧붙인다.

ISO/IEC 9126의 6가지 특성 ​

ISO/IEC 9126은 소프트웨어 제품 품질을 여섯 특성으로 나눈 표준이다. 특성을 나누는 이유는 "느리다", "자주 멈춘다", "고치기 어렵다" 같은 불만이 서로 다른 문제라서 따로 재고 따로 개선해야 하기 때문이다.

특성묻는 질문하위 특성
기능성요구한 기능을 정확히 주는가적합성, 정확성, 상호 운용성, 보안성, 준수성
신뢰성오류 없이 계속 동작하는가성숙성, 고장 허용성(fault tolerance), 회복성
사용성쉽게 이해하고 쓰는가이해성, 학습성, 운용성, 친밀성
효율성빠르고 자원을 아끼는가시간 효율성, 자원 효율성
유지 보수성고치고 확장하기 쉬운가분석성, 변경성, 안정성, 시험성
이식성다른 환경에 옮기기 쉬운가적응성, 설치성, 대체성, 공존성

각 특성에는 표준을 지키는지 따지는 준수성(compliance) 하위 특성도 붙어 있지만, 시험은 기능성의 준수성만 주로 나열한다.

특성별 풀이 ​

기능성(functionality)은 필요한 기능이 빠짐없이 있고 올바른 결과를 내는지다. 적합성은 요구한 기능이 빠짐없이 들어 있는 정도이고, 정확성은 그 기능이 올바른 결과를 내는 정도다. 상호 운용성(interoperability)은 다른 시스템과 함께 동작하는 능력이고, 9126에서는 보안성(security)도 기능성 아래에 있다.

신뢰성(reliability)은 정해진 조건에서 정해진 기간 동안 멈추거나 틀리지 않고 기능을 유지하는 정도이고, 성숙성은 결함으로 인한 고장이 드문 정도다. 고장 허용성(fault tolerance)은 일부가 고장 나도 기능을 유지하는 능력이고, 회복성(recoverability)은 고장 뒤 데이터를 되살리고 다시 동작하는 능력이다.

사용성(usability)은 사용자가 헷갈리지 않고 배워서 쓸 수 있고, 쓰고 싶은 마음이 드는 정도다. 이해성은 기능과 쓰임을 알아보기 쉬운 정도, 학습성은 사용법을 배우기 쉬운 정도, 운용성은 조작하고 관리하기 쉬운 정도다. 친밀성(attractiveness)은 사용자에게 매력적으로 느껴지는 정도다.

효율성(efficiency)은 같은 일을 얼마나 짧은 시간에, 메모리·CPU를 덜 쓰고 끝내는지다. 유지 보수성(maintainability)은 결함을 고치거나 새 요구를 반영할 때 손대기 쉬운 정도다. 분석성은 고장 원인을 찾기 쉬운 정도, 변경성은 고치기 쉬운 정도, 안정성은 고친 뒤 예상 못 한 문제가 생기지 않는 정도이며, 시험성(testability)은 고친 뒤 검사하기 쉬운 정도다. 이식성(portability)은 운영체제나 하드웨어가 다른 곳으로 옮겨 설치하고 돌리기 쉬운 정도이고, 공존성(co-existence)은 같은 환경의 다른 소프트웨어와 함께 동작하는 능력이다.

표준이 바뀐 점 ​

ISO/IEC 9126은 2011년 ISO/IEC 25010으로 대체되었다. 25010:2011은 품질 특성을 8개로 늘려 보안성과 호환성을 독립 특성으로 올렸다. 호환성(compatibility)은 다른 시스템과 정보를 주고받거나 같은 환경을 나눠 쓰며 동작하는 능력이다. 이어서 2023년 개정판은 안전성(safety)을 더해 9개가 되었고, 사용성은 상호작용 능력(interaction capability)으로, 이식성은 유연성(flexibility)으로 이름을 바꾸었다.

판특성 수특징
91266기능성·신뢰성·사용성·효율성·유지 보수성·이식성
25010:20118보안성·호환성 추가, 기능성은 기능 적합성으로
25010:20239안전성 추가, 사용성·이식성 이름 변경

시험 문제에 "ISO/IEC 9126"이 명시되면 6가지 특성과 위 하위 특성으로 답한다.1

시험 포인트 ​

  • 9126 6특성 → 기능성·신뢰성·사용성·효율성·유지 보수성·이식성.
  • 신뢰성 하위 → 성숙성·고장 허용성·회복성. 효율성 하위 → 시간 효율성·자원 효율성.
  • 사용성 하위 → 이해성·학습성·운용성·친밀성. 유지 보수성 하위 → 분석성·변경성·안정성·시험성.
  • 이식성 하위 → 적응성·설치성·대체성·공존성. 공존성은 이식성, 상호 운용성은 기능성 소속이다.
  • 25010:2011은 8특성(보안성·호환성 추가), 2023년판은 9특성(안전성 추가).

참고

  1. 국내 수험 자료는 하위 특성 이름을 ‘적절성’·‘정밀성’·‘적용성’처럼 조금씩 다르게 옮기기도 한다. 원어는 각각 suitability·accuracy·adaptability로 적합성·정확성·적응성과 같다. ↩︎

관련 문서