기능적 요구사항과 비기능적 요구사항 간의 추적성 구축에 있어서 잠재 의미 색인 기법과 잠재 디리클레 할당 기법의 비교 연구 - 변성훈 (The Graduate School, Ajou University, 2017)
소프트웨어공학 및 요구공학 영역에서의 품질 속성 (Quality Attributes) 중 하나인 요구사항 추적성 (Requirements Traceability) 은 소프트웨어 시스템의 유지 및 보수에 필수적인 속성으로 여겨져 왔으며, 20년간 많은 연구자들에 의해 끊임없이 연구되어 왔다. 훌륭한 소프트웨어 프로젝트라면 이 요구사항 추적성이 확실히 보장되어야 한다. 요구사항 추적성이 보장되었다면, 프로젝트 초기의 고객의 필요 (Needs) 에서부터 요구사항 명세화 단계, 개발 단계, 배포 단계, 그리고 유지 및 보수 단계의 전 과정에 걸쳐 요구사항의 일생을 따라가고 표현할 수 있어야 한다. 또한, 요구사항으로부터 수반되는 개발 산출물을 추적하는 것뿐 아니라, 개발 산출물로부터 그와 연관된 최초 고객 요구사항을 추적하는 역방향으로의 추적성도 포함한다. 특히, 추적성은 실무에서 작은 결함도 용인되지 않는 안전 필수 도메인 (Safety-Critical Domain) 에서 핵심적인 속성이다. 추적성을 훌륭하게 구축한 소프트웨어 프로젝트는 소프트웨어 프로세스 산출물 (Software Process Artifacts) 간의 연관성 이해와 변경 요청 관리 (Change Request Management) 가 용이하게 된다. 요구사항 추적성이 소프트웨어 프로젝트의 성공에 주요한 영향을 미침에도 불구하고, 요구사항 추적성은 실용적인 방법론 및 도구 (Tools) 의 부족하고 추가적인 비용 및 인력이 요구되기에 자주 무시된다. 그렇기 때문에 효율적이고 비용 효과적인 (Cost-Effective) 추적성 방법론이 연구되어야 한다. 이처럼 추적성이 실무에 있어서 비효율적이고 성가신 업무가 되지 않기 위하여, 요구사항 추적성의 자동화를 달성하는 것에 대한 연구가 중요시되었다. 요구사항 추적성 연구의 지도적 위치의 있는 연구자들이 요구사항 추적성 연구의 과제들을 제시하였는데, 그 중에서도 궁극적인 과제 (Grand-Challenge) 를 제시하였다. 그것은, 편재성 (Ubiquitousness) 이다. 요구사항 추적성은 실무자들이 추적성에 대해 신경 쓸 필요도 없이, 저절로 항상 달성되어야 한다는 것이다. 즉, 요구사항 추적성은 아무런 노력 없이도 (with near zero effort) 달성되고, 유지되어야 한다는 것이다. 그러기 위해서는 요구사항 추적성과 관련된 업무가 소프트웨어 공학 프로세스 (Software Engineering Process) 에 완전히 정착되어 있어야 한다고 했다. 이 추적성의 편재성 달성을 위해서, 요구사항 추적성의 자동화 (Traceability Automation) 가 한 방편이라고 할 수 있다. 추적성 자동화를 위해 정보검색 (Information Retrieval), 텍스트마이닝 (Text Mining), 혹은 자연어 처리 (Natural Language Processing) 을 이용한 요구사항 추적성 접근법이 많이 시도되었다. 본 논문에서는, 정보검색 기법을 이용하여 요구사항 명세서 (Requirements Specification Documents) 내에서의 기능 요구사항 (Functional Requirements) 과 비기능 요구사항 (Non-Functional Requirements) 간의 추적성을 구축하는 것에 대한 연구를 진행하였다. 기능 요구사항과 비기능 요구사항의 추적성 검증 (Traceability Assurance) 은 소프트웨어 시스템의 위험 관리 (Risk Management) 에 필수적이다. 즉, 모든 기능 요구사항이 그에 해당하는 적절한 비기능 요구사항들을 고려했다고 확증할 수 있어야 한다. 또한, 모든 비기능 요구사항에 맞는 기능 요구사항 테스팅 계획이 세워지고, 품질 속성이 충족되었다는 것을 확증할 수 있어야 한다. 요구사항 문서는 자연어로 작성된 경우가 많기에, 정보검색 기법을 이용한 추적성 연구가 효과적이다. 많은 정보검색 기법들 중에서, 잠재 의미 색인 (Latent Semantic Indexing) 기법과 잠재 디리클레 할당 (Latent Dirichlet Allocation) 기법을 사용하여 연구를 진행하였다. 최종적으로, 두 가지 기법을 이용한 추적성 구축을 실험해 본 후, 결과를 평가하고 두 기법의 비교 연구를 진행하였다. 정보검색 기법들이 도출하여 주는 기능 요구사항과 비기능 요구사항 간 유사도의 정확도를 추적성 매트릭스와 비교해 보았다. 실험 결과 잠재 의미 색인 기법이 잠재 디리클레 할당 기법에 비해 상대적으로 조금 더 높은 정확도를 보였다. 또한, 정보검색 기법이 추적성 구축에 활용되는 데에 있어서 도출된 유사도 정확도가 확실한 추적성으로 인정되기에는 전반적으로 부족한 정확도 수치를 보였다고 할 수 있다. 정보검색 기법의 유효성 측면에서, 어떠한 요인들이 낮은 유사도 정확도가 도출되는 데에 영향을 미쳤는지 분석해 보았다.
학위논문(석사)--아주대학교 일반대학원 :소프트웨어특성화학과,2017. 8
Keywords: 요구공학; 추적성; 잠재 의미 색인; 잠재 디리클레 할당