Software Development Requirement Analysis: Challenges and Solutions

Verified

Added on  2023/06/04

|8
|1369
|112
Report
AI Summary
This report delves into the critical phase of software development known as requirement analysis, emphasizing its significance in project planning and success. It highlights the classification of requirements into functional, non-functional, domain, user, and system categories, and acknowledges the impact of requirement changes throughout the software development lifecycle. The report then explores challenges in requirement analysis, drawing on statistical research to illustrate the volatility of requirements and the impact of factors such as communication issues and cultural differences. It reviews traditional and agile software engineering models as potential solutions, with an emphasis on the iterative nature of the agile model. The report concludes by advocating for the practical implementation of newly developed methods to enhance efficiency and accuracy, while also acknowledging the need for further research to address minor challenges like cultural and communication problems. The report also provides details of the challenges faced, provides a clear overview of the requirements, and discovers new methodologies in the engineering requirement analysis process.
Document Page
Running head: SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 1
Software Development Requirement Analysis
Name
Institution
Course
Date
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 2
Abstract
Software development is a technical area that requires a developer to identify the significant
prerequisites vital in developing the best software. Similarly, managing schedule and setting up
of the milestones for the software project involves the identification of the requirement. Software
Engineering consists of many traditional models each having its procedure for identifying the
best requirement for the software project. Most of the engineering methodologies used for the
analysis of the requirements are very efficient. However, the traditional models are quite
challenging since they are not oriented to the requirement analysis. To make the review reliable
and dependable, the basic aware concepts, the Software Engineering concepts and the research
papers such as the peer-reviewed have been considered. Additionally, two Software Engineering
models; Agile and Traditional Models have also been reviewed. This paper aims to identify the
challenges faced, get a clear overview of the requirements and also discover new methodologies
in the engineering requirement analysis process.
Introduction
The main responsibility tasked to the Software Engineering is to ensure that the Software
Development is systematic and manageable. Requirement Analysis is a very crucial phase in
Software Development and is responsible for planning the whole process of development. It is
evident that the software development success relies on the quality of the requirements.
According to Gava et al. (2012) the requirements are classified into different categories.
Functional requirements. The requirement defines all the functionalities, the behavior in
case of transformation or a specific situation and the behavior for a specific input/output
Non-functional requirements. It is concerned with the performance, maintenance,
testability, and the security
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 3
Domain Requirements. The requirements are associated with the restrictions and the
characteristics and the domain.
User Requirements. It defines all the functional and non-functional requirements for the
users to understand them (i.e., the system's external behavior).
System Requirements. It is used by system developers due to its extensive explanations
There is the possibility of the occurrence of requirement changes in the progress of the software
development lifecycle. These changes, however, have some impacts on the system quality, cost,
schedule, and the imperfection. Therefore, the success of the software system development is
determined by the situation during the development lifecycle. Moreover, there are other
determinant factors in the requirement analysis such as change of the schedule according to the
requirement changes, identifying both the fictional and non-fictional requirement analysis
through effective communication to the clients and also the accuracy in understanding the
requirements for the user.
Literature Review
The statistical research was conducted to clarify the challenges faced in the requirement analysis.
A total of 123 changes are said to have been observed within 44 software projects (this average
to 48% of the requirement volatility). Among the 44 software projects, only 64% of the total
projects showed the requirement changes while the remaining 36% did not confront any
requirement volatility. Another research observed an average change of 73% among 15 projects
which is higher compared to the research outcome from 44 software projects (Ebert 2006). Most
of the challenges experienced in the engineering requirement analysis are associated with the
time zone, geographical location, language, and the cultural diversity.
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 4
Additionally, it also mentioned that 70% of the problem is caused by the customer requirements
where 88% is caused by loss of communication richness and 25% result from cultural differences
among the team members. Loss of communication richness causes a problem in coordination and
collaboration among the members. The causes of volatility requirements are classified into
internal and external factors. The external factors are as a result of market competitors and the
government restrictions.
There are a variety of the solutions to the challenges existing in the requirement analysis. The
Traditional Model is considered as one of the methodologies for the requirement analysis.
However, the internal factors, on the other hand, are caused by the change in hardware and
software prices, lack of experience in the development team, change in business environment
and the poor communication between the development team and the user. The methodology is
more complicated as it has to document all the client's requirements including the time the client
requested a requirement change. The identification and documentation of the analysis in the
Traditional Requirement Analysis have some special steps that ensure its effectiveness. They
include:
Step 1. Requirement Elicitation. Discovers all requirements from stakeholders through
interviews, prototypes, and brainstorming.
Step 2. Requirement Analysis. Checks on the completion status of elicit.
Step 3. Requirement Documentation. It documents the requirements.
Step 4. Requirement Validation. Identified requirements are validated
Step 5. Requirement Management. The management team finalizes all the requirements.
With the Traditional Model unable to solve the problem in case of the requirements volatility, the
Agile can be used. The model is more flexible to use compared to the Traditional Model since it
tabler-icon-diamond-filled.svg

Secure Best Marks with AI Grader

Need help grading? Try our AI Grader for instant feedback on your assignments.
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 5
follows the iterative and incremental methodology. The Agile Development Methodology is
associated with the following six stages:
Brainstorm
Development
Design
Deployment
Quality Assurance
Release to market
According to Haleem & Beg (2015) the Work Flow Model below was developed to help in the
analysis of the requirement and show how their change has an impact on the software project.
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 6
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 7
Evaluation
Among all the stages in the software development, the requirement engineering acts as the
determinant for the effective development as it has an impact on all the other software project
parameters; schedule, quality, and cost. Hence it should be carefully analyzed. The paper has
well represented some pieces of literature and the challenges in the requirements together with
their solutions. The Traditional and the Agile Models have been identified and discussed as the
solutions to the problem. However, the Agile has been preferred as more suitable due to its
iterative features. The successful completion of the work, therefore, calls for the implementation
of the newly created method in the real world to enhance efficiency accuracy and flaws.
Conclusion
The determination of the requirement analysis among various existing software engineering
model and the identification of the major challenges faced in the engineering process has been
analyzed. The work has considered some peer-reviewed sources, therefore, making the whole
process clear. Although the problems of the requirement volatility have been examined, more
research also needs to be done since there are other minor challenges faced in the area (i.e.,
cultural and communication problems) that may be experienced during the software project life
cycle.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
SOFTWARE DEVELOPMENT REQUIREMENT ANALYSIS 8
References
Ebert, C. 2006 Understanding the product lifecycle: Four key requirements engineering
techniques,' IEEE Software, vol. 23, no. 3, pp. 19-25.
Gava, V.L., Spinola, M.d.M., Tonini, A.C. & Medina, J.C. 2012 The 3C cooperation model
applied to the classical requirement analysis', JISTEM-Journal of Information Systems and
Technology Management, vol. 9, no. 2, pp. 235-64.
Haleem, M. & Beg, M.R. 2015 Impact analysis of requirement metrics in software development
environment,' Electrical, Computer and Communication Technologies (ICECCT), 2015 IEEE
International Conference on, IEEE, pp. 1-6.
chevron_up_icon
1 out of 8
circle_padding
hide_on_mobile
zoom_out_icon
logo.png

Your All-in-One AI-Powered Toolkit for Academic Success.

Available 24*7 on WhatsApp / Email

[object Object]