품질속성
작성일 : 2023년 07월 23일 (Sunday)
Table of contents
아키텍처를 설계하는 데 있어서 핵심 요소는 아키텍처 드라이버라고 이전 글에서 다뤘다. 이번 글에서는 그 중 품질 속성에 대해서 다뤄보려고 한다. 먼저 아키텍처를 미리 설계하는 게 왜 중요할까? 답은 품질 속성이다. 품질속성은 단순 개발단계에서 발생하는 문제가 아니고, 실제 사용하고 적용하는 단계에서 발생할 수 있는 문제점을 다루기 때문이다. 아키텍처 설계 단계에서 품질속성 워크샵 (QAW)을 진행하며 품질속성을 미리 검토하여 사전에 사양을 도출해낼 수 있기 때문에 개발에 앞서서 아키텍처를 설계하는 것이 굉장히 중요하다고 할 수 있다.
QAW (Quality Attributes Workshop)
QAW는 아키텍처 단계에서 품질속성 시나리오를 도출해서 개발 사전에 품질속성 아키텍처 드라이버를 도출해낼 수 있기 때문에 중요하다. 이해당사자(Stakeholder)들이 모두 다같이 참여해서 진행하기 때문에 모두의 의견이 반영된다고 볼 수 있다.
CMU SEI(Software Engineering Institute, Carnegie Mellon University)에서는 QAW를 다음의 순서로 진행한다.
- QAW 목적(동기) 설명 및 진행순서 소개
- 이해당사자의 대표들이 각각 사업적/설계적 드라이버 발표
- 기술분야 이해당사자들이 High Level 시스템 설명, 간단한 드로잉 등 문서 초안을 작성하기 위해 필요한 것들을 설명한다.
- 아키텍처 드라이버 식별
- 시나리오 브레인스토밍
- 시나리오 결합
- 시나리오 우선순위 선정
- 시나리오 정제
즉, QAW의 목적은 먼저 시스템에 대해서 간단하게 식별가능한 기능 수준에서 시스템을 먼저 이해한 뒤, 그 시스템에 해당하는 품질속성 시나리오를 도출하고, 우선순위를 매기고, 사업적/프로그래밍적 목표와 관련된 시나리오와 이외 시나리오로 4~5개로 분류하는 것이라고 할 수 있다.
품질속성의 종류
그렇다면 품질속성은 어떤 것들이 있을까? 품질속성에 대한 정의가 여러개 존재하지만 그 중에서 역사가 가장 깊은 것은 ISO 9126이다. 이 ISO 9126은 2011년에 ISO 25010으로 대체된다. ISO 25010은 ISO 9126에 비해서 호환성과 보안성이 추가된 것이라고 보면 된다. 그에 따라 부특성의 개수도 일부 증가하였다.
표준 외에 SEI 품질 속성도 종종 사용된다.