소프트웨어 품질

두 개의 서로 관련되면서도 구별된 개념: 기능적 품질, 구조적 품질

소프트웨어 공학에서 소프트웨어 품질(software quality)은 비즈니스 문맥에서 품질이 정의된 곳에 존재하는, 두 개의 서로 관련되면서도 구별된 개념을 가리킨다.

  • 소프트웨어 기능 상의 품질(software functional quality)은 기능 요건이나 사양에 기반하여 주어진 설계를 얼마나 잘 충족하고 있는지를 반영한다. 이러한 특성은 소프트웨어의 목적이 부합하는지, 또 가치가 있는 상품으로서 시장의 경쟁작들과 비견할만한지를 기술할 수 있다.[1]
  • 소프트웨어 구조 상의 품질(software structural quality)은 기능 요건의 전달을 지원하는 비기능 요건을 어떻게 충족하는지를 가리키는데, 이를테면 소프트웨어가 올바르게 개발될 수 있는지를 가늠하는 척도로서 내구성이나 유지보수성을 들 수 있다.

소프트웨어 품질은 소프트웨어 내부 구조, 소스 코드, 단위 수준, 기술 수준, 시스템 수준의 분석을 통해 평가되며, 아키텍처가 OMG의 주제에 따른 논문에 개요로 서술된 소프트웨어 구조의 원칙을 준수하는 방식을 수행한다.[2] 반면, 기능 상의 품질은 일반적으로 소프트웨어 테스트를 통해 강제되어 측정된다.

역사적으로, 소프트웨어 품질 관리에 적용 가능한 특성과 메트릭스의 구조, 분류, 용어는 ISO 9126-3과 이후의 ISO 25000:2005[3] 품질 모델(SQuaRE)[4]로부터 가져온 것이다. 이러한 모델에 기반하여, CISQ(Consortium for IT Software Quality)는 비즈니스 가치를 제공하는 소프트웨어에 필수적인 5가지 주요 구조 특징들을 정의하고 있다: 신뢰성, 효율성, 보안, 유지보수, (적절한) 크기.

같이 보기 편집

각주 편집

  1. Pressman, Scott (2005), Software Engineering: A Practitioner's Approach (Sixth, International ed.), McGraw-Hill Education Pressman, 388쪽
  2. “How to Deliver Resilient, Secure, Efficient, and Easily Changed IT Systems in Line with CISQ Recommendations” (PDF). 2013년 12월 28일에 원본 문서 (PDF)에서 보존된 문서. 2013년 10월 18일에 확인함. 
  3. “ISO 25000:2005” (PDF). 2013년 10월 18일에 확인함. 
  4. “ISO/IEC 25010:2011”. ISO. 2016년 3월 14일에 확인함. 

외부 링크 편집