국내 소프트웨어(SW) 산업은 2023년 기준으로 SW생산은 약 91.3조원, SW수출은 약 183.3억 달러로 지속적인 SW의 산업이 발전하고 있다. 소프트웨어의 중요성, 품질에 대한 관심은 지속 증가하고 있어 소프트웨어의 품질에 필수적인 국제표준(ISO/IEC 25023)의 이해를 위해 사례중심으로 국제표준의 적용 방법 및 주요 활용 사례를 기술한다. |
I. 국내 소프트웨어(SW) 산업 현황
2023년 3분기 국내 소프트웨어 산업(패키지SW, IT서비스, 게임SW, 인터넷SW)에 대한 조사 결과,
소프트웨어 생산 규모는 91.3조 원, 소프트웨어 수출 규모는 183.3억 달러, 소프트웨어 산업 종사자 수는 478.1천 명, 소프트웨어 기업 수(2022년 기준)는 64,932개로 집계되었다.
<자료> SPRi 소프트웨어(SW) 통계 포털
[그림1] 2023년 소프트웨어(SW) 산업현황
매출액은 2022년 대비 3.9% 증가, 전문인력은 2022년 대비 19.4% 증가 등 4차산업혁명이라는 세계적 흐름 속에서 소프트웨어(SW)의 주요산업은 디지털전환(Digital Transformation)을 통해 지속적인 성장과 경쟁력 제고에 부단한 노력을 기울이고 있다.
지속적인 성장과 경쟁력 제고를 위해서 소프트웨어(SW) 품질은 중요한 요소중 하나로 생각한다.
이를위해 소프트웨어(SW) 품질에서 빠질수 없는 ISO/IEC 25023 표준에 대해 알아 보도록 한다.
II. ISO/IEC 9126 vs 25023
국제표준 Software Quality Model인 ISO/IEC 9126은 소프트웨어 품질에 대한 국제적인 기준을 제시하는 중요한 표준이다. 이 표준은 개발자와 사용자 모두에게 고품질의 소프트웨어를 제공하기 위한 가이드라인을 제공한다.
1991년 처음 발표된 이후 2001년 개정을 거쳐 소프트웨어 개발 분야에서 널리 활용되고 있으며, ISO/IEC 9126은 소프트웨어 품질 특성을 명확하게 정의하고, 이를 측정하고 평가하기 위한 지표를 제시하고 있다.
ISO/IEC 9126은 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성의 6가지 주요 특성으로 정의되며, 각 특성별 하위 특성을 포함하는 형태로 구성되어 있고, 2011년에는 ISO/IEC 25010(SQuaRE)으로 통합되면서, ISO/IEC 25023 표준을 사용하고 있다.
ISO/IEC 25023은 시스템 및 소프트웨어 제품의 품질을 정량적으로 평가하기 위한 품질측정이 정의된 표준으로, 시스템 및 소프트웨어 품질 요구사항 및 평가(SQuaRE)시리즈의 일부로 ISO/IEC 25010과 함께 사용하기 위한 표준이다.
<자료> ISO/IEC 25010:2011 Systems and Software Engineering
[그림2] ISO/IEC 25010 (SQuaRE)
Quality Management Division 2500n | 25000 표준 전반에 걸쳐 사용되는 공통 개념 모델, 용어 제공 |
Quality Model Division 2501n | 제품품질/사용품질/데이터품질 모델 정의 및 사용지침 제공 |
Quality Measurement Division 2502n | 제품 및 사용품질 측정을 위한 측정항목 제공 |
Quality Requirements Division 2503n | 요구사항 정의 절차에 사용되는 품질 요구사항 명세 방법 제공 |
Quality Evaluation Division 2504n | 품질 이해 관계자별 품질 평가를 위한 평가 절차 제공 |
2011년 ISO/IEC 25010으로 통합되면서 ISO/IEC 9126 품질 특성모델에서 ISO/IEC 25023 품질 특성 모델로 변경되었다.
<자료> 자체제작, ISO/IEC 9126 표준 참고
[그림3] ISO/IEC 9126 품질 특성 모델
변경된 내용을 확인해 보면 ISO/IEC 9126 표준에서는 6개의 품질특성(Quality Characteristics) 으로 분류되지만, 2011년 이후 소프트웨어 및 시스템 제품의 보안성과 호환성이 중요한 품질의 척도로 ISO/IEC 25023 표준에서 보안성 및 호환성의 두가지 품질특성이 주 특성으로 추가되어 8개의 품질 특성으로 분류되었다.
<자료> 자체제작, ISO/IEC 25023 표준 참고
[그림4] ISO/IEC 25023 품질 특성 모델
추가된 보안성, 호환성의 품질특성은 기존(ISO/IEC 9126)에 없던 품질특성이 아닌 기능성, 이식성의 품질 부특성이었던 항목이 주 특성으로 추가 되었다.
ISO/IEC 9126 | ISO/IEC 25023 | 주 특성 설명 |
기능성 | 기능 적합성 | 제품이나 시스템이 명시된 요구를 충족하는 기능을 제공하는 정도 |
효율성 | 성능 효율성 | 명시된 조건하에 사용되는 리소스 양에 대한 성능 |
호환성 | 시스템 또는 컴포넌트와 정보를 교환하거나 요구되는 기능을 수행할 수 있는 정도 | |
사용성 | 사용성 | 제품이나 시스템이 지정된 사용 상황에서 유효성, 효율성 및 만족도 등의 명시된 목표를 달성하기 위해 지정된 사용자에 의해 사용될 수 있는 정도 |
신뢰성 | 신뢰성 | 시스템, 제품 또는 컴포넌트가 지정된 기간 동안 명시된 조건하에서 명시된 기능을 수행 하는 정도 |
보완성 | 제품이나 시스템이 다른 사람이나 다른 제품 또는 시스템 등이 인가받은 권한의 유형이나 수준에 적합한 데이터 접근성을 갖도록 정보와 데이터를 보호하는 정도 | |
유지보수성 | 유지보수성 | 제품이나 시스템이 의도한 유지보수자에 의해 변경될 경우의 유효성 및 효율성의 정도 |
이식성 | 이식성 | 시스템, 제품 또는 컴포넌트가 어떤 하드웨어, 소프트웨어 혹은 다른 운영 환경이나 사용 환경에서 또다른 쪽으로 이동 될 경우의 유효성 및 효율성의 정도 |
III. ISO/IEC 25023에 기반한 Bigzami 사례
앞서 설명한 ISO/IEC 25023 표준을 기반으로 Bigzami 사례를 통해 소프트웨어의 오류가 많이 발생하는 기능적합성, 사용성, 호환성, 보안성 사례를 보여주고자 한다.
기능 적합성 항목은 명시된 요구를 충족하는지를 평가하는 항목으로써 즉, 매뉴얼과 소프트웨어의 기능 동작의 설명에 따라 소프트웨어 동작 하는지를 평가한다.
Bigzami는 제품내에서 매뉴얼을 제공하고 있으며, 각 기능별 설명이 예시를 포함하여 작성되어 쉽게 접근할 수 있도록 제공을 한다
[그림5] Bigzami 기능적합성 사례
- 매뉴얼과의 일치성: 소프트웨어가 매뉴얼에 명시된 기능과 일치하는지 확인한다. 매뉴얼에 없는 기능이 포함되거나, 매뉴얼에 명시된 기능이 누락되지 않도록 해야 한다.
- 사기능 동작의 정확성: 소프트웨어가 오류 없이 정확하게 동작하는지 평가한다. 모든 기능이 예상대로 작동해야 하며, 예기치 않은 오류나 버그가 발생하지 않아야 한다.
- 테스트 및 검증: 다양한 테스트 시나리오를 통해 소프트웨어의 기능을 검증한다. 이를 통해 소프트웨어가 다양한 상황에서도 안정적으로 동작하는지 확인할 수 있다.
사용성 항목은 사용자에 의해 사용될 수 있는 정도를 평가하는 항목으로 편리한 사용이 가능한지, 오류 발생시 사용자가 쉽게 이해 할 수 있도록 메시지가 제공되는지 등 오류 메시지, 일관된 UI/UX, 입력오류방지 등을 평가한다.
Bigzami는 각 기능별 Tip을 제공하여 사용자가 쉽게 사용할 수 있도록 기능이 제공되고 있으며, 입력오류 방지, 오류메시지, 일관된 UI/UX를 제공하고 있다.
[그림6] Bigzami 사용성 사례
- 편리한 사용성: 소프트웨어가 직관적이고 사용하기 쉬운지 평가한다. 사용자가 최소한의 학습으로도 소프트웨어를 효과적으로 사용할 수 있어야 한다.
- 오류 메시지: 오류 발생 시 사용자가 쉽게 이해할 수 있도록 명확하고 유용한 오류 메시지를 제공해야 한다.
- 일관된 UI/UX: 사용자 인터페이스와 사용자 경험이 일관되게 설계되어 있어야 한다. 이는 사용자가 소프트웨어를 사용할 때 혼란을 줄이고, 일관된 경험을 제공하는 데 중요하다.
- 입력 오류 방지: 사용자가 입력할 때 발생할 수 있는 오류를 최소화하고, 오류가 발생했을 때 이를 쉽게 수정할 수 있도록 도와야 한다.
호환성 항목은 시스템 또는 컴포넌트와 정보를 교환하거나 요구되는 기능을 수행할 수 있는 정도를 평가하는 항목으로 Bigzami는 다양한 DB와 OpenAPI 등과 호환이 가능한 기능을 제공하고 있다.
[그림7] Bigzami 호환성 사례
- 상호공존성: 동일한 하드웨어나 소프트웨어 환경을 공유하면서 다른 제품, 시스템 또는 컴포넌트와 충돌 없이 공존할 수 있는 정도를 평가한다.이는 여러 소프트웨어가 동시에 실행될 때 서로 간섭하지 않고 원활하게 동작할 수 있는지를 의미한다.
- 상호운용성: 다른 시스템, 제품 또는 컴포넌트와 정보를 교환하거나 요구되는 기능을 수행할 수 있는 정도를 평가한다. 이는 서로 다른 시스템 간의 데이터 교환과 기능적 상호작용이 원활하게 이루어지는지를 의미한다.
보안성 항목은 인가받은 권한의 유형이나 수준에 적합한 데이터 접근성을 갖도록 정보와 데이터를 보호하는 정도를 평가하는 항목으로 웹제품의경우 SQL 인젝션, XSS, 접근통제(로그인, 접근권한 등), 세션차단, 암호화 전송 등의 항목을 평가한다.
- 기밀성: 데이터가 인가되지 않은 접근으로부터 보호되는 정도를 확인한다.
- 무결성: 데이터가 인가되지 않은 변경으로부터 보호되는 정도를 확인한다.
- 부인 방지: 데이터의 송신자와 수신자가 송신 및 수신 사실을 부인할 수 없도록 하는 정도를 확인한다.
- 추적성: 데이터의 접근 및 변경 이력이 추적 가능한 정도를 확인한다.
ISO/IEC 25023 품질평가의 특성 활용으로 소프트웨어의 평가뿐 아니라 개발 및 제품생산 단계부터 해당 표준을 적용한다면 품질이 확보된 제품을 개발할 수 있을 것이다.
IV. ISO/IEC 25023 표준 주요 활용 사례
- GS인증 : 소프트웨어의 품질을 평가하고 인증하는 제도로 ISO/IEC 25023 표준을 기반으로 평가하여 인증을 해주는 제도
- 한국정보통신기술협회(TTA) : 소프트웨어시험인증 연구소에서 GS인증 진행
- 한국산업기술시험원(KTL) : IT융합기술센터에서 인증 진행
- 한국화학융합시험연구원(KTR) : 정보보안센터에서 인증 진훙
- 한국기계전기전자시험연구원(KTC) : 전기전자 제품의 인증
- 부산IT융합부품연구소(CIDI) : IT융합부품의 인증
- KOLAS 공인 시험성적서 발급 : GS인증기관을 포함한 다양한 기관에서 ISO/IEC 25023 표준을 기반으로 소프트웨어 시험을 수행하고, KOLAS 공인 시험성적서를 발급
- 정부지원 R&D사업 : 정부지원 R&D 사업을 수행하는 기업들이 사업계획서상에 정략적 평가지표를 제안할때 ISO/IEC 25023 표준을 활용하여 소프트웨어 품질을 정량적으로 측정
[참고문헌]
[1] “ISO/IEC 25010 Software and System engineering: Software product Quality Requirements and Evaluation (SQuaRE)”, 2005
[2] “ISO/IEC 25023 Software engineering : Software product Quality Requirements and Evaluation (SQuaRE), 2016
[3] https://iso25000.com/index.php/en/iso-25000-standards/iso-25010
[4] “국제표준 ISO/IEC 25023을 기반으로 한 소프트웨어 품질평가”, 정혜정, 2016
[5] SPRi 소프트웨어(SW) 통계 포털 (https://stat.spri.kr/posts/view/22268?code=stat_sw_productions) 소프트웨어 품질, GS인증, 빅재미, 25023, 표준