ISO/IEC 25030 품질 요구사항 표준 소개 1부에서는, 시스템을 어떻게 구조화하고 각 세부구조에서 품질을 어떻게 정의하며 요구사항 도출 절차에 대해서 알아보았습니다.
1부 : ISO 25030 개요 및 목차, 이해관계자 요구 사항과 시스템 요구 사항 관계
2부 : 소프트웨어 품질 요구 사항 모델과 생명주기, 검증 방법
이번 2부에서는 품질 요구 사항의 속성과 생명주기, 검증 방법에 대해 표준이 어떻게 명시되어 있는지 알아보도록 하겠습니다.
※ 1부 보러 가기
소프트웨어 품질 요구사항의 속성
소프트웨어 품질 요구사항에서 언급되는 속성이란, 소프트웨어로부터 도출 가능한 속성을 의미합니다. 소프트웨어 속성을 분류하면 <그림 1>과 같은데, 먼저 고유 속성은 기능 속성 또는 품질 속성으로 분류됩니다.
기능 속성: 소프트웨어가 수행할 수 있는 작업이고 품질 속성은 소프트웨어의 성능입니다. 즉, 품질 속성은 소프트웨어가 지정된 서비스를 제공하고 유지 가능한 정도를 말합니다. 품질은 소프트웨어 제품에 내재되어 있습니다.
할당된 속성: 소프트웨어를 변경하지 않고 변경 가능하므로 소프트웨어의 품질 특성으로 간주되지 않습니다.
<그림 1> 소프트웨어 속성
소프트웨어 품질 요구사항 생명주기
소프트웨어 품질 요구사항의 생명주기는 이해관계자의 요구사항을 기반으로 도출되며 시작됩니다. 특히 사용 중인 시스템이 있는 경우, 시스템의 기존 사용자가 새 시스템에 대한 요구사항의 주요 출처가 될 것입니다. 이해관계자 요구사항은 경험 또는 실제 사용에서 광범위하게 식별될 수 있으므로 이에 대한 분류가 필요합니다. 일반적으로 품질 요구사항은 다음 세 가지 중 하나로 분류됩니다.
소프트웨어 사용 품질 요구사항(Software quality in use requirements)
외부 소프트웨어 품질 요구사항(External software quality requirements)
내부 소프트웨어 품질 요구사항(Internal software quality requirements)
이 분류는 명확하게 구분되기는 어렵고 서로 연관 관계가 있어서 사용 품질 요구사항에서 외부/내부 소프트웨어 품질 요구사항까지 연관될 수 있습니다. 요구 사항은 소프트웨어 제품으로 구현되며 반복적인 개발 프로세스가 가능한 경우 다음 버전의 소프트웨어에서 이해관계자 요구 사항을 추가로 식별하여 개발할 수 있습니다.
설명한 생명주기를 도식화하면 <그림 2>과 같이 정리되며, 이러한 생명 주기는 품질 요구사항뿐만 아니라 소프트웨어 요구사항에도 폭넓게 적용이 가능합니다.
<그림 2> 품질 요구사항 생명주기
소프트웨어 품질 요구사항의 검증(Verification)
모든 요구사항이 그렇듯 품질 요구사항 또한 검증되어야 한다. 다음은 소프트웨어 품질 요구사항에 대해 검증을 문서화할 때 기술해야 할 사항입니다.
소프트웨어 품질 요구사항 검증에 활용된 별도의 도구 또는 자원
소프트웨어 품질 요구사항 검증에 필요한 시간 그리고 노력
소프트웨어 품질 요구사항들 간의 발생한 충돌
소프트웨어 품질 요구사항과 구현 제약 간의 충돌
이슈 해결을 위해 소프트웨어 품질 요구사항이 추가 또는 변경된 경우, 원래의 내용과 변경 내용의 추적
(후략)
* 위의 글은 슈어소프트테크에서 제공되었습니다.