검색 상세

기능적 요구사항과 비기능적 요구사항 간의 추적성 구축에 있어서 잠재 의미 색인 기법과 잠재 디리클레 할당 기법의 비교 연구

A Comparative Study between Latent Semantic Indexing and Latent Dirichlet Allocation in Constructing Traceability between Functional Requirements and Non-Functional Requirements

초록/요약

소프트웨어공학 및 요구공학 영역에서의 품질 속성 (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) 기법을 사용하여 연구를 진행하였다. 최종적으로, 두 가지 기법을 이용한 추적성 구축을 실험해 본 후, 결과를 평가하고 두 기법의 비교 연구를 진행하였다. 정보검색 기법들이 도출하여 주는 기능 요구사항과 비기능 요구사항 간 유사도의 정확도를 추적성 매트릭스와 비교해 보았다. 실험 결과 잠재 의미 색인 기법이 잠재 디리클레 할당 기법에 비해 상대적으로 조금 더 높은 정확도를 보였다. 또한, 정보검색 기법이 추적성 구축에 활용되는 데에 있어서 도출된 유사도 정확도가 확실한 추적성으로 인정되기에는 전반적으로 부족한 정확도 수치를 보였다고 할 수 있다. 정보검색 기법의 유효성 측면에서, 어떠한 요인들이 낮은 유사도 정확도가 도출되는 데에 영향을 미쳤는지 분석해 보았다.

more

초록/요약

Requirements traceability is one of the quality attributes in software engineering field and requirements engineering field. It has been considered as an essential attribute of software systems. For about 20 years in the past, many researchers have been trying to improve requirements traceability. To put it simply, if we can assure the stakeholders that requirements traceability has been perfectly constructed, we should be able to follow and describe the requirements’ whole life. In other words, we should be able to trace the requirements’ life throughout all the phase, from the customers’ needs in the early phase of the projects to requiremtns specification phase, to development phase, to deployment phase, and to maintenance phase. And also, it includes not only the traceability from requirements to development artifacts but also reverse-directional traceability from development artifacts to the original customers’ needs or requirements. In the software industry, requirements traceability is especially essential in safety-critical domain which does not tolerate any defects or faults. If we have excellently constructed traceability in a software project, we are able to easily understand the relationships between software process artifacts, and easily manage the change requests from the stakeholders. Although requirements traceability affects the success of the software projects significantly, many field workers ignore requirements traceability. This is mainly because there is not many practical methodologies and tools, and also constructing requirements traceability demands huge additional costs and additional human resources. Therefore, there is a need to develop a cost-effective traceability methodology or tool. In that respect, traceability automation is a key to solve this problem. In this thesis, especially I dealt with the traceability between functional requirements and non-functional requirements. It is vital to ensure that all functional requirements have considered the apporopriate non-functional requirements and all the quality attributes are satisfied by the specific functionalities. I tried to construct this traceability by using information retrieval techniques (or it can be called text mining techniques). There have been many researches that made use of information retrieval techniques to automate traceability. Because requirements specification documents are usually written out with natural languages (usually English), it is very suitable for establishing traceability by using information retrieval techniques. Among the many information retrieval techniques, I decided to utilize Latent Semantic Indexing (LSI) and Latent Dirichlet Allocation (LDA) in my research. Ultimately, I conducted an experiment on constructing traceability by using aforementioned two techniques, and I analyzed and evaluated the experiment results. And finally, I conducted a comparative study between two information retrieval techniques.

more

목차

제 1 장 서 론 1
제 1 절 연구 배경 1
제 2 절 연구 목적 및 목표 3
제 3 절 논문 구성 6
제 2 장 배경지식 및 관련연구 7
제 1 절 요구사항 추적성 7
제 2 절 정보검색 기법 11
제 1 항 벡터 공간 모델 11
제 2 항 잠재 의미 색인 22
제 3 항 잠재 디리클레 할당 24
제 4 항 정보검색을 활용한 추적성 관련 연구 28
제 3 장 활용 기반 오픈소스 및 요구사항 명세서 32
제 1 절 GENSIM 라이브러리 32
제 2 절 GLOBAL PERSONAL MARKETPLACE 요구사항 명세서 33
제 4 장 GPM 요구사항 명세서에 대한 실험 35
제 1 절 실험 환경 및 실험 방법 35
제 2 절 요구사항 추적성 매트릭스 39
제 3 절 잠재 의미 색인 실험 결과 41
제 4 절 잠재 디리클레 할당 실험 결과 47
제 5 장 실험 결과 토의 52
제 1 절 실험 결과 분석 및 평가 52
제 2 절 한계 55
제 6 장 결론 59
제 1 절 기여 59
제 2 절 향후 연구 60
참고 문헌 61
부록. 1. 요구사항 추적성 매트릭스 65
부록. 2. 잠재 의미 색인으로 도출된 유사도 67
부록. 3. 잠재 디리클레 할당으로 도출된 유사도 69
부록. 4. 3-단계로 나눈 잠재 의미 색인 유사도 71
부록. 5. 3-단계로 나눈 잠재 디리클레 할당 유사도 73

more