Inadequate Requirements Engineering Process: A Key Factor for Poor Software Development in Developing Nations: A Case Study

Developing a reliable and sustainable software products is today a big challenge among up–coming software developers in Nigeria. The inability to develop a comprehensive problem statement needed to execute proper requirements engineering process is missing. The need to describe the ‘what’ of a system in one document, written in a natural language is a major step in the overall process of Software Engineering. Requirements Engineering is a process use to discover, analyze and validate system requirements. This process is needed in reducing software errors at the early stage of the development of software. The importance of each of the steps in Requirements Engineering is clearly explained in the context of using detailed problem statement from client/customer to get an overview of an existing system along with expectations from the new system. This paper elicits inadequate Requirements Engineering principle as the major cause of poor software development in developing nations using a case study of final year computer science students of a tertiary-education institution in Nigeria.

Estimating Development Time of Software Projects Using a Neuro Fuzzy Approach

Software estimation accuracy is among the greatest challenges for software developers. This study aimed at building and evaluating a neuro-fuzzy model to estimate software projects development time. The forty-one modules developed from ten programs were used as dataset. Our proposed approach is compared with fuzzy logic and neural network model and Results show that the value of MMRE (Mean of Magnitude of Relative Error) applying neuro-fuzzy was substantially lower than MMRE applying fuzzy logic and neural network.