BDU IR

Appropriate Requirements Elicitation Techniques Selection by Using Convolutional Neural Network

Show simple item record

dc.contributor.author Belay, Desalegn
dc.date.accessioned 2020-06-04T07:42:13Z
dc.date.available 2020-06-04T07:42:13Z
dc.date.issued 2020-02
dc.identifier.uri http://hdl.handle.net/123456789/10883
dc.description.abstract Requirements elicitation refers to the collection of the wish lists or needs of stakeholders. It is the first and one of the most critical phases of Requirements Engineering. Many techniques have been proposed to support the elicitation process. Each technique has its own strengths and weaknesses. This variation makes it difficult to choose elicitation techniques or their combination for a particular software project. Mostly elicitation techniques are chosen in practice based on personal preferences rather than software project, elicitation technique, and stakeholder attributes. The quality of requirements is highly affected by the elicitation technique we opt and apply. Currently, artificial neural networks (ANNs) are used in numerical paradigms for universal function approximation due to their excellent self-learning properties, adaptive fault tolerance, nonlinear, and input advancement to output mapping. However, ANN has low performance in preparation with large amounts of datasets compared with convolutional neural network. The objective of this thesis was designing a convolutional neural network model for the selection of appropriate requirements elicitation techniques for software projects. The methodological process applied has three components, to address the problem of elicitation techniques selection: literature review has been conducted to identify the attributes affecting elicitation techniques selection and common elicitation techniques, analyzing the attributes identified in the first step to find the influential attributes in the technique selection, and finally, we proposed a convolutional neural network(CNN) based model for selecting appropriate elicitation techniques for a given project. The CNN model helps in reducing human involvement in the process. The proposed model is implemented using Keras (using TensorFlow as a backend) in Python and tested using a sample dataset collected from software developers. The model achieved an accuracy of 89% for training and 89.04% for testing. The proposed CNN model is able to improve the performance of the existing ANN model (only achieved 64.82% training accuracy and 60.33 testing accuracy) by 25%. The proposed model is evaluated by comparing its performance or output to the ground truth data (the data we have in hand). In addition, we also evaluate the proposed CNN model by comparing it with the previously applied ANN model. en_US
dc.language.iso en en_US
dc.subject Software Engineering en_US
dc.title Appropriate Requirements Elicitation Techniques Selection by Using Convolutional Neural Network en_US
dc.type Thesis en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record