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