INTRODUCTION
Modern era of research has always focused on development of Automating the process of any type. Following their path automating the process of extraction of information from the natural language text with use of Natural Language Processing (NLP) is in the next phase. This field is related to computer linguistics and artificial intelligence which is not related to development of any software development processes but with the advanced technology and futuristic development in the field of artificial intelligence this has become possible.
Basically a use case is a list of actions or events steps that define the relations and required interactions between user and the system. These interactions are developed in a special language called Unified Modeling Language(UML) where these interactions or the connections are shown as images or as some chart or directed graph where all directions of arrow and used shapes have some conceptual meaning and flow. The user here is called actor which is a normal language referred for humans or the external systems that can be a company or organization or a computer system both software and hardware that interacts with a system with a goal to get some work done from a provided system or software. These actors are provided with some roles which give them some special permissions, some restrictions, access to different parts of the system which is not accessible to all actors. This distribution of roles, permissions and layers of security is decided before making the final product or the software and this things are the one that are taken into consideration when making use cases That is the reason why use cases are considered as one of the important phase of software development.
The development of use cases is done with help of the future users of the system or by the common understanding or software developer. Generally interviews are conducted with users and their different ideas and views are used for deciding the flow of software. Requirements are mainly of two types: functional and non-functional. Functional requirements are defined as functions or some specific process of a system where this function performs some specific behavior as input and output. Non-functional requirement is defined as some quality attribute of software where many performance related attributes like security, reliability, availability, data integrity, usability, maintainability and many more requirements are taken into consideration . non-functional requirements are for ensuring better user experience. These all requirements are collected by asking questions to the user in the form of scenarios where the user will try to explain what they want to get as an outcome and from there developers try to decide how the flow of software will go. The one who collects these details will then try to show and make domain experts understand the user requirements.
The main idea of this review paper is to focus on the procedure of converting requirements into UML, which will help in making this process little bit automatic. The procedure which we will follow for this should use appropriate tools and methods for understanding and analyzing text and then converting that into the usage state and graph index. Here input will be the requirement that will be in form of data which is taken from many users as per their desire or requirement that they want as part of the system. Difficult part of this process will be to understand the many requirements and their reasons. This will also include how user requirements will change depending upon data required and according to the user to take data from it, as well as different ways of drafting data from one user to another. It is possible that different users can share the same information in more than one way which may generate confusion and misunderstanding for the system to understand what the user wants.
So the next part comes as inventing the artificial intelligent integrated machine that can interact with users and try to understand the requirements. While seeing this as an easy task is not true, as this part contains many problems such as collecting these requirements and transforming them into understandable queries and most importantly the accuracy of the output, these are the points that we now have to focus on. If we solve these problems then it will increase the accuracy and will give results more accurately.
At this time everyone wants to get the requirements quickly and they are confident about it, which results in the software which is characterized by speed, intelligence and accuracy to generate UML-based documents to save time and money of both user and system analyst. This automation of UML schemes using NLP is not an easy task, and because of the time spent analyzing systems and the poor quality of human analysis shows the need for automated support, for all these reasons, we need to find the best tool to solve many problems and complications and facilitate operations in Convert requirements to UML
Schemas.
RELATED WORK
In this section we will review some research papers which were focused on using the same idea to use natural language processing to convert this requirement to UML diagrams. This process of analyzing and understanding text and then finding the best language features is actually very challenging and complex.
In C.R. Narawita and K. Vidanage proposed a system, they were able to make a system that can generate state of use cases and graphs of texts written in natural language. The system that they developed was relying on analyzing the input style of the author and the output of the results. This is one weak point of that proposed system as if the input style of the user or the input changes the system fails to identify the same thing that it can understand in one user’s style.[7]
In D.K. Deeptimahaanti and M.A. Baber proposed a system the approach was that the system extracts the important necessary information and gives output of use case diagrams. The main idea behind was use of modules which included things like text segmentation, text tokenization, grammatical and error detection, knowledge extraction and last generation of use case diagrams.[8]
Next E.S. Btoush tried to develop structural algorithmic methodologies which also included NLP. This proposed model was based on analyzing words and then based on that words system tries to differentiate words on some rules of words with word of mouth assigned to entities, attributes and relationships. Still this system was lacking semantics analysis and needed to support vector devices which were needed for better requirements specifications.[4]
System developed by M.Z. Alksasbeh have some stages that lead to the final output as of use case diagrams. This system’s approach was first gathering user requirements than analyzing, dividing, converting and abstracting text into some system based query. This way it collected requirements and this requirements written in natural english language is made understandable to the system which then can generate use case diagrams automatically.[9]
2020-10-24-1603565809