소프트웨어 품질
From IT위키
- Software Quality; Software Metric
- ISO/IEC 9126에서 정의된 소프트웨어 품질 특성, 국내 정보처리기사 등의 기출문제 문언을 참고하여 구성
품질 특성
- Software Metric
기존에 ISO/IEC 9126 기준의 특성들이 사용되었으나, 9126이 폐기되고 ISO/IEC 25000(SQuaRE)으로 통합었다.
- ISO/IEC 25010의 품질 특성
품질 특성 | 세부 특성 | |
---|---|---|
1. functional suitability (기능 적합성) | 1.1 functional completeness (기능 완전성) | |
1.2 functional correctness (기능적 정확성) | ||
1.3 functional appropriateness (기능적 적절성) | ||
2. performance efficiency (성능 효율성) | 2.1 time behavior (시간 효율성) | |
2.2 resource utilization (자원 효율성) | ||
2.3 capacity (사양) | ||
3. compatibility (호환성) | 3.1 co-existence (공존성) | |
3.2 interoperability (상호운영성) | ||
4. usability (사용성) | 4.1 appropriateness recognizability (적절성 인지정도) | |
4.2 learnability (학습성) | ||
4.3 operability (조작성) | ||
4.4 user error protection (사용자 오류 방지) | ||
4.5 user interface aesthetics (UI 미학) | ||
4.6 accessibility (접근성) | ||
5. reliability (신뢰성) | 5.1 maturity (성숙성) | |
5.2. availability (사용가능성) | ||
5.3 fault tolerance (결함 허용성) | ||
5.4 recoverability (복구성) | ||
6. security (보안) | 6.1 confidentiality (기밀성) | |
6.2 integrity (무결성) | ||
6.3 non-repudiation (부인방지) | ||
6.4 accountability (책임추적성) | ||
6.5 authenticity (인증성) | ||
7. maintainability (유지 보수성) | 7.1 modularity (모듈성) | |
7.2 reusability (재사용성) | ||
7.3 analysability (분석성) | ||
7.4 modifiability (변경성) | ||
7.5 testability (시험성) | ||
8. portability (이식성) | 8.1 adaptability (적응성) | |
8.2 installability (설치성) | ||
8.3 replaceability (대체성) |
ISO/IEC 9126과의 비교
ISO/IEC 9126-1 | ISO/IEC 25010 |
---|---|
기능성 | 기능 적합성 |
효율성 | 성능 효율성 |
호환성 | |
사용성 | |
신뢰성 | 신뢰성 |
보안성 | |
유지보수성 | 유지보수성 |
이식성 | 이식성 |
세부 설명
- 추가, 수정이 용이하도록 표를 그리지 말고 편집
- 정확성(Correctness)
- 소프트웨어가 사용자의 요구기능을 충족 시키는가
- 목적했던 기능이 정확히 동작하는가
- 신뢰성(Reliability)
- 기능이 오차나 오류 없이 동작하는가
- 일관된 결과가 도출 되는가
- 효율성(Efficiency)
- 기능을 수행하는데 적절한 자원이 소요되는가
- 기능이 필요한만큼 빠르게 수행되는가
- 무결성(Integrity)
- 허용되지 않는 사용이나 자료 변경을 제어하는가
- 사용 용이성(Usability)
- 쉽게 배우고 사용할 수 있는가
- 유지보수성(Maintainability)
- 변경 및 오류 교정 시 쉽게 수정할 수 있는가
- 시험 용이성(Testability)
- 개선, 유지보수 등에 있어서 테스트를 하기 용이하게 되어 있는가
- 유연성(Flexibility)
- 새로운 요구사항에 대해서도 쉽게 개선 및 적용 가능한가
- 이식성(Potability)
- 다양한 플랫폼 및 하드웨어에서 동작하는가
- 재사용성(Reusability)
- 개발된 기능을 다른 목적으로 사용하기 용이한가
- 상호 운용성(Interoperability)
- 다른 소프트웨어와 상호 교류가 용이한가
- 예시
- NFC, Bluetooth등 표준 프로토콜을 이용한 경우 해당 표준을 준용한 HW/SW와 상호운용 가능
- Slack은 google drive, trello 등 다른 도구와의 결합이 용이함