소프트웨어 공학

소프트웨어 제품 품질 지표 소개

안녕하십니까? 씨앤텍시스템즈 유가현 선임연구원입니다. 이번 포스팅 주제는 "소프트웨어 제품 품질 지표 소개"입니다.

 

먼저 품질이란, "사용자의 요구와 부합되는 정도"를 뜻합니다.

하드웨어는 눈에 보이기 때문에 사용자의 요구사항을 규격서에 정확하게 기술이 가능하지만,

소프트웨어는 눈에 보이지 않는 특성 (invisible)을 가지고 있어서 사용자의 요구사항을 규격서에 정확하게 기술하기 어렵습니다.

그렇기 때문에 제 3자로부터 공인된 품질 인증을 획득하여 품질에 대한 신뢰성을 확보합니다.

보는 관점에 따라 품질 목표도 달라질 수 있습니다.

ㅇ 프로젝트 관리자 : 계획된 비용과 기간에 맞춰야 함

ㅇ 개발자 : 개발과 수정이 쉬워야 함

ㅇ 유지보수 담당자 : 가독성이 높고 쉽게 이해할 수 있어야 함

ㅇ 구매 담당자 : 가격이 저렴해야 함

ㅇ 사용자 : 배우고 사용하기 쉽고, 다양한 기능을 제공하고 속도가 빨라야 함

위의 예시처럼 역할과 관점에 따라 품질 목표가 다양하기 때문에 품질 평가를 정확하게 정하는 것도 중요합니다.

소프트웨어 품질 평가는 크게 '제품 품질 평가'와 '프로세스 품질 평가'로 나눌 수 있습니다.

ㅇ 소프트웨어 제품 품질 평가 : 완성된 제품에 대한 품질을 평가

ㅇ 소프트웨어 프로세스 품질 평가 : 소프트웨어를 개발하는 프로세스에 대한 품질을 평가

소프트웨어 제품 품질 평가는 개발된 최종 소프트웨어 제품이 사용자의 의도대로 기능을 수행하는지 평가하며 아래와 같은 품질 평가 모델이 존재합니다.

품질 평가 모델 세부 내용
ISO/IEC 9126 9126-1 (품질 모델)
9126-2 (외부 품질)
9126-3 (내부 품질)
9126-4 (사용 품질)
ISO/IEC 14598 14598-1 (일반적 개요)
14598-2 (계획과 관리)
14598-3 (개발자용 프로세스)
14598-4 (구매자용 프로세스)
14598-5 (평가자용 프로세스)
14598-6 (평가 모듈)
ISO/IEC 12119 소프트웨어 패키지
제품 설명서, 사용자 문서, 프로그램과 데이터
ISO/IEC 25000 2500X (SQuaRE 개요)
2501X (품질 모델)
2502X (품질 메트릭)
2503X (품질 요구사항)
2504X (품질 평가)

아래는 ISO/IEC 9126, 25010, 25023 품질 평가 모델의 품질 특성입니다.

 

 ㅇ ISO/IEC 9126

ISO/IEC 9126 품질 평가 모델

 ㅇ ISO/IEC 25010

ISO/IEC 25010

 ㅇ ISO/IEC 25023

ISO/IEC 25023

품질 특성은 '주 특성'과 '부 특성'으로 이루어져있으며,

위에서 보신 것처럼 다른 품질 평가 모델이지만 많은 품질 특성들이 공통적으로 포함되어 있습니다.

대표 품질 특성에 대한 설명은 아래와 같습니다.

품질 특성 정의
정확성 (Correctness) 사용자가 요구하는 기능을 충족시키는 정도
신뢰성 (Reliability) 사용자가 요구한 기능을 정확하고 일관되게 원하는 정밀도로 수행할 수 있는 정도
효율성 (Efficiency) 사용자가 요구하는 기능을 수행하는데  최소의 시간과 기억 용량을 사용하여 요구되는 기능을 수행할 수 있는 정도
무결성 (Integrity) 허가 받지 않은 사용자가 데이터 접근을 통해 변경을 시도했을 때 보호할 수 있는 정도
사용성 (Usability) 소프트웨어를 사용하는 데 있어서 혼란스러워 하거나 사용하는 순간에 고민하지 않도록 편리한 기능을 제공하는 정도
유지보수 용이성 (Maintainability) 프로그램 내에 존재하는 오류를 찾아 수정하고 패치할 때 쉽게 변경할 수 있는 정도
테스트 용이성 (Testability) 쉽고 철저하게 테스트할 수 있는 정도
유연성 (Flexibility) 운영 환경의 변화에 따라 새로운 기능을 추가하거나 다른 환경에 적용할 수 있게 프로그램을 쉽게 수정할 수 있는 정도
이식성 (Portability) 다른 하드웨어 환경에서도 운용 가능하도록 쉽게 수정하여 이식할 수 있는 정도
재사용성 (Reusability) 시스템의 일부나 전체를 다른 어플리케이션에서도 쉽게 사용할 수 있는 정도
상호운용성 (Interoperability) 한 소프트웨어를 다른 소프트웨어와 쉽게 연계하거나 결합하여 정보를 교환할 수 있는 정도

대표적인 소프트웨어 제품 품질 인증인 GS 인증의 경우 ISO/IEC 25023, 25051, 25041 국제 표준 기반으로 시험을 수행합니다.

(출처: TTA 홈페이지, https://sw.tta.or.kr) ​

728x90

'소프트웨어 공학' 카테고리의 다른 글

형상 관리 개요  (0) 2021.11.02
WBS 소개  (0) 2021.09.28
요구사항 정의 및 분류  (0) 2021.07.28
소프트웨어 개발 생명주기 모델 소개  (0) 2021.06.28
소프트웨어 공학 소개  (0) 2021.05.17