본문 바로가기
KERD
논문KCI 등재

클러스터링 기법을 이용한 소프트웨어 요구사항 적합성 검증도구 개발

Development of verification tool for the soundness of software requirements specification using clustering techniques

1

조회

0

다운로드

3

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

소프트웨어의 요구사항을 작성하면서 발생하는 모호성과 부적절성을 제거하기 위하여 요구사항에 대한 전문용어를 사용할 필요가 있다. 본 논문에서는 철도차량 시스템 소프트웨어 요구사항 분석을 통하여 요구사항 작성에 참조할 수 있는 전문용어를 정립하며, 이를 기반으로 올바르게 작성된 요구사항 문장들에 대한 템플릿을 도출한다. 다양한 템플릿 문장은 요구사항 적합성을 점검하기 위한 비지도 기계학습용 데이터로 사용된다. 군집화 모델을 활용하여 요구사항 템플릿을 군집화 하며, 새로운 요구사항의 적합성 여부를 군집 기반으로 판별하는 요구사항 적합성 검증도구를 개발한다. 특정한 요구사항이 군집화 모델에 의하여 생성된 군집의 템플릿과 정확하게 일치하면 적합한 요구사항으로 판정한다. 반면에 요구사항 적합성에 실패하면, k-평균 군집화 알고리즘에 의하여 가장 유사한 템플릿을 자동으로 추천한다. 클러스터링 기법에 의하여 군집화된 템플릿과 새로운 요구사항에 대한 적합성 여부를 검증하기 위한 실험을 수행하였다. 첫 번째는 군집화 기반의 요구사항 추천이 정상적으로 동작하는가에 대한 실험이었다. 새로운 요구사항이 입력되면 군집으로 분류되었으며, 특정한 군집내의 동일한 형태소의 배열을 가진 템플릿으로 정확하게 추천됨을 확인하였다. 두 번째 실험에서는 기존의 템플릿 데이터베이스에 없는 요구사항 문장을 입력한 경우에 입력한 요구사항과 가장 유사한 템플릿을 추천하는 것을 확인하였다.

Abstract

It is necessary for users to utilize a set of standard technical jargon for the soundness of requirements specification, while reducing its ambiguity and improperness as much as possible. Through the analysis of requirements specification, a standard technical Korean (STK) has been established in the domain of the railway vehicle system. Based upon STK, this paper also derives a type of templates for the guideline of requirements specification. A variety of templates in the railway vehicle system domain are fed into the input of unsupervised machine learning algorithms as training instances. The clustering models in an unsupervised way classify the templates into a several clusters. Our system that verifies the soundness of requirements specification has been developed in the basis of clusters. The system we have developed makes a new sentence of specification belonged into one of groups, and then, if it finds the identical template in a specific cluster, it confirms the new specification as a sound one. Otherwise, it autonomically returns the most similar template recommended by k-means clustering algorithm. We have tested our system to verify both cases. In the experiment, no matter what a new sentence exists in the knowledge base of templates, it turns out that our robust system confirms whether or not the new sentence is correctly written, based upon the clusters, and further provides the most similar template as being updated for the correct specification.

참고문헌 (29)

  1. Grady Booch, "The Unified Modeling Language User Guide" (2005), Addison-Wesley
  2. "Mathworks Simulink"[URL]
  3. 김현동, "한글 체크리스트로부터 테스트 케이스 자동 생성 방안", 정보처리학회 논문지, 6(8), pp.401~410 (2017), 한국정보처리학회[DOI]
  4. 한혜진, "구조화된 자연어 요구사항으로부터 테스트 케이스 및 스크립트 생성", 정보처리학회 논문지, 8(8), pp.331~342 (2019), 한국정보처리학회[DOI]
  5. 권기욱, "SRS 적합성 검증을 위한 SRS 작성 규칙연구", 2018 한국군사과학기술학회 종합학술대회 논문집, pp.2109~2110 (2018)
  6. 권기욱, "STK로 작성된 소프트웨어 요구사항으로부터 테스트케이스 생성", 2019 한국군사과학기술학회 종합학술대회 논문집, pp.2098~2099 (2019)
  7. 안태성, "텍스트마이닝 기반 고정밀 검색시스템", 정보처리학회지, 11(2), pp.88~97 (2004)
  8. 손남례, "A Prediction Method for Short-Term Wind Power Generation using Feature Vector Extraction of Wind Direction and Wind Speed in Jeju Island", 한국차세대컴퓨팅학회 논문지, 13(6), pp.106~114 (2017), 한국차세대컴퓨팅학회
  9. 장영철, "개념 클러스터링 구조를 사용한 영상 콘텐츠 추상화 방법", 한국차세대컴퓨팅학회 논문지, 7(4), pp.68~73 (2011), 한국차세대컴퓨팅학회
  10. 비젠 카기, "Brain MRI Segmentation using Simple Linear Iterative Clustering Based Superpixel approach on conventional Clustering algorithms", 한국차세대컴퓨팅학회 논문지, 14(2), pp.33~39 (2018), 한국차세대컴퓨팅학회
  11. 박찬정, "용어 클러스터링을 이용한 특허문서 자동 IPC 분류", 한국정보기술학회논문지, 12(9), pp.127~139 (2014), 한국정보기술학회[DOI]
  12. 김도연, "SNS 댓글 처리와 K-Means 클러스터링을 이용한 댓글 분류", 과학영재교육, 9(3), pp.289~296 (2017), 한국과학영재교육학회[DOI]
  13. Chyi-Kwei Yau, "Clustering scientific documents with topic modeling", Scientometrics, 100, pp.767~786 (2014)
  14. 남소희, "점별 상호정보량을 이용한 LDA 토픽모형 추론", Journal of The Korean Data Analysis Society, 21(6), pp.2789~2800 (2019), 한국자료분석학회[DOI]
  15. Syed Fawad Hussain, "Multi-view document clustering via ensemble method", Journal of Intelligent Information Systems, 43, pp.81~99 (2014)
  16. 변은영, "Louvain 클러스터링 알고리즘을 통한 요구사항 상관성 추출", 한국정보과학회 학술발표 논문집, pp.485~487 (2018)
  17. Tomas Mikolov, "Efficient Estimation of Word Representations in Vector Space", Proceedings of workshop at ICLR, pp.1~12 (2013)
  18. 안재현, "K-means 클러스터링 방법과 유사도 측정 기반의 채팅 말뭉치 반자동 확장 방법", 정보과학회논문지, 46(5), pp.440~447 (2019), 한국정보과학회[DOI]
  19. 장재영, "한글 위키피디아를 이용한 트위터 문서의 주제별 클러스터링 기법", 한국인터넷방송통신학회 논문지, 14(5), pp.189~196 (2014), 한국인터넷방송통신학회[DOI]
  20. "한나눔 형태소 분석기"[URL]
  21. "Python"[URL]
  22. "Django"[URL]
  23. "Mongodb"[URL]
  24. Roy Fielding, "Principled design of the modern Web architecture", ACM Transactions on Internet Technology, 2(2), pp.115~150 (2020)
  25. "JSON"[URL]
  26. Martin Ester, "A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise", KDD'96: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining, 226(231), pp.226~231 (1996)
  27. Arthur Dempster, "Maximum Likelihood from Incomplete Data via the EM Algorithm", Journal of the Royal Statistical Society. Series B(Methodological), 39(1), pp.1~38 (1977)
  28. Johna Hartigan, "Clustering algorithm" (1975), John Wiley & Sons, Inc
  29. Kaisheng Yao, "Spoken language understanding using long shortterm memory neural networks", IEEE Spoken Language Technology Workshop(SLT) (2014)

관련 논문AI추천

이 간행물의 다른 논문 (9건)