AUTOMATIC GENERATION OF UML DIAGRAMS FROM SCENARIO-BASED USER REQUIREMENTS


(Received: 18-Mar.-2021, Revised: 9-May-2021 and 19-May-2021 , Accepted: 22-May-2021)
Effective software modeling tools are necessary for successful achievement of software engineering activities, especially when working in the analysis and design phase. Automating these tools facilitates work, makes it more productive and reduces cost and time of development. This paper aims at the development and validation of a method and a software tool for automatic generation of UML diagrams when following the approach of object- oriented development. These diagrams are generated from scenario-based requirements in order to facilitate the modeling process. So, a template of scenario-based requirements and its components are identified and constructed. Then a method including an algorithm is designed and implemented based on natural language processing (NLP) to generate UML diagrams automatically from the scenario-based requirements. The diagrams include sequence and class diagrams. The ability, performance and benefits of the proposed method and the software tool are reported by experimental results.

[1] D. K. Deeptimahanti and M. A. Babar, "An Automated Tool for Generating UML Models from Natural Language Requirements," Proc. of the IEEE/ACM Int. Conf. on Automated Soft. Eng., pp. 680-682, Auckland, New Zealand, 2009.

[2] I. F. Alexander and N. Maiden, Scenarios, Stories, Use Cases: Through the Systems’ Development Life-cycle, ISBN: 978-0-470-86194-3, John Wiley & Sons, 2005.

[3] H. Gomaa, Software Modeling and Design: UML, Use Cases, Patterns and Software Architectures, DOI: 10.1017/CBO9780511779183, Cambridge University Press, 2011.

[4] T. Quatrani, Visual Modeling with Rational Rose 2002 and UML, 3rd Edition, Pearson Education India, ISBN-10: 0201729326, 2002.

[5] E. J. Braude, Software Design: From Programming to Architecture, John Wiley and Sons, 2004.

[6] R. Elmansouri, S. Meghzili, A. Chaoui, A. Belghiat and O. Hedjazi, "Integrating UML 2.0 Activity Diagrams and Pi-Calculus for Modeling and Verification of Software Systems Using TGG", Jordanian Journal of Computers and Information Technology (JJCIT), vol. 06, no. 04, pp. 326-344, Dec. 2020.

[7] R. J. Abbott, "Program Design by Informal English Descriptions," Communications of the ACM, vol. 26, no. 11, pp. 882-894, 1983.

[8] E. Buchholz, A. Düsterhöft and B. Thalheim, "Capturing Information on Behavior with the RADD- NLI: A Linguistic and Knowledge-based Approach," Data & Knowledge Engineering, vol. 23, no. 1, pp. 33-46, 1997.

[9] S. Nanduri and S. Rugaber, "Requirements’ Validation via Automated Natural Language Parsing," Journal of Management Information Systems, vol. 12, no. 3, pp. 9-19, 1995.

[10] A. Oliveira, N. Seco and P. Gomes, "A CBR Approach to Text to Class Diagram Translation," Proc. of the TCBR Workshop at the 8th European Conference on Case-based Reasoning, Turkey, Sep. 2006.

[11] H. M. Harmain and R. Gaizauskas, "CM-builder: A Natural Language-based Case Tool for Object-oriented Analysis," Automated Software Engineering, vol. 10, no. 2, pp. 157-181, 2003.

[12] S. P. Overmyer, L. Benoit and R. Owen, "Conceptual Modeling through Linguistic Analysis Using LIDA," Proceedings of the 23rd IEEE Int. Conf. on Soft. Eng. (ICSE 2001), pp. 401-410, May 2001.

[13] M. Clavel, M. S. E. González and V. T. da Silva, "The MOVA Tool: A Rewriting-based UML Modeling, Measuring and Validation Tool," Proc. of the XII JISBD, pp. 393-394, Spain, 2007.

[14] I. S. Bajwa, A. Samad and S. Mumtaz, "Object-Oriented Software Modeling Using NLP Based Knowledge Extraction," European Journal of Scientific Research, vol. 35, no. 1, pp. 22-33, 2009.

[15] M. Ibrahim and R. Ahmad, "Class Diagram Extraction from Textual Requirements Using Natural Language Processing (NLP) Techniques," Proc. of the 2nd IEEE Int. Conf. on Computer Research and Development, pp. 200-204, Kuala Lumpur, Malaysia, May 2010.

[16] H. Herchi and W. B. Abdessalem, "From User Requirements to UML Class Diagram," Proc. of the International Conference on Computer Related Knowledge, arXiv Preprint arXiv:1211.0713, 2012.

[17] P. More and R. Phalnikar, "Generating UML Diagrams from Natural Language Specifications," International Journal of Applied Information Systems, vol. 1, no. 8, pp. 19-23, 2012.

[18] H. G. Perez-Gonzalez and J. K. Kalita, "Automatically Generating Object Models from Natural Language Analysis," Proc. of the Companion of the 17th Annual ACM SIGPLAN Conf. on Object-oriented Programming, Systems, Lang. and Appl. (OOPSLA '02), pp. 86-87, Seattle, USA, Nov. 2002.

[19] M. Elallaoui, K. Nafil and R. Touahni, "Automatic Transformation of User Stories into UML Use Case Diagrams Using NLP Techniques," Procedia Computer Science, vol. 130, pp. 42-49, 2018.

[20] S. Jabbarin and N. Arman, "Constructing Use Case Models from Arabic User Requirements in a Semi-automated Approach," Proc. of the IEEE World Congress on Computer Applications and Information Systems (WCCAIS), pp. 1-4, Hammamet, Tunisia, Jan. 2014.

[21] M. Elallaoui, K. Nafil and R. Touahni, "Automatic Generation of UML Sequence Diagrams from User Stories in Scrum Process," Proc. of the 10th IEEE International Conference on Intelligent Systems: Theories and Applications (SITA), pp. 1-6, Rabat, Morocco, Oct. 2015.

[22] N. Alami, N. Arman and F. Khamayseh, "Generating Sequence Diagrams from Arabic User Requirements Using MADA+ TOKAN Tool," The International Arab Journal of Information Technology, vol. 17, no. 1, pp. 65-72, Jan. 2020.

[23] I. Alexander and N. Maiden, "Scenarios, Stories and Use Cases: The Modern Basis for System Development," Computing and Control Engineering, vol. 15, no. 5, pp. 24-29, 2004.

[24] A. G. Sutcliffe, N. A Maiden, S. Minocha and D. Manuel, "Supporting Scenario-based Requirements’ Engineering," IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1072-1088, 1998.

[25] Spark Systems, "Writing Use Case Scenarios for Model Driven Development," [Online], Available: https://sparxsystems.com/downloads/quick/writing-structured-use-case-scenarios-mdd.pdf, 2010.

[26] I. Sommerville, Software Engineering, 10th Edition, Addison-Wesley, 2015.

[27] I. Jacobson, Object-oriented Software Engineering: A Use Case Driven Approach, Pearson Education India, 1993.

[28] Stanford CoreNLP, "A Suite of Core NLP Tools," [Online], Available: http://stanfordnlp.github.io/CoreNLP.

[29] PlantUML, [Online], Available: http://plantuml.com.

[30] Eclipse Foundation, [Online], Available: https://www.eclipse.org.

[31] G. Schneider and J. P. Winters, Applying Use Cases: A Practical Guide, Pearson Education, 2001.