소프트웨어 품질
두 개의 서로 관련되면서도 구별된 개념: 기능적 품질, 구조적 품질
소프트웨어 공학에서 소프트웨어 품질(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가지 주요 구조 특징들을 정의하고 있다: 신뢰성, 효율성, 보안, 유지보수, (적절한) 크기.
같이 보기
편집각주
편집- ↑ Pressman, Scott (2005), Software Engineering: A Practitioner's Approach (Sixth, International ed.), McGraw-Hill Education Pressman, 388쪽
- ↑ “How to Deliver Resilient, Secure, Efficient, and Easily Changed IT Systems in Line with CISQ Recommendations” (PDF). 2013년 12월 28일에 원본 문서 (PDF)에서 보존된 문서. 2013년 10월 18일에 확인함.
- ↑ “ISO 25000:2005” (PDF). 2013년 10월 18일에 확인함.
- ↑ “ISO/IEC 25010:2011”. ISO. 2016년 3월 14일에 확인함.
외부 링크
편집- (영어) Linux: Fewer Bugs Than Rivals Wired Magazine, 2004
- (영어) Automated Function Points[깨진 링크(과거 내용 찾기)] Beta 1 by OMG
이 글은 소프트웨어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |