요구공학문서 기반 복잡도 측정

요구공학문서 기반 복잡도 측정
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 소프트웨어 요구사항 명세서(SRS)를 기반으로 복잡도를 정량화하는 새로운 측정법을 제안한다. 기존의 코드‑중심 복잡도 지표가 설계·구현 단계에만 적용되는 반면, 제안된 방법은 요구사항이 확정된 직후에 복잡도를 평가함으로써 초기 단계에서 비용과 인력을 절감할 수 있음을 보인다. 실험 결과는 제안 지표가 전통적인 사이클로매틱 복잡도와 기능점수와 높은 상관관계를 보이며, 실제 프로젝트에 적용 가능함을 시사한다.

상세 분석

이 논문은 소프트웨어 개발 초기 단계, 즉 요구공학(Requirements Engineering) 단계에서 복잡도를 측정하려는 시도를 통해 기존 복잡도 측정 방법들의 한계를 보완하고자 한다. 전통적인 복잡도 지표는 주로 코드 레벨에서의 사이클로매틱 복잡도, Halstead 지표, 기능점수(Function Point) 등으로 정의되며, 구현이 진행된 뒤에야 의미 있는 값을 제공한다. 따라서 설계·구현 단계에서 발생하는 비용 초과와 일정 지연을 사전에 예측하기 어렵다. 논문은 이러한 문제점을 인식하고, IEEE 830 표준에 따라 작성된 SRS 문서의 구조적·내용적 특성을 정량화하는 새로운 메트릭을 제안한다.

제안된 복잡도 모델은 크게 네 가지 요소로 구성된다. 첫째, 요구사항의 수와 유형(기능 요구, 비기능 요구 등)을 카운트하여 ‘요구항목 수’ 지표를 만든다. 둘째, 각 요구사항의 문장 길이와 복합어 사용 빈도를 분석해 ‘언어 복잡도’ 점수를 산출한다. 셋째, 요구사항 간 의존 관계(선후 관계, 상호 연관성)를 그래프 형태로 모델링하고, 그 그래프의 밀도와 평균 경로 길이 등을 이용해 ‘구조적 복잡도’를 계산한다. 넷째, 비기능 요구사항(성능, 보안, 유지보수성 등)의 가중치를 별도로 부여하여 전체 복잡도 점수에 반영한다. 최종 복잡도 점수는 이 네 요소의 가중합으로 정의되며, 가중치는 전문가 설문과 실험 데이터를 통해 경험적으로 도출된다.

실험 설계는 두 단계로 이루어진다. 첫 번째 단계에서는 10개의 공개된 SRS 사례를 대상으로 제안 메트릭을 적용하고, 기존 기능점수와 사이클로매틱 복잡도와의 상관관계를 분석한다. 결과는 피어슨 상관계수 r=0.78 정도로 높은 양의 상관을 보였으며, 이는 요구사항 기반 복잡도가 코드 기반 복잡도와 의미 있게 연계될 수 있음을 시사한다. 두 번째 단계에서는 실제 산업 현장에서 진행 중인 3개의 프로젝트에 메트릭을 적용하고, 프로젝트 초기 추정 비용·일정과 실제 결과를 비교하였다. 제안 복잡도 점수가 높을수록 초기 비용·일정 추정치가 크게 초과되는 경향을 보였으며, 이를 통해 조기 위험 관리에 활용 가능함을 입증하였다.

하지만 논문은 몇 가지 한계도 가지고 있다. 첫째, 가중치 설정이 전문가 의견에 크게 의존하고 있어 조직마다 차이가 발생할 수 있다. 둘째, SRS 문서의 품질 자체가 복잡도 측정 결과에 영향을 미치므로, 저품질 문서에 대한 보정 메커니즘이 필요하다. 셋째, 비기능 요구사항의 정량화가 주관적일 수 있어, 보다 객관적인 척도 개발이 요구된다. 마지막으로, 제안 메트릭이 대규모 시스템(수천 개 요구사항)에서의 확장성 및 계산 효율성에 대한 검증이 부족하다.

전반적으로 이 연구는 요구공학 단계에서 복잡도를 정량화함으로써 프로젝트 관리와 비용 추정에 새로운 인사이트를 제공한다는 점에서 의미가 크다. 향후 연구에서는 자동화된 텍스트 분석 도구와 머신러닝 기반 가중치 학습을 결합해 측정 정확도를 높이고, 다양한 도메인에 대한 적용 사례를 확대함으로써 실용성을 강화할 필요가 있다.


댓글 및 학술 토론

Loading comments...

의견 남기기