Software Engineering (2160701)

BE | Semester-6   Winter-2017 | 11/03/2017

Q2) (c)

Write a short note on Requirement Engineering.

  • Tasks and techniques that lead to an understanding of requirements is called requirement engineering.
  • Requirement engineering provides the appropriate mechanism for understanding
    • What customer wants
    • Analyzing needs
    • Assessing feasibility
    • Negotiating a reasonable solution
    • Specifying solution unambiguously
    • Validating the specification
    • Managing requirements
  • Requirements generally fall into two types:

Functional requirements

  • Any requirement which specifies what the system should do.
  • A functional requirement will describe a particular behaviour of function of the system when certain conditions are met, for example: “Send email when a new customer signs up” or “Open a new account”.
  • Below area consider for functional requirement
    • Business Rules
    • Transaction corrections, adjustments and cancellations
    • Administrative functions
    • Authentication
    • Authorization levels
    • Business Rules
    • Transaction corrections, adjustments and cancellations
    • Administrative functions
    • Authentication
    • Authorization levels

Non-Functional requirements

  • Any requirement which specifies how the system performs a certain function.
  • A non-functional requirement will describe how a system should behave and what limits there are on its functionality.
    o Response time o Availability o Regulatory
    o Throughput o Reliability o Manageability
    o Utilization o Recoverability o Environmental
    o Static volumetric o Maintainability o Data Integrity
    o Scalability o Serviceability o Usability
    o Capacity o Security o Interoperability

Requirements Engineering Tasks

  • Inception:
    • Roughly define scope. A basic understanding of a problem, people who want a solution, the nature of solution desired.
  • Elicitation (Requirement Gathering):
    • Define requirements. The practice of collecting the requirements of a system from users, customers and other stakeholders.
  • Elaboration:
    • Further define requirements. Expand and refine requirements obtained from inception & elicitation. Creation of User scenarios, extract analysis class and business domain entities
  • Negotiation:
    • Reconcile conflicts. Agree on a deliverable system that is realistic for developers and customers
  • Specification:
    • Create analysis model. It may be written document, set of graphical models, formal mathematical model, collection of user scenarios, prototype or collection of these
    • SRS (Software Requirement Specification) is a document that is created when a detailed description of all aspects of software to build must be specified before starting of project
  • Validation:
    • Ensure quality of requirements. Review the requirements specification for errors, ambiguities, omissions (absence) and conflicts
  • Requirements Management:
    • Activities to identify, control & trace requirements (Umbrella Activities)