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
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
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.
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
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
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
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 )
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
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.
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
Any Question?

Chapter 1.ppt

  • 1.
    J I MM 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 willcover What is requirements engineering? what are requirements?  The requirements engineer Requirements engineer roles Roles of the customer in requirement engineering 2
  • 3.
    Requirements Engineering  Requirementsengineering 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  Requirementsare 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  Softwarerequirements 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 requirementsmatter? 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 personwho 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 theCustomer 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
  • 11.