Skip to main content Link Search Menu Expand Document (external link) Copy Copied

품질속성

작성일 : 2023년 07월 23일 (Sunday)

Table of contents
  1. QAW (Quality Attributes Workshop)
  2. 품질속성의 종류

아키텍처를 설계하는 데 있어서 핵심 요소는 아키텍처 드라이버라고 이전 글에서 다뤘다. 이번 글에서는 그 중 품질 속성에 대해서 다뤄보려고 한다. 먼저 아키텍처를 미리 설계하는 게 왜 중요할까? 답은 품질 속성이다. 품질속성은 단순 개발단계에서 발생하는 문제가 아니고, 실제 사용하고 적용하는 단계에서 발생할 수 있는 문제점을 다루기 때문이다. 아키텍처 설계 단계에서 품질속성 워크샵 (QAW)을 진행하며 품질속성을 미리 검토하여 사전에 사양을 도출해낼 수 있기 때문에 개발에 앞서서 아키텍처를 설계하는 것이 굉장히 중요하다고 할 수 있다.

QAW (Quality Attributes Workshop)

QAW는 아키텍처 단계에서 품질속성 시나리오를 도출해서 개발 사전에 품질속성 아키텍처 드라이버를 도출해낼 수 있기 때문에 중요하다. 이해당사자(Stakeholder)들이 모두 다같이 참여해서 진행하기 때문에 모두의 의견이 반영된다고 볼 수 있다.

CMU SEI(Software Engineering Institute, Carnegie Mellon University)에서는 QAW를 다음의 순서로 진행한다.

  1. QAW 목적(동기) 설명 및 진행순서 소개
  2. 이해당사자의 대표들이 각각 사업적/설계적 드라이버 발표
  3. 기술분야 이해당사자들이 High Level 시스템 설명, 간단한 드로잉 등 문서 초안을 작성하기 위해 필요한 것들을 설명한다.
  4. 아키텍처 드라이버 식별
  5. 시나리오 브레인스토밍
  6. 시나리오 결합
  7. 시나리오 우선순위 선정
  8. 시나리오 정제

즉, QAW의 목적은 먼저 시스템에 대해서 간단하게 식별가능한 기능 수준에서 시스템을 먼저 이해한 뒤, 그 시스템에 해당하는 품질속성 시나리오를 도출하고, 우선순위를 매기고, 사업적/프로그래밍적 목표와 관련된 시나리오와 이외 시나리오로 4~5개로 분류하는 것이라고 할 수 있다.

품질속성의 종류

그렇다면 품질속성은 어떤 것들이 있을까? 품질속성에 대한 정의가 여러개 존재하지만 그 중에서 역사가 가장 깊은 것은 ISO 9126이다. 이 ISO 9126은 2011년에 ISO 25010으로 대체된다. ISO 25010은 ISO 9126에 비해서 호환성과 보안성이 추가된 것이라고 보면 된다. 그에 따라 부특성의 개수도 일부 증가하였다.
표준 외에 SEI 품질 속성도 종종 사용된다.

ISO 9126 품질 특성 모델 (SPLEX Test-Ware Service에서 인용)
ISO 9126 품질 특성 모델 (SPLEX Test-Ware Service에서 인용)
ISO 25010 품질 특성 모델 (SPLEX Test-Ware Service에서 인용)
ISO 25010 품질 특성 모델 (SPLEX Test-Ware Service에서 인용)