A Semantic NLP Framework for Automated Transformation of Software Requirements into Interactive Prototyping
Keywords:
Prototype NLP Intelligent Workflow Semantic AnalysisAbstract
The natural language requirements are a common way for software development to represent requirements, but they have the disadvantage of being ambiguous and inconsistent, making requirements engineering and initial system design more challenging. This paper proposes the framework for automatic translation of textual software requirements to software structured artifacts and interactive prototypes using semantic Natural Language Processing (NLP). The proposed framework is a multi-stage NLP pipeline consisting of text normalization, tokenization, part-of-speech tagging, named entity recognition, dependency parsing and semantic relation extraction. Semantic elements extracted are represented in a structured way to capture actors, actions, entities, constraints and context information.
A novel mechanism is proposed that facilitates automatic generation of user stories, use case models, interaction flows and prototype interface components from textual requirements which is referred to as semantic mapping. To test the framework, a set of software requirements was gathered across several application areas like e-commerce, healthcare, education, smart city and Internet-of-things applications. The metrics for evaluating the performance were requirement extraction accuracy, prototype generation efficiency and modelling effort reduction.
The experimental results show that the proposed framework can successfully satisfy the requirement extraction accuracy of 93%, greatly decrease manual modelling work, and faster generate the prototype compared with the traditional requirements engineering methods. Results show that the use of semantic NLP techniques and automated prototypes can help to better interpret requirements, validate them at an early stage, and facilitate communication among stakeholders and development teams. The proposed framework offers a viable method to connect the natural language requirements with preliminary design artifacts for software