DOI QR코드

DOI QR Code

ChatGPT-based Software Requirements Engineering

ChatGPT 기반 소프트웨어 요구공학

  • Jongmyung Choi (Department of Computer Engineering, Mokpo National University)
  • 최종명 (목포대학교 컴퓨터공학과 )
  • Received : 2023.10.20
  • Accepted : 2023.12.03
  • Published : 2023.12.31

Abstract

In software development, the elicitation and analysis of requirements is a crucial phase, and it involves considerable time and effort due to the involvement of various stakeholders. ChatGPT, having been trained on a diverse array of documents, is a large language model that possesses not only the ability to generate code and perform debugging but also the capability to be utilized in the domain of software analysis and design. This paper proposes a method of requirements engineering that leverages ChatGPT's capabilities for eliciting software requirements, analyzing them to align with system goals, and documenting them in the form of use cases. In software requirements engineering, it suggests that stakeholders, analysts, and ChatGPT should engage in a collaborative model. The process should involve using the outputs of ChatGPT as initial requirements, which are then reviewed and augmented by analysts and stakeholders. As ChatGPT's capability improves, it is anticipated that the accuracy of requirements elicitation and analysis will increase, leading to time and cost savings in the field of software requirements engineering.

소프트웨어 개발에서 요구사항 도출 및 분석은 매우 중요한 단계이며, 다양한 이해관계자가 관여하기 때문에 많은 시간과 노력을 필요로 한다. ChatGPT는 다양한 문서를 학습한 대규모 언어 모델로서 코드 생성, 디버깅 등의 능력은 물론 소프트웨어 분석 설계 영역에서도 활용할 수 있는 능력을 갖고 있는 것으로 연구되고 있다. 본 논문에서는 ChatGPT의 이러한 능력을 활용하여 소프트웨어 요구사항 도출, 시스템 목표에 적합한 요구사항 분석, 유스케이스 형태로 문서화하는 요구공학 방법을 제안한다. 소프트웨어 요구공학에서 이해관계자, 분석가, ChatGPT는 협업 모델을 가져야 하며, 요구사항 도출, 분석, 명세화에서 ChatGPT의 결과를 초기 요구사항으로 하여 분석가와 이해관계자가 점검 및 내용을 추가하는 형태로 요구공학이 진행하는 것을 제안한다. ChatGPT의 성능이 향상될수록 요구사항의 도출 및 분석이 점차 정확도를 높일 수 있을 것이며, 소프트웨어 요구공학에서 시간 및 비용을 절감할 수 있을 것이다.

Keywords

References

  1. T. E. Bell and T. A. Thayer. "Software requirements: Are they really a problem?", In Proceedings of the 2nd international conference on Software engineering (ICSE '76). pp. 61-68. 1976. 
  2. Ojala, Pasi. "Assessing Value of SW Requirements." In 19th Australian Conference on Software Engineering (aswec 2008), pp. 536-542. IEEE, 2008. 
  3. Parviainen, Paeivi, and Maarit Tihinen. "A survey of existing requirements engineering technologies and their coverage." International Journal of Software Engineering and Knowledge Engineering 17, No.06, pp.827-850, 2007.  https://doi.org/10.1142/S0218194007003513
  4. Quba, Gaith Y., Hadeel Al Qaisi, Ahmad Althunibat, and Shadi AlZu'bi. "Software requirements classification using machine learning algorithm's." In 2021 International Conference on Information Technology (ICIT), pp.685-690. IEEE, 2021. 
  5. Rahimi, Nouf, Fathy Eassa, and Lamiaa Elrefaei. "One-and two-phase software requirement classification using ensemble deep learning." Entropy 23, No.10, pp.1264, 2021. 
  6. Zhao, Liping, Waad Alhoshan, Alessio Ferrari, Keletso J. Letsholo, Muideen A. Ajagbe, Erol-Valeriu Chioasca, and Riza T. Batista-Navarro. "Natural language processing for requirements engineering: A systematic mapping study." ACM Computing Surveys (CSUR) 54, No.3, pp.1-41, 2021.  https://doi.org/10.1145/3444689
  7. Introducing ChatGPT, https://openai.com/blog/chatgpt, accessed 23/11/2023. 
  8. Ronanki, Krishna, Christian Berger, and Jennifer Horkoff. "Investigating ChatGPT's Potential to Assist in Requirements Elicitation Processes." arXiv preprint arXiv:2307.07381, 2023. 
  9. Carvallo, Juan Pablo, and Lenin Erazo-Garzon. "On the Use of ChatGPT to Support Requirements Engineering Teaching and Learning Process." In Latin American Conference on Learning Technologies, pp. 328-342. Singapore: Springer Nature Singapore, 2023. 
  10. Biswas, Som. "Role of ChatGPT in Computer Programming.: ChatGPT in Computer Programming." Mesopotamian Journal of Computer Science 2023, pp.8-16, 2023.  https://doi.org/10.58496/MJCSC/2023/002
  11. Surameery, Nigar M. Shafiq, and Mohammed Y. Shakor. "Use chat gpt to solve programming bugs." International Journal of Information Technology & Computer Engineering (IJITC) ISSN: pp.2455-5290 3, No.01, pp.17-22, 2023.  https://doi.org/10.55529/ijitc.31.17.22
  12. Hamza, Muhammad, Dominik Siemon, Muhammad Azeem Akbar, and Tahsinur Rahman. "Human AI Collaboration in Software Engineering: Lessons Learned from a Hands On Workshop." arXiv preprint arXiv:2312.10620, 2023. 
  13. Rahmaniar, Wahyu. "Chatgpt for software development: Opportunities and challenges." Authorea Preprints, 2023. 
  14. White, Jules, Sam Hays, Quchen Fu, Jesse Spencer-Smith, and Douglas C. Schmidt. "Chatgpt prompt patterns for improving code quality, refactoring, requirements elicitation, and software design." arXiv preprint arXiv:2303.07839, 2023. 
  15. Pandey, Dhirendra, Ugrasen Suman, and A. Kumar Ramani. "An effective requirement engineering process model for software development and requirements management." In 2010 International Conference on Advances in Recent Technologies in Communication and Computing, pp.287-291. IEEE, 2010.