관리 메뉴

나구리의 개발공부기록

2장 - 화면설계 | 섹션13. 품질 요구사항 본문

2024정보처리기사 준비 정리(필기 - 시나공, 실기 - 수제비)/필기 1강 - 소프트웨어 설계

2장 - 화면설계 | 섹션13. 품질 요구사항

소소한나구리 2024. 4. 16. 21:01

2024년도 시나공 필기 책 내용 정리


섹션13. 품질요구사항

 

1. 품질 요구사항

 

  • 소프트웨어의 기능, 성능, 만족도 등 소프트웨어에 대한 요구사항이 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체이며 소프트웨어의 품질은 사용자의 요구사항을 충족시킴으로써 확립됨
  • ISO / IEC 9126
    • 소프트웨어의 품질 특성과 평가를 위한 표준 지침으로서 국제표준으로 널리 사용됨
    • 소프트웨어의 품질에 대한 요구사항을 기술하거나 개발중이거나 개발이 완료된 소프트웨어의 품질 평가 등에 사용됨
    • 2011년에 호환성과 보안성을 강화하여 ISO / IEC 25010 으로 개정됨
    • ISO / IEC 9126에서 제시한 소프트웨어 품질 특성
기능성 적절성/적합성, 정밀성/정확성, 상호 운용성, 보안성, 준수성
신뢰성 성숙성, 고장허용성, 회복성
사용성 이해성, 학습성, 운용성, 친밀성
효율성 시간 효율성, 자원효율성
유지보수성 분석성, 변경성, 안정성, 시험성
이식성 적용성, 설치성, 대체성, 공존성

 

  • ISO / IEC 25010
    • 소프트웨어 제품에 대한 국제 표준으로 2011년에 ISO / IEC 9126을 개정하여 만들어짐
    • ISO / IEC 25010 에서 제시항 소프트웨어의 품질 특성
기능 적합성 기능 완전성, 기능 정확성, 기능 적절성
성능 효율성 시간 효율성, 자원 효율성, 사양
호환성 공존성, 상호운영성
사용성 적절 인지정도, 학습성, 조작성, 사용자 오류 방지, UI미학, 접근성
신뢰성 성숙성, 사용가능성, 결함허용성, 복구성
보안성 기밀성, 무결성, 부인방지, 책임추적성, 인증성
유지모수성 모듈성, 재사용성, 분석성, 변경성, 시험성
이식성 적응성, 설치성, 대체성

 

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

 

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

2. 기능성(Functionality)

 

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

3. 신뢰성(Reliability)

 

  • 소프트웨어가 요구된 기능을 정확하고 일관되게 오류 없이 수행할 수 있는 정도를 나타냄
상세 품질 요구사항 설명
성숙성(Maturity) 결함으로 인한 고장을 피해갈 수 있는 능력
고장 허용성(Fault Tolerance) 결함 또는 인터페이스 결여 시에도 규정된 성능 수준을 유지할 수 있는 능력
회복성(Recoverability) 고장 시 규정된 성능 수준까지 다시 회복하고 직접적으로 영향 받은 데이터를 복구할 수 있는 능력

4. 사용성(Usability)

 

  • 사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 쉽게 배우고 사용할 수 있으며 향후 다시 사용하고 싶은 정도를 나타냄
상세 품질 요구사항 설명
이해성(Understandability) 소프트웨어의 적합성, 사용 방법 등을 사용자가 이해할 수 있는 능력
학습성(Learnability) 소프트웨어 애플리케이션을 학습할 수 있도록 하는 능력
운용성(Operability) 사용자가 소프트웨어를 운용하고 제어할 수 있도록 하는 능력
친밀성(Attractiveness) 사용자가 소프트웨어를 다시 사용하고 싶어 하도록 하는 능력

5. 효율성(Effciency)

 

  • 사용자가 요구하는 기능을 할당된 시간 동안 한정된 자원으로 얼마나 빨리 처리할 수 있는지 정도를 나타냄
상세 품질 요구사항 설명
시간 효율성(Time Behaviour) 특정 기능을 수행할 때 적절한 반응 시간 및 처리 시간, 처리율을 제공할 수 있는 능력
자원 효율성(Resource Behaviour) 특정 기능을 수행할 때 적절한 자원의 양과 종류를 제공할 수 있는 능력

6. 유지 보수성(Maintainability)

 

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

7. 이식성(Portability)

 

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