유스케이스 기반 요구사항 시나리오의 누락 행위 추천을 위한 기계학습 기법 : A Machine Learning Based Approach for Recommending Omitted Actions in Use Case Scenario
- 발행기관 서강대학교 일반대학원
- 지도교수 박수용
- 발행년도 2016
- 학위수여년월 2016. 8
- 학위명 박사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제URI http://www.dcollection.net/handler/sogang/000000059926
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
소프트웨어 개발 시 요구사항 분석은 가장 먼저 수행된다. 따라서 요구사항 분석의 결과는 개발된 소프트웨어의 기능이나 품질에 영향을 미친다. 요구사항 분석의 최종 산출물은 요구사항 명세서이다. 요구사항 명세서는 다양한 품질요소를 갖는데 그 중 완전성은 이해관계자의 요구사항을 빠짐없이 기술해야 한다는 의미로써 가장 중요한 품질 요소 중 하나이다. 불완전한 요구사항은 소프트웨어 개발 시 자주 발생하며 발견하기 어렵다. 결국, 이는 소프트웨어 프로젝트 실패의 주요한 이유가 되기도 한다. 요구사항 완전성을 개선하기 위한 다양한 연구가 소개되고 있다. 이 연구들은 요구사항의 누락을 발견하기 위한 참조모델을 기반으로 요구명세서의 완전성을 파악하고 이를 개선한다. 그러나 이러한 참조 모델들은 대다수의 연구에서 연구 수행자의 경험이나 지식에 의존하고 있어서 타당성이나 객관성이 결여된다. 그리고 기법의 적용에 필요한 사전 정보가 많고, 그 사전 정보에 따라 성능이 결정 나는 문제가 있다. 게다가 여러 연구가 특정 도메인에만 적용할 수 있어 범용적으로 사용되기 어렵고, 개념적 절차만을 제공하고 있어서, 사용자가 자신의 프로젝트에서 적용하기 어렵다. 이 논문에서는 유스케이스 시나리오에서 누락된 행위를 찾아내고 가능한 행위를 추천해 주어 요구사항의 완전성을 개선하는 완전 자동화된 기법을 제안한다. 먼저 다양한 도메인의 프로젝트의 요구사항을 수집하고 자연어 처리와 기계 학습 기법을 이용하여 공통 유스케이스 시나리오 패턴을 추출한다. 이 시나리오 패턴을 바탕으로 사용자가 입력한 불완전한 유스케이스 시나리오를 찾아주는 패턴 식별 알고리즘을 개발하고, 알고리즘을 통해 식별된 패턴으로 적합한 대안 시나리오를 자동으로 추천해 준다. 본 기법의 타당성을 검증하기 위해 열두 개의 프로젝트에서 231개의 유스케이스를 수집하였다. 그리고 이 유스케이스를 통해 204개의 유스케이스 시나리오 패턴을 추출하였다. 본 논문에서 제안한 기법의 성능을 측정하기 위해 프로젝트별로 교차분석을 수행하였다. 실험 결과 76%의 정확율와 80%의 재현율을 기록하였고 이는 5년 이상의 경력자가 기록한 재현율인 52.5 % 보다 27.5% 높은 수치이다. 더욱이 전문가가 기법을 이용하여 요구사항을 검증한다면 재현율이 89.1%로 상승하는 것으로 분석되었다. 따라서 제안된 기법은 전문가의 시나리오 검증에 매우 유용하다는 것을 알 수 있다. 본 논문에서는 시나리오 학습을 통해 객관성과 타당성 있는 요구사항 패턴을 추출하였다. 이는 요구사항 작성이나 검증 시 좋은 참조모델이 될 수 있어 재사용이 가능하다. 그리고 요구사항 시나리오의 누락 행위를 추천해 주는 기법은 제안하고 이를 기반으로 한 공개 소프트웨어 도구를 제공하였다. 이를 통해 경험이 부족한 작성자에게 완전성 높은 요구사항을 작성하는 데 도움을 줄 수 있을 뿐 아니라, 요구사항 시나리오의 검증에 필요한 시간을 현저하게 줄여줄 수 있다.
more초록/요약
Analyzing software requirements is the first activity of software development because it broadly affects to the scope and quality of all artifacts throughout the entire software lifecycle. At the end of the software requirements analysis, a software requirement specification is generally specified. A good requirements specification exhibits diverse characteristics such as completeness, traceability, correctness and so on. Among the characteristics, completeness is the one of the key qualities, indicating that the specification has to describe all requirements of stakeholders thoroughly. Incomplete requirements frequently occur in the requirements specification, but they are hardly discovered so that it often turn out to be the one of the major causes of software project failure. There has been some research for escalating the extent of completeness of software requirements specification. Most of the previous research build a reference model in advance, and apply it to examine the requirements specification. However, as the reference model is originated from their past experience, they are not validated in an appropriate way. In addition, the reference model is built based on a specific application domain knowledge, so that it can be hardly applicable to different application domains. This doctoral dissertation suggests an automatic method for detecting omitted actions of use case scenario and recommending possible actions in order to improve the completeness of a requirement specification. Use case specifications are collected from various domains at first, and then common use case scenario patterns are automatically extracted by applying natural language process and machine learning methods. Based on the use case scenario patterns, incomplete use case scenarios from a user’s project are detected by the suggested pattern matching algorithm, and an alternative action is automatically proposed from the patterns. In order to show the feasibility of this research, I collected 231 use case specifications from twelve projects of different application domains for the experiment. The 204 use case scenario patterns were extracted from the use case specifications. For the performance measure of the approach, cross-validation was carried out. The experiment shows that the approach achieved 76% of precision and 80\% of recall, and it has better performance compared to experts that have over five-year experience in terms of recall. Furthermore, it additionally shows that the expert’s recall supported by the approach is dramatically increased from 52.5% to 89.1%, which indicates that the approach can successfully support the expert’s validation of the requirements scenario.
more

