Abstract:
Natural language (NL) is used to express stakeholder requirements since it requires less time and energy. There are several ways to collect requirements, and user stories are an example of a semi-structured format. They are commonly used to capture user needs in agile methods due to their ease of learning and understanding. However, user stories can be large enough which makes it difficult to read and understand the relations among them. Such relations make it easier for developers to understand the structure of the project. Goal models, on the other hand, provide high-level perspective and explicit relations among goals but they require time and effort to build. First, we conduct an experiment to show the usefulness of the goal models for reading and comprehending the data set. This thesis proposes a goal model builder tool to automatically generate a goal model from a set of user stories by applying natural language processing (NLP) techniques. We first parse and store the extracted information from a set of user stories in a graph database to maintain the relations among the roles, actions, and benefits mentioned in the set of user stories. We create the goal model strategies using the information in the graph database, which enables us to see the connections between the nodes and edges. By applying NLP techniques and several heuristics, we produce goal models that resemble human-built models. Second, we contribute an evaluation of the goal model builder tool that determines whether the ArTu tool speeds up the creation of goal models. A cross-over experiment has been carried out to evaluate the time difference between a goal model with the tool and one without the tool. We put out a variety of hypotheses to contrast experiment findings. The results of several statistical analyses run on the experimental data show that the ArTu tool significantly reduced the time needed to build goal models.