학습

소프트웨어 품질 평가

반생자 2016. 3. 17. 14:21




1. "소프트웨어 기술성 평가기준 적용 가이드"

   ==> 지식경제부, 정보통신산업 진흥원(nipa)

<자료>

http://www.kisa.or.kr/uploadfile/201006/201006091729160832.pdf

<법령>

http://www.law.go.kr/%ED%96%89%EC%A0%95%EA%B7%9C%EC%B9%99/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4%20%EA%B8%B0%EC%88%A0%EC%84%B1%20%ED%8F%89%EA%B0%80%EA%B8%B0%EC%A4%80


2. 소프트웨어 품질 평가 표준 기술 및 동향  (IOS 기준) : http://gisulsa.tistory.com/75

   ==> ISO/IEC 9126,  ISO/IEC 12119,  ISO/IEC 14598


(1) ISO/IEC 9126

ISO/IEC 9126(Information Technology-Software Quality Characteristics and Metrics)은 소프트웨어 품질 특성과 척도에 관한 지침으로 고객 관점에서 소프트웨어에 관한 품질 특성과 품질 부특성을 정의하고 있다. ISO/IEC 9126은 소프트웨어 품질 속성을 (그림 2)와 같이 여섯 가지 특성으로 구분하며, 이러한 품질특성은 다시 부특성들로 세분되며 각 품질 부특성별로 세부 메트릭을 제시하고 있다.

(2) ISO/IEC 12119

ISO/IEC 12119(Information Technology-Software Product Evaluation)은 소프트웨어 제품의 품질을 요구사항을 규정하고 있는데 (그림 3)과 같이 제품 설명서, 사용자 문서 및 프로그램으로 구분하여 각각의 품질 요구사항을 규정하고 있으며, ISO/IEC 9126의 품질 모델을 따르고 있고, 소프트웨어 테스트 절차도 규정하고 있다.

(3) ISO/IEC 14598

ISO/IEC 14598(Information Technology-Software Product Evaluation)은 소프트웨어 제품의 품질을 측정하거나 평가하는데 필요한 방법과 절차를 (그림 4)와 같이 정의하고 있는 표준이다.

제품 품질 측정 계획의 준비와 구현 뿐 아니라 제품 평가 기능의 관리를 위한 전체적인 사항을 다루고 있으며 품질 평가 주체에 따라 소프트웨어 개발자(Developers), 구매자(Acquirers) 및 제삼자 평가자(Evaluators)로 구분하여 이들 각각을 위한 소프트웨어 제품 평가 활동을 다루고 있다.


(4) ISO/IEC 15504

ISO/IEC 15504(Information Technology-Software Process Assessment)는 소프트웨어 프로세스를 평가하고 개선함으로써 품질 및 생산성을 높이고자 하는 표준이다. 이들 프로세스를 정립하여 수행하고 있는 수준에 따라 (그림 5)와 같이 개발기관의 능력 레벨을 Incomplete, Performed, Managed Established, Predictable, Optimizing level 등 6단계로 구분하고 있다.

ISO 9001(Quality systems-Model for quality assurance in design, development, production, installation and servicing)은 (그림 6)과 같이 설계, 개발, 생산, 설치 및 서비스 과정에 대한 품질 보증 모델로서 이 과정에 필요한 품질 시스템 순기 활동과 그에 따른 공급자와 구매자 각각의 관리책임을 명시하고 있으며 운영 중인 품질 시스템이 이 표준에 적합할 경우 품질 인증을 부여할 수 있도록 한다. 공급자와 구매자 간의 계약에서 총체적인 품질 시스템에 대한 요구사항은 이미 ISO 9001 국제 표준으로 규정되어 있으며 이를 소프트웨어에 적용하기 위해 추가 지침인 ISO 9000-3이 1991년에 제정되었다.



나. IEEE


IEEE의 표준화기구인 IEEE-SA는 IEEE 표준의 개발과 개정을 촉진하고 조정하며 IEEE 표준 프로젝트를 승인하고 일관성, 합리적 절차, 공개성과 균형성을 위해 IEEE 표준 프로젝트를 검토하는 업무를 담당하고 있다[3].


IEEE는 소프트웨어공학기술위원회(Technical Committee on Software Engineering: TCSE) 내에 소프트웨어공학표준위원회(Software Engineering Standard Committee: SESC)를 설치하여 소프트웨어공학 표준화 업무를 담당하게 하고 있다.


SESS는 소프트웨어 공학적 기술을 소프트웨어 개발, 관리, 및 유지 보수에 잘 활용하도록 촉진하고, 이를 위한 표준제정, 홍보 및 교육, 그리고 국제적인 표준화 활동을 선도하고 있고 미국의 ANSI(American National Standards Institute)는 SESS를 자국의 소프트웨어 표준 개발기구로 공인(accreditation), 지원하고 있다.


IEEE는 초기에는 소프트웨어 공학 용어해설(ANSI/IEEE Std 729-1983)을 제정하여 용어 사용 표준화의 기반을 확립하는데 주력하였으며 최근에는 표준화 활동의 추세가 초기의 우수한 기술이나 기법을 추천하는 활동에서 발전하여 지침서 제정으로 관심이 변화되고 있다.


지침서 제정 시 IEEE는 소프트웨어 공학 표준을 처리표준(process standards), 제품표준(product standards), 전문표준(professional standards) 및 표기표준(notation standards)으로 나누어 이를 세분화하고 있다.


IEEE의 소프트웨어 품질 평가 관련 표준은 다음과 같다.

- IEEE-730: Standard for Software Quality Assurance Plans IEEE Computer Society Document(2002. 09)

- IEEE-1465: Adoption of International Standard ISO/IEC 12119: 1994(E) Information Technology-Software Packages-Quality Requirements and Testing IEEE Computer Society Document(1998.12)

- IEEE 1061: Standard for a Software Quality Metrics Methodology IEEE Computer Society Document(1998.12)

- IEEE 982.1: Standard for Measures for Reliable Software IEEE Computer Society Document(1998.12)