검색 상세

요구사항 명확성 향상을 위한 온톨로지 기반의 명세화 방법

Specification Method based on Ontology for Requirements unambiguousness Improvement

초록/요약

소프트웨어 개발에 있어서 가장 어려운 부분은 개발될 소프트웨어 시스템을 정의하는 요구사항 도출 및 명세이다. 이러한 요구사항 도출 및 명세가 명확하지 않으면, 첫째, 사용자가 요구한 소프트웨어를 정확히 개발하기 어려우며, 둘째, 요구사항의 수정을 위한 비용이 점점 증가하게 되고, 셋째, 소프트웨어 프로젝트의 실패 가능성이 높아지게 된다. 요구사항 명세가 불명확하게 작성되는 원인은 여러 가지가 있겠으나 본 논문에서 주목하는 부분은 소프트웨어 분석가의 숙련도와 도메인에 대한 지식 정도에 있다. 숙련된 분석가라 할지라도 모든 도메인에 대하여 전문가일 수 없으며, 미숙한 분석가라면 요구사항을 적절한 도메인 용어를 사용하여 정의하기 매우 힘들다. 이러한 소프트웨어 분석가에 기인하는 문제를 해결하기 위하여 본 논문에서는 ‘도메인 UI 요구사항 온톨로지’를 구축하고, 이를 요구사항 분석 및 명세 단계에 활용할 것을 제안한다. 온톨로지는 공통의 지식을 구조적으로 구축하고 의미에 기반한 검색이 가능하도록 지원한다. 또한, 온톨로지는 여러 가지 분야에서 관계자간 합의를 얻는 수단으로 활용되고, 암묵적 정보까지 명시하며, 재이용과 공유를 쉽게 할 수 있는 특징들을 가지고 있다. 이는 요구사항 분석 및 명세에 매우 필요한 특징이라 할 수 있다. 본 논문에서는 도메인 온톨로지를 활용할 경우 요구사항 명세의 품질이 향상됨을 확인하기 위하여 다음과 같은 과정을 통하여 확인하고자 한다. 첫째, 요구사항 분석 및 명세에 활용이 가능한 온톨로지 스키마를 설계한다. 도메인 지식에서 독립된 요구사항 스키마를 설계하여 다양한 도메인에 적용이 가능하도록 고려한다. 둘째, 도메인 지식 온톨로지를 구축한다. 이는 요구사항 온톨로지의 인스턴스로서 활용되며, 분석가에게 도메인 지식을 구조적으로 제공한다. 셋째, 요구사항 온톨로지 스키마에 도메인 지식 온톨로지를 병합하여 도메인 요구사항 온톨로지를 구축한다. 마지막으로 소프트웨어 분석가 그룹을 형성하여 소프트웨어명세서를 작성하도록 한다. 온톨로지 활용한 소프트웨어명세서와 활용하지 않은 소프트웨어 명세서의 품질의 차이를 비교하여 온톨로지 활용이 소프트웨어 명세서의 품질에 영향을 미치는지를 확인하도록 한다. 마지막으로, 추후 연구과제로 온톨로지를 활용할 경우 분석 단계 이후 암묵적 요구사항의 표출이 줄어드는 효과가 있는지 확인하여 실제적으로 프로젝트의 성공율을 높이는지와, 온톨로지와 요구사항명세가 연결되어 상호 추적성을 가질 수 있는지에 대한 내용을 생각해 볼 것 이다.

more

초록/요약

Most difficult parts of software development are requirement elicitation and specification to define the software system will be developed. If such requirement elicitation and specification is not clear, first, it is difficult to develop user requested software precisely, second, cost for modifying requirement will increase, and third, it will have greater possibility of failure of software project. There are lots of reasons why specification requirement written indefinitely, but focused part of this Thesis is proficiency of software analysts and level of knowledge in the domain. Even experienced analysts can’t be an expert of all domains, and in case of inexperienced analysts, they are very difficult to define requirements with proper domain terminology. To resolve such problems causes from software analysts, this thesis builds ‘domain requirements ontology’, and suggests to use this for requirement analysis and specification phases. Ontology builds common knowledge structurally and supports to make possible to search in meaning based. Also ontology can be used as a means of obtaining agreement between relaters in the various areas, to explicit implicit information, and it has features that can easily reuse and share. It is a very necessary feature for requirement analysis and specification. In case of using domain ontology, this thesis will determine requirement specification quality is improved through the process. First, design ontology schema can be used in requirement analysis and specification. And design independent requirement schema in domain knowledge, and make it considerable to apply in various domains. Second, build domain knowledge ontology. It will be used for requirement ontology instance, and domain knowledge will be provided to the analysts structurally. Third, merge the requirements ontology schema with domain knowledge schema and build the domain requirement ontology. Finally, create software analyst group and make them to create the software specification. To compare quality differences with ontology used software specification and not used software specification and to determine whether using ontology can affect software specification quality. Finally, in case of using ontology for further research, to determine effect of reducing the expression of implicit requirements after the analysis phase and that actually increase the success of the project, and will consider that can have mutual traceability by connecting ontology and requirement specification.

more