소프트웨어 품질 평가 모델 - ISO/IEC 모델들

품질 정의

 

품질이란, 관점에 따라 달라진다.

 

사용자 관점에서 좋은 소프트웨어는 배우기 쉽고 사용하기 편한 것이고,

프로젝트 관리자 관점에서 좋은 소프트웨어는 추가 부담(기간, 비용)이 발생하지 않는 것이다.

 

 

이렇듯이, 소프트웨어에서 품질은 사용자의 요구와 부합되는 정도를 말한다.

 

 

좋은 품질의 소프트웨어를 만들기 위해선 처음부터 품질을 고려한 계획을 세워서 품질 요구 사항에 대한 명세서를 작성해야 한다.

 

아래는 우리가 개발할 소프트웨어의 품질에서 어떤 부분을 평가해야 하는지 정리한 표이다.

 

 

 

 

 

품질 요소

 

아까 관점에 따라 중요하게 생각하는 품질의 요소가 다르다고 했었다.

학자 또한 중요하게 생각하는 요소가 다르다.

 

 

 

이 중에서, 우리는 맥콜이 주장하는 품질의 요소에 대해 알아보자.

 

우선 제품 운영이다.

이것은 개발된 SW가 고객이 사용해도 될 만큼 적합한지의 여부를 판단할 수 있는 품질 요소이다.

 

제품 개선은 소프트웨어를 변경하기 쉽고 편하게 만든 정도를 나타내는 품질 요소를 말한다.

 

제품 변환은 개발된 소프트웨어의 활용도를 높이려 할 때, 쉽게 할 수 있는 정도를 나타낸다.

 

 

 

 

 

품질 평가 모델

 

품질을 평가할 수 있는 모델은 제품 품질 특성 평가프로세스 품질 특성 평가로 나뉜다.

 

 

 

 

제품 품질 특성 평가 모델

 

제품 품질 특성 평가는 완성된 제품에 대한 평가를 한다.

주로 개발된 최종 산출물인 소프트웨어 제품이 사용자의 의도대로 기능을 수행하는지를 평가한다.

ISO/IEC 9126 모델이 소프트웨어 품질에 대한 표준적인 모델이다.

 

여기에서 ISO / IEC 의 의미는

  • 국제표준화기구 (ISO : International Organization for Standardization)
  • 국제전기기술위원회 (IEC : International Electrotechnical Commission)

 

 

 

 

ISO/IEC 9126 모델

 

 

9126 모델은 간단하게 품질에 대한 표준이라고 볼 수 있다.

 

 

이 안에서도 제품의 품질을 측정 및 평가하기 위해 모델을 분류한다.

 

 

ISO/IEC 9126-1(품질 모델)

6가지 품질 특성과 소프트웨어 제품의 품질 평가를 위한 프레임워크를 정의한다.

 

 

 

ISO/IEC 9126-2(외부 품질)

개발자를 위한 표준으로,

사용자/평가자/구매자/개발자들이 테스트 단계와 운영 중에 SW를 평가하고 보고서를 작 성할 수 있도록 도와준다.

완성된 소프트웨어의 성능, 오류 발생, 사용 용이성 등이 여기에 해당한다.

 

 

 

ISO/IEC 9126-3(내부 품질)

구매자를 위한 표준으로,

개발자/평가자/구매자가 제품 품질을 평가할 수 있도록 도와주며, 제품 완성 전 미리 품질 의 문제점들을 지적해준다.

 

품질 특성에 대하여 사용할 수 있는 내부 메트릭스(internal metrics)를 제공하는데

내부 메트릭스란 요구된 외부 품질이 성취되었는가를 확인하고, 아직 소프트웨어 개발이 진행중인 설계와 구현 단계에 적용되는 것이다.

 

 

 

ISO/IEC 9126-4(사용 품질) 

사용자를 위한 표준으로 사용 품질(quality in use)을 정의한다.

 

제품이 특정 환경에서 사용될 때 사용자의 작업 효율성, 생산성, 안정성, 만족도 등 사용자 의 요구를 충족시키는 정도이다.

 

제품이 고객에게 인도된 후 소프트웨어 자체의 특성보다 사용해본 결과를 토대로 사용자가 측정하고,

이 평가 자료는 향후 수정작업이나 유사 프로젝트의 기초 자료로 사용된다.

 

 

 

아래는 ISO/IEC9126의 품질 특성 및 하위 특성을 정리한 것이다.

 

 

 

 

 

 

ISO/IEC 14598 모델

 

ISO/IEC 14598 의 전체 구성도

 

소프트웨어 공급자와 구매자 사이에서 소프트웨어 개발 과정 또는 개발된 제품의 품질을 객관적으로 평가하기 위한 방법과 절차를 정의한 국제 표준 규격이다.

 

 

이 모델의 주요 특성으로는 다음과 같다.

  • 반복성 repeatability : 특정 제품을 동일한 평가자(기관)가 동일 기준을 적용하여 평가 했을 때 동일 한 결과가 나와야 한다. 
  • 재생산성 reproducibility : 특정 제품을 다른 평가자(기관)가 동일 기준을 적용하여 평가했을 때 동일한 결과가 나와야 한다.
  • 공정성 impartiality : 평가가 특정한 결과를 내기 위해 불공정한 편견이 없어야 한다.
  • 객관성 : 평가는 주관적 판단을 최소화하고 객관적 자료를 근거로 해야 한다.
  • ISO/IEC 9126 표준을 준수한다.

 

ISO/IEC 14598 역시 9126처럼 제품의 품질을 측정 및 평가하기 위해 모델을 세분화한다.

 

 

일반 개요(ISO/IEC 14598-1)

소프트웨어 제품의 품질 평가를 수행하기 위한 일반적인 개요로 범위와 용어를 정의한다.

개발자/평가자/구매자가 사용할 수 있는 평가 프로세스와 평가 모듈에 대한 로드맵을 제공한다.

 

 

계획과 관리(ISO/IEC 14598-2)

품질 평가 척도를 프로젝트 성격에 따라 선정하고 적용하기 위한 제품 품질 측정 계획의 준비와 구현에 대해 다루고 있다.

제품 평가 기능을 지원하기 위한 요구 사항과 안내 지침을 포함한 전체적인 사항을 제공한다.

 

 

개발자를 위한 프로세스(ISO/IEC 14598-3)

소프트웨어 개발 단계에서 알아야 할 개발자 준수 사항으로, 개발자가 개발 과정 및 최종 소프트웨어 제품의 품질 평가에 사용할 수 있는 방법을 제공한다.

 

 

구매자를 위한 프로세스(ISO/IEC 14598-4)

소프트웨어 제품을 구매하기 위한 계획을 수립할 때 사용하는 구매자용 프로세스이다.

구매자가 상용 소프트웨어 제품을 구매하는 과정에서 소프트웨어 제품의 품질 평가에 사 용할 수 있는 방법 제공한다.

 

 

평가자를 위한 프로세스(ISO/IEC 14598-5)

품질 전문가를 위한 프로세스로, 평가자가 개발 과정 및 최종 소프트웨어 제품의 품질 평 가를 수행할 때 사용한다.

 

 

평가 모듈(ISO/IEC 14598-6)

개발자/구매자/평가자가 소프트웨어 제품의 품질을 평가할 때 사용할 수 있도록 평가 모델에 대한 기본적인 가이드와 이론적인 모델 제공한다.

평가 모듈을 개발하여 문서화하고 검증하는 지침을 제공한다.

 

 

ISO/IEC 14598의 제품 품질 평가 절차

 

 

 

 

 

ISO/IEC 12119 모델

 

패키지 소프트웨어의 일반적인 제품 품질 요구 사항 및 테스트를 위한 국제 표준 규격이다.

 

주로 품질, 지침, 세부 인증에 대한 내용을 담고 있으며

명확화, 유사 문서 정의, 변경(가능)성, 환경 명세, 보안성이 들어가야 한다.

 

 

이것은 제품 설명서, 사용자 문서, 실행 프로그램으로 구성되어 있다.

 

첫 번째 평가 대상 : 패키지 소프트웨어에 관한 것.
( 제품 문서, 사용자 문서, 프로그램/데이터에 명시된 요구 사항 )

 

두 번째 평가 대상 : 패키지 SW와 최종 제품 및 중간 산출물을 포함하는 수주 개발 SW

 

세 번째 평가 대상 : 패키지 SW와 최종 제품 및 개발/유지보수 과정을 포함한 수주 개발 SW

 

테스트는 소프트웨어 제품 명세서, 사용자 매뉴얼, 사용자 요구 테스트 결과서 등을 대상으로 한다.
(프로그램 코드가 필요한 구조적 테스트는 제외)

주요 테스트 평가 항목은 기능성, 신뢰성, 사용성, 이식성 등을 평가한다.

 

평가 척도 : ISO 9126-2, ISO 9126-3 (품질 메트릭), ISO 12119 (테스트 방법)

 

ISO/IEC 12119 평가 절차

평가 절차와 SW 패키지 품질 요구사항 및 테스트 모델 § 소프트웨어 제품의 품질 요구 사항과 평가 절차를 규정한다

 

ISO/IEC 9126 소프트웨어 패키지 품질 요구 사항 및 테스트 모델

 

 

 

 

 

ISO/IEC 25000 모델

 

 

ISO/IEC 25000, SQuaRE  ( Software Quality and Requirement Evaluation )은

사용자들에게 유용하도록 여러 표준 문서를 통합하고 재구성하여 만든 국제 표준 문서이다.

소프트웨어 품질 평가 모델로부터 시작해 전체적인 품질 평가를 위한 표준 방안을 제시한다.

 

ISO/IEC 25000 구성도

 

 

 

 

 

프로세스 품질 특성 평가 모델 요약

 

프로세스 품질 특성 평가는 소프트웨어 제품의 개발 프로세스를 평가한다.

 

우리는 앞에서 소프트웨어 제품의 최종 품질에 영향을 줄 수 있는 소프트웨어 개발과정에 대한 품질을 알아봤다.

 

품질 시스템 보증을 위한 ISO 9000 모델

소프트웨어 생명주기 프로세스 표준을 위한 ISO 12207 모델

소프트웨어 프로세스 능력 평가를 위한 CMMI와 SPICE(ISO 15504) 모델

 

 

품질 시스템과 생명주기 프로세스 모델만 간단하게 보자

 

 

ISO 9000

국제 표준화 기구 ISO가 정한 품질 관리와 품질 보증을 위한 모델이다.

이 모델은 해당 제품이나 서비스 설계에서부터 생산 시설, 시험 검사 등 전반에 걸쳐 규격준수 여부를 확인해서 인증한다.

 

그래서 이 모델의 목적은 결국 제품의 품질을 객관적으로 인증 받아 사용자에게 신뢰감을 주는 것이다.

 

 

여기에서 나온 ISO 9001 모델은 SDLC의 과정에 대한 품질 보증 모델이다.

이 모델은 소프트웨어 개발을 목표로 구체화하지 않은 채 품질 프로세스의 다양한 측면을 기술한다.

사용되어야 하는 품질 프로세스를 정의하지 않고, 해당 기업 조직의 품질 매뉴얼로 문서화한다. 

 

 

 

프로세스 표준을 위한 ISO 12207 모델

소프트웨어 개발 생명주기 프로세스인 소프트웨어 생성부터 폐기까지의 프로세스에 해당한다.

 

이 모델은 기본 생명주기, 지원 생명주기, 조직 생명주기로 이루어져 있다.