Abstract:
Requirements engineering is an essential phase in software development, in this phase, the requirements gathered, analyzed, verified and documented is to be used in next phases. Management of requirements ensures high quality of final product when later stages are perfectly achieved. One of the most major problems is requirements traceability. Requirements should be followed to next phases to ensure they are implemented. If there is a huge set of requirements, it may be missed or not implemented in design phase even after they are included. There are many types of requirements traceability. Each type aims to trace requirements at specific stages.
This research aims to address problems of functional requirements traceability and develop a model that allows tracing requirements to the design phase. To handle and trace change in the traceability needs to be managed in the way that it allows to change items in a consistent manner. Natural language Processing (NLP) is used to process requirements and prepare them to be used in next phases. NLP can be used to generate design diagrams for requirements in semi-automatic way.
A framework has been developed to manage traceability and handle the changes. Firstly the requirements are written based on specific forms or rules to facilitate the process of analysis using NLP.
The user or system designer selects the class diagram elements and generates the class diagram. This approach allows generating UML class diagram in semi-automatic way. The traceability matrix is generated implicitly, if any change are there in requirements, they can be applied to design and trace from phase to phase.
The proposed framework allows for managing and changing in design phase and applying these changes to the requirement phase. Traceability matrix includes sources and destination of items. Firstly, a requirement phase is a source after applying NLP and selecting the UML, class item will become destination, Secondly if any updates take place in design phase, they will be traced and applied to the source. The framework is applied practically using Java as programming language, and Eclipse IDE as platform, and Open NLP as a toolkit to perform NLP processing. To evaluate the work, Online Mobile Payment System is applied as case study. I generate UML class diagram in semi-automatic way and traceability matrix is generated. The work was discussed in workshop and questionnaires were distributed to the attendance, and the questionnaires were also sent to some participants through email. The questionnaires mainly discuss the model and how it works. A good feedback as a result was obtained and the
framework gained a good evaluation as well. A developed methodology can be used for bi-directional traceability, and to bring consistency between requirements and design. The traceability matrix can be used to trace changes, if any and they can be defined, and source of changes can be identified.