본문 바로가기
휴지통/정보처리기사

015. 품질 요구사항

by 신재권 2022. 1. 2.

1. 품질 요구사항

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

  • 소프트웨어의 품질은 사용자의 요구사항을 충족시킴으로써 확립된다.
  • ISO/IEC 9126
    • 소프트웨어의 품질 특성과 평가를 위한 표준 지침으로 국제 표준으로 널리 사용된다.
    • 소프트웨어의 품질에 대한 요구사항을 기술하거나 개발중인 또는 개발이 완료된 소프트웨어의 품질 평가 등에 사용된다.
    • 2011년에 호환성과 보안성을 강화하여 ISO/IEC 25010으로 개정되었다.
    • ISO/IEC 9126에서 제시한 소프트웨어의 품질 특성
      • 기능성
        • 적절성/적합성
        • 정밀성/정확성
        • 상호 운용성
        • 보안성
        • 준수성
      • 신뢰성
        • 성숙성
        • 고장허용성
        • 횝고상
      • 사용성
        • 이해성
        • 학습성
        • 운용성
        • 친밀성
      • 효율성
        • 시간 효율성
        • 자원 효율성
      • 유지 보수성
        • 분석성
        • 변경성
        • 안정성
        • 시험성
      • 이식성
        • 적용성
        • 설치성
        • 대체성
        • 공존성
  • ISO/IEC 25010
    • ISO/IEC 25010은 소프트웨어 제품에 대한 국제 표준으로 2011년에 ISO/IEC 9126을 개정하여 만들었다.
  • 기능 적합성
    • 기능 완전성
    • 기능 정확성
    • 기능 적절성
  • 성능 효율성
    • 시간 효율성
    • 자원 효율성
    • 사양
  • 호환성
    • 공존성
    • 상호운영성
  • 사용성
    • 적절 인지정도
    • 학습성
    • 조작성
    • 사룡자 오류 방지
    • UI 미학
    • 접근성
  • 신뢰성
    • 성숙성
    • 사용가능성
    • 결함 허용성
    • 복구성
  • 보안성
    • 기밀성
    • 무결성
    • 부인방지
    • 책임추적성
    • 인증성
  • 유지 보수성
    • 모듈성
    • 재사용성
    • 분석성
    • 변경성
    • 시험성
  • 이식성
    • 적응성
    • 설치성
    • 대체성

기타 소프트웨어 품질 관련 표준

  • ISO/IEC 1219 : ISO/IEC 9126을 준수한 품질 표준으로, 테스트 절차를 포함하여 규정
  • ISO/IEC 12598 : 소프트웨어 품질의 측정과 평가에 필요 절차를 규정한 표준으로, 개발자, 구매자, 평가자 별로 수행해야 할 제품 평가 활동을 규정

기능성(Functionality)

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

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

신뢰성(Reliability)

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

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

사용성(Usability)

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

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

효율성(Effciency)

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

  • 시간 효율성(Time Behaviour) : 특정 기능을 수행할 때 적절한 반으 시간 및 처리 시간, 처리율을 제공할 수 있는 능력
  • 자원 효율성(Resource Behaviour) : 특정 기능을 수행할 때 적절한 자원의 양과 종류를 제공할 수 있는 능력

유지 보수성(Maintainability)

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

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

이식성(Portability)

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

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

'휴지통 > 정보처리기사' 카테고리의 다른 글

오답노트 01  (0) 2022.02.07
016. UI 프로토타입 제작 및 검토  (0) 2022.01.02
014. UI 요구사항 확인  (0) 2022.01.02
013. UI 설계 도구  (0) 2022.01.02
012. UI 표준 및 지침  (0) 2022.01.02