1. J I M M A U N I V E R S I T Y
J I M M A I N S T I T U T E O F T E C H N O L O G Y
F A C U L T Y O F C O M P U T I N G A N D I N F O R M A T I C S
C H A P T E R O N E
I N T R O D U C T I O N T O R E Q U I R E M E N T S E N G I N E E R I N G
SOFTWARE REQUIREMENS
ENGINEERING
1
2. Topics we will cover
What is requirements engineering?
what are requirements?
The requirements engineer
Requirements engineer roles
Roles of the customer in requirement engineering
2
3. Requirements Engineering
Requirements engineering is the process of defining,
documenting and maintaining requirements in the
engineering design process.
Requirements engineering is the branch of software
engineering concerned with the real-world goals for,
functions of, and constraints on software systems.
Generally, requirements engineering is a process of
determining what is to be produced in a software
system.
4. Software requirements
Requirements are descriptions of how a software
product should perform.
A statement of a system service or constraint.
A condition or a capability that must be met or
possessed by a system
The primary measure of success of a software
system is the degree to which it meets the purpose for
which it was intended.
4
5. Software requirements
Software requirements may be:
Abstract statements of services
Detailed mathematical functions
Part of the bid of contract
The contract itself
Part of the technical document, which describes a
product
5
6. Why do requirements matter?
Because:
Requirements are crucial to every project.
Every project succeeds or fails on the quality of its
requirements.
Requirements set the scope of all subsequent work and
tell the project team what the users want.
Without good requirements, projects fail, are late, come in
over budget, or produce systems that are never used..
Requirement issues should be fixed early, before design.
requirements errors tend to be deeply embedded in the
design and are difficult to remedy afterwards.
6
7. Challenges to Requirements
There are a number of inherent difficulties in RE process.
Stakeholders may be numerous and distributed.
Stakeholder's goals may vary and conflicting.
So Many “Requirements”
So many sources of requirements(stakeholders,
documents, Existing Systems, Application Domain )
8. Requirements Engineer
A person who is concerned with establishing and
managing requirements.
To tackle the challenges the requirements engineer
should have competency in the following areas:
Requirements engineering
Critical reasoning
Innovation
Attention to Detail
Communication
Interpersonal
9. Requirements Engineer Roles
Requirements engineers are responsible for the analysis,
documentation, coordination and management of
requirements regarding new software projects.
Improving system quality by identifying issues and
common patterns, and developing standard operating
procedures.
Enhancing applications by identifying opportunities for
improvement, making recommendations and designing
and implementing systems.
10. Roles of the Customer in Requirement
Engineering
Anyone who derives direct or indirect benefit from a
product/software is a customer.
Customers :
Helping the requirements engineer understand what they
need.
Helping the requirements engineer understand what they
don’t want.
Providing domain knowledge when necessary and possible.
Sticking to all agreements